Исследователи «Лаборатории Касперского» Никита Бучка и Антон Кивва описали в блоге компании интересный кейс. Еще в августе 2016 года «Лаборатория Касперского» предупреждала, что были зафиксированы случаи автоматической загрузки банковского трояна при просмотре некоторых новостных сайтов на Android-устройствах. Вскоре выяснилось, что проблема таилась в рекламных сообщениях сети Google AdSense и не ограничивалась только новостными сайтами. Исследователи изучили странную угрозу более детально, ведь обычно в ходе загрузки приложений браузер уведомляет пользователя о закачке потенциально опасного файла и предоставляет выбор: сохранить файл или отказаться от сохранения.
Специалисты пишут, что география распространения последних версий Trojan-Banker.AndroidOS.Svpeng (далее просто Svpeng) ограничена только РФ и СНГ. Как видно на графике ниже, суммарно Svpeng был обнаружен примерно у 318 000 пользователей за два месяца, а на пике его «популярность» достигала 37 000 атакованных пользователей в день. Такие большие числа и скачкообразный график объясняются просто – рекламные объявления, с помощью которых распространяется зловред, довольно оперативно блокируются Google. Впрочем, новые кампании по распространению вредоносной рекламы появляются в AdSense регулярно, на протяжении уже двух месяцев. Последняя зарегистрированная кампания датирована 19.10.2016.
Далее исследователи объясняют, как именно происходит сохранение вредоносного APK на SD-карту устройства. Ниже представлен HTTP-запрос, который приводит к показу «рекламного сообщения» атакующих.
На данный запрос сервер отвечает скриптом JavaScript, используемым для показа рекламного сообщения. Скрипт содержит сюрприз: в его начале располагается сильно обфусцированный код. Разобравшись в коде, исследователи установили, что скачивание APK-файла происходит под видом зашифрованного массива байт в скрипте, остается только сохранить его на SD-карту. Затем код атакующих проверяет доступность функций из состава движков различных браузеров и в случае их недоступности определяет свою. В этой функции создаются объект URL и элемент <a> (обозначение для ссылки в HTML). Полученной в результате этих действий ссылке далее задается атрибут href (то, куда указывает ссылка), и происходит программный клик на эту ссылку. Также злоумышленники реализовали разбиение APK-файла на блоки размером по 1024 байта, что тоже помогает обойти защитные механизмы.
Исследователи пишут, что помимо прочего, маллварь проверяет, какой язык используется на атакуемом устройстве и срабатывает лишь в том случае, если языком по умолчанию является русский.
«Описанный выше метод работает только в Google Chrome для Android. Когда скачивание .apk выполняется с использованием ссылки на внешний ресурс, браузер выдает предупреждение о том, что скачивается потенциально опасный объект, и предлагает пользователю выбор – сохранить или нет скачиваемый файл.
При разбиении .apk на куски и передаче их в функцию сохранения через класс Blob() не производится проверка типа сохраняемого объекта, и браузер сохраняет .apk, не предупреждая об этом пользователя», — резюмируют специалисты.
После успешного скачивания трояна на SD-карту устройства, атакующие прибегают к приемам социальной инженерии. Чтобы жертва установила малварь, Svpeng маскируется под легитимные приложения, сохраняясь под следующими именами:
• last-browser-update.apk
• WhatsApp.apk
• Google_Play.apk
• 2GIS.apk
• Viber.apk
• DrugVokrug.apk
• Instagram.apk
• VKontakte.apk
• minecraftPE.apk
• Skype.apk
• Android_3D_Accelerate.apk.
• SpeedBoosterAndr6.0.apk
• new-android-browser.apk
• AndroidHDSpeedUp.apk
• Android_update_6.apk
• WEB-HD-VIDEO-Player.apk
• Asphalt_7_Heat.apk
• CHEAT.apk
• Root_Uninstaller.apk
• Mobogenie.apk
• Chrome_update.apk
• Trial_Xtreme.apk
• Cut_the_Rope_2.apk
• Установка.apk
• Temple_Run.apk
Хотя в современных версиях Android установка приложений из неизвестных источников запрещена по умолчанию, атакующие надеются, что пользователи отключат данную опцию ради установки «важного обновления браузера» или новой версии популярного приложения.
Описанный метод атак срабатывал исключительно в Google Chrome, и исследователи сообщают, что на момент публикации статьи разработчики Google уже представили патч для данной проблемы.
Фото: "Лаборатория Касперского", Depositphotos