Java Android最安全的网络库

Java Android最安全的网络库,java,android,retrofit2,okhttp3,certificate-pinning,Java,Android,Retrofit2,Okhttp3,Certificate Pinning,最近,我在项目中使用了翻新2.3.0网络库。我还使用Okhttp中的certificatePaner类实现了SSL固定以保护应用程序,从而实现了Retrotif 然而,在另一个团队对我们的APK运行了全面的渗透测试之后,他们成功地篡改了Okhttp客户端中的CertificatePaner类,从而获得了对发送到web服务的普通消息的访问权 由于我们必须从proguard过程中排除改装和Okhttp类,通过编写它们的特定保留规则,我们得出结论,这是它们成功进行逆向工程的主要原因 无论如何,考虑到这

最近,我在项目中使用了
翻新2.3.0
网络库。我还使用
Okhttp
中的
certificatePaner
类实现了
SSL固定
以保护应用程序,从而实现了Retrotif

然而,在另一个团队对我们的APK运行了全面的
渗透测试之后,他们成功地
篡改了Okhttp客户端中的CertificatePaner
类,从而
获得了对发送到web服务的普通消息的访问权

由于我们必须
从proguard
过程中排除改装和Okhttp类,通过编写它们的特定保留规则,我们得出结论,这是它们成功进行逆向工程的主要原因

无论如何,考虑到这种情况,出现了以下问题:


1-首先,为什么改装和okhttp需要proguard规则

2-此问题可能的安全解决方法是什么


3-我们是否需要用另一个库(如Volley或AsyncHttpClient)来替换改型?

“为什么改型和okhttp首先需要proguard规则?”--您为什么认为需要它们。“这个问题可能有什么安全的解决方法?”--没有。任何东西都可以逆向工程。证书固定背后的要点是防止MITM攻击。被黑客攻击的客户总是可以得到明文。我不知道团队是如何篡改CertificatePaner的,但我想他们只是修改了APK。因此,替换基于Java的实现对您没有帮助。您必须应用一个harding工具来保护整个APK和/或切换到本机实现(无Java)。这将使逆向工程变得更加困难,但并非不可能。@Robert你知道一些关于如何在android中实现APK强化的示例吗?有框架或例程吗?答案很简单:买一个好的harding框架。你能在6个月内实现的所有东西都能在1-2小时内被半熟练的攻击者入侵。