Уязвимость, позволяющая запустить код при копировании файла на рабочий стол
16 декабря 2016 года
Крис Эванс (Chris Evans), известный эксперт по компьютерной безопасности и автор защищенного FTP-сервера vsftpd, продолжил демонстрацию незащищённости мультимедийного фреймворка Gstreamer и представил новую 0-day уязвимость, позволяющую организовать выполнение кода при попытке обработки специальным образом оформленного мультимедийного контента. В момент публикации эксплоиты позволяют организовать стабильно повторяемую атаку против Ubuntu 16.04 LTS и Fedora 25 с самыми свежими обновлениями.
Подготовлено два эксплоита. Первый оформлен в виде файла с расширением mp3 и позволяет выполнить код атакующего при копировании на рабочий стол или открытии каталога с файлом в файловом менеджере. Второй эксплоит поставляется как flac-файл, который в Fedora достаточно открыть в браузре Chrome (файл автоматически сохраняется на рабочем столе). В первом случае атака проводится через процесс gnome-video-thumbnailer, создающий эскиз с пиктограммой, а во втором случае используется процесс tracker-extract, автоматически собирающий метаданные новых файлов. Индикатором успешной атаки в предложенных эксплоитах является запуск приложения с калькулятором (эксплоит может быть изменён для выполнения любого кода).
Особого внимания заслуживает техника атаки, основанная на ошибке в коде обработки музыкального формата SNES (Super Nintendo Entertainment System). Как оказалось gstreamer-плагин воспроизводит SNES через эмуляцию машинных кодов звукового процессора Sony SPC700 при помощи эмулятора Game Music Emu. В предложенных эксплоитах задействованы две ранее неизвестные уязвимости в эмуляторе, приводящие к переполнению буфера и позволяющие добиться выполнения кода процессором основной системы.
В серии своих исследований Крис Эванс пытается привлечь внимание к проблеме с плачевным уровнем безопасности в плагинах Gstreamer и показать, что проблема не является теоретической и возможно создание гарантированно работающих эксплоитов, использующих проблемы в обработчиках контента и успешно обходящих защиту механизмов ASLR (Address Space Layout Randomization) и DEP (Data Execution Prevention). Напомним, что в конце ноября Крис представил работающий в Fedora Linux эксплоит, использующий уязвимость в обработчике формата FLAC. После чего подготовил пример нового работающего эксплоита для этой же уязвимости, некорректно исправленной в Fedora Linux. Далее Крис опубликовал сведения об ещё шести уязвимостях в декодировщиках форматов FLIC и vmnc, позволяющих организовать выполнение кода при открытии специально оформленных файлов.
Для успешного проведения атаки достаточно добиться обработки специально оформленного мультимедийного файла в системе, что можно сделать без явного открытия файла - в популярных дистрибутивах для новых файлов автоматически запускаются различные индексаторы метаданных (GNOME Tracker) и генераторы миниатюр для файлового менеджера. Также атака может быть совершена через web-браузер, путём автовоспроизведения подготовленного злоумышленником файла - несмотря на применяемые в браузерах средства изоляции предлагаемый для воспроизведения поток будет обработан уязвимым внешним кодеком или, в случае Chrome в Fedora, сохранён на рабочий стол (для нового файла GNOME автоматически запустит обработчик метаданных).
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.