Джошуа Дрейк (Joshua Drake), обнаруживший уязвимость в Stagefright, медиаплеере Android, опубликовал код ее эксплойта в надежде, что это поможет тестировать системы на предмет наличия уязвимости.

Первые подробности данной уязвимости были представлены более месяца назад участникам конференций Black Hat и DEFCON. С тех пор Google выпустила ряд обновлений, нейтрализовавших наиболее опасный вектор эксплойта, позволяющий злоумышленнику получить полный контроль над Android-устройством с помощью одного MMS-сообщения.

Дрейк, являющийся вице-президентом Zimperium по исследованию платформ и эксплойтов, в июле заявил, что багу потенциально подвержены более 950 млн Android-устройств. Он решил повременить с публикацией кода эксплойта, в итоге Google получила время раздать патчи в рамках Android Open Source Project (AOSP), чтобы они дошли до производителей телефонов и операторов сотовой связи. Изначально Дрейк планировал обнародовать код 24 августа.

На Black Hat представители Google заявили, что отныне компания будет выпускать обновления для Nexus через радиосвязь и на ежемесячной основе. Схожее решение предприняли и другие вендоры, такие как Samsung и LG. В первое такое обновление для Nexus был включен патч для Stagefright. Silent Circle также залатала Blackphone, а Mozilla — браузер Firefox, использующий код Stagefright.

Stagefright является нативным медиаплеером Android; найденные Дрейком уязвимости были привнесены еще в версии 2.2. Риск особенно высок для устройств под управлением ОС старше Jelly Bean (4.2), так как в них отсутствует такая защита от эксплойтов, как рандомизация адресного пространства (ASLR).

Корнем проблемы является тот факт, что Stagefright как приложение имеет завышенные привилегии, иногда системного уровня. Stagefright применяется для обработки ряда распространенных медиаформатов и использует нативный код C++, что упрощает эксплойт.

«На некоторых устройствах [Stagefright] имеет доступ к системной группе, близкой, весьма близкой к корневым элементам, что позволяет получить привилегии уровня root от системы, — заявил Дрейк в комментарии Threatpost в июле. — В системе обычно запущено множество приложений. Атакующий сможет контролировать коммуникации на устройстве и совершать другие вредоносные действия».

«Подобный процесс по идее должен быть запущен в песочнице и иметь максимум ограничений, поскольку он обрабатывает потенциально опасный код, но у него даже есть доступ к Сети, — пояснил эксперт. — Согласно групповой политике Android, Stagefright дозволено подключаться к Интернету. Притом этот сервис присутствует на всех Android-устройствах. Лично мне не хотелось бы, чтобы служба, обрабатывающая потенциально опасный код, имела доступ к Сети».

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

«Google выпустила новые версии Hangouts и Messenger с блокировкой автоматической обработки медиафайлов, присланных по MMS-каналу. Мы протестировали эти новые версии и рады заявить, что в них устранена возможность удаленного эксплойта без вмешательства пользователя, — гласит блог-запись Zimperium. — Однако это лишь худший из десятка способов заставить библиотеку Stagefright обработать вредоносный медиафайл. С учетом того, что другие векторы все еще доступны, мы не можем не отметить, насколько важно устранить существующие проблемы в базе кода».

Тем временем другие исследователи обнаружили дополнительные проблемы с безопасностью, к которым способен приводить эксплойт уязвимости в Stagefright. К примеру, один из исследователей из Exodus Intelligence продемонстрировал, что патч, созданный Дрейком, полностью проблему не решает. Воспользовавшись обновленной прошивкой для телефона Nexus 5, Джордан Грусковняк (Jordan Gruskovnjak) создал MP4-файл, который обошел защиту, привнесенную патчем.

«Они не учли разницы в обработке целых чисел в 32-битной и 64-битной системах, — заявил Аарон Портной (Aaron Portnoy) в комментарии Threatpost. — Они не приняли во внимание специфику целочисленных типов, и в итоге Грусковняк смог обойти патч, воспользовавшись особыми значениями, которые привели к переполнению буфера хипа».

Этот баг был устранен в AOSP-патче, как и множество других проблем, связанных со Stagefright. Многие эксперты считают, что следующий радиоапдейт от Google будет одним из самых крупных.

«Из исследования, встряхнувшего экосистему, можно извлечь как минимум один хороший урок: обновления нужно выпускать гораздо чаще. Крупнейшие вендоры уже объявили о своем решении выпускать обновления на ежемесячной основе, — заявили представители Zimperium. — Теперь, когда стало известно о дополнительных уязвимостях, остается лишь ждать и надеяться, что обновления дойдут до пользователя. Тем временем раздача патчей для раскрытых нами багов продолжается».

Категории: Уязвимости