Специалисты компании «Доктор Веб» предупредили, что в прошивку ряда мобильных устройств прямо «из коробки» внедрен троян семейства Android.Triada. Такая малварь встраивается в системный процесс Zygote, который отвечает за старт программ на мобильных устройствах. За счет заражения Zygote вредонос внедряется в процессы всех работающих приложений вообще, получает их полномочия и функционирует с ними как единое целое.
Хотя другие образчики данного семейства, ранее обнаруженные исследователями, пытались получить root-привилегии для выполнения вредоносных операций, троян Android.Triada.231 встроен в системную библиотеку libandroid_runtime.so.
Модифицированная версия библиотеки была обнаружена сразу на нескольких мобильных устройствах. В частности в отчете «Доктор Веб» упомянуты смартфоны Leagoo M5 Plus, Leagoo M8, Nomu S10 и Nomu S20. «Библиотека libandroid_runtime.so используется всеми приложениями, поэтому вредоносный код в зараженной системе присутствует в памяти всех запускаемых приложений», — пишут специалисты компании.
Малварь встроена в libandroid_runtime.so таким образом, что получает управление каждый раз, когда любое приложение на устройстве выполняет запись в системный журнал. Поскольку служба Zygote начинает работу раньше других программ, первоначальный запуск трояна происходит именно через нее.
После инициализации вредонос выполняет предварительную настройку ряда параметров, создает рабочий каталог и проверяет, в каком окружении работает. Если малврь функционирует в среде Dalvik, она перехватывает один из системных методов, что позволяет отслеживать старт всех приложений и начинать вредоносную деятельность сразу после их старта.
Так как внедрение трояна в вышеупомянутую библиотеку было реализовано на уровне исходного кода, исследователи полагают, что к распространению малвари причастны либо инсайдеры, либо недобросовестные партнеры производителей устройств, которые участвовали в создании прошивок.
Основной задачей Android.Triada.231 является незаметный запуск дополнительных вредоносных модулей, которые могут загружать другие компоненты малвари. Для их запуска троян проверяет наличие в созданной им ранее рабочей директории специального подкаталога. Его имя должно содержать значение MD5 имени программного пакета приложения, в процесс которого внедрился троян.
Если каталог успешно обнаружен, малварь ищет в нем файл 32.mmd или 64.mmd (для 32- и 64-битных версий операционных систем, соответственно). Обнаружив файл, троян расшифровывает его, сохраняет под именем libcnfgp.so, после чего загружает в оперативную память с использованием одного из системных методов и удаляет расшифрованный файл с устройства. Если же нужный объект не найден, проводится поиск файла 36.jmd. Он тоже расшифровывается и сохраняется под именем mms-core.jar, запускается при помощи класса DexClassLoader, после чего созданная копия удаляется с устройства.
В результате Android.Triada.231 способен внедрять практически любые троянские модули в процессы любых программ и влиять на их работу. К примеру, операторы малвари могут отдать команду на скачивание и запуск вредоносных плагинов для кражи конфиденциальных данных и информации из банковских приложений, модулей для кибершпионажа, перехвата переписки из клиентов социальных сетей, интернет-мессенджеров и так далее. Также троян способен извлекать из библиотеки libandroid_runtime.so модуль Android.Triada.194.origin. Его основная функция — загрузка дополнительных вредоносных компонентов, а также обеспечение их взаимодействия друг с другом.
Исследователи отмечают, что удалить троян стандартными методами не получится, придется перепрошивать устройство с нуля, заведомо «чистой» прошивкой.