LINUX.ORG.RU

Найдено около 1200 уязвимостей в debian.

 , mayhem,


1

2

Наткнулся на интересное почтовое сообщение от Alexandre Rebert в рассылке Debian'а. Думаю исследование Alexandre Rebert'a даёт представление об действительном положении вещей с безопасностью программного обеспечения.

Оригинал сообщения находится по ссылке. Здесь я приведу свой, не полный, перевод:

Привет,

я занимаюсь поиском уязвимостей в программном обеспечении в Carnegie Mellon University. Моя рабочая группа нашла тысячи необработанных исключений в бинарных пакетах из репозиториев debian wheezy. Don Armstrong (owner@bugs.debian.org) посоветовал нам связаться с вами, прежде чем заполнить около 1200 отчётов об ошибках.

Ошибки были найдены с помощью Mayhem, - автоматической системой поиска ошибок, разрабатываемой в течении нескольких лет в исследовательской лаборатории David Brumley. Mayhem'ом были проверены почти все бинарные файлы (~23000) из репозитория Debian Wheezy.

Наша цель заполнить отчёты об ошибках как можно полнее. Чтобы уменьшить кол-во дубликатов, мы сообщаем только об одном необработанном исключении в каждом бинарном файле, и максимум о пяти в одном пакете. Таким образом отчёт содержит около 1200 уязвимостей.

>>> Оригинал

★★★

Проверено: anonymous_incognito ()
Последнее исправление: anonymous_incognito (всего исправлений: 3)
Ответ на: комментарий от Laz

Это даже не ошибка. Это отсутствие продуманной реакции на возможную ошибку.

AVL2 ★★★★★
()

Фактически, только в 6/125 пакетов были обнаружены проблемы. На мой взгляд, это хороший результат.

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

интересно, каким образом падающий хромой, связан с моим сервером?

А что, в статье говорится про 1200 версий хрома?

Но это НЕ уязвимость, а просто глюк хрома.

А еще это может быть глюк апача или какого-нибудь другого софта.

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

Чтобы строить гипотезы, надо хотя бы этот отчёт иметь перед глазами. Пока фактов нет, можно предположить многое.

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

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

segfault — правильное средство завершения программы? Серьёзно?

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

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

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

что ruby - сообщество состоит из квалифицированных айтишников

ахахах, ох ты. я думал это школьники, которые прочитали Пругаминг в Раби.

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

Я написал полсотни? Я хотел написать полторы.

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

1200? Выкиньте свой сканер, думаю на самом деле их на три порядка больше

На три порядка - это 1200000. В дебиане каков размер пакетной базы?

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

в уязвимостях Arch функционирующих пакетов не обнаружено

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

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

а кто сказал, что можешь?

AVL2 ★★★★★
()

Всего 1200 ошибок на весь огромный репозиторий? Теперь Debian в моих глазах стал ещё надежней и лучше!

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

На три порядка - это 1200000. В дебиане каков размер пакетной базы?

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

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

Возможность несанкционированно выполнять произвольный код это частный случай уязвимости. Простой пример. Допустим я обнаружил способ удаленно положись сайт linux.org.ru

всё это так, но уязвимость будет уязвимостью только если баг в некотором ограниченном множестве программ. Если ты найдёшь баг в /bin/ls, то тебе это никак не поможет завалить LOR. Если конечно макском не догадался зачем-то использовать system(«/bin/ls»), причём так, что любой юзер может инициировать эту команду. Я уж не говорю про баг(или хоть уязвимость) в каком-нить тетрисе, который тоже есть на сервере LOR'а.

возможность уронить так сервер само по себе плохо.

от бага в КАКОЙ-ТО программе очень далеко до падения сервера.

Аналогично с ядром или просто программой в user space. Если оно может упасть под воздействием внешних раздражителей, это тоже не что иное как дыра.

по твоему, ТВОЯ система дырявая, ибо падает от :(){ :|:& };:? Я тебя правильно понимаю?

А если ПО под управлением Линукс выполняет какую-то очень серьезную работу? Управляет ядерным реактором, например (Гг)?

ну да, и рутовая консоль ядерного реактора доступна по ssh всем подряд. логин/пароль root/123. IP не подскажешь?

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

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

ой, какой ты умный. А вот теперь ещё подумай: у тебя есть ИДЕАЛЬНЫЙ КОД БЕЗ ОШИБОК. Вот он твоим ядерным реактором управляет. А я, враг твой, попрошу твой код поделить на ноль. Что будет с твоим реактором? Правильно: потухнет или взорвётся. Просто не нужно врагам давать возможность делить на ноль и делать всякую другую НЁХ.

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

Падение — это уязвимость вида «отказ в обслуживании», ага. Одна из трёх основных видов уязвимости. То, что вы привели в качестве примера, «украсть учётку» — это уязвимость вида «утечка информации» — это как бы немного не то.

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

«Качественный» open source

open source потому и качественный, что в нем дыры публикуют и исправляют
для проприетарщины смысла публиковать дыры нет, о них нужно либо сообщать непосредственно разработчикам (и трясти с них деньги), либо использовать

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

