Использование криптографически слабого генератора псевдослучайных чисел
Этот дефект возникает, когда вы используете криптографически слабый генератор псевдослучайных чисел (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 |
Влияние: Средний |
ИДЕНТИФИКАТОР CWE: 330, 338 |
Deterministic random output from constant seed
| Find defects (-checkers)
| Predictable random output from predictable seed
| Unsafe standard encryption function