The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

18.07.2014 15:42  Уязвимость, устранённая в LibreSSL 2.0.2, подтолкнула к добавлению вызова getrandom в ядро Linux

Разработчики проекта 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 даже в условиях отсутствия свободных файловых дескрипторов.

  1. Главная ссылка к новости (http://threatpost.com/overblow...)
  2. OpenNews: Корректирующий выпуск LibreSSL 2.0.1
  3. OpenNews: Первый выпуск LibreSSL, форка OpenSSL от проекта OpenBSD
  4. OpenNews: Проект OpenBSD представил LibreSSL, форк OpenSSL
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: libressl
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.3, Stax, 17:25, 18/07/2014 [ответить] [смотреть все]
  • –5 +/
    Ага, обещали переносимую версию , а реально все затачивают под особенности Open... весь текст скрыт [показать]
     
     
  • 2.15, Клыкастый, 18:34, 18/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +11 +/
    > Поддерживайте в своей ОС фичи из OpenBSD, и будет работать! Вот такая вот переносимость по-Теодоровски, ага..

    Собственно есть и строго обратная сторона: линуксизмы в софте, которые остальным приходится заменять. Если цель не холиварить, то очевиден выход. Кто заинтересован в портировании под свою платформу, тот и отслеживает такие моменты. Под BSD с солярки перетащили ZFS, да и под линукс втащили. Заменяя ОС-зависимые моменты. Пока никто не умер. Тем более у линукс разработчиков явно поболе, так что ситуация более выигрышная. Короче, отставить панику, всё ок.

     
     
  • 3.46, bOOster, 07:12, 19/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Это сплошь и рядом Posix совместимость давно линуксоидов не интересует Лепят в... весь текст скрыт [показать]
     
     
  • 4.58, Аноним, 11:43, 19/07/2014 [^] [ответить] [смотреть все]  
  • –3 +/
    Как видим, бздельники ничем не лучше в этом плане Лукавый в кедах - эмблема дру... весь текст скрыт [показать]
     
     
  • 5.68, bOOster, 16:39, 19/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    1 А ты никогда не задумывался что некоторые специфические фичи работающие по др... весь текст скрыт [показать]
     
  • 5.69, bOOster, 16:47, 19/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    А да и Лукавый - это сатана а не чертенок со сковородой, который походу у многих... весь текст скрыт [показать]
     
     
  • 6.82, bOOster, 04:09, 20/07/2014 [^] [ответить] [смотреть все]  
  • –3 +/
    У деревни Крюково - ВИА Пламя BSDшики ... весь текст скрыт [показать]
     
  • 3.59, Аноним, 11:48, 19/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну вон KMS DRM стали новым стандартом взаимодействия ядер с юзермодом по части г... весь текст скрыт [показать]
     
  • 2.40, freehck, 23:43, 18/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    На чём работать умеют, на то и затачивают ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.63, Аноним, 12:05, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Прекрасно, но зачем тогда было втирать очки про портабельность Тогда systemd - ... весь текст скрыт [показать]
     
     
  • 4.93, Аноним, 12:07, 22/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Попробуйте скомпилировать и протестировать LibreSSL на своём линуксе Есть хорош... весь текст скрыт [показать]
     
  • 3.92, Аноним, 12:04, 22/07/2014 [^] [ответить] [смотреть все]  
  • +/
    На самом деле, всё сделано просто LibreSSL использует всё, что ему нужно, а есл... весь текст скрыт [показать]
     
  • 1.8, Аноним, 18:21, 18/07/2014 [ответить] [смотреть все]  
  • –4 +/
    Мало что-ли /dev/random и /dev/urandom устройств?
     
     
  • 2.11, Аноним, 18:26, 18/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ага, и оба - не аппаратные ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.42, Grammar_Nazi, 00:26, 19/07/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    > и оба - не аппаратные

    и оба неаппаратные

     
     
  • 4.43, Xasd, 04:51, 19/07/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    двоечник не аппаратные -- раздельно слово неаппаратные слитно -- тоже... весь текст скрыт [показать]
     
     
  • 5.84, pavlinux, 06:02, 20/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Программер отъымэл филолога Да Grammar_Nazi, срочно прими таблетку Даля и кли... весь текст скрыт [показать]
     
     
  • 6.89, arisu, 10:56, 20/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    да, павлуша окончательно деградировал xasd 171 программером 187 считает ос... весь текст скрыт [показать]
     
  • 3.60, Аноним, 11:50, 19/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    И это хорошо Ибо на слово верить американскому дяде Сэму и его АНБ - нафиг надо... весь текст скрыт [показать]
     
     
  • 4.91, Аноним, 13:30, 21/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Точно, у меня в проекте чип имеет аппаратный генератор Вся информация - это одн... весь текст скрыт [показать]
     
  • 2.41, Grammar_Nazi, 00:20, 19/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    "что ли", ёпта
     
  • 2.45, Xasd, 05:53, 19/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    согласен особой надобности в этом getrandom нет хочу сказать что, если в сам... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.48, linux must _RIP__, 07:33, 19/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    а что делать вновь запускаемым процессам или процессы использующие криптографию... весь текст скрыт [показать]
     
     
  • 4.51, Аноним, 08:31, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Открывать /dev/urandom (а потом уже всё остальное)
     
     
  • 5.71, linux must _RIP__, 18:34, 19/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    а точно php питон чтотам придумаешь - будет знать что будет работать именно с кр... весь текст скрыт [показать]
     
  • 4.55, Аноним, 11:38, 19/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Если процессу не хватило дескрипторов - там в общем случае даст дуба отнюдь не т... весь текст скрыт [показать]
     
  • 4.67, Crazy Alex, 15:19, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Умирать на старте, разумеется
     
     
  • 5.70, linux must _RIP__, 18:32, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    зачем умирать когда можно работать Не считая того что вызов syscall сильно деше... весь текст скрыт [показать]
     
     
  • 6.78, Аноним, 20:31, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Только read считай - open только один раз, а close вообще не надо fd закро... весь текст скрыт [показать]
     
  • 4.77, pavlinux, 20:26, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Проблема вроде банальная, а самом деле гиморрой сильнейший Решений несколько, ... весь текст скрыт [показать]
     
     
  • 5.90, Xasd, 16:24, 20/07/2014 [^] [ответить] [смотреть все]  
  • +/
    STDRND плюс к SDTIN, STDOUT, STDERR -- это было бы отличной идеей накладных р... весь текст скрыт [показать]
     
  • 3.76, слоупокк, 20:09, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Открою страшную тайну счётчик открытых файловых дескрипторов уменьшается при со... весь текст скрыт [показать]
     
     
  • 4.83, pavlinux, 05:59, 20/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Это чо за талант? o_0 Мож увеличивается?
     
  • 2.47, bOOster, 07:17, 19/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    И оба неприемлимы к использованию в криптографии ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.56, Аноним, 11:39, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    С чего бы это вдруг У нас тут сегодн чемпионат кто кого переламерит ... весь текст скрыт [показать]
     
     
  • 4.57, arisu, 11:42, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    нет, это просто написавший 8212 идиот, который совершенно ничего кроме назва... весь текст скрыт [показать]
     
     
  • 5.61, Аноним, 11:52, 19/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Капитан Очевидность спешит на помощь Ну спасибо, Кэп, я подозревал Но до по... весь текст скрыт [показать]
     
     
  • 6.64, arisu, 12:06, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    я пробовал и добрыми словами, и словесными пинками неа, там военно-полевая обле... весь текст скрыт [показать]
     
     
  • 7.74, linux must _RIP__, 18:41, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    да да о компрометации dev random забыли http everything2 com title Comprom... весь текст скрыт [показать]
     
     
  • 8.75, arisu, 18:55, 19/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    всё-таки я не понимаю, как можно жить на свете с таким идиотизмом.
     
     
  • 9.85, bOOster, 09:02, 20/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Я одного не понимаю, как ты живешь с генератором случайных чисел от таймера CPU ... весь текст скрыт [показать]
     
     
  • 10.86, bOOster, 09:06, 20/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    u забыл Но недалеко ушел ... весь текст скрыт [показать]
     
  • 10.88, arisu, 10:42, 20/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    молодец, чётко свой идиотизм демонстрируешь.
     
  • 9.87, bOOster, 09:42, 20/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    А PRNG можешь засунуть себе в одно место и проворачивать Регулярно будешь зам... весь текст скрыт [показать]
     
  • 6.73, linux must _RIP__, 18:37, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    да да за одно объясни почему их аж 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.29, Аноним, 19:45, 18/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    не могут.
     
     
  • 3.33, Сергей, 20:43, 18/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    А как же это В Linux гарантируется, что ответвлённые дочерние процессы будут и... весь текст скрыт [показать]
     
     
  • 4.36, Аноним, 21:02, 18/07/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    для этого прародитель должен завершиться до этого PID всего ничего, их приходит... весь текст скрыт [показать]
     
  • 2.44, Xasd, 04:58, 19/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –5 +/
    тоже мне синсация - два разных процесса с одинаковым pid -- существовать мо... весь текст скрыт [показать] [показать ветку]
     
     
     
    Часть нити удалена модератором

  • 4.62, Аноним, 12:03, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    А где он по крупному соврал PID файлы могут указывать на посторонний PID, если ... весь текст скрыт [показать]
     
     
  • 5.66, arisu, 12:10, 19/07/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    вот если бы он остановился на констатации фактов и не писал свои идиотические до... весь текст скрыт [показать]
     
  • 5.79, Xasd, 21:22, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    именно так вероятность этого события очень низкая -- но всё же эта вероятность ... весь текст скрыт [показать]
     
     
  • 6.80, Led, 22:25, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    Врёшь, ламерок service stop смотри не только на PID, но и на proc PID comm,... весь текст скрыт [показать]
     
     
  • 7.81, Xasd, 23:32, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    все говно-bash-скрипты проверил - некоторые вообще по killall убивают даже н... весь текст скрыт [показать]
     
  • 1.26, crypt, 19:38, 18/07/2014 [ответить] [смотреть все]  
  • +/
    так вызов включили или только предложили включить?
     
     
  • 2.38, anonymous, 21:24, 18/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Fixed ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.65, Аноним, 12:07, 19/07/2014 [^] [ответить] [смотреть все]  
  • +/
    > Fixed.

    Админь метлу или ящики - там попроще.

     
  • 2.52, Аноним, 09:17, 19/07/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ну merge window сейчас, вообще-то, закрыто.
     
  • 1.50, Аноним, 08:21, 19/07/2014 [ответить] [смотреть все]  
  • +/
    [сарказм]Почему бы не выпустить ещё один форк?[/сарказм]
     
  • 1.54, Аноним, 11:34, 19/07/2014 [ответить] [смотреть все]  
  • +/
    Это называется горе от ума ... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor