| |
Разработчики проекта OpenBSD выпустили обновление переносимой редакции пакета LibreSSL 2.0.2, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. В новом выпуске устранена недоработка, которая может привести к серьёзным проблемам с безопасностью на платформе Linux.
Проблема связана с особенностью реализации в LibreSSL генератора псевдослучайных чисел (PRNG), который был завязан на возможности OpenBSD и не учитывал некоторые особенности платформы Linux. В частности, LibreSSL использовал изменение PID для отслеживания форков и инициирования переинициализации PRNG, но не учитывал, что один 16-разрядный PID-идентификатор может быть назначен двум и более ответвляемым процессам. В Linux гарантируется, что ответвлённые дочерние процессы будут иметь всегда разные PID, но допускается, что при определённых условиях PID может совпасть с идентификатором прародителя (после большого числа форков можно добиться совпадения PID дочернего процесса и прародителя).
В OpenSSL присутствует специальный код для отслеживания данной ситуации, но данный код был удалён в LibreSSL, так как он был неактуален для OpenBSD. В процессе создания переносимого варианта LibreSSL особенности формирования PID в Linux выпала из внимания разработчиков. Учитывая данную особенность исследователи безопасности подготовили тестовую программу, которая продемонстрировала возврат двух одинаковых значений при разных обращениях к генератору псевдослучайных чисел LibreSSL. Разработчики OpenBSD считают проблему раздутой и малоприменимой в реальных условиях. В частности, Bob Beck указывает на то, что недоработка является проблемой только автора демонстрирующей уязвимость тестовой программы, реальные приложения никогда не функционируют подобным образом.
Проанализировав возникшие в результате обсуждения проблемы и сомнения в корректности применения обходных путей для защиты от их проявления, Theodore Ts'o предложил включить в состав ядра Linux новый системный вызов getrandom, который является аналогом системного вызова getentropy, присутствующего в OpenBSD. Getrandom предоставит надёжную защиту от атак, основанных на исчерпании доступных файловых дескрипторов. При отсутствии свободных дескрипторов невозможно задействовать /dev/urandom, поэтому библиотеками активируется запасной вариант, использующий менее надёжный PRNG. Getrandom предоставит возможность получения случайных чисел от системного PRNG даже в условиях отсутствия свободных файловых дескрипторов.
|
|
- Главная ссылка к новости (http://threatpost.com/overblown-libressl...)
- OpenNews: Корректирующий выпуск LibreSSL 2.0.1
- OpenNews: Первый выпуск LibreSSL, форка OpenSSL от проекта OpenBSD
- OpenNews: Проект OpenBSD представил LibreSSL, форк OpenSSL
| Тип: Проблемы безопасности | Ключевые слова: libressl, (найти похожие документы) | При перепечатке указание ссылки на opennet.ru обязательно | Реклама |
id=adv>
| |
|
2.15, Клыкастый, 18:34, 18/07/2014 [^] [ответить] [смотреть все] [показать ветку] [к модератору] | +7 +/– |
> Поддерживайте в своей ОС фичи из OpenBSD, и будет работать! Вот такая вот переносимость по-Теодоровски, ага..
Собственно есть и строго обратная сторона: линуксизмы в софте, которые остальным приходится заменять. Если цель не холиварить, то очевиден выход. Кто заинтересован в портировании под свою платформу, тот и отслеживает такие моменты. Под BSD с солярки перетащили ZFS, да и под линукс втащили. Заменяя ОС-зависимые моменты. Пока никто не умер. Тем более у линукс разработчиков явно поболе, так что ситуация более выигрышная. Короче, отставить панику, всё ок.
|
| |
|
5.68, bOOster, 16:39, 19/07/2014 [^] [ответить] [смотреть все] [к модератору] | –1 +/– |
1. А ты никогда не задумывался что некоторые специфические фичи работающие по другую сторону от kernel (предположим что справа World, в центре kernel, слева netgraph и драйвера) не нужно запихивать в стандарт, даже Posix. Так как абстракция вызова (posix совместимая) функций ядра все равно прикроют подсистемы и очереди слева.
А в данном случае Линуксоиды именно и World и калечат, делая его вообще несовместимым с остальными Unix compatible системами.
Теперича netgraph. К этой подсистеме вообще Wоrldу прямой доступ не нужен, да его практически нет. И Если-бы ты чето понимал в этом - так не написал бы своей глупости.
Хорош уже в лужу пердеть... Свинство разводить :)
2. Netgraph мощнейщий инструмент, правда не для лодырей устанавливающих бинарные пакеты. Там внутренний Netgraph-"ассемблер" знать надо, чтобы чтото родить.
| | | 5.69, bOOster, 16:47, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] | +/– |
> Лукавый в кедах - эмблема другой системы, обломитесь. И таки да, там
> лепят ни с чем не совместимые нетграфы, геомы, kqueue и что
> там еще. И это вроде как нормальным считается...
А да и Лукавый - это сатана а не чертенок со сковородой, который походу у многих Линуксоидов тут мягкое место подогревает. Да так что минусовать начинают даже не прочитав пост :)
| | |
|
6.82, bOOster, 04:09, 20/07/2014 [^] [ответить] [смотреть все] [к модератору] | –2 +/– |
>> Лукавый в кедах - эмблема другой системы, обломитесь. И таки да, там
>> лепят ни с чем не совместимые нетграфы, геомы, kqueue и что
>> там еще. И это вроде как нормальным считается...
> А да и Лукавый - это сатана а не чертенок со сковородой,
> который походу у многих Линуксоидов тут мягкое место подогревает. Да так
> что минусовать начинают даже не прочитав пост :)
У деревни Крюково - ВИА Пламя :) BSDшики :)
| | | 3.59, Аноним, 11:48, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] +1 +/–Ну вон KMS DRM стали новым стандартом взаимодействия ядер с юзермодом по части г... весь текст скрыт [ показать] 2.40, freehck, 23:43, 18/07/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] [ к модератору] +/–
1.8, Аноним, 18:21, 18/07/2014 [ответить] [смотреть все] [к модератору] –4 +/–Мало что-ли dev random и dev urandom устройств ... весь текст скрыт [ показать]
|
5.84, pavlinux, 06:02, 20/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
> двоечник. :)
> "не аппаратные" -- раздельно.
> слово "неаппаратные" (слитно) -- тоже существует, но в данном случае нужно не оно.
Программер отъымэл филолога =)
Да Grammar_Nazi, срочно прими таблетку Даля и клизму Ожегова.
|
| |
|
6.89, arisu, 10:56, 20/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
да, павлуша окончательно деградировал: xasd «программером» считает. осталось теперь подвальных бомжей в интеллектуалы записать — и будет совсем хорошо.
| | | 3.60, Аноним, 11:50, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] –1 +/–И это хорошо Ибо на слово верить американскому дяде Сэму и его АНБ - нафиг надо... весь текст скрыт [ показать] 2.41, Grammar_Nazi, 00:20, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] [ к модератору] +/– 2.45, Xasd, 05:53, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] [ к модератору] –2 +/– |
5.71, linux must _RIP__, 18:34, 19/07/2014 [^] [ответить] [смотреть все] [к модератору] | –1 +/– |
> Открывать /dev/urandom (а потом уже всё остальное)
а точно php/питон/чтотам придумаешь - будет знать что будет работать именно с криптографией? у него доступа в /dev/astral нету.. угадывать по звездам еще не научился.. Да и держать лишний открытый дискритор из расчета - а вдруг что-то потребуется - это уже перебор.
| | | 4.55, Аноним, 11:38, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] +1 +/–Если процессу не хватило дескрипторов - там в общем случае даст дуба отнюдь не т... весь текст скрыт [ показать] 4.67, Crazy Alex, 15:19, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] +/–
Умирать на старте, разумеется
4.77, pavlinux, 20:26, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] –1 +/–
> а что делать вновь запускаемым процессам? или процессы использующие криптографию должны
> запускаться строго из инит? лимит он такой.. в любой момент могли
> сказать ой.. при запуске очередного apache демона использующего ssl к примеру..
Проблема вроде банальная, а самом деле гиморрой сильнейший!
Решений несколько, одно глобальное - делать /dev/random частью псевдодевайсов: STDIN, STDOUT, STDERR и добавить STDRND.
|
5.90, Xasd, 16:24, 20/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
STDRND (плюс к SDTIN, STDOUT, STDERR) -- это было бы отличной идеей.
накладных расходов это практически не добавит, а вот польза большая (куча программ используют случайные числа и чуть меньше программ -- крипографию).
| | | 3.76, слоупокк, 20:09, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] +/–
Открою страшную тайну: счётчик открытых файловых дескрипторов уменьшается при создании процесса.
2.47, bOOster, 07:17, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] [ к модератору] –1 +/– |
4.57, arisu, 11:42, 19/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
> С чего бы это вдруг? У нас тут сегодн чемпионат "кто кого
> переламерит"?
нет, это просто написавший — идиот, который совершенно ничего (кроме названий) не знает про криптографию, prng для криптографии и реализацию /dev/random и /dev/urandom.
не стоит обращать внимания: это существо феерически тупое во всём, о чём говорить пытается.
| | |
|
6.64, arisu, 12:06, 19/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
> до последнего момента надеялся что межушный нервный узел оппонента все-таки немного
> включится.
я пробовал и добрыми словами, и словесными пинками. неа, там военно-полевая облегчённая модель, умеет только базовые функции.
| | |
|
10.86, bOOster, 09:06, 20/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
> Я одного не понимаю, как ты живешь с генератором случайных чисел от
> таймера CPU.. Хотя да, заметны систематические излияния гамна по /dev/random :)
u забыл... Но недалеко ушел
| | | 10.88, arisu, 10:42, 20/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] +/–
молодец, чётко свой идиотизм демонстрируешь.
9.87, bOOster, 09:42, 20/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] +/–
А PRNG можешь засунуть себе в одно место и проворачивать... Регулярно будешь замечать PSEUDORANDOM мушку
6.73, linux must _RIP__, 18:37, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] –1 +/–
>> нет, это просто написавший — идиот, который совершенно ничего (кроме названий) не
>> знает про криптографию, prng для криптографии и реализацию /dev/random и /dev/urandom.
> Капитан Очевидность спешит на помощь! Ну спасибо, Кэп, я подозревал :). Но
> до последнего момента надеялся что межушный нервный узел оппонента все-таки немного
> включится.
да да. за одно объясни почему их аж 2 рандома :-) и вспомни дыры в реализации датчиков случайных чисел которые находили в ядре.. забыл? так гугл в помощь.. после таких дыр ты точно согласен использовать данные напрямую ?
5.72, linux must _RIP__, 18:35, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ к модератору] –1 +/–
>> С чего бы это вдруг? У нас тут сегодн чемпионат "кто кого
>> переламерит"?
> нет, это просто написавший — идиот,
как легко оскорблять другие мальчик. выучил уже уроки? понахватался на улице словечек? или мама не научила хорошим манерам? хорошие же у тебя родители были..
1.22, Аноним, 19:24, 18/07/2014 [ответить] [смотреть все] [к модератору] +/–Ура Хорошая штука Нужно ... весь текст скрыт [ показать]
1.23, Сергей, 19:24, 18/07/2014 [ответить] [смотреть все] [к модератору] –3 +/–Может посмотрим по-другому, оказывается в линуксе могут существовать и выполнять... весь текст скрыт [ показать]
2.44, Xasd, 04:58, 19/07/2014 [ ^] [ ответить] [ смотреть все] [ показать ветку] [ к модератору] –5 +/–тоже мне синсация - два разных процесса с одинаковым pid -- существовать мо... весь текст скрыт [ показать] [ показать ветку] |
5.79, Xasd, 21:22, 19/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
> большинство скриптов писаны левой пяткой и реально могут прибить другой процесс, если его угораздит pid занять.
именно так.
вероятность этого события очень низкая -- но всё же эта вероятность есть -- до тех пор пока состояние процесса демона НЕ сохраняется в его родительском процессе (и оно как раз не сохраняется в sysvinit . сохраняется лишь pid-номер внутри текстового файла).
| | |
|
6.80, Led, 22:25, 19/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
>> большинство скриптов писаны левой пяткой и реально могут прибить другой процесс, если его угораздит pid занять.
> именно так.
> вероятность этого события очень низкая -- но всё же эта вероятность есть
> -- до тех пор пока состояние процесса демона НЕ сохраняется в
> его родительском процессе (и оно как раз не сохраняется в sysvinit
> . сохраняется лишь pid-номер внутри текстового файла).
Врёшь, ламерок. service stop смотри не только на $PID, но и на /proc/$PID/{comm,stat}. Так что совпадение только по $PID - не прокатывает.
| | |
|
7.81, Xasd, 23:32, 19/07/2014 [^] [ответить] [смотреть все] [к модератору] | +/– |
> service stop смотрит не только на $PID, но и на /proc/$PID/{comm,stat}
все говно-bash-скрипты проверил? :-)
некоторые вообще по killall убивают (даже не глядя на pid).
да, sysvinit провоцирует делать плохие решения.
| | |
1.26, crypt, 19:38, 18/07/2014 [ответить] [смотреть все] [к модератору] +/–
так вызов включили или только предложили включить?
1.50, Аноним, 08:21, 19/07/2014 [ответить] [смотреть все] [к модератору] +/– сарказм Почему бы не выпустить ещё один форк сарказм ... весь текст скрыт [ показать]
1.54, Аноним, 11:34, 19/07/2014 [ответить] [смотреть все] [к модератору] +/–Это называется горе от ума ... весь текст скрыт [ показать] Ваш комментарий
Read more |