В начале месяца специалисты по информационной безопасности обнаруженный В ядре Linux появились две новые уязвимости: SegmentSmack и FragmentSmack. Оба они связаны с работой TCP-стека и позволяют злоумышленникам осуществлять DoS- и DDoS-атаки на систему жертвы.
Патчи для большинства дистрибутивов уже выпущены.
Под катом — подробнее о сути.
Чем опасны эти уязвимости?
«Корень зла» SegmentSmack — функции tcp_collapse_ofo_queue() и tcp_prune_ofo_queue().Злоумышленник вызывает их с помощью специально модифицированных TCP-сегментов, отправляемых на сервер, персональный компьютер или мобильное устройство жертвы.
Это приводит к чрезмерному потреблению памяти и ресурсов процессора.
Таким образом, хакер может «повесить» хост или устройство с трафиком всего 2 тысячи пакетов в секунду.
На сайте РедХат данный пример результата такой атаки.
Верхняя команда показывает полную загрузку четырёх ядер ЦП и задержки при обработке сетевых пакетов:
Обратите внимание, что для поддержания состояния DoS требуется открытый сеанс TCP, поэтому атаку невозможно выполнить с помощью подмены IP. Атака FragmentSmack использует функции фрагментация IP-дейтаграмм .$ top %Cpu25 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.5 si, 0.0 st %Cpu26 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st %Cpu28 : 0.0 us, 0.3 sy, 0.0 ni, 0.7 id, 0.0 wa, 0.0 hi, 99.0 si, 0.0 st %Cpu30 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 141 root 20 0 0 0 0 R 97.3 0.0 1:16.33 ksoftirqd/26 151 root 20 0 0 0 0 R 97.3 0.0 1:16.68 ksoftirqd/28 136 root 20 0 0 0 0 R 97.0 0.0 0:39.09 ksoftirqd/25 161 root 20 0 0 0 0 R 97.0 0.0 1:16.48 ksoftirqd/30
Когда IP-дейтаграмма отправляется на канальный уровень, она фрагментируется, если не умещается в рамка .
Таким образом, он передается по частям, а затем принимающий хост собирает его воедино.
Однако окончательную длину дейтаграммы он узнает только тогда, когда получает последний фрагмент. Злоумышленники используют эту возможность и подстраивают значения смещения фрагментов так, чтобы процессор сервера постоянно пересобирал пакеты IPv4 и IPv6. FragmentSmack позволяет работать с поддельными IP-адресами для обмана систем безопасности (можно использовать подмену IP).
Однако для него требуется более высокая скорость отправки пакетов, чем для SegmentSmack — 30 тысяч пакетов в секунду.
RedHat также предоставляет результат аналогичной атаки (ядро загружено на 99%): top - 08:59:45 up 1:34, 2 users, load average: 0.39, 0.15, 0.08
%Cpu9 : 0.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi,100.0 si, 0.0 st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
54 root 20 0 0 0 0 R 99.7 0.0 0:47.53 ksoftirqd/9
Подобные уязвимости обнаруживаются не впервые.
В девяностые годы аналогичный баг найденный в Windows NT 4.0, Windows 95 и версиях ядра Linux до 2.0.32. ?Эксплойт известен как каплевидная атака — злоумышленник также отправлял фрагментированные пакеты на целевое (сетевое) устройство, вызывая DoS. Уязвимость закрыли, но она появилась позже.
В 2009 году ошибка снова найденный в Windows 7 и Windows Vista.
Кто пострадал?
ФрагментSmack угрожает все версии ядра Linux начиная с 3.9, а SegmentSmack — с 4.9. Вы найдете список поставщиков, чьи системы имеют эти уязвимости.На прошлой неделе в Cisco сообщил что их операционная система AsyncOS подвержена атакам SegmentSmack и FragmentSmack. Поэтому компания выпущенный ряд патчей.
Как отмечает Cisco, «симптомы» уязвимости можно отследить с помощью команды netstat (пример есть на сайте Cisco по адресу Индикаторы раздела «Компрометация» ).
Если выходные данные команды показывают большое количество TCP-соединений в состоянии CLOSE_WAIT, то устройство, скорее всего, подвержено этим уязвимостям.
Как лечить
Подробности о патчах SegmentSmack для ряда дистрибутивов уже опубликованы.по CVE (например, вот патч для Убунту 14.04 ЛТС ).
Там же вы найдете инструкции и файлы для установки патчей для всех дистрибутивов Linux. Что касается FragmentSmack, то патчи против этой уязвимости уже есть.
выкатил разработчики Ubuntu, Red Hat, Debian и ОС Android.
/ Фото Кристофер Мишель СС
В качестве временного решения проблемы с FragmentSmack (если патч по каким-то причинам не может быть установлен) можно изменить значения net.ipv4.ipfrag_high_thresh и net.ipv4.ipfrag_low_thresh на 256 и 192 КБ соответственно (вместо 4 МБ и 3 МБ).
Первый параметр указывает максимальный объем памяти, выделенный для очереди фрагментированных пакетов.
Если длина очереди превышает это значение, обработчик фрагментов будет игнорировать все пакеты до тех пор, пока длина очереди не станет меньше значения ipfrag_low_thresh. Владельцы Android, пишет Кевин Бомонт, эксперт по кибербезопасности (и автор независимый блог по теме) можно изменить эти значения с помощью такие команды (они должны работать без перезагрузки устройства).
Чем мы занимаемся в ИТ-ГРАД – основные направления: • Виртуальная инфраструктура (IaaS) • PCI DSS-хостинг • Облако ФЗ-152
Больше из нашего блога IaaS: Как протестировать дисковую систему в облаке: практические советы Что скрывается за термином vCloud Director – взгляд изнутри
Теги: #информационная безопасность #linux #разработка Linux #Системное администрирование #конфигурация Linux #it-grad #TCP стек
-
Войти В Ит
19 Oct, 24 -
Фидбёрнер Горит!
19 Oct, 24 -
Еженедельный Подкаст «Умпутун» — Серия 233
19 Oct, 24 -
Новый Блог - «Куда Идет Мир?»
19 Oct, 24 -
Лидеры Соседних Стран Спешат В Uanet
19 Oct, 24 -
Подкаст Unclesoky – Эпизод №13
19 Oct, 24