易受攻击的伪随机数生成器
使用加密强度较弱的伪随机数生成器
描述
当您使用加密强度较弱的伪随机数生成器 (PRNG) 例程时,会出现此缺陷。
此检测项标记的加密强度较弱的例程列表包括:
rand,randomdrand48、lrand48、mrand48、erand48、nrand48、jrand48,以及它们的_r等效形式,例如drand48_rRAND_pseudo_bytes
风险
这些加密强度较弱的例程是可预测的,不得用于安全目的。当由可预测的随机值控制执行流时,您的程序容易受到恶意攻击。
修复
使用加密强度更强的随机数生成器,例如 CryptGenRandom (Windows)、OpenSSL/RAND_bytes (Linux/UNIX)。
示例
结果信息
| 组:安全 |
| 语言:C | C++ |
| 默认值:关闭 |
命令行语法:VULNERABLE_PRNG
|
| 影响:中 |
PQL 名称:std.defects.VULNERABLE_PRNG
|
版本历史记录
在 R2015b 中推出