Баг в дефолтном браузере Android использовался для подписки жертв на платные услуги

Эксперты «Лаборатории Касперского» описали необычную схему мошенничества, в ходе которой злоумышленники подписывали абонентов сотовых операторов на платные контент-услуги без их ведома. Мошенники применяли для этих целей уязвимость двухлетней давности в одном из стандартных компонентов ОС Android – штатном браузере Android Browser

Баг в дефолтном браузере Android использовался для подписки жертв на платные услуги

Баг в дефолтном браузере Android использовался для подписки жертв на платные услуги

AOSP Browser присутствует в том или ином виде на многих устройствах, не обновленных до Android 5.0. Таким образом, в группе риска потенциально оказывается более 500 миллионов устройств.

Суть уязвимости CVE-2014-6041, которую эксплуатировали хакеры, заключается в том, что она позволяет вредоносному скрипту с сайта злоумышленников исполняться в контексте другого, легитимного сайта. Уязвимость заключается в возможности обхода механизма SOP (Same Origin Policy), что в итоге дает возможность осуществления UXSS-атаки (Universal Cross-Site Scripting).

Эксперты отмечают, что потенциал у такой атаки велик. Аналогичный сценарий может быть применен и в других случаях: к примеру, при совершении покупок через мобильные версии сайтов, или при работе с интернет-банкингом через браузер, а не через приложение.

Изначально наше внимание привлекло различное поведение браузеров AOSP Browser и Chrome Mobile при попытке пользователя получить доступ к некой подписке: в Chrome всё работало корректно, и пользователю демонстрировалась страница с запросом на согласие оформить платную подписку; в браузере AOSP же всплывало фоновое окно, после чего пользователю без всяких подтверждений с его стороны приходило SMS-сообщение об успешной подписке на контент-услугу

Для выявления проблемы и экспериментов исследователи использовали бюджетный смартфон Alcatel , работающий под управлением ОС Android 4.1.1. Оказалось, что вначале Chrome и AOSP Browser действуют одинаково. С некоего внешнего адреса (например, из контекстной рекламы) пользователь попадает на стандартный сайт-дорвей, который предназначен для отправки на страницу с платной подпиской. Если пользователь кликнет по ссылке, он попадет на страницу, имитирующую видеоплеер, на которую загружен JavaScript, запускающий цепочку редиректов. В результате первой переадресации загружается веб-страница, сжатая с помощью gzip. При этом на сервер злоумышленников отправляются параметры устройства, и сервер решает, перенаправлять ли пользователя на страницу, где происходит эксплуатация уязвимости.

Затем в поведении браузеров появляются различия. Chrome отправляет пользователя по цепочке переадресаций (HTTP-переадресации, код 302) через сервер контент-провайдера на лендинг-страницу оператора сотовой связи, где описана суть платной услуги, ее стоимость и другие параметры подписки.

Браузер AOSP, в свою очередь, перенаправляет пользователя на страницу с обработчиком onclick и обфусцированным скриптом. Именно с этой страницы эксплуатируется уязвимость в браузере. Происходит ряд редиректов, аналогичных редиректам в Chrome, и обработчик onclick каждую секунду проверяет, какой URL-адрес открыт в этом окне. Как только открывается легитимная страница платной подписки оператора, попадающая под условие регулярного выражения «/moipodpiski.ssl.mts.ru\/lp/g», выполняется следующий код (через метод window.opener.postMessage):

setTimeout(function(){

$('#ButtonSubmit').click();

}, 500);

То есть злоумышленники имитируют нажатие на открытой странице платной подписки кнопки «Да». Программа «нажимает» ее без ведома пользователя.

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

По статистике различных исследований, доля уязвимых к CVE-2014-6041 устройств может составлять от 30 до 45% от общего количества девайсов. Несмотря на выпущенное исправление безопасности для Android Jelly Bean, большинство производителей устройств, особенно бюджетных, не озаботилось выпуском исправленной прошивки