在我的 Android 应用程序中,我们使用改造网络服务与服务器进行通信。一些黑客拦截请求并使用一些工具 Burp Suit 对其进行修改。
请帮我告诉我如何停止拦截攻击。
在我的 Android 应用程序中,我们使用改造网络服务与服务器进行通信。一些黑客拦截请求并使用一些工具 Burp Suit 对其进行修改。
请帮我告诉我如何停止拦截攻击。
Burp Suit 的作用 - 它基本上执行中间人攻击。它生成一个 HTTPS 证书并伪装成一个浏览器。
问题是,如果您的服务器和您的客户端受到 MITM 攻击的保护 - 这些工具将无法工作。至少在移动应用程序中 - 浏览器会显示安全错误,但仍会传递数据。
您可以使用的解决方案是将您的特定 SSL 证书包含在应用程序中,并使应用程序将其视为唯一受信任的证书。它将或多或少安全-取决于实现。它也是免费的,因为您可以附加您自己创建的自签名证书,因为您可以控制验证。自然,后端也应该使用相同的 SSL 证书。虽然使用这种技术 Burp Suit 生成的证书将不起作用,因为该应用程序只知道一个受信任的证书。
该技术本身称为SSL pinning
or certificate pinning
,您可以在网上找到大量关于如何在客户端和服务器上实现它的信息。
我会给你几个链接:
这是一篇关于如何使用改造(okhttp)的好文章。
这是 OkHttp 的官方文档CertificatePinner
这是改造 SSL pinning 的小实现。
这里还有一篇文章。
这还不够,但问题很复杂,一个 StackOverflow 答案是不够的。但我认为这是进行实际实施的良好开端。
另外作为一个小建议 - 使用加密来存储您的 SSL 证书密钥而不是纯字符串存储 - 它仍然不会受到内存欺骗的影响,但黑客使用它会更加困难。