MASTG-TEST-0063: Teste de Geração de Números Aleatórios
Visão Geral¶
Análise Estática¶
Em Swift, a API SecRandomCopyBytes é definida da seguinte forma:
func SecRandomCopyBytes(_ rnd: SecRandomRef?,
_ count: Int,
_ bytes: UnsafeMutablePointer<UInt8>) -> Int32
int SecRandomCopyBytes(SecRandomRef rnd, size_t count, uint8_t *bytes);
Segue um exemplo de uso das APIs:
int result = SecRandomCopyBytes(kSecRandomDefault, 16, randomBytes);
Observação: se outros mecanismos forem usados para geração de números aleatórios no código, verifique se estes são wrappers em torno das APIs mencionadas acima ou revise-os quanto à sua segurança de aleatoriedade. Geralmente isso é muito difícil, o que significa que é melhor seguir com a implementação acima.
Análise Dinâmica¶
Se você deseja testar a aleatoriedade, pode tentar capturar um grande conjunto de números e verificar com o plugin sequenciador do Burp para avaliar a qualidade da aleatoriedade.