Троянское приложение для Android обходит проверки Google Bouncer
Аналитики ESET обнаружили интересный метод скрытной атаки на пользователей Android, который содержит в себе интересную особенность. В магазине приложений Google Play нам удалось обнаружить несколько приложений, которые маскировались под легитимные, но на самом деле содержали в себе другое приложение с вредоносными функциями. Это встроенное приложение называлось systemdata или resourcea.
Это второе приложение скрытно сбрасывается в память устройства из первого, но спрашивает у пользователя разрешение на установку. Оно представляется в качестве инструмента для управления настройками устройства «Manage Settings». После своей установки, приложение работает как служба в фоновом режиме.
Антивирусные продукты ESET обнаруживают приложения, которые содержат в себе это дополнительное приложение как Android/TrojanDropper.Mapin. Согласно нашим данным, на долю Индии приходится наибольшее количество заражений устройств Android этим вредоносным ПО.
Вредоносная программа представляет из себя бэкдор, который получает контроль над устройством и включает его в состав ботнета. Бэкдор использует специальный внутренний таймер для отложенного исполнения своей полезной нагрузки. Таким образом, авторы могут обмануть различные автоматические системы анализа файлов, которые могут причислить файл к подозрительным из-за его поведения. В некоторых случаях, бэкдор может ждать три дня прежде чем активировать полезную нагрузку. Скорее всего, такая мера позволяет авторам обойти механизмы проверки инструмента анализа файлов Google Bouncer, используемый Google для проверки загружаемых в Play приложений.
После активации полезной нагрузки, троян запрашивает права администратора в системе и начинает взаимодействовать со своим C&C-сервером. Android/Mapin содержит в себе различные функции, например, отображение пользователю различных уведомлений, загрузка, установка и запуск других приложений, а также получение личной информации пользователя на устройстве. В то же время, основной его функцией является отображение fullscreen-рекламы на зараженном устройстве.
Вредоносные приложения были размещены в магазине приложений Google Play в конце 2013 г. и в 2014 г. Названия приложений были различными, включая, «Hill climb racing the game», «Plants vs zombies 2», «Subway suffers», «Traffic Racer», «Temple Run 2 Zombies», «Super Hero Adventure» разработчиков TopGame24h, TopGameHit и SHSH. Точные даты загрузки приложений были 24-30 ноября 2013 г. и 22 ноября 2014 г. Согласно статистике ресурса MIXRANK, приложение Plants vs zombies 2 было загружено более 10 тыс. раз перед его удалением из магазина. В то же самое время, приложения «System optimizer», «Zombie Tsunami», «tom cat talk», «Super Hero adventure», «Classic brick game», а также вышеупомянутые приложения Google Play с вредоносными возможностями, были загружены в альтернативные магазины приложений Android теми же авторами. Такой же бэкдор был обнаружен в комплекте с другими приложениями, которые были загружены в магазин разработчиком PRStudio (не путать с prStudio) в альтернативные магазины приложений со ссылками на Google Play. Данный разработчик загрузил как минимум и пять других троянских приложений в альтернативные магазины приложений: «Candy crush» или «Jewel crush», «Racing rivals», «Super maria journey», «Zombie highway killer», «Plants vs Zombies». Эти приложения все еще доступны для скачивания из этих магазинов. Перечисленные приложения были загружены пользователями сотни раз.
Рис. Значки вредоносных приложений.
Рис. Вредоносное приложение, которое получило достаточно положительных оценок.
Рис. Еще одно приложение, получившее положительные оценки.
Существуют различные варианты исполнения вредоносной программы после того, как пользователь загрузил нелегитимное приложение. Один из вариантов предполагает, что жертве будет предложено запустить файл с вредоносной программой спустя 24 после первого исполнения загруженного приложения. Такой метод является менее подозрительным для пользователя, который считает, что запрос на запуск поступил от ОС. Другой метод подразумевает под собой выдачу мгновенного запроса пользователю. Оба варианта рассчитаны на срабатывание после изменения подключения к сети, для этого вредоносная программа регистрирует т. н. broadcast receiver в манифесте.
Рис. Регистрация т. н. broadcast receiver.
После изменения подключения, пользователю будет предложено установить «системное приложение». Само сброшенное на устройство вредоносное приложение может называться «Google Play Update» или «Manage Settings».
Рис. Вредоносное приложение маскируется под системное.
В том случае, если пользователь выбирает отмену установки, то вредоносная программа будет показывать запрос каждый раз при смене сетевого подключения. Можно предположить, что простой пользователь будет уверен в серьезности отображаемого уведомления и в какой-то момент, скорее всего, нажмет кнопку установки только чтобы избавиться от него. После запуска троян исполняется в качестве сервиса со своим зарегистрированным broadcast receiver, ожидая изменения подключения.
Когда такое изменение произойдет, троян попытается зарегистрировать себя с помощью сервиса Google Cloud Messages (GCM) для последующего получения сообщений. После этого, Android/Mapin попытается зарегистрировать зараженное устройство на сервере злоумышленников, отправляя туда такую информацию как имя пользователя, аккаунт Google, IMEI, регистрационный идентификатор (ID) и название своего пакета приложения.
Рис. Процесс регистрации устройства на сервере злоумышленников.
Для того, чтобы исключить возможность своего удаления из системы, троян требует от пользователя активировать режим администратора устройства.
Рис. Предложение пользователю об активации режима администратора устройства.
Троян сообщит на удаленный сервер об успешности активации режима администратора устройства. Как только такая операция произойдет, вредоносная программа будет показывать пользователю рекламу в полноэкранном режиме (interstitial). Такая реклама (interstitial ad) будет отображаться пользователю заново каждый раз при смене подключения. Разработка такого типа рекламы возможна с использованием легитимного AdMob SDK.
Рис. Full-screen реклама (interstitial ad).
Троян взаимодействует со своим управляющим сервером используя сервис Google Cloud Messaging (GCM). Этот сервис все чаще используется современными вредоносными программами для своих целей, через него злоумышленники могут инструктировать бот на выполнение нужных им действий.
Рис. Обрабатываемые ботом команды.
Не все функции вредоносной программы полностью реализованы в ее коде, кроме этого, не все уже реализованные функции используются. Возможно, что сама угроза все еще находится на уровне разработки и будет улучшена в будущем. Как мы уже упоминали, ее основная цель заключается в доставке агрессивной full-screen рекламы для ее отображения пользователю, маскируясь под системное приложение. Бот также может быть использован злоумышленниками для установки другого вредоносного ПО на скомпрометированное устройство.
Кроме показа рекламы, список выполняемых им вспомогательных функций достаточно обширен: изменение идентификатора publisher ID отображаемой рекламы, загрузка и запуск других приложений, отображение уведомлений пользователю, отключение режима администратора устройства, изменение адреса управляющего C&C-сервера, создание на домашнем экране Android ярлыков, которые ведут на URL-адреса загрузки приложений. После исполнения каждой задачи, полученной с помощью GCM, бот будет информировать об этом удаленный сервер с использованием протокола HTTPS.
Троянская программа была успешно загружена в магазин Google Play, поскольку содержала в себе механизм отложенной активации вредоносных функций и, таким образом, не вызвала к себе подозрений со стороны инструмента Bouncer. Интересным вопросом является и то, почему Bouncer не специализируется на статическом анализе исполняемых файлов внутри загруженных приложений. По этим причинам троянская программа свободно распространялась пользователям через официальный магазин приложений Google для Android. Вредоносная игра «Super Hero adventure» была загружена в Play Store разработчиком SHSH. Вполне возможно, что этот разработчик загрузил больше приложений в магазин Play. В конечном счете, все они были удалены из магазина, но оставались незамеченными там в течение полутора лет. Возможно, что подобные случаи стали причиной того, что в марте 2015 г. Google объявила о том, что все приложения и обновления должны проходить проверку со стороны человека.
Лучшей практикой для поддержания своего устройства в безопасности является использование только официального магазина приложений для их загрузки. Кроме этого, необходимо уделять внимание отзывам и комментариям пользователей к размещаемым там приложениям. При установке приложения следует внимательно следить за запрашиваемыми приложением правами. Если вы заметили что-либо подозрительное в поведении приложения, его можно отправить в качестве образца в антивирусную лабораторию с соответствующими комментариями о причинах отправки.
Ниже представлена информация о проанализированных нами образцах вредоносной программы.
Пять типов приложений, которые лучше удалить со смартфона
Прошли те времена, когда операционную систему нужно было непрерывно улучшать, потому что не всякий производитель был в состоянии выпустить аппарат, в котором софт и железо работали слаженно.
Теперь практически любой смартфон из коробки работает если не идеально, то как минимум достойно и не нуждается в «прокачке», однако люди, несмотря на это, по-прежнему первым делом устанавливают бесполезные и даже вредные приложения, которые якобы превращают слабый девайс в настоящего монстра.
Что же это за программы, которые нуждаются в удалении?
1. «Народные» определители номера вроде GetContact и Truecaller. Они полезны, когда нужно узнать имя человека, который звонил с неизвестного номера. Однако точно так же они выдадут и ваше имя вместе с номером всем желающим. А заодно покопаются в вашей адресной книге и скопируют оттуда все данные, чтобы добавить в свою базу. Вряд ли ваши друзья будут этому рады.
4. Фонарики встроены в любую мобильную операционную систему, поэтому нет смысла скачивать еще один из магазина приложений. Многие из них требуют доступ к адресной книге, списку звонков, SMS и другим «чувствительным» разделам, писал еще в 2019 году обозреватель Forbes Зак Доффман.
5. Сканеры QR-кодов и документов. Во-первых, они интегрированы в приложение камеры и Google Диск, а во-вторых, совсем недавно в одном из таких приложений обнаружили вредоносную функциональность.
5 приложений для смартфона, которыми нельзя пользоваться. Иначе потеряете все данные
Мир мобильных приложений разнообразен. В App Store насчитывается более 1,5 млн штук, в Google Play — более 2,9 миллиона. Естественно, среди них есть те, которыми не рекомендуется или даже нельзя пользоваться. Они могут быть просто балластом, занимающим место в памяти, а могут даже наносить вред смартфону.
С доступом к вашим личным данным. Их точно продадут
Самое популярное из них — GetContact. Его принцип работы основан на сборе личных данных — приложение запоминает, как ваш номер подписан у других, и обезличенно показывает вам. Кроме того, оно распознаёт спамеров, анализируя последние звонки абонента.
Приложение начало пользоваться популярностью. В итоге у него оказалась огромная база телефонных номеров. Естественно, они оказались в руках у третьих лиц и его пользователи начали получать спам-звонки.
Итог: пользоваться стоит только популярными приложениями, получающими доступ к вашим личным данным. От спамеров вас защитит «Яндекс» с той же возможностью, что у GetContact, только оно точно не сольёт их этим же спамерам.
Как определить, что мобильное приложение шпионит за вами. Оно совершает эти 6 действий
Из сторонних источников. Их никто не контролирует, а значит, им можно делать всё что угодно
До 2019 года сторонние магазины приложений и программы, не размещённые в App Store и Google Play, были строго нишей гиков. А потом Правительство США запретило установку приложений Google на смартфонах Huawei и Honor. Теперь это задача каждого, кто пользуется устройствами этих компаний, вышедшими осенью 2019 года и позже.
На них приложения нужно скачивать с помощью APK-файлов через браузер. Без этого никуда. Google Play заменил AppGallery. И в нём нет WhatsApp, Instagram и YouTube — самых активно используемых приложений. Их можно скачать на официальных сайтах, с другими, менее известными приложениями стоит быть осторожнее.
App Store и Google Play строго следят за разработчиками — как размещена реклама, как предлагаются встроенные покупки, к каким данным запрашивается доступ и кому они передаются.
Приложения, которые скачиваются со сторонних источников, не контролируются никем. Поэтому они могут написать в пользовательском соглашении (которое никто не читает) что угодно, получать доступ к данным, которые им не требуются. Устанавливая приложения, которых нет ни в App Store, ни в Google Play, ни в AppGallery, вы подвергаете опасности сохранность личных данных.
Txz приложение для андроид что это
Операционная система: Android 8.1 API 27
Процессор: 8 ядер 1.8G 64 бита spreadtrum SC9853 Intel 14 nm Airmont
Память: 2Гб/32Гб и 4Гб/64Гб
Дисплей: IPS 1024×600 (9′ / 10.2′)
Радио модуль: NXP TEF6686 (RDS Нидерландов)
Звуковой чип: TDA7851
Прочее: WiFi, GPS, 4G/LTE, Bluetooth 4.0
Поддержка систем: TPMS, CarPlay, USB-видеорегистратор
Иногда встречается регулируемая подсветка сенсорных клавиш. Еще видео.
Yalp Store | ||
---|---|---|
Исходники: | GitHub | |
Лицензия: | GPLv2 | |
Скачать в F-Droid | Рейтинг: | |
Aurora Store | ||
Исходники: | GitLab | |
Лицензия: | GPLv2 | |
Скачать в F-Droid | Рейтинг: | |
Браузеры
IceCatMobile
GNU IceCat — форк браузера Firefox ESR (Extended Support Release), изначально ответвился от GNU IceWeasel, но в отличие от дебиановского проекта, сосредоточенного на ребрендинге, в IceCat вносились и изменения кода. Мобильную версию поддерживает отдельная команда, которая вернулась к лицензии MPL 2.0. Из новинок, внесённых сообществом выделяется кот с огромным хвостищем на логотипе следующее:
DuckDuckGo Privacy Browser
Браузер от команды разработчиков поисковика DuckDuckGo, сервиса, который позиционируется как альтернатива уважающая приватность пользователей (при этом учтите, что код самого поисковика не открыт). Для рендеринга страниц использует AndroidSystemWebView.
Некоторые особенности браузера довольно интересны:
Privacy Browser
Надстройка над AndroidSystemWebView с фокусом на приватность, правда одна особенность вызвала у меня вопросы: браузер передаёт user agent с параметром PrivacyBrowser/v1.0. Можно представить сколько людей пользуется браузером с таким агентом, а если учесть, что ОС можно легко вычислить по специфичному стеку TCP/IP, то подобное вообще теряет смысл (а ведь есть еще спуфинг по JavaScript, детекция тапов и т.д.), впрочем в настройках можно выставить другой агент. Из особенностей:
Bromite
Форк браузера Сhromium, изменения направлены на повышение приватности и блокировку рекламы. В Bromite были включены патчи из таких проектов как Iridium, Brave, Ungoogled Chromium и Inox patchset.
Особенности:
Ещё варианты (вне рейтинга)
Tor Browser – сборка предоставленная The Guardian Project (необходимо включить репозиторий в настройках). До недавнего времени Tor Project не занимался поддержкой Tor Browser под Android, а приложения позволявшие выйти в сеть Tor – Orfox и Orbot, разрабатывались командой проекта Guardian. В сентябре 2018 года участники проекта Tor объявили о выпуске альфа-версии для системы Android, правда собственного репозитория F-Droid у них до сих пор нет.
FOSS Browser – ещё одна надстройка, в принципе неплохое приложение, но на некоторых прошивках передаёт модель смартфона в агенте (WebView 66-версии, но во многих надстройках это было исправлено). Присутствует блокировщик рекламы, а адресная строка была перенесена вниз.
Firefox Klar – он же Firefox Focus (разница в том, что телеметрия в Klar отключена по умолчанию), приватный браузер разработанный Mozilla, использует GeckoView, есть блокировка трекеров.
▍Интересное в Play Store:
Brave Browser – основан на хромиум, имеется встроенный блокировщик рекламы с локальными списками, HTTPS Everywhere и защита от снятия фингерпринта.
Команда Brave придумала довольно интересный способ монетизации контента: любой пользователь Brave может внести пожертвование, которое затем будет переведено в криптовалюту и распределено между посещаемыми сайтами или блогами зарегистрированными в программе Brave Reward, но в мобильной версии эта фича пока недоступна.
Waterfox – форк XUL-версий (до 57-ой) браузера Firefox, телеметрия и несвободные компоненты удалены.
Мессенджеры
Само собой в каталоге F-Droid вы не найдёте популярные приложения WhatsApp, Viber или Skype, зато там есть клиент Telegram. Но учтите, что в мессенджерах из F-Ddroid не работают push-нотификации, т. к. в Android они завязаны на проприетарный сервис Google’s Firebase Cloud Messaging.
Pix-Art Messenger
Pix-Art это форк Сonversations, мобильного клиента использующего протокол XMPP для связи. В F-Droid есть также Conversations Legacy, сохранивший функционал версий 1.23+ (OTR и кастомные имена для идентификации клиента, но без новинок из версий 2+). Pix-Art Messenger опирается на ветку 2+, но при этом есть интегрированный OTR, а также ежедневные бэкапы, список серверов для регистрации и переработанное меню.
Особенности приложения:
Rocket.Сhat
Корпоративный мессенджер с возможностью использовать собственный сервер (FOSS версия поддерживает до 1000 пользователей). Если вас чем-то не устраивает XMPP (к примеру отсутствие единообразного клиента на всех платформах или 2FA ), то Rocket.Chat не такой уж и плохой выбор:
Riot.im
Командный мессенджер, аналог Slack’a, использует протокол Matrix. Есть сервера поддерживаемые сообществом. Программные сервера в протоколе Matrix делятся на два типа HomeServer (хранит всю переписку и данные аккаунтов) и Identify Server (маппинг email к Matrix User ID, этот сервер используется только если вы привязали почту к аккаунту или прислали инвайт другому пользователю по email). Существуют различные реализации серверов: Synapse (HomeServer на Python/Twisted), Dendrite (HomeServer на Go), Sydent (Identify Server) и mxisd (Identify Server с упором на приватность). Клиент Riot написан на React Native, так что если у вас аллергия на JavaScript лучше воздержаться от употребления. Особенности Riot.im:
Ещё варианты (вне рейтинга)
Telegram – весьма популярный мессенджер, приложение в F-Droid обновляется с задержкой т. к. это по сути форк с вырезанными компонентами. Telegram использует закрытые сервера, на которых хранится история переписки из «несекретных чатов», аккаунт привязывается к номеру мобильного телефона, да и вообще у проекта какая-то странная политика приватности (и я так понимаю, что из-за отсутствия Push, список серверов не сможет обновляться автоматически).
Jami – сиречь VoIP-софтфон Ring, поддерживает сторонние сервисы SIP и IAX и шифрование TLS и ZRTP. Открыт по лицензии GPLv3.
TRIfA – использует протокол Tox, есть аудио/видео звонки, правда пользоваться ими невозможно (может если поднять Tox-ноду, то ситуация изменится), пока что связь обрывается, и клиент периодически падает. Сообщения тоже иногда не доходят.
▍Интересное в Play Store:
Signal – также как и в Telegram аккаунт привязывается к номеру телефона, для связи используется Signal Protocol, а вся переписка хранится на пользовательских устройствах.
Интересный факт: ранее существовала свободная реализация LibreSignal (с удалёнными компонентами Google), но moxie0 был против использования серверов и названия Signal. Я не понимаю чем могли помешать 3,5 анонимуса, использующие LibreSignal, поэтому не буду высказывать своё мнение об этой ситуации.
Wire – ещё один мессенджер использующий Signal Protocol, поддерживает email для регистрации, а также групповые звонки до 10 человек, приложение открыто по лицензии GPLv3 (использует Google Firebase Analytics, Mixpanel, и HockeyApp).
Карты
Оффлайн-карты. Форк приложения Maps.Me, принадлежащего сами знаете какой российской компании на «М». В оригинальном приложении, по данным проекта Exodus, работает 15 различных трекеров аналитики и есть реклама, но в Maps и то и другое было удалено. Несмотря на кажущуюся простоту, в приложении довольно много полезных функций:
OsmAnd
Очень детально и качественно проработанное приложение, есть как подробные оффлайн-карты основанные на OpenStreetMaps так и онлайн-карты для навигации. OsmAnd предлагает большое количество интересных фичей:
Ещё варианты (вне рейтинга)
PocketMaps – ещё одно приложение использующее OpenStreetMaps, но вот с размером карт разработчики явно перестарались, к примеру карта Японии весит 3,1 гб. Также как и в Open Map, сама карта неинтерактивная.
Безопасность и анонимность
В каталоге F-Droid есть множество приложений помогающих защитить свои данные: от программ для шифрования до клиентов анонимных сетей, но не все ПО доступно по умолчанию. Так репозиторий The Guardian Project (проект направленный на создание лёгких в использовании безопасных приложений и открытых библиотек) по умолчанию отключён в настройках.
EDS Lite
Аналог программы VeraCrypt, позволяет создавать зашифрованные контейнеры с файловой системой Fat или exFat. Особенности приложения:
KeePass DX
Java-форк KeePass. Эксперты по компьютерной безопасности рекомендуют использовать разные пароли для каждого сервиса, понятно, что запомнить большое количество сложных паролей невозможно, да это и не нужно, проще использовать менеджер с рандомной генерацией пароля и шифрованием базы, так придётся запомнить всего один мастер-пароль (стандарт NIST рекомендует длинные парольные фразы вида ”SmokeontheWatertheFireintheSky”, которые легко запомнить и сложно подобрать), и то какой файл используется в качестве ключа.
Особенности KeePass DX:
andOTP
Помнится когда-то давно, во времена 4-го Android, я пользовалась приложением Google Authentificator для генерации OTP-кодов используемых в двухфакторной аутентификации. Однажды на мой смартфон прилетело обновление до 5-ой версии и угадайте что? Естественно все слетело к… Но это не важно, потому что в приложении andOTP есть возможность сделать бэкап (как тебе такое Илон Маск Google?) сохраняемый в JSON файл. Помимо этого есть и много других функций:
WireGuard
Конечно OpenVPN и IPSec по прежнему соответствуют стандартам безопасности, но надо понимать, что разрабатывались они для корпоративного использования, а не анонимизации действий в интернете. Поэтому при неправильной настройке клиента/сервера возможны различные утечки (DNS, локального IP, IPv6-адреса и т. д.) и другие проблемы приватности. WireGuard же создавался как простой в настройке и использовании VPN, с основным упором на производительность и безопасность. Особенности:
Ещё варианты (вне рейтинга):
Orbot – приложение использующие системное прокси для перенаправления трафика через сеть Tor.
PixelKnot – позволяет зашифровать сообщение в картинке с помощью алгоритма стеганографии F5.
I2P – клиент анонимной распределенной сети I2P, открытый по лицензии Apache 2.0.
OpenKeychain – реализация стандарта шифрования OpenPGP для системы Android открытая по лицензии GPLv3. Интегрирован во многие упомянутые в этой статье приложения (andOTP, Conversations, K-9 Mail и т.д.)
Ripple — тревожная кнопка (panic trigger), можно использовать в некоторых упомянутых выше приложениях. Исходники.
AFWall+** — фаерволл, надстройка над iptables. Позволяет создавать различные профили, экспортировать/импортировать списки, работает с VPN. Необходим рут.
▍Интересное в Play Store:
KeePass2Android – ещё одна реализация KeePass под Android, есть синхронизация с облачными сервисами.
Полезные приложения из F-Droid
NextCloud – клиент свободного и открытого по GPLv2 облака, есть возможность использовать собственный сервер или подключиться к стороннему провайдеру (есть бесплатные планы, предоставляющие от 2-х до 10-ти гб).
Особенности:
Подведем итоги
По понятным причинам я не в состоянии охватить всё, или даже хоть сколько-нибудь значимую часть всего того, что можно назвать «мобильным open-source». Но всё же могу сказать, что за последние 2-3 года ситуация с открытым ПО под Android стала гораздо лучше, появилось много нового, а некоторые старые проекты значительно выросли в плане качества и функционала. На мой взгляд ребята проделали просто колоссальную работу, причем не требуя ничего взамен. Да есть проблемы и многое приходится настраивать вручную, но разве приватность не стоит небольших неудобств?
* — локализация неполная или отсутствует
** — добавлено по предложениям из комментариев