Исследователи Kaspersky обнаружили новые зараженные приложения в Google Play

Приложения и игры / Mobile / Android / Исследователи Kaspersky обнаружили новые зараженные приложения в Google Play
25.09.2024

Пять лет назад сообщество разработчиков приложений для Android было потрясено, когда легитимное приложение в Google Play Store оказалось скомпрометированным. Взлом произошел из-за библиотеки, используемой разработчиками для генерации доходов от рекламы, которая непреднамеренно внедрила вредоносный код. В результате приложение подключило ошеломляющие 100 миллионов устройств к серверам, контролируемым хакерами, что позволило незаметно загружать вредоносные данные.

Недавно исследователи из московской компании по безопасности, Kaspersky, сообщили о новом инциденте. Два приложения, суммарно скачанные 11 миллионов раз из Google Play Store, также оказались заражены вредоносным ПО. Команда подозревает, что причиной снова стал ненадежный SDK (набор инструментов разработки программного обеспечения), используемый для интеграции рекламы.

Продвинутые методы вредоносного ПО

SDK являются незаменимыми инструментами для разработчиков, предоставляя готовые фреймворки, которые упрощают процесс разработки приложений за счет управления повторяющимися задачами. В случае зараженных приложений использовался неподтвержденный модуль SDK для отображения рекламы. Однако этот же модуль также позволял скрытую связь с вредоносными серверами, которые не только собирали данные пользователей, но и отправляли вредоносный код, который мог быть выполнен и обновлен удаленно по мере необходимости.

Вредоносное ПО, идентифицированное как Necro, продемонстрировало продвинутые техники в этой последней итерации. Некоторые варианты использовали стеганографию — метод сокрытия данных, редко встречающийся в мобильном вредоносном ПО. Более того, некоторые версии внедрили сложные механизмы для доставки вредоносного кода, способного выполняться с повышенными системными привилегиями. После заражения устройства это ПО устанавливало связь с сервером управления и контроля, передавая зашифрованные JSON данные об устройстве и скомпрометированном приложении.

Сервер отвечал JSON файлом, содержащим ссылку на PNG изображение вместе с метаданными, включающими хэш изображения. Если проверка хэша на зараженном устройстве проходила успешно, изображение загружалось.

Согласно отдельному отчету исследователей Kaspersky: «Модуль SDK использует довольно простой стеганографический метод. Если проверка MD5 проходит успешно, он декодирует содержимое файла PNG — конкретно значения пикселей в каналах ARGB — с использованием стандартных инструментов Android. Метод getPixel затем извлекает значение, наименее значимый байт которого содержит синий канал, и начинается обработка кода.»

Рассматривая синий канал как одномерный массив байтов, первые четыре байта представляют размер закодированного полезного груза в порядке Little Endian. После этого записывается полезная нагрузка указанного размера; это JAR файл, закодированный с помощью Base64, который выполняется после декодирования через DexClassLoader. Coral SDK затем загружает класс sdk.fkgh.mvp.SdkEntry из JAR файла с использованием нативной библиотеки libcoral.so, которая была скрыта с помощью инструмента OLLVM. Выполнение начинается с метода ‘run’ в загруженном классе.

Последующие полезные грузы устанавливают вредоносные плагины, которые варьируются в зависимости от устройства, позволяя выполнять широкий спектр вредоносных действий. Один из таких плагинов позволяет выполнять код с повышенными системными привилегиями. Обычно Android ограничивает привилегированные процессы от использования WebView, компонента, предназначенного для отображения веб-контента внутри приложений. Чтобы обойти это ограничение, Necro использует технику взлома, известную как атака отражения, чтобы создать отдельную фабрику WebView.

Этот плагин также способен загружать и выполнять дополнительные исполняемые файлы, которые манипулируют отображением URL в WebView. С повышенными привилегиями эти файлы могут изменять URL для добавления кодов проверки платных подписок и инициировать загрузку и выполнение кода из ссылок, контролируемых атакующими. Анализ Necro от Kaspersky выявил пять различных полезных грузов.

Модульная архитектура Necro представляет многочисленные...

Обновлено: 25.09.2024