Замаскированные под игры Android-вредоносы скачали 15 млн человек

Замаскированные под игры Android-вредоносы скачали 15 млн человек

Замаскированные под игры Android-вредоносы скачали 15 млн человек

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

Злонамеренный софт успели скачать более 15 миллионов раз. На сегодняшний день часть этих приложений до сих пор доступна для загрузки в Google Play Store.

Принцип работы этих троянов для Android был прост — отображать пользователю навязчивую рекламу вне приложений. Обычно в таких случаях у невнимательного владельца мобильного устройства уходит время на поиск виновника в отображении рекламных объявлений.

Скрытности троянам HiddenAds добавляет возможность прятать свои иконки. Помимо этого, злонамеренный софт может запускать браузер на смартфоне для показа дополнительной рекламы.

В Avast считают, что авторы HiddenAds постепенно внедряли вредоносные функции уже после размещения приложения в официальном магазине. Именно так злоумышленникам часто удаётся обойти фильтры Play Store.

Специалисты в очередной раз призывают пользователей максимально внимательно относиться к разрешениям, которые запрашивает новое приложение. Также стоит обращать внимание на отзывы, которые, как правило, сразу дают понять, что софт не такой уж безобидный.

Avast уже сообщил Google о проблемных программах, после чего сотрудники начали проверку. Также антивирусный гигант привёл таблицу с 20 самыми скачиваемыми вредоносными Android-приложениями, обнаруженными в ходе последней проверки:

Приложение Количество загрузок
 Draw Color by Number  1 000 000
 Skate Board - New  1 000 000
 Find Hidden Differences  1 000 000
 Shoot Master  1 000 000
 Stacking Guys  1 000 000
 Disc Go!  1 000 000
 Spot Hidden Differences  500 000
 Dancing Run - Color Ball Run  500 000
 Find 5 Differences  500 000
 Joy Woodworker  500 000
 Throw Master  500 000
 Throw into Space  500 000
 Divide it - Cut & Slice Game  500 000
 Tony Shoot - NEW  500 000
 Assassin Legend  500 000
 Flip King  500 000
 Save Your Boy  500 000
 Assassin Hunter 2020  500 000
 Stealing Run  500 000
 Fly Skater 2020  500 000

Расширения 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