Генератор случайных чисел в Windows очень далек от случайного
Теги: Windows, генератор случайных чисел, криптограф Группа ученых-криптографов из университета Хайфы (Израиль) под руководством Бенни Пинкаса (Benny Pinkas) нашла уязвимость в функции CryptGenRandom, отвечающей за генерацию случайных чисел в Windows 2000. Вполне вероятно, что некорректная работа функции унаследована операционными системами Windows XP и Vista.
Анализ показал, что генератор далек от случайного, или даже псевдо-случайного. Определив начальное состояние генератора, ученые смогли предсказывать появление дальнейших чисел. А определить это начальное состояние оказалось не так уж сложно, потому что генератор работает в пользовательском режиме, а не в режиме ядра - доступ к его состоянию можно получить даже без привилегий администратора.
В принципе, проблема того, что генераторы случайных чисел в основном являются псевдо-генераторами, известна давно и трудно было бы ожидать от Windows более продуманной реализации этой функции. Недостаток здесь скорее в том, что CryptGenRandom используют многие протоколы и программы, связанные с безопасностью (в частности, создание ключей SSL). Получив доступ к генератору случайных чисел, злоумышленникам будет легче взламывать защитные механизмы, которые на него опираются.
Самое интересное, что похожая ошибка уже существовала много лет назад в протоколе аутентификации Kerberos и даже попала в список десяти худших багов в истории человечества. Генератор случайных чисел Kerberos должен был выбирать ключ случайным образом из многих миллиардов чисел, но выбирал из гораздо меньшего набора численностью примерно в миллион. Как результат, в течение восьми лет любой пользователь мог без труда проникнуть в компьютерную систему, которая использовала модуль Kerberos.
www.securitylab.ru