В конце ноября 2016 года известный ИБ-эксперт Крис Эванс (Chris Evans) представил proof-of-concept эксплоита для уязвимости во фреймворке GStreamer, который поставляется в составе многих Linux-дистрибутивов. На этой неделе специалист продолжил свои изыскания и рассказал о еще двух уязвимостях, которые позволяют осуществить классическую drive-by атаку на связку Fedora 25 и Chrome.
«Я хочу доказать, что это не теоретические уязвимости, что их действительно можно эксплуатировать и вызвать настоящие проблемы», — говорит Эванс.
Равно как и эксплоит, опубликованный в ноябре, новые проблемы тесно связаны с работой GStreamer. На этот раз Эванс воспользовался уязвимостью в библиотеке, которая известна под названиями Game Music Emu и libgme. Созданные экспертом аудиофайлы представлены в формате SPC, который используется в коснолях Super Nintendo Entertainment System с 90-х годов. Оба файла эксплуатируют heap overflow баг в эмуляторе звукового процессора Sony SPC700. Дело в том, что если изменить расширение файлов с .spc на .flac или .mp3, их автоматически откроют GSteamer и Game Music Emu.
Эванс демонстрирует, что вредоносный .flac можно встроить в код сайта, и если жертва, работающая с Fedora 25 и Google Chrome посетит такую страницу, достаточно одного клика, и сработает классическая drive-by атака. На видео эксперт показывает запуск калькулятора, но атакующий может загрузить и выполнить любой код с тем же привилегиями, что у пользователя. Хотя среднестатистический пользователь не имеет root-прав, эксплоит все равно сможет получить доступ к персональным данным жертвы (документам, фото, письмам) и похитить их, равно как и добраться до браузерных куки и данных сессий, к примеру, от Gmail, Facebook, Twitter.
Для еще одной демонстрации расширение файла было изменено на .mp3, и в данном сценарии файл помещен в папку на компьютере жертвы. Эксплоит также способен выполнить произвольный код и срабатывает, если пользователь просматривает эту папку или кликает на файл. В ролике Эванс показывает атаку на примере Ubuntu 16.04 LTS, но эксплоит так же сработает в Fedora и большинстве других Linux-дистрибутивов, хотя исследователь не проверял это на практике.
Все технические детали уязвимостей подробно описаны в блоге Эванса. Там же эксперт пытается привлечь внимание не только к проблеме безопасности плагинов Gstreamer, но и другой стороне вопроса. Давно известно, что парсеры медиаконтента являются главными кандидатами на эксплуатацию во вредоносных целях. Именно поэтому разработчики медиаплееров, как правило, стараются помещать недоверенный контент, загруженный из интернета, в песочницу, откуда тот не сможет добраться до важных областей ОС. Однако Game Music Emu не помещает вредоносные аудиофайлы в изолированное кружение. Так же поступают и GStreamer, десктопный видеоплеер GNOME, а также системы, генерирующие миниатюры для видеофайлов и системы, индексирующие медиафайлы в Fedora и Ubuntu.
«Вы можете поспорить, что разработчики данных приложений должны сами работать над имплементацией песочниц. Или вы можете считать, что раз парсинг медиафайлов – это известная угроза, значит, библиотеке GStreamer нужен API, который предоставит базис для изолированного парсинга медиа. Словом, это очень интересная дискуссия», — пишет Эванс.