LINUX.ORG.RU

Обнаружена серьезная уязвимость в LibreSSL

 ,


1

3

В выпущенной четыре дня назад библиотеке LibreSSL, которая создавалась как более простой и надежный форк OpenSSL, была выявлена серьезная уязвимость в генераторе псевдослучайных числе. Уязвимость была обнаружена Эндрю Айером (Andrew Ayer) и состоит в том что вызовы функции RAND_bytes в сочетании с использованием системного вызова fork могли генерировать одинаковые последовательности псевдослучайных данных.

Это происходит из-за недостаточной проверки факта использования вызова fork, который основывался на различии идентификатора процесса у родительского и дочернего процесса, но не учитывает что у второго поколения дочерних процессов идентификатор может совпадать с таковым у первоначально родителя. Для того чтобы избежать такого поведения в OpenSSL существует специальная функция RAND_poll, однако в LibreSSL эта функция была отключена с целью упрощения кода. Таким образом, прямая замена OpenSSL на LibreSSL может привести к изменению поведения программ, которые используют RAND_poll.
В дополнение автор сообщает о существовании схожей проблемы при использовании вызова chroot.

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

Первоисточник

Сайт проекта LibreSSL

>>> Подробности

Ответ на: комментарий от anonymous

Конкуренция среди свободных программ это хорошо.

Конкуренция кто дырявее?

m0rph ★★★★★ ()
Ответ на: комментарий от sT331h0rs3

OpenLibreSSL, и потом чередовать.

А лучше, как принято в мире opensource — рекурсивный акроним:

LNOSSL — LibreSSL is Not an OpenSSL.

// ктсати тогда помимо зрелищ еще и пищи троллям добавится :)

KennyMinigun ★★★★★ ()
Последнее исправление: KennyMinigun (всего исправлений: 1)
Ответ на: комментарий от KennyMinigun

А лучше, как принято в мире opensource — рекурсивный акроним:
LNOSSL — LibreSSL is Not an OpenSSL.

Потом:

YALNOSSL — Yet Another LibreSSL is Not an OpenSSL.

... прошу продолжать :)

anonymous ()
Ответ на: комментарий от MumiyTroll

Как-то почему-то упрощатели бросаются упрощать, не вникнув в суть данного решения...

реалии таковы, что из людей, желающих заниматься разработкой СПО и при этом разбирающихся в криптографии всего два-три человека, это тех кто действительно разбирается в алгоритмах и их сильных и слабых сторонах.

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

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

очевидно что упрощатели не входят в первую категорию, а последствия мы частично видим.

prizident ★★★★★ ()

Вероятность повторно получить старый пид - это казуистика, а не «серьёзная уязвимость». Лучше бы помогали вычищать Авгиевы конюшни.

Deleted ()
Ответ на: комментарий от prizident

Я думаю, тебе стоит ещё раз почитать оригинальный текст. Уязвимость в portable-версии (которая вообще side-проект, потому что ребята решили поделиться с тобой кодом) для Linux, в котором (в отличии от OpenBSD, для которой и пишется libressl и где этой уязвимости нет) нет гарантированно безопасного способа получить энтропию. Ах да, ещё это alpha-версии библиотеки, которую форкнули потому, что код был настолько омерзителен, что читать его было практически невозможно.

anonymous ()

За что боролись, на то и напоролись..

xio4 ()
Ответ на: комментарий от dexpl

Ты бот?

Пикча там совсем анрелейтед, кстати.

                       ............................... ..
                     .....   .........'..................
                   .:;...    .........''.'''............ 
                ...:kxollc:cll:;,,,'......',''...........
               .c:kXXXXKKKXXXXNNNXK0xc'.. ..'''..........
               'oXNNXKK000KKKKXXXNNNNNXO:. ..''..........
              .lNWNNXKO00OkOO0KXXXXXXNNN0c. .'''.........
              .0WNXXX0xOOkxk0KKXXXXXXXXX0c. .''..........
              .0N0o;;;,,ldoc;;,;oxkO0KXXXo'..''..........
               O0k:,;c' ,xkx;.';,lldk0KXKo;'.'...........
               dKOOc;o:;Oxkxo:cdk00OO0KK0dodoc,..........
              .xXKKo:ckNOkxkO0kxk0KKK0OO0OOKXdc..........
               oX0Okx:dOoxxxdx000KK00OOk00KkKk'..........
               ,K0X0;.c'.'''codO0KK0OOOOO0K00:...........
               .0KKOx:......dOkkkO00OOOOOx0O:............
                ;KXXN0c'...;dxkO000OOOOOx;''.............
                 dXNO:dd;';lldodkOOOOOkxd:''.............
                 .OK0K0o;;:ldxxxkkOOOxdl,................
                  .kKXXK0ddkOOkkxdddo:'..................
                  .;XX0d;;:lddol:;;'.....................
                  .,XNKc.   .............................
                 ..';oc;..   ............................
               .  .''.. .................................
             ... .,...  .................................
           ..';;.... .  .................................
        .'',:c;........;l'........'''.,''.....'''........
       .;;;:c'......'..,d;.;c:'',;,,'',''''..............
     .,::;cl...;...'..',';xko;;l:;,;;:cl:................
   ..,c:cdd'..'.....,,.,oOOo;:l;':ollc'..................
 ...'lokko,'',.....,',lkkkl;c;''cclo;..',,,..............
