Android-вредонос Joker совершил очередной налёт на Google Play Store

Android-вредонос Joker совершил очередной налёт на Google Play Store

Android-вредонос Joker совершил очередной налёт на Google Play Store

Вредоносная программа для Android, известная всем под именем Joker, никак не отпускает Google Play Store. На этот раз авторы зловреда вернулись с целым набором новых трюков, помогающих Joker обойти сканеры официального магазина приложений.

«Джокер» известен экспертам с 2017 года. Вот уже четыре года тактика авторов вредоноса остаётся неизменной: Joker маскируют под легитимные приложения вроде игр, мессенджеров, редакторов фото, программ-переводчиков и обоев для рабочего стола.

Как только Joker попадает в систему, он начинает незаметно для пользователя имитировать клики, перехватывать СМС-сообщения и подписывать жертву на платные сервисы. Такие мобильные вредоносы получили отдельную категорию — fleeceware.

Как правило, жертва даже не подозревает о наличии вредоносного софта до того момента, как ей не приходит счёт на крупную сумму. Также fleeceware может передавать оператору сообщения, список контактов и информацию об устройстве.

С 2019 года Joker не раз проникал в Google Play Store, поскольку его авторы постоянно вносят мелкие детали в свою схему. Поэтому и наблюдались такие явления, как периодические волны атак «Джокера» на пользователей официального магазина. По данным специалистов Zimperium, за последние четыре года из Play Store удалили более 1800 приложений, заражённых Joker.

«Создатели вредоноса регулярно находят и воплощают новые методы обхода защитных барьеров Play Store. Рано или поздно зловреда, конечно, обнаруживают, однако он в очередной раз демонстрирует, насколько часто такой софт может модифицироваться — игра в "Кошки-мышки"», — пишет Zimperium в отчёте.

Последние версии Joker отмечались старанием скрыть истинные намерения приложения. В этом авторам вредоноса помогает инструмент для разработчиков с открытым исходным кодом — Flutter.  При использовании этого набора даже вредоносный код будет выглядеть для сканеров как безобидный.

Помимо этого, «Джокер» за последнее время научился встраивать пейлоад в качестве .DEX-файла, который обфусцируется разными методами. Как правило, злоумышленники прибегают к стеганографии, где изображение хранится на удалённом командном сервере (C2).

Чтобы спрятать URL командного центра, киберпреступники используют специальные сервисы для сокращения ссылок.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru