MASTG-TEST-0014: 测试加密标准算法配置
此测试即将更新
此测试目前可使用,但将作为新的 OWASP MASTG v2 指南 的一部分进行全面修订。
帮助我们提交PR:MASTG v1->v2 MASTG-TEST-0014: 测试密码标准算法的配置 (android)
概述¶
静态分析¶
识别代码中所有密码原语的实例。 识别所有自定义密码实现。 您可以查找
- 类
Cipher
,Mac
,MessageDigest
,Signature
- 接口
Key
,PrivateKey
,PublicKey
,SecretKey
- 函数
getInstance
,generateKey
- 异常
KeyStoreException
,CertificateException
,NoSuchAlgorithmException
- 使用
java.security.*
,javax.crypto.*
,android.security.*
和android.security.keystore.*
包的类。
确认对 getInstance 的所有调用都使用安全服务的默认 provider
,而不指定它(这意味着 AndroidOpenSSL 又名 Conscrypt)。 Provider
只能在 KeyStore
相关代码中指定(在这种情况下,KeyStore
应作为 provider
提供)。 如果指定了其他 provider
,则应根据情况和业务案例(即 Android API 版本)进行验证,并且应检查 provider
是否存在潜在漏洞。
确保遵循“移动应用密码学”章节中概述的最佳实践。 查看 不安全和已弃用的算法 和 常见配置问题。
动态分析¶
您可以使用 方法追踪 在密码学方法上,以确定输入/输出值,例如正在使用的密钥。 在执行密码学操作时,监视文件系统访问,以评估密钥材料写入或读取的位置。 例如,通过使用 RMS Runtime Mobile Security 的 API 监控器 监视文件系统。