..'cdoxdl;;,'....,;;lxxkxl:,...c:cc'',,,'................
..oooo:cc:'.....;;:ldddxo;....c:c;,;,'...................
.;.l; ,c;.....,;;c:cooxl'... ;;:;,,'......''.............
'..X;.:,'....cl'cdokkx:.... .'.',;'.....'''..''..........
 ..:;c:;'. .:o.cdxkxxc..... ..,cc,.''''''...'............
  .lx;:.  ..l'.xlXWXo...... .'cdkkd;'',....''............

MiniRoboDancer ★☆ ()
Ответ на: комментарий от MiniRoboDancer

Ты бот?

Нет. А ты следишь за мной?

Пикча там совсем анрелейтед, кстати.

И хрен бы с ней.

dexpl ★★★★★ ()

Бугага. Форкнули из-за Heartbleed, сразу же показали свою голую жопу и ещё огрызаются. Обосрались на отличненько, что я могу сказать.

Valkeru ★★★★ ()
Ответ на: комментарий от dexpl

А ты следишь за мной?

Тебя трудно не заметить.

И хрен бы с ней.

Чего возмущаешься тогда? Мимопроходи с неполноценным вебом дальше.

MiniRoboDancer ★☆ ()

Для того чтобы избежать такого поведения в OpenSSL существует специальная функция RAND_poll, однако в LibreSSL эта функция была отключена с целью упрощения кода.

смеялся:)

я понимаю удалить не используемое, но удалять, что бы создавать баги это сильно))

vitalikp ()
Ответ на: комментарий от anonymous

Уязвимость в portable-версии (которая вообще side-проект, потому что ребята решили поделиться с

как ни оправдывай бздю с ее бздунами, а фейл все равно зачетный.

prizident ★★★★★ ()
Ответ на: комментарий от MiniRoboDancer

лол, вчера там был Патрик Стюарт

anonymous ()

Для того чтобы избежать такого поведения в OpenSSL существует специальная функция RAND_poll, однако в LibreSSL эта функция была отключена с целью упрощения кода.

...

К сожалению данная новость при всей ее значимости отсутствует на официальном сайте проекта LibreSSL, т.к. его разработчики в настоящее время «слишком заняты удалением лишнего кода».

Да они никак не уймутся! Похоже на горе слесаря у которого осталась куча лишних деталей. А кто-то тут еще сетовал что архив не подписан.

A-234 ★★★★★ ()

OpenSSL и LibreSSl напоминают мне FFmpeg и Libav. У одних девиз «мы поддерживаем все мыслимые фичи, даже экзотические», а у других - «зато у нас меньше говнокода».

anonymous ()

псевдослучайных числе

anonymous ()

Таким образом, прямая замена OpenSSL на LibreSSL может привести к изменению поведения программ, которые используют RAND_poll.

это каким таким образом?

или у нас новый fallout4all появился?

anonymous ()
Ответ на: комментарий от prizident

Какой фейл? Они написали себе библиотеку, которая у них работает. У остальных она содержит в себе баги, которые обусловлены особенностями их ОС. Поэтому релиз не помечен, как стабильный и подлежит правкам. Когда появились люди, которые сказали «чуваки, мы тут дыру нашли, поправьте», они, внезапно, поправили и выложили на FTP. То есть проблемы больше нет. Через какое-то время найдут ещё дыру, и её тоже закроют. Это называется разработка программного обеспечения. Почему это никто понять-то не может?

anonymous ()
Ответ на: комментарий от anonymous

Есть простая аналогия — когда ты разбираешь шмотки в шкафу, то выкидываешь оттуда всё. А потом засывываешь обратно только нужное. Вот здесь то же самое, только истерики почему-то больше.

anonymous ()
Ответ на: комментарий от anonymous

Есть простая аналогия — когда ты разбираешь шмотки в шкафу, то выкидываешь оттуда всё.

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

prizident ★★★★★ ()
Ответ на: комментарий от prizident

Ладно, попробую в третий раз объяснить тебе, что такое OpenBSD. Это операционная система. Это не Linux + Gnu, это полностью автономная операционная система. И libressl — это библиотека для этой операционной системы. В openssl были вещи, которые занимали много места, выглядели хреново, и безопасности в этой операционной системе не добавляли.

Поэтому, из библиотеки для операционной системы OpenBSD их убрали. Несколько позже разработчики операционной системы OpenBSD решили поделиться кодом с остальным человечеством, и выпустили нестабильную версию, предупредив, что её нельзя использовать в реальных условиях, потому что там могут быть дыры.

И вот, такую дыру нашли (обрати внимание, дыра была вполне ожидаемой, потому что релиз нестабильный). И эта дыра обусловлена различиями между операционными системами. Что в таких случаях делают адекватные люди? Они правят код, добавляя недостающую для других операционных систем функциональность (да, именно так и разрабатывается portable версия openssh).

anonymous ()
Ответ на: комментарий от anonymous

предупредив, что её нельзя использовать в реальных условиях, потому что там...

... РЕШЕТО!

INFOMAN ★★★★★ ()
Ответ на: комментарий от EvilFox

То есть, оно и с яваскрипом не работает. Тогда тем более не нужно.

dexpl ★★★★★ ()
Ответ на: комментарий от dexpl

Чего? Оно вообще не требует яваскрипта, там единственная строчка html-тег с изображением и всё. Никакой яваскрипт там не нужен. Что за бред у тебя я не понял.

EvilFox ()
Ответ на: комментарий от EvilFox

Что за бред у тебя я не понял.

У меня просто пустая страница. Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0 SeaMonkey/2.26.1

dexpl ★★★★★ ()
Ответ на: комментарий от DeadEye

Есть ещё Network Security Services, NSS, поддерживается Mozilla, существует очень давно, со времён Netscape, первой была сертифицирована на соответствие FIPS, и вообще, уважающие себя проекты (например, OpenJDK) юзают именно её. К тому же ею поддерживается более внушительный набор криптографических стандартов, например, X.509, S/MIME, всякие PKCS и т. д.

anonymous ()
Ответ на: комментарий от anonymous

Кстати, можно ещё отметить, что сам протокол SSL был спроектирован в Netscape.

anonymous ()
Ответ на: комментарий от anonymous

И эта дыра обусловлена различиями между операционными системами.

о которых создатели openssl прекрасно знали и специально добавил тот код. а бздунята не смогли понять зачем он нужен и просто его выкинули.

Что в таких случаях делают адекватные люди? Они правят код, добавляя недостающую

возвращая то что до этого удалили потому что не смогли понять зачем оно нужно

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

prizident ★★★★★ ()
Ответ на: комментарий от prizident

Ты не умеешь читать? Libressl это библиотека для openbsd. В openbsd _НЕТ_ ситуации, когда этот код нужен. И поэтому его удалили. Потому что на openbsd он не нужен. А Libressl — библиотека для openbsd. Если все ещё не понял — перечитай этот пост сначала.

anonymous ()
Ответ на: комментарий от anonymous

Libressl это библиотека для openbsd.

отговорки - для слабых и глупых

prizident ★★★★★ ()
Ответ на: комментарий от anonymous

Ну, даблфейспалм — мем популярный, не удивительно, что его часто заменяют.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от prizident

Нет, это объективная реальность :D

anonymous ()
Ответ на: комментарий от anonymous

Ладно, попробую в третий раз объяснить тебе, что такое OpenBSD

чувак, на эту поделку всем плевать даже больше, чем на Haiku.

разработчики с большой помпой выпустили форк, заявляя, что теперь-то мы все заживём счастливо, а потом жидко обделались. вот и вся история.

anonymous ()
Ответ на: комментарий от prizident

а фейл все равно зачетный

в твоей альтернативной реальности... впрочем, судя по количеству звёзд (годы доказали, что это надёжный критерий), там явно много чего, что за пределами твоего воображения не существует :)

odii ()
Ответ на: комментарий от anonymous

Это эпидемия, что-ли? Все разучились читать? В OpenBSD (целевой платформе форка) этой уязвимости нет. На проблемы лялексоидов и их кривого ядра всем плевать.

anonymous ()
Ответ на: комментарий от anonymous

OpenBSD
на эту поделку всем плевать

vs

На проблемы лялексоидов и их кривого ядра всем плевать.

Round 2... Fight!

edigaryev ★★★★★ ()

ШЫРАТО...
Интересна вероятность того, что оно попадёт в предыдущий pid и не пропустит к тому моменту повторяющуюся последовательность (родительский процесс уже вроде должен завершиться, чтоб освободитть пид.

mittorn ★★★★★ ()
Ответ на: комментарий от anonymous

В OpenBSD (целевой платформе форка) этой уязвимости нет.

В OpenSSL (изначальной библиотеке) тоже нет этой уязвимости. речь о том что полтора бздунячих инвалида прокричали «мы щас сделаем всем безопасно и хорошо» и первым делом добавили уязвимость.

prizident ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.