0

我们的安全团队对我们的移动应用程序进行了安全扫描,发现了以下漏洞:

Vulnerability Name: Weak SSL Cipher Suites are Supported
Vulnerability Type: attWeakCipherSuites
Calling Method: com.crittercism.internal.ca.a(com.crittercism.internal.bz):com.crittercism.internal.cb
Method Signature: javax.net.ssl.SSLParameters.setCipherSuites(java.lang.String[]):void
Location: (Unknown)
Issue Validation Parameter - Name: cipherSuites
Issue Validation Parameter - Value: [TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_EMPTY_RENEGOTIATION_INFO_SCSV]

Vulnerability Name: Lack of Certificate Pinning
Vulnerability Type: attSSLCertificatePinning
Calling Method: com.crittercism.internal.ca.a(com.crittercism.internal.bz):com.crittercism.internal.cb
Method Signature: java.net.URL.openConnection():java.net.URLConnection
Location: (Unknown)
Issue Validation Parameter - Name: this
Issue Validation Parameter - Value: https://5-8-10-android.appload.ingest.crittercism.com/v0/config

有人可以帮我解决上述问题吗?

平台:Android
框架:React-native

4

1 回答 1

0

你的问题

第一个问题

漏洞名称:支持弱 SSL 密码套件 漏洞类型:attWeakCipherSuites

您只需传递最新推荐的密码套件,您就可以阅读Mozilla 站点中的密码套件。

目前最安全的是为现代兼容性推荐的那些

TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

第二个问题

漏洞名称:缺少证书固定漏洞类型:attSSLCertificatePinning

一旦你使用了 React Native,你可能想要尝试react-native-cert-pinner包:

这个包在 Android 和 iOS 的 react-native 中管理 TLS 证书固定。

您应该阅读软件包的 README 以获取详细说明,但作为快速入门,这可能有效:

npm install react-native-cert-pinner --save

然后是自动安装:

react-native link react-native-cert-pinner

否则,您应该尝试从自述文件中手动安装Android。

加倍努力

如果您想了解为什么应该使用证书固定,您可以阅读这篇关于以下两个部分的博文:

什么是证书固定?

它将简要解释它是什么以及它在高层次上是如何工作的,以及要固定什么。

证书固定是将域名与预期的 SSL/TLS 证书相关联的机制,技术上更准确地称为 X.509 证书。

为什么我们需要证书固定?

在这里,它解释了为什么需要使用它来防止基于信任的假设并防止在恶劣环境中使用。

虽然 https 在移动应用程序和 API 服务器之间的通信通道中为您提供机密性、完整性和真实性,但证书固定将保护同样的保证不被破坏。

于 2019-09-13T14:43:26.707 回答