TGViewer
Типичный Сисадмин Типичный Сисадмин @sysodmins · 38.2K subscribers
Post #29370 10.2K
😮 Как инженеры Cisco патчат 0-day уязвимости в ядре на горячую без ребутов... Магия eBPF

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

Но на прошедшей конфе LSFMM+BPF 2026 инженеры из Cisco показали, как ломают эту практику. Они используют eBPF для мгновенного блокирования эксплойтов на тысячах устройств со своими кастомными ядрами (без единого даунтайма).

eBPF - это, по сути, виртуалка внутри ядра Linux, которая позволяет безопасно выполнять код прямо в Ring 0, не меняя исходники ядра и не подгружая стремные модули.

Когда Cisco обнаруживает уязвимость в функции ядра, они не идут пересобирать это ядро. Они пишут микро-программу на eBPF и цепляют ее хуком (через kprobes или fentry) прямо на вход в уязвимую функцию.

Дальше происходит магия:
🟢Хакер закидывает пейлоад, триггеря уязвимый системный вызов.
🟢Ядро пытается выполнить функцию, но первым делом управление перехватывает eBPF-программа.
🟢Программа мгновенно инспектирует переданные аргументы. Если аргументы легитимные, то она пропускает вызов дальше.
🟢Если аргументы содержат паттерн эксплойта, то eBPF использует хелпер bpf_override_return(). Он принудительно завершает выполнение функции еще до того, как уязвимый код успеет отработать, и возвращает хакеру ошибку (вроде, -EINVAL или -EPERM).

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

Но есть нюанс... такая схема работает только там, где есть куда прицепить хук. Если уязвимость зарыта глубоко внутри inline функции или огромного макроса, который компилятор размазал по бинарнику, то eBPF будет не за что зацепиться (в таблице символов просто нет нужной точки входа). Из-за этого магия иногда рассеивается, а инженерам приходится вручную утыкивать ядро tracepoint-ами.

Типичный 🥸 Сисадмин
  • 🔥 88
  • ❤ 15
  • 👍 8
  • ✍ 5
  • 👏 3
More from @sysodmins
  1. Oct 1, 2026👨‍🦳 Лень заставляет всю страну пересесть на Яндекс.Браузер Вспоминаю те славные времена,…
  2. Oct 1, 2026Когда не успел попасть в IT-сферу @itmemas
  3. Oct 1, 2026👮‍♂️ Минцифры выкатило третий пакет по борьбе со скамерами. Товарищ майор закручивает гай…
  4. Sep 30, 2026🎂 С Днём Рунета! От модемного писка до ТСПУ 🎂 Сегодня, 30 сентября, наступил праздник, п…
  5. Sep 30, 2026🍕Главная кибербитва конца сентября развернулась вокруг пепперони и сырных бортиков. Кто-т…
  6. Sep 30, 2026Тайна троттлинга до 1 ГГц наконец-то раскрыта 🤦‍♂️ Типичный 🥸 Сисадмин
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →