Используя криптографически слабый генератор псевдослучайного числа
Этот дефект происходит, когда вы используете криптографически слабые стандартные программы генератора псевдослучайного числа (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