А пони - худшие клоуны из присутствующих. Имя пакетов им выкладывать... Libapache2-mod-qos_10.8-1_amd64.deb, блин.

http://users.ece.cmu.edu/~arebert/papers/mayhem-oakland-12.pdf

sh4r4t4n
()
Последнее исправление: sh4r4t4n (всего исправлений: 3)

Уже говорили «решето» ?

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

На три порядка - это 1200000. В дебиане каков размер пакетной базы?

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

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

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

Опять шлангуешь. Я вечером прокомментирую твой бред, не хочу тратить рабочий день на твой тупняк, иначе опять весь день потрачу на сражение с ним. Как обычно, ты все мои слова переиначил.

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

А что, в статье говорится про 1200 версий хрома?

хуже. Если-бы дело касалось хрома, то ты мог заманить меня на свой сайт с эксплоитом, который эксплуатирует уязвимость. А если это не хром? Да пусть это даже команда /bin/ls, которую я Over9000 раз в день запускаю, что это ТЕБЕ(как злоумышленнику) даст? Я уж не говорю про остальные пакеты, 80% которых вообще ни у кого не установлены(ибо никто не станет ставить все 100% пакетов, да это и невозможно). Ну а на сервере так вообще никогда ничего лишнего не ставят, потому, там вероятность равна нулю (ибо те программы, которые таки ставят, вроде /usr/sbin/sshd проверяют куда как тщательнее, и не забивают на проблемы).

А еще это может быть глюк апача или какого-нибудь другого софта.

вот как твоё «может» трансформируется в «нашёл», тогда и поговорим. А пока данный пост можно смело печатать в жёлтой прессе, между снежным человеком и НЛО.

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

Указанные проблемы в своей массе не являются критическими уязвимостями, но могут помочь атакующему провести более успешную и быструю атаку на удалённый компьютер. Например, проведённая ещё до эксперимента с Debian ручная проверка 29 крахов, выявленных с использованием Mayhem, показала, что во всех из данных программ присутствуют уязвимости, для которых может быть разработан эксплоит (среди программ, в которых подтверждены уязвимости rsync, aspell, freeradius, ghostscript, iwconfig и т.п.).

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

Я говорю о самом термине, безотносительно этого отчета. Хотя вон кто-то тебе уже кинул линк на что-то связанное с мейхемом.

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

новые дырки и баги появляются ещё быстрее.

поэтому эксплоиты быстро устаревают - надо писать новые, а тут опять обновление - облом

anonymous
()

Это отличная новость. Дебиан станет еще более безопасным дистром.

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

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

segfault — правильное средство завершения программы? Серьёзно?

да, при выделенном условии.

например

int x;
if(x < 0)
    // x<0
    ;
else if(x >= 0)
    // x>=0
    ;
else
    // НЁХ. segfault.

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

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

Падение — это уязвимость вида «отказ в обслуживании», ага. Одна из трёх основных видов уязвимости.

падение ЧЕГО? Хрен знает чего?

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

А пони - худшие клоуны из присутствующих. Имя пакетов им выкладывать... Libapache2-mod-qos_10.8-1_amd64.deb, блин.

и что там ты нашёл?

http://users.ece.cmu.edu/~arebert/papers/mayhem-oakland-12.pdf

а это тут к чему? Я и сам могу найти, если надо будет что-то искать. А если ты нашёл, то делись.

drBatty ★★
()

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

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

Нет, это тоже уязвимость.

Если к этому привели такие вещи как null pointer dereference - да. Если это просто какой-нибудь безобидный uncaught exception - это не уязвимость, это просто факап. Но некрасиво, да.

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

а в других дистрах собирают из других исходников другие программы?

В других дистрах оно за частую стабильный != слоупочный

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

Я говорю о самом термине, безотносительно этого отчета.

не надо говорить о сферическом значении термина «уязвимость в вакууме». Это мне не очень интересно.

Хотя вон кто-то тебе уже кинул линк на что-то связанное с мейхемом.

я видел. Видать для солидности. Ну типа всё равно никто не пойдёт проверять.

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

поэтому эксплоиты быстро устаревают

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

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

твоя не падает?

Нет.

хм. Может тебе однострок на перле дать?

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

Для такого проекта как SDL - полсотни необнаруженных багов - это просто мелочи

Pinkbyte ★★★★★
()

Отличный показатель 1200/23000 ~ 0.05 ошибки на программу или 5% из всех пакетов имеет критические ошибки. Из всех пакетов не факт, что описываемые 5% являются ключевыми и действительно необходимыми для инсталяции абсолютно каждому.

/thread

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

а в других дистрах собирают из других исходников другие программы?

В других дистрах оно за частую стабильный != слоупочный

а багов там меньше из-за магии или другого колдунства?

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

Отличный показатель 1200/23000 ~ 0.05 ошибки на программу или 5% из всех пакетов имеет критические ошибки. Из всех пакетов не факт, что описываемые 5% являются ключевыми и действительно необходимыми для инсталяции абсолютно каждому.

+1

ИМХО в этом вашем арчике будет на порядок больше.

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