MASTG-TEST-0063: 测试随机数生成
此测试即将更新
此测试目前可使用,但将作为新的 OWASP MASTG v2 指南 的一部分进行全面修订。
请提交 PR 来帮助我们改进: MASTG v1->v2 MASTG-TEST-0063: 随机数生成测试 (ios)
概述¶
静态分析¶
在 Swift 中, SecRandomCopyBytes
API 的定义如下:
func SecRandomCopyBytes(_ rnd: SecRandomRef?,
_ count: Int,
_ bytes: UnsafeMutablePointer<UInt8>) -> Int32
int SecRandomCopyBytes(SecRandomRef rnd, size_t count, uint8_t *bytes);
以下是 API 使用的示例:
int result = SecRandomCopyBytes(kSecRandomDefault, 16, randomBytes);
注意:如果在代码中使用其他机制来生成随机数,请验证这些机制是上述 API 的包装器,或者检查它们的安全性。通常这太难了,这意味着你最好坚持使用上面的实现。
动态分析¶
如果要测试随机性,你可以尝试捕获大量数字,并使用 Burp 的序列分析器插件来检查随机性的质量。