Угроза безопасности из-за автоматической обработки мультимедийных файлов

Угроза безопасности из-за автоматической обработки мультимедийных файлов

Угроза безопасности из-за автоматической обработки мультимедийных файлов

Крис Эванс (Chris Evans), известный эксперт по компьютерной безопасности и автор защищенного FTP-сервера vsftpd, обратил внимание на фундаментальные проблемы в организации работы с новыми файлами в GNOME и продемонстрировал на практике возможность их эксплуатации, показав как просто загрузив специально оформленный файл в систему можно добиться выполнения своего кода.

Сама по себе проблема с автоматической обработкой новых файлов в системе не нова и уже давно применяется для эксплуатации уязвимостей в библиотеках для обработки изображений (при открытии нового носителя в некоторых файловых менеджерах автоматически вызываются обработчики для создания пиктограмм с эскизами). Исследование Криса Эванса показывает, что проблема остаётся недооцененной и представляет большую угрозу для безопасности пользовательских Linux-систем.

В современных дистрибутивах Linux поставляется достаточно обширный набор плагинов Gstreamer для обработки различных форматов видео и изображений. При этом огромная доля из этих плагинов написана без оглядки на обеспечение безопасности и изобилует ошибками. В то же время в Fedora и других дистрибутивах применяется автоматическая индексация загружаемых пользователем файлов при помощи ПО GNOME Tracker, которое извлекает из файлов метаданные при помощи имеющихся в системе библиотек. Кроме того, браузер Chrome настроен для сохранения загружаемых файлов на рабочий стол без подтверждения операции пользователем, что также приводит к автоматической обработке данных файлов при создании эскизов для рабочего стола, пишет opennet.ru.

Обилие проблемных декодировщиков контента в сочетании с автоматически обрабатывающим их приложением Tracker, которое запускается без применения изоляции SELinux, создаёт прекрасные условия для проведения атак c задействованием 0-day уязвимостей в плагинах Gstreamer. Чтобы показать, что подобные атаки вполне реальны, а не умозрительны, Крис Эванс опубликовал примеры эксплоитов, работающие в полностью обновлённом окружении Fedora Linux 24 (при желании эксплоиты легко могут быть адаптированы для Ubuntu и любых других дистрибутивов). Первый пример манипулирует уязвиомстью в gst-plugins-bad1.0/gst/vmnc/vmncdec.c и приводит к краху процесса tracker-extract при открытии в Chrome специально оформленной страницы, перенаправляющей пользователя на avi-файл с эксплоитом.

 

 

Второй пример затрагивает уязвимость в gst-plugins-good/gst/flx/gstflxdec.c и предлагает специально оформленный файл в формате FLAC, открытие которого в Rhythmbox приводит к запуску калькулятора. Эксплоит не является универсальным и завязан на конкретные сборки Rhythmbox, Totem, tracker-extract или любого другого приложения, использующего GStreamer, поэтому представленный способ подходит только для совершение целевых атак на отдельные дистрибутивы (т.е. представленный FLAC-эксплоит будет работать только в Fedora 24 при обработке файлов в Rhythmbox, а для других дистрибутивов и программ потребуется переработка эксплоита).

 

 

Для обхода механизмов защиты ASLR (Address Space Layout Randomization) и DEP (Data Execution Prevention) в эксплоите не используются методы манипулирования раскладкой памяти и вычисления указателей во время эксплуатации на основе данных из дополнительных источников. Вместо этого в цикле декодирования мультимедийного потока осуществляется точечная подстановка кода, используя для определения структуры кучи данные от периодически выполняемых операций выделения и очистки памяти буферов декодирования. Определив структуру кучи осуществляется подмена данных в вызове system (в качестве альтернативы предлагается подменить код в буфере JIT).

Mozilla закрыла 423 уязвимости в Firefox, найденные с помощью ИИ

Mozilla рассказала о результатах нового ИИ-подхода к поиску уязвимостей в Firefox. С помощью продвинутых моделей, включая Claude Mythos Preview и Claude Opus, разработчики нашли и уже исправили 423 скрытые проблемы в безопасности.

Главное отличие от ранних ИИ-аудитов в том, что система не просто генерировала подозрительные отчёты, а встраивалась в существующую фаззинг-инфраструктуру Firefox.

ИИ запускался в нескольких виртуальных машинах, проверял гипотезы, отсекал невоспроизводимые находки и создавал демонстрационный эксплойт (proof-of-concept) для реальных багов.

В итоге модели смогли найти ошибки, которые годами проходили мимо традиционных инструментов. Среди примеров есть 15-летняя проблема в HTML-элементе legend, 20-летняя уязвимость в XSLT, а также баги в обработке HTML-таблиц, WebAssembly, IndexedDB, WebTransport и HTTPS.

 

Часть находок была серьёзной: Use-After-Free, повреждение памяти, состояние гонки (race condition) через IPC и обходы песочницы для сторонних библиотек. То есть ИИ искал не только простые сбои, а довольно сложные цепочки, где нужно понимать устройство браузерного движка.

При этом Mozilla отмечает и обратную сторону: модели не смогли обойти некоторые уже внедрённые защитные механизмы Firefox. Например, архитектурные изменения с заморозкой прототипов по умолчанию помогли отбить попытки атак.

Закрытие такого объёма багов потребовало участия более 100 разработчиков и ревьюеров. Патчи вошли в недавние обновления Firefox, включая версии 149.0.2, 150.0.1 и 150.0.2.

Теперь Mozilla планирует встроить ИИ-анализ прямо в систему непрерывной интеграции. Идея в том, чтобы проверять не только существующий код, но и новые патчи ещё до их попадания в релиз.

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