Google: схема pay-per-install представляет серьезную угрозу

Google: схема pay-per-install представляет серьезную угрозу

Google: схема pay-per-install представляет серьезную угрозу

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

Эта схема называется pay-per-install (PPI) и Google, совместно с International Computer Science Institute, провели год, исследуя этот рынок. Результаты своих исследований они опубликовали в статье на этой неделе.

Исследователи обнаружили, что проблема PPI в три раза больше, чем проблема вредоносных программ - не менее 60 миллионов загрузок каждую неделю. Эксперты говорят, что это представляет "серьезную угрозу безопасности". По их оценкам, были затронуты целых пять процентов всех браузеров.

Почему это представляет собой большую проблему? На это есть две причины. Во-первых, это не является незаконным. Компании, которые хотят, чтобы их программное обеспечение распространилось на миллионы людей, платят, чтобы связать свое ПО с легальным, которое пользователи потом загружают и устанавливают.

Хотя это и находится на грани законных действий, но тот факт, что некоторые крупнейшие компании, в том числе Skype и Opera, используют этот метод, чтобы распространять свое программное обеспечение, является свидетельством того, что это не является преступлением.

Вторая причина, почему схема PPI так широко распространена – деньги. Эксперты отмечают, что наблюдая за одной из крупных PPI-точек, они выяснили, что их доходы в 2014 году составили 460 миллионов долларов. С такими суммами неудивительно, что к этой схеме очень большой интерес.

Также экспертами отмечаются утонченность и технические ноу-хау: различные вариации в программном обеспечении, учитывающие различные операционные системы, авторы PPI хранят до 50 различных предложений и подбирают именно те, которые лучше подойдут для вашей конкретной системы.

Некоторое ПО может выжидать 20 дней, прежде чем активироваться. Из-за этого пользователь может не сразу связать появление назойливой рекламы с недавней установкой бесплатной программы.

Команда нашла в общей сложности 15 PPI партнерских сетей, разбросанных по всему земному шару, обеспечивающих 160 семейств ПО.

Несмотря на многие усилия, призванные предотвращать подобные загрузки, у PPI-сетей есть много способов обойти их. Эксперты обнаружили, что каждые семь часов они меняют домены, чтобы обойти блокировки. Также у них есть технология, позволяющая обойти различные фильтры и сканеры вирусов.

Команда исследователей отметила, что 59% такого программного обеспечения были отмечены антивирусами как «нежелательное ПО», что означает, что к более чем 40% у антивирусов претензий нет.

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

Проше говоря, если вы бесплатно скачиваете что-то, за что должны были заплатить, то, скорее всего, вам придется столкнуться с тем, что вместе с желаемой программой вам подсунут много нежелательных.

«PPI-сети действовали с полной безнаказанностью по отношению к интересам пользователей, опираясь на пользовательское соглашение, чтобы оправдать свои действия» - говорится в докладе экспертов – «Мы надеемся, что путем документирования такого поведения сообщество безопасности расценит нежелательное программное обеспечение как серьезную угрозу».

В связи с этим, Google отметили, что постоянно совершенствуют свои функции «безопасного просмотра» и пытается блокировать подобного рода загрузки.

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