id: Гость   вход   регистрация
текущее время 20:14 28/03/2024
Владелец: SATtva (создано 13/05/2008 19:43), редакция от 14/05/2008 21:20 (автор: SATtva) Печать
Категории: криптография, софт, случайные числа, ошибки и баги, уязвимости, управление ключами, свободный софт, операционные системы
http://www.pgpru.com/Новости/2008/ПредсказуемыйГСЧИНебезопасныеКлючиВDebianUbuntu
создать
просмотр
редакции
ссылки

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


 
На страницу: 1, 2, 3, 4, 5 След.
Комментарии [скрыть комментарии/форму]
— ygrek (14/05/2008 17:33)   профиль/связь   <#>
комментариев: 98   документов: 8   редакций: 10
В чём была дезинформация?
Даунстрим чётко сказал что он хочет удалить обе строки (что и было впоследствии сделано этим злополучным патчем), апстрим со смеху не падал. (Я не говорю что мейнтейнер пакета невиноват, но новость явно противоречит фактам)

ЗЫ Хорошо что вы хоть не сослались на предыдущий пост Бена, где он сообщил что openssl-dev это _не_ рассылка разработчиков openssl :)
— unknown (14/05/2008 18:02)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
[offtopic]

А tor в Дебиане не патчат и дыры принципиально не закрывают, поскольку кроме самих разработчиков тонкости его протокола никто (простые мантейнеры) понять не в состоянии.

но и сделать бэкпорт багфикса из апстрима в случае таких пакетов как tor в стабильную ветку нереально.

Поэтому tor для debian'aи других дистров выпускают сами разработчики, а в апдейт-линке нужно ставить ссылку на их сервер, а не на дебьяновский, где он лежит чисто для формальности. Вот как всё сложно. И таких проблем куча во многих пакетах.

[/offtopic]
— SATtva (14/05/2008 21:19)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
В чём была дезинформация?

Насколько я понял, мэйнтейнер из Дебиан писал о том, что хочет внести изменение лишь в целях отладки. Он не писал о модификации стабильной версии программы.

апстрим со смеху не падал

Потому что не прочитали патч. Впрочем, ладно, оборот излишне провокационный (меня уже раскритиковали за него на других ресурсах), сейчас уберу.
— unknown (15/05/2008 09:12, исправлен 15/05/2008 09:17)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
апстрим со смеху не падал

Замените на "апстрим плакал".

Я одного не пойму. В OpenSSL используется в качестве одного из способов затравки ГПСЧ неинициализированная переменная, которая собирает мусор из памяти. Не самый лучший источник энтропии, но как один из многих, он сгодится.

Когда тесты Valgrind ругаются на такой кривой и некрасивый (но работающий) участок кода, даунстрим предлагает закомментировать этот участок и спрашивает у апстрима – это ни к чему не приведёт?

Ему говорят нет. Ну одним незначительным источником энтропии меньше – какая разница.

А спустя два года сам автор злополучного патча обнаруживает, что это приводит к катастрофической уязвимости. В OpenSSL зачем-то сделано так, что если переменная оказывается инициализированной, то по принципу домино, все другие источники энтропии тоже не участвуют в наполнении пула.

Это ж надо было такой хитрый код выдумать. А главный разработчик OpenSSL отвечает, что девелоперскую рассылку он не читает и вовсе она не девелоперская несмотря на название, а сидят в ней апстримеры, которые до конца во все тонкости не посвящены, даунстриму в код не фиг было лезть, и о такой хитрой фиче позволено знать только его высочеству, с которым надо связываться лично по мэйлу и если он соизволит, то даст ответ.

Ну сложно было что-ли в комментах к коду написать: эта переменная критична к сбору энтропии, на неё повешены все остальные и её нельзя трогать ни при каких обстоятельствах?

Я не оправдываю дебиановцев – это пример кризиса модели открытой разработки и взаимодействия всех сторон.

Всем апстримерам разных проектах зачастую наплевать как их код будет работать в даунстриме, какие проблемы совместимости могут возникнуть и как его приходится стабилизировать, делать бэкпорты из старших версий в стабильные для наложения секурити-патчей и исправления найденных багов, согласовывать с библиотеками из дистра и т.д.
— SATtva (15/05/2008 10:17, исправлен 15/05/2008 10:21)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
В конце своей статьи Бен упоминает также о крайнем недофинансировании разработки OpenSSL в сравнении с другими открытыми проектами, особенно учитывая его повсеместное использование и критическую роль. "Информация хочет быть свободной, но программисты хотят есть". Трудно поддерживать хорошее качество комментариев и следить за мэйнтейнерскими рассылками всех дистрибутивов, когда не можешь посвятить этому всё своё рабочее время.

