LINUX.ORG.RU

Возможность DoS атаки на ядрах 2.4, 2.6


0

0

Никита Ющенко из МГУ опубликовал в BUGTRAQ информацию, согласно которой возможно выполнение локального DoS в Linux с ядрами 2.4, 2.6. Подобная ситуация связана с некорректной обработкой сигналов многопоточными процессами. При посылке сигнала SIGRT_1 может произойти некорректная обработка ситуации завершения процесса, что приводит к появлению «зомби»-процессов. При посылке многим процессам подобного сигнала может возникнуть ситуация типичного DoS. Как пишет сам автор, в версии 2.6 использован несколько другой механизм управления потоками, получивший название NPTL (Native POSIX Threading Library — библиотека для создания многопоточных приложений), однако возможность DoS всё равно существует.

http://www.securityfocus.com/archive/...

>>> источник

★★★★

Проверено: maxcom

Мда-м. Это как можно переврать исходное сообщение-то...
Я тащусь от неграмотности наших журналистов.
Заинтересованным советую читать мой постинг в багтрэк...

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

>>Это как можно переврать исходное сообщение-то...

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

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

Впрочем, не так уж страшно. Сделать локальный DoS в принципе можно почти на любой системе, если есть, что перегружать, а есть почти везде. Исключение - сервера с большим числом shell-пользователей, где стоят жесткие квоты на все. Но там и так лучше user-mode Linux, а то уж слишком легко при shell-доступе уязвимости сделать. Даже лучший админ иногда ошибается...

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

Очень старинный баг. mysqld на него нарывался постоянно. Может из-за
него я всегда предвзято относился к pthreads? ;)

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

Прочитал постинг, заодно, прочитал что в lkml писали. Я так и не понял, был какой-нибудь консенсус на это дело?

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

А Слака на бобовых ядрышках работает? :)))

anonymous
()

Проблемы есть только у тех, кто надеется на доставку всех RT-сигналов. Если LinuxThreads имеет эту проблему, то это проблема LinuxThreads и старых ядер, где возможно, по-другому нельзя. Данный пример DoS'ит в лучшем случае только попытку ядра достававить каждый RT-сигнал.

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

ТЫ КСПэшник. Я тебе недоверяю

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

> Проблемы есть только у тех, кто надеется на доставку всех
> RT-сигналов. Если LinuxThreads имеет эту проблему, то это проблема
> LinuxThreads и старых ядер, где возможно, по-другому нельзя.
> Данный пример DoS'ит в лучшем случае только попытку ядра
> достававить каждый RT-сигнал.

На ядре 2.6 NPTL-ные многонитевые программы успешно зависают и/или валятся в корку на некоторых операциях pthread_*, если переполнить sigqueue.
Собтственно, мы пытались понять, из-за чего это происходит, и нашли - сначала переполненный sigqueue из-за взглючившего konqueror (!), а потом и то, что я в багтрек написал.

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

Собственно, новость исправлена, уважаемый Никита. О чём Вы оповещены. :)

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

Вот и дубки стали известными))))

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

Я знаю всего 1-н способ надежно подвесить систему (подойдет ли это под разряд DoS ?) с помошью всего 1 минуты:

#include <unistd.h>

int main()
{
while (1) fork ();
}

Запусти его, и подожди всего 2-3 секунды, комп зависнет конкретно.
Вот только этот фокус не работсает на 2.6 (проверено на 2.6.3), на
2.4.-й ветке везде работает.

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

Нет. За DoS это не пойдёт. В нормально сконфигурированных системах количество процессов, которые может создать пользователь, ограниченно.

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