13.05 // Предсказуемый ГСЧ и небезопасные ключи в Debian/Ubuntu
Два года назад разработчики Debian "исправили" "ошибку" (как они считали) в пакете OpenSSL. Перечислять все сферы применения этого пакета, думаю, не стоит, ибо он используется повсеместно и, прежде всего, для выработки ключевого материала SSL, SSH и OpenVPN.
"Ошибка", которая была "исправлена", заключалась в использовании неинициализированной памяти. В большинстве случаев такое исправление было бы разумным, если бы не затрагивало пул и генератор случайных чисел (ГСЧ) OpenSSL. В итоге генератор был лишён возможности добавлять новую энтропию в пул, что делает крайне предсказуемыми все получаемые из него данные и, как следствие, генерируемые шифроключи: пространство ключей всех длин было сокращено примерно до 260 тысяч, делая совершенно тривиальным их полный перебор. (Такой проблемы бы не произошло, поступи разработчики Debian, как дОлжно: вместо патченья пакета в собственном депозитарии, им следовало передать патч апстриму — разработчикам OpenSSL, которых подобная вольность с кодом ГСЧ могла бы весьма насторожить.)
Все пользователи Debian и Ubuntu должны исходить из того, что все шифровальные ключи для SSL, SSH и OpenVPN, сгенерированные ими в последние два года, скомпрометированы! Действуйте исходя из этого.
Источник: http://lists.debian.org/debian.....e/2008/msg00152.html
комментариев: 98 документов: 8 редакций: 10
Даунстрим чётко сказал что он хочет удалить обе строки (что и было впоследствии сделано этим злополучным патчем), апстрим со смеху не падал. (Я не говорю что мейнтейнер пакета невиноват, но новость явно противоречит фактам)
ЗЫ Хорошо что вы хоть не сослались на предыдущий пост Бена, где он сообщил что openssl-dev это _не_ рассылка разработчиков openssl :)
комментариев: 9796 документов: 488 редакций: 5664
А tor в Дебиане не патчат и дыры принципиально не закрывают, поскольку кроме самих разработчиков тонкости его протокола никто (простые мантейнеры) понять не в состоянии.
но и сделать бэкпорт багфикса из апстрима в случае таких пакетов как tor в стабильную ветку нереально.
Поэтому tor для debian'aи других дистров выпускают сами разработчики, а в апдейт-линке нужно ставить ссылку на их сервер, а не на дебьяновский, где он лежит чисто для формальности. Вот как всё сложно. И таких проблем куча во многих пакетах.
[/offtopic]
комментариев: 11558 документов: 1036 редакций: 4118
Насколько я понял, мэйнтейнер из Дебиан писал о том, что хочет внести изменение лишь в целях отладки. Он не писал о модификации стабильной версии программы.
Потому что не прочитали патч. Впрочем, ладно, оборот излишне провокационный (меня уже раскритиковали за него на других ресурсах), сейчас уберу.
комментариев: 9796 документов: 488 редакций: 5664
Замените на "апстрим плакал".
Я одного не пойму. В OpenSSL используется в качестве одного из способов затравки ГПСЧ неинициализированная переменная, которая собирает мусор из памяти. Не самый лучший источник энтропии, но как один из многих, он сгодится.
Когда тесты Valgrind ругаются на такой кривой и некрасивый (но работающий) участок кода, даунстрим предлагает закомментировать этот участок и спрашивает у апстрима – это ни к чему не приведёт?
Ему говорят нет. Ну одним незначительным источником энтропии меньше – какая разница.
А спустя два года сам автор злополучного патча обнаруживает, что это приводит к катастрофической уязвимости. В OpenSSL зачем-то сделано так, что если переменная оказывается инициализированной, то по принципу домино, все другие источники энтропии тоже не участвуют в наполнении пула.
Это ж надо было такой хитрый код выдумать. А главный разработчик OpenSSL отвечает, что девелоперскую рассылку он не читает и вовсе она не девелоперская несмотря на название, а сидят в ней апстримеры, которые до конца во все тонкости не посвящены, даунстриму в код не фиг было лезть, и о такой хитрой фиче позволено знать только его высочеству, с которым надо связываться лично по мэйлу и если он соизволит, то даст ответ.
Ну сложно было что-ли в комментах к коду написать: эта переменная критична к сбору энтропии, на неё повешены все остальные и её нельзя трогать ни при каких обстоятельствах?
Я не оправдываю дебиановцев – это пример кризиса модели открытой разработки и взаимодействия всех сторон.
Всем апстримерам разных проектах зачастую наплевать как их код будет работать в даунстриме, какие проблемы совместимости могут возникнуть и как его приходится стабилизировать, делать бэкпорты из старших версий в стабильные для наложения секурити-патчей и исправления найденных багов, согласовывать с библиотеками из дистра и т.д.
комментариев: 11558 документов: 1036 редакций: 4118
Это действительно кризис, стечение обстоятельств, трагическая демонстрация недостатков открытой разработки. Удивительно, как оно всё объединилось в одном таком случае. Хороший анализ ситуации есть в блоге Иана Григга: виноваты все, а поиск "стрелочников" вообще не ведёт к конструктиву.
Скорее "базарной".
Смотрим еще раз сюда.
Нижний hunk сделан rjk valgrind-а ради, о нём и написано в исходном дебиановском багрепорте. Он вполне корректен. Верхний hunk сделан совсем другим человеком (Kurt Roeckx) "по аналогии" (строчка кода такая же, которую закомментировали). Именно верхний hunk и приводит к беде.
(Это из комментариев в блоге Яна Григга).
И, да, надеяться на неинициализированную память как источник случайности, это идиотизм. В общем, команда openssl постаралась тоже на славу.
И еще чего мне непонятно, как в openssl до сих пор умудряются находить дыры, если её практически перестали развивать в плане функционала.
V.
V.
укажите наконец версии, иначе смысл фразы равен "все мужики козлы, все бабы дуры, а всё что на debian дерьмо"
комментариев: 88 документов: 13 редакций: 3
Все пользователи Debian и Ubuntu должны исходить из того, что все шифровальные ключи для SSL, SSH и OpenVPN, сгенерированные ими в последние два года, ...
комментариев: 9796 документов: 488 редакций: 5664
Прям так многие передавали именно подсудные данные?
А вот тему раскрытия эфемерных DH-ключей и извлечения сеансового ключа с последующей расшифровкой записанного трафика почему-то не освещали даже разработчики сети tor в своём предупреждении в рассылке, хотя некоторые tor клиенты и многие сервера работают под Debian, а все криптооперации tor осуществляет через OpenSSL.
В OpenVPN естественно всё тоже самое, только проще.
Ну как, ещё немного и мы узнаем кто такой unknown, как его зовут и чем он занимается. Если же по сути, то смысл использовать анонимные сети для "неподсудных" данных? Прятаться от младшей сестры, снифающей трафик посредством тора? :)
А если в лоб спросить в рассылке? Правда, всё равно сомнительно, что кто-то 2 года писал весь анонимный траффик предположив что "и такое" может произойти.
комментариев: 98 документов: 8 редакций: 10
Я думаю SirYorik имел ввиду что Debian Sarge это не касается (и старых версий Убунты).