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

Уязвимость позволяет злоумышленнику провести DoS-атаку в одиночку

Исследователи в области безопасности из университета Карнеги – Меллон обнаружили в ядре Linux новых версий (4.9 и вплоть до 4.17.12, где проблема уже устранена) опасную ошибку, позволяющую осуществить DoS-атаку (Denial of Service – «отказ в обслуживании») на систему, что может привести к сбою в ее работе. 

Причем атакующему требуются совсем небольшая пропускная способность для успешного проведения атаки. В Red Hat ее оценили в 2 тыс. пакетов в секунду. Таким образом, эксплуатируя данную уязвимость, даже киберпреступник-одиночка может организовать успешную DoS-атаку.

Уязвимости присвоены идентификатор CVE-2018-5390 и имя SegmentSmack.

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

Эксплуатация «бреши» возможна из-за ошибок в реализации системных вызовов tcp_collaps_ofo_queue() и tcp_prune_ofo_queue(), ресурсоемкость которых, при определенных условиях может существенно возрастать. В результате львиная доля процессорного времени атакуемой системы оказывается затраченной на обработку входящих пакетов, из-за чего и происходит отказ в обслуживании.

Стоит также упомянуть, что атака может быть осуществлена только с реального IP-адреса, что делает невозможным подмену IP-адреса (т.н. IP address spoofing).

Как заявили в Red Hat, эффективного способа «закрыть» уязвимость в настоящий момент не существует. Проблема решается обновлением ядра.

DoS-атаки и DDoS-атаки

DoS-атаки – одна из наиболее распространенных в современном мире киберугроз и может осуществляется различными способами. Многие из них для достижения результата требуют вовлечения сотен и тысяч компьютеров, атакующих жертву одновременно и, как правило, в тайне от владельца. Такие DoS-атаки называются распределенными (DDoS – Distributed Denial of Service). 

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

Одним из самых опасных считается так называемая Smurf-атака. Атакующий осуществляет широковещательную рассылку поддельного ping-запроса (особого ICMP-пакета, позволяющего удостовериться в работоспособности удаленного узла). Затем адрес атакующего подменяется на адрес жертвы, в результате чего именно жертва получит ответ на запрос от всех участников широковещательной рассылки сразу. Таким образом, число участников атаки прямо пропорционально ее разрушительному эффекту.

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

Какие продукты затронуты

Специалисты опубликовали обширный список поставщиков оборудования и ПО, решения которых потенциально могут быть затронуты SegmentSmack. В него вошли как крупные компании: Amazon, Apple, AT&T, Cisco, D-Link, Google, IBM, Intel, так и многие другие. Тем не менее, наличие уязвимости в продуктах этих вендоров пока не подтверждено официально. 

Представители Red Hat подтвердили, что уязвимость актуальна для дистрибутивов RHEL 6 и 7, RHEL 7 для систем реального времени, RHEL 7 для архитектур ARM64 и IBM POWER, а также RHEL Atomic Host.

Популярные дистрибутивы Debian, SUSE, Fedora выпустили обновления, в которых проблема устранена.

Разработчики Amazon Web Services продемонстрировали оперативность и официально уведомили пользователей о том, что в компании разбираются с проблемой.

Аналогичная проблема во FreeBSD

Схожую с SegmentSmack проблему обнаружили и в другой популярной операционной системе – FreeBSD версий 10, 10.4, 11, 11.1, 11.2. Эксплуатировать ее оказалось проще, поскольку в случае с FreeBSD установление двустороннего TCP-соединения с удаленной машиной не является обязательным условием для осуществления успешной атаки.

Для FreeBSD выпущены патчи с исправлениями, которые принудительно ограничивают размер очереди пересборки пакетов при TCP-соединении.

Не исключено, что уязвимости подвержены и другие UNIX-подобные операционные системы.