id: Гость   вход   регистрация
текущее время 18:38 29/03/2024
создать
просмотр
редакции
ссылки

Баг со случайными числами в Linux


В PGP для Linux был найден серьёзнейший баг (BID:1251, CVE-2000-0445), делающий сгенерированные ключи легко предсказуемыми. Конкретная уязвимая версия — PGP 5.0i для Linux. Найденная ошибка заключалась в том, что при генерации ключа из консоли командой pgpk, PGP пытался прочитать случайные числа из источника случайности Linux с помощью следующей конструкции:



Проблема в том, что функция read не возвращает байт случайности, она возвращает число прочитанных байт, которое всегда будет равно 1, поскольку count равен 1. Строка должна иметь вид:



Ошибку 23 мая 2000 года обнаружил Джермано Каронни. К тому моменту она уже была исправлена в последующих версиях и повторно не проявлялась.


Это огромный баг, поскольку все ключи, сгенерированные с помощью этой версии в автономном режиме, оказываются совершенно бесполезны (следует отметить, что руководство пользователя программы настоятельно не рекомендует генерировать ключи автономно). Значительная часть PGP посвящена задаче безопасной генерации случайных чисел. Разработчики создали высококлассные процедуры поддержки случайности, а все случайные данные хэшируются минимум дважды. Если вы закладываете в программу подобные процедуры, и в итоге оказывается, что они ничего не дают, — это чудовищная ошибка. В то же время, с криптографической точки зрения данный баг не столь интересен.


Назад | Дальше


 
Комментариев нет [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3