Это действительно кризис, стечение обстоятельств, трагическая демонстрация недостатков открытой разработки. Удивительно, как оно всё объединилось в одном таком случае. Хороший анализ ситуации есть в блоге Иана Григга: виноваты все, а поиск "стрелочников" вообще не ведёт к конструктиву.
— Гость (15/05/2008 10:21)   <#>
15 случаев упоминания OpenSSL в security advisory OpenBSD. С ним только самые "великие и могучие" иксы могут разве что потягаться :) Безответственные люди его разрабатывают, судя по всему, несмотря на то что софт очень критический :( Чисто счастье, что лицензионные несовместимости привели к тому что PGP и otr завязаны на libgcrypt а не openssl. Правда, кто знает – м.б. и в последних есть похожие проблемы...
— Гость (15/05/2008 10:27)   <#>
"апстрим плакал"
Тогда уж "плакалЪ".
пример кризиса модели открытой разработки
Скорее "базарной".
— Гость (15/05/2008 20:40)   <#>
Не стоит смешивать всё в одну кучу.
Смотрим еще раз сюда.
Нижний hunk сделан rjk valgrind-а ради, о нём и написано в исходном дебиановском багрепорте. Он вполне корректен. Верхний hunk сделан совсем другим человеком (Kurt Roeckx) "по аналогии" (строчка кода такая же, которую закомментировали). Именно верхний hunk и приводит к беде.

(Это из комментариев в блоге Яна Григга).

И, да, надеяться на неинициализированную память как источник случайности, это идиотизм. В общем, команда openssl постаралась тоже на славу.

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

V.
— Гость (15/05/2008 20:50)   <#>
P. S. Тут детальный разбор полётов, в подтверждении к вышесказанному.

V.
— SirYorik (16/05/2008 07:09)   <#>
"Все пользователи Debian и Ubuntu должны исходить из того, . . ."

укажите наконец версии, иначе смысл фразы равен "все мужики козлы, все бабы дуры, а всё что на debian дерьмо"
— Paran0ik (16/05/2008 07:56)   профиль/связь   <#>
комментариев: 88   документов: 13   редакций: 3
SirYorik, дочитайте фразу до конца:
Все пользователи Debian и Ubuntu должны исходить из того, что все шифровальные ключи для SSL, SSH и OpenVPN, сгенерированные ими в последние два года, ...
— Гость (16/05/2008 10:26)   <#>
Страх и ужас! Многие люди пользовавшиеся OpenVPN теперь находятся под угрозой ареста! Это баг катастрофических масштабов и невероятного уровня опасности. Уязвимость на удаленный рут была бы куда безопаснее, так как если ей не успели воспользоваться до патча, то считай пронесло. А эта уязвимость ставит под удар все уже переданые данные. Я в панике!!!
— unknown (16/05/2008 10:44, исправлен 16/05/2008 10:45)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Страх и ужас! Многие люди пользовавшиеся OpenVPN теперь находятся под угрозой ареста!

Прям так многие передавали именно подсудные данные?

А эта уязвимость ставит под удар все уже переданые данные.

А вот тему раскрытия эфемерных DH-ключей и извлечения сеансового ключа с последующей расшифровкой записанного трафика почему-то не освещали даже разработчики сети tor в своём предупреждении в рассылке, хотя некоторые tor клиенты и многие сервера работают под Debian, а все криптооперации tor осуществляет через OpenSSL.

В OpenVPN естественно всё тоже самое, только проще.
— Гость (16/05/2008 16:16)   <#>
Прям так многие передавали именно подсудные данные?

Ну как, ещё немного и мы узнаем кто такой unknown, как его зовут и чем он занимается. Если же по сути, то смысл использовать анонимные сети для "неподсудных" данных? Прятаться от младшей сестры, снифающей трафик посредством тора? :)

А почему нет, почему нельзя просто восстановить все сеансовые DH-ключи от сеансов tor-соединений между двумя Debian-машинами по-крайней мере?

А если в лоб спросить в рассылке? Правда, всё равно сомнительно, что кто-то 2 года писал весь анонимный траффик предположив что "и такое" может произойти.
— ygrek (16/05/2008 16:52)   профиль/связь   <#>
комментариев: 98   документов: 8   редакций: 10
SirYorik, дочитайте фразу до конца:
Все пользователи Debian и Ubuntu должны исходить из того, что все шифровальные ключи для SSL, SSH и OpenVPN, сгенерированные ими в последние два года, ...

Я думаю SirYorik имел ввиду что Debian Sarge это не касается (и старых версий Убунты).
На страницу: 1, 2, 3, 4, 5 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3