Используя криптографически слабый генератор псевдослучайного числа
Этот дефект происходит, когда вы используете криптографически слабые стандартные программы генератора псевдослучайного числа (PRNG).
Список криптографически слабых стандартных программ, отмеченных этим средством проверки, включает:
rand, random
drand48, lrand48, mrand48, erand48, nrand48, jrand48, и их _r эквиваленты, такие как drand48_r
RAND_pseudo_bytes
Эти криптографически слабые стандартные программы предсказуемы и не должны использоваться в целях безопасности. Когда предсказуемое случайное значение управляет потоком выполнения, ваша программа уязвима для вредоносных атак.
Используйте более криптографически звуковые генераторы случайных чисел, такие как CryptGenRandom (Windows), OpenSSL/RAND_bytes(Linux/UNIX).
| Группа: безопасность |
| Язык: C | C++ |
| Значение по умолчанию: 'off' |
Синтаксис командной строки: VULNERABLE_PRNG |
| Удар: носитель |
| ID CWE: 330, 338 |
Deterministic random output from constant seed | Find defects (-checkers) | Predictable random output from predictable seed | Unsafe standard encryption function