Новый вид банковского вредоносного ПО для Android, получивший название “SoumniBot”, применяет необычный метод обфускации, используя уязвимости в процессе извлечения и анализа манифеста Android. Это позволяет ему обходить стандартные меры безопасности и проводить операции по краже информации.
Метод был выявлен и проанализирован специалистами “Лаборатории Касперского”, которые раскрыли технические детали того, как вредоносное ПО использует особенности Android для анализа и извлечения манифестов APK.
“Любой APK-файл – это ZIP-архив, в корневом каталоге которого находится файл AndroidManifest.xml. Этот файл содержит информацию о декларируемых компонентах, разрешениях и других данных приложения, а также помогает операционной системе извлекать сведения о различных точках входа в программу”, – объясняет исследователь Дмитрий Калинин.
“Как и операционная система, аналитик в первую очередь знакомится с манифестом, откуда он узнает о точках входа, с которых следует начинать анализ кода приложения. Скорее всего, именно это побудило разработчиков SoumniBot исследовать особенности обработки манифестов в Android, что позволило им найти несколько интересных возможностей для обфускации APK”, – продолжает специалист.
Особенностью “SoumniBot” является использование трёх различных методов манипуляции с файлом манифеста – изменение его размера и компрессии, чтобы избежать проверок парсера.
- Первый метод заключается в использовании недопустимого значения компрессии при распаковке манифеста APK, что позволяет обходить стандартные проверки безопасности.
- Второй метод – это неправильное указание размера файла манифеста, что вводит в заблуждение инструменты анализа кода, поскольку в процессе копирования добавляются ненужные данные.
- Третий метод заключается в использовании чрезвычайно длинных строк для имён XML-пространств в манифесте, что затрудняет автоматический анализ.
“Лаборатория Касперского” сообщила Google о недостатках официальной утилиты анализа APK Analyzer при работе с файлами, использующими вышеописанные методы обхода.
По полученным данным, “SoumniBot” после установки запрашивает конфигурационные параметры с заранее заданного сервера, заодно отправляя ему информацию о заражённом устройстве, включая номер телефона, используемого мобильного оператора и другие данные.
Затем вредоносное ПО запускает службу, которая перезапускается каждые 16 минут и передаёт данные со смартфона с периодичностью в 15 секунд. Похищенные данные включают IP-адреса, списки контактов, детали учётных записей, сообщения SMS, фотографии, видео и цифровые сертификаты для онлайн-банкинга.
Управление данными осуществляется через MQTT-сервер, который также может отправлять на смартфон команды, приводящие к следующим действиям:
- удалению или добавлению контактов;
- отправке SMS-сообщений;
- регулировке громкости мелодии звонка;
- включению/выключению бесшумного режима;
- включению/выключению режима отладки на устройстве.
“SoumniBot” ориентирован в первую очередь на корейских пользователей мобильного банкинга. Как и многие вредоносные приложения для Android, после установки он остаётся активным в фоновом режиме, скрывая при этом свою иконку. Это существенно усложняет обнаружение и удаление вредоноса, особенно для неопытного пользователя.
“Лаборатория Касперского” в своём отчёте предоставила необходимый список признаков компрометации, включая хеши для вредоносного ПО и два домена, используемых операторами вредоносного ПО для работы C2-серверов.