Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

История с первой CVE для Rust-кода в ядре Linux, которая недавно привела к падениям системы, выглядела почти как повод для оптимизма. В тот же день для кода на C зарегистрировали ещё 159 CVE — контраст показательный. Но новое исследование напоминает: проблема не только в языках программирования.

Гораздо тревожнее первой Linux-дыры в коде на Rust тот факт, что многие ошибки в ядре Linux могут годами, а иногда и десятилетиями оставаться незамеченными.

Исследовательница Дженни Гуанни Ку из компании Pebblebed проанализировала 125 183 бага за почти 20 лет развития ядра Linux — и результаты оказались, мягко говоря, неожиданными.

 

По данным исследования, средний баг в ядре Linux обнаруживают через 2,1 года после его появления. Но это ещё не предел. Самый «долгоиграющий» дефект — переполнение буфера в сетевом коде — прожил в ядре 20,7 года, прежде чем на него обратили внимание.

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

Исследование опирается на тег Fixes:, который используется в разработке ядра Linux. Когда разработчик исправляет ошибку, он указывает коммит, в котором баг был добавлен. Дженни написала инструмент, который прошёлся по git-истории ядра с 2005 года, сопоставил такие пары коммитов и вычислил, сколько времени баг оставался незамеченным.

В датасет вошли данные до версии Linux 6.19-rc3, охватывающие период с апреля 2005 по январь 2026 года. Всего — почти 120 тысяч уникальных исправлений от более чем 9 тысяч разработчиков.

Оказалось, что скорость обнаружения ошибок сильно зависит от подсистемы ядра:

  • CAN-драйверы — в среднем 4,2 года до обнаружения бага;
  • SCTP-стек — около 4 лет;
  • GPU-код — 1,4 года;
  • BPF — всего 1,1 года.

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

Отдельная проблема — неполные фиксы. Исследование показывает, что нередко разработчики закрывают проблему лишь частично. Например, в 2024 году был выпущен патч для проверки полей в netfilter, но уже через год исследователь нашёл способ его обойти.

Такие ситуации особенно опасны: создаётся ощущение, что проблема решена, хотя на самом деле она просто сменила форму.

Под видом очистки macOS юзерам подсовывают команды для запуска инфостилеров

Microsoft описала новую волну ClickFix-атак, нацеленных на пользователей macOS. Злоумышленники публикуют фейковые инструкции по очистке диска, оптимизации хранилища и решению системных проблем. На деле эти советы сводятся к одному: убедить пользователя скопировать и вставить команду в Терминал.

После запуска такая команда не чинит систему, а скачивает и выполняет вредоносный скрипт.

В кампаниях используются инфостилеры Macsync, Shub Stealer и AMOS, перехватывающие пароли, данные iCloud, документы, содержимое связки ключей (Keychain), данные браузеров и криптокошельков.

Трюк работает за счёт социальной инженерии. Пользователь сам запускает команду, которая выглядит как лайфхак. Внутри она может быть закодирована в Base64, а затем через стандартные инструменты macOS — curl, base64, gunzip, osascript — загружает и выполняет удалённый код. При этом нет привычного установщика или приложения, которое можно было бы заметить в Finder.

 

Такой подход помогает обходить часть защитных механизмов macOS. Например, Gatekeeper обычно проверяет скачанные приложения, но здесь вредоносный код приходит через Терминал и запускается по инициативе самого пользователя.

Microsoft выделяет несколько вариантов кампании. В одном случае загрузчик на zsh проверяет систему, ищет признаки русской или СНГ-раскладки, а затем подтягивает AppleScript-инфостилер. Он собирает данные браузеров, Keychain, iCloud, документы и артефакты мессенджеров и криптокошельков, упаковывает их в архив и отправляет злоумышленникам.

 

В другом сценарии скрипт закрепляется в системе через LaunchAgent в ~/Library/LaunchAgent/, после чего пейлоад ищет активный C2-сервер и выполняет новые команды прямо в памяти. Ещё один вариант устанавливает вредоносный Mach-O-файл в /tmp, разворачивает скрытый бэкдор и LaunchDaemon, чтобы запускаться с повышенными правами после перезагрузки.

Особое внимание злоумышленники уделяют криптокошелькам. Вредоносные скрипты ищут Trezor Suite, Ledger, Exodus, Electrum и другие приложения. В некоторых случаях легитимные кошельки могут подменяться троянизированными версиями, внешне похожими на настоящие.

Для устойчивости вредоносные компоненты маскируются под обновления Google, например через поддельный GoogleUpdate и LaunchAgent с названием вроде com.google.keystone.agent.plist. Такой канал позволяет не только украсть данные сразу, но и сохранить удалённый доступ к системе.

Apple уже обновила сигнатуры XProtect, а начиная с macOS 26.4 добавила защиту от вставки подозрительных команд в Терминал.

RSS: Новости на портале Anti-Malware.ru