25.03 // Крипто // Концептуальная нестойкость ГПСЧ в Linux


"Analysis of the Linux Random Number Generator"[link1] — интересная работа, показывающая слабость дизайна генераторов псевдослучайных чисел /dev/{u}random в Linux-системах. Авторы указали на безграмотность разработчиков, отсутствие просчитанной концепции и хаотичность процесса разработки. Также они отмечают, что даже грубейшие ошибки не исправлялись месяцами. Патчи принимались непродуманно от случайных людей и разработку вели люди малокомпетентные в криптографии.

Для исследования уязвимостей пришлось использовать реверс-инжиниринг плоходокументированного открытого кода для восстановления алгоритма генерации энтропии, который оказался нагромождением непродуманно выбранных компонентов. Хотя найденные уязвимости малопрактичны (уязвимость на предсказание влево за 264 или 296 шагов по времени), они показывают, что разработка open-source-проектов часто может вестись на плохом уровне, а грубейшие ошибки могут существовать годами у всех на глазах.

В качестве решения авторы предлагают более тщательно принимать патчи от независимых разработчиков, привлекать специалистов по криптографии для анализа кода перед включением его в ядро, более аккуратно вести документацию.

В качестве альтернативного примера авторы рассматривают ГПСЧ из ОС OpenBSD, который гораздо проще и компактнее, значительно лучше спроектирован и документирован.

Источник: "openPGP в России"[link2]


Ссылки
[link1] http://eprint.iacr.org/2006/086

[link2] http://www.pgpru.com