Согласно отчету PageFair от 2014 года, Google Chrome стал главным катализатором роста блокировки рекламы на компьютерах. Около 20% пользователей открыли для себя возможности блокировки с помощью поиска «доступных браузерных расширений». Учитывая, насколько популярна блокировка рекламы вообще, это довольно высокий показатель. Данный факт также хорошо объясняет, почему «клонирование» широко известных рекламных блокировщиков так распространилось среди онлайн-мошенников. Например, семь месяцев назад по крупным новостным изданиям разошлась история о том, как 37 тысяч пользователей были обмануты, установив поддельное расширение Adblock Plus.
А если я скажу, что из-за плохой модерации Chrome WebStore ситуация в действительности гораздо хуже, и обманутыми в результате установки фейковых блокировщиков, на самом деле, остались более 20 миллионов пользователей? Более того, по сути, эти 20 миллионов стали участниками настоящего ботнета.
К сожалению, эта проблема не нова. Много времени прошло с тех пор, как мошенники начали спамить Chrome WebStore клонами популярных блокировщиков (добавляя всего несколько строк своего кода). Так, пользователи вполне могли установить какие-нибудь Adguard Hardline или Adblock Plus Premium или другие имитации известных блокировщиков. Единственный возможный способ борьбы с подобными приложениями — это обратиться к Google с жалобой о неправомерном использовании товарного знака. Удаление клона занимает несколько дней.
Теперь они стали умнее. Для того, чтобы убедиться в этом, достаточно всего лишь посмотреть на результаты поиска. Все расширения, которые я выделил, — это незамысловатые подделки, к которым «авторы» добавили пару строк кода и аналитику. Однако вместо использования хитрых имен они стали употреблять ключевые слова в описании расширений, чтобы оказаться первыми в результатах поиска.
По всей видимости, для завоевания доверия случайных пользователей пребывания в ТОПе поиска вполне достаточно. Просто взгляните на статистику одного из приложений:
Как видно, у одного этого фейка больше 10 миллионов пользователей. Поразительно, насколько доверчивы пользователи. Так продолжаться не должно, поэтому я решил поглубже заглянуть внутрь этих «блокировщиков».
Все оттенки скрытых скриптов
Этот раздел написан очень «техническим» языком и требует определенного набора знаний для понимания. Если вас не интересуют такие детали, просто перейдите к следующему, в котором дано описание на нормальном языке.
Итак, первым заметным отличием от оригинального кода расширения AdBlock является наличие файла coupons.txt:
Вторая странность — при инициализации расширение загружает картинку со стороннего домена www.hanstrackr.com:
Выглядит странно, но пока что не преступно. Давайте разберемся, зачем им нужны эти файлы. Выясняется, что оба были загружены скриптом, скрытым внутри модифицированной библиотеки jQuery:
Эта функция возвращает строку: atob («здесь идет скрытый скрипт в base64»), которая затем выполняется. Сам скрипт также был обфусцирован. Вы можете взглянуть на его расшифрованную версию здесь.
Этот скрытый скрипт слушает каждый запрос, сделанный браузером, и сравнивает md5 (url + «% Ujy% BNY0O») со списком сигнатур, загружаемых из coupons.txt (так вот что это за «купоны»). Как только совпадение найдено, скрипт загружает iframe с домена g.qyz.sx, передавая информацию о посещенной странице, а затем повторно инициализирует расширение. Например, одна из этих сигнатур соответствует https://www.google.com/.
Перейдем к странному изображению. Оказывается, что внутри него был скрыт еще один скрипт, который расшифровывался и исполнялся:
Эта техника называется «Стеганография», и она часто используется авторами вредоносных программ и расширений.
Обратите внимание на то, что все эти скрипты исполняются в привилегированном контексте (справочная страница расширения), и могут делать с вашим браузером буквально все, что угодно.
AdRemover — краткое резюме
Итак, продолжим на понятном языке. Ниже приведен список того, что умеет делать этот как бы блокировщик.
1. Он скрывает вредоносный код внутри известной библиотеки java-скриптов (jQuery).
2. Этот код отправляет на сервер информацию о некоторых сайтах, которые вы посещаете.
3. Он получает команды с удаленного командного сервера. Чтобы избежать обнаружения, эти команды скрыты внутри на первый взгляд безвредного изображения.
4. Команды представляют собой скрипты, которые затем исполняются в привилегированном контексте (background page расширения) и могут изменять поведение вашего браузера.
По сути, это ботнет, состоящий из браузеров, зараженных поддельными расширениями. Браузер будет выполнять то, что приказывает владелец командного сервера.
Беда не приходит одна
Я просканировал другие расширения в WebStore и нашел еще четыре, использующие тот же подход. Кстати, два из них вовсе не фейковые блокировщики рекламы, и ничто не указывало на их зловредность, пока я не проверил код.
Вот полный список:
- AdRemover for Google Chrome™ (10M+ пользователей)
- uBlock Plus (8M+ пользователей)
- Adblock Pro (2M+ пользователей)
- HD for YouTube™ (400K+ пользователей)
- Webutation (30K+ пользователей)
Мы сообщили о данных расширениях Google, и на данный момент все они уже удалены из Chrome WebStore.
Как защитить себя от вредоносных расширений
На самом деле, это действительно хороший вопрос. В наше время серфинг в Chrome WebStore напоминает прогулку по минному полю. Прежде чем устанавливать какое бы то ни было расширение, я бы посоветовал вам подумать дважды. А затем еще раз подумать дважды.
Ну ладно, я понял, вам абсолютно необходимо это расширение.
Тогда вот пара советов:
1. Узнайте, кто является автором этого расширения, и удостоверьтесь, что ссылка на сайте разработчика действительно ведет на это расширение в Chrome WebStore.
2. Никогда не устанавливайте расширение, если вы не доверяете его автору. А даже если доверяете, следите за обновлениями. В любой момент расширение может быть продано кому-то другому, и кто знает, каким оно станет после этого (вот яркое тому подтверждение).