Вредоносные блокировщики 2: теперь с печеньками
— Окей, Гугл, я пользуюсь Chrome и мне нужен блокировщик рекламы.
— Не вопрос, в Chrome Web Store, найдется пара сотен блокировщиков на любой вкус!
— Пара сотен? И они все рабочие? И безопасные? В прошлом году говорили, что в Гугл Сторе обнаружили много фейковых и вредоносных программ!
— Не волнуйтесь, мы как раз собираемся ограничить функции блокировщиков, это поможет!
— Правда? Отлично, спасибо! Выберу блокировщик из первой десятки в выдаче. Вот этот "AdBlock" от "AdBlock, Inc" кажется, заслуживает доверия. У него есть политика конфиденциальности, больше 800 000 пользователей, а компания-разработчик из Германии. Или попробовать вот этот "uBlock" от "Charlie Lee"? Рейтинг 5 звезд, 850 000 пользователей, тоже должен быть ничего.
Так, стоп!
Этот "AdBlock" — вредоносная программа, мимикрировавшая под блокировщик, как и якобы "uBlock". В сторе вообще висят тонны менее популярных клонов известных программ. Откуда мне это известно? Я потратил довольно много времени, копаясь в их коде, пытаясь выяснить, что они делают на самом деле. Другой вопрос — как вы (и вообще любой простой пользователь) можете об этом знать?
Cверху — реальный AdBlock, ниже — его вредоносные клоны
И что же с ними не так?
Для начала, эти программы используют названия двух весьма популярных блокировщиков рекламы, что, по сути, является обманом пользователей — уже одного этого факта достаточно для подозрений. Тем не менее, несмотря на множество репортов, расширения так и продолжают "висеть" в сторе.
Похоже, проблемы профессиональной этики и прямой обман — это ещё не причина удалять расширение. Попробуем зайти с другой стороны и рассмотрим их вредоносное поведение.
Сейчас будет длинное техническое объяснение. Если вы не разработчик, советую сразу перейти к следующей части статьи.
Поначалу расширения делают то, что им и положено делать — блокируют рекламу. Они оба используют код оригинального расширения "AdBlock", так что качество блокировки приличное.
Периодически они высылают такие запросы:
GET https://ublockerext.com/heartbeat/json/?action=config&&id=dgpfeomibahlpbobpnjpcobpechebadh&version=1.7<=199&uid=76f24bff-d831-aa47-7377-7ea195bf9cf8&r=1567540438520
На первый взгляд в ответе сервера нет ничего криминального:
{"blockPopups":true,"statuses":[["synchronize_invalid_url","filters_subscription_lastDownload_invalidURL"],["synchronize_connection_error","filters_subscription_lastDownload_connectionError"],["synchronize_invalid_data","filters_subscription_lastDownload_invalidData"],["synchronize_checksum_mismatch","filters_subscription_lastDownload_checksumMismatch"]]}
Но примерно через 55 часов после установки ответ сервера внезапно меняется и выглядит уже довольно подозрительно.
В этом новом ответе содержится список команд, который должно выполнить расширение. Затем меняется его поведение, и кроме собственно блокирования рекламы расширение начинает делать кое-что ещё.
При заходе на каждый новый домен отсылается запрос на urldata.net
. Если вы зайдете, например, на teamviewer.com
, высланный запрос будет выглядеть так:
http://urldata.net/api?key=4e4a7faf91b2bcda88a60e269e4d6208bfe8d3d6&out=https%3A%2F%2Fteamviewer.com&format=txt
Ответ на такой запрос будет содержать следующий URL:
http://urldata.net/newapi/click/PvdHh16uGq6mLqmbUoT3AaUImj7ynsh0cVlCywkljEF19oBV0JH4jNYpn--xwIyEV36OMPPH1IrESEyclc7yxEbB3mYrfPMxnGqoV4SOmQ4MI9NYNHAQrPHwvJNE0W488ESUN1y7ONahVxwBZKnr4PZlZKI5gNi65DoIfYNwXAPoyFwh8Mgz1bX63V4PnjspvZa-DqjF5GTNxoIJqpHLC1_SwlFRYeoIvVGutkgfCSI4hMHa3z52VbL7VxbaQAhhqLC-uJUJO_s234VL3JDM01O-JE9PS6fXOH6z5XUojvotSQ5mZe7NFEsuMaeSK9rasy8MvaICWZpGDmgxIodzvMpJUv41ppkuqMBDDYpHptCEBb4Za_HffgaiKn-aY_COfan5P650B6ZTQsVqNKidMRRaHY4FxvM7VA79vX5_Oe0J0c9Wczw8VM9GrvzlGLdt4TjyBcF2JEtpcayh99JdL1wxrL_EoEHMml4LDy1JwT8LPxPG2vrlK5QSuoGrx-7tJLHD6Gq3SUeQj1XXEcENy77hkzU79TO9_hEs29Kq6ASdk6NKIZT8gOuJsNOAkU4i0Y9JvmEpdENyBL2ugmFNyitW2CfGzHrLsNex
Расширение тут же откроет эту ссылку в фоновом режиме. За этим запросом последует цепочка редиректов:
Последним запросом в цепочке будет вот этот:
https://www.teamviewer.com/en/content/2019-cj-emea/?coupon=aff-19-en-10-1&utm_source=affiliate&utm_medium=cj&utm_campaign=dedc1dc5d58611e982c203670a180513&utm_content=2933854&PID=affiliate.cj.q1&s=1&cjevent=dedc1dc5d58611e982c203670a180513
Вы спросите, что происходит? Судя по всему, адрес принадлежит чьей-то партнёрской программе с Teamviewer. В ответ ваш браузер получит "партнёрский" куки. С этого момента если вы сделаете покупку на сайте teamviewer.com
, разработчик расширения получит комиссию от Teamviewer.
Эту технику обмана называют Cookie stuffing или cookie dropping (подмена куки).
Для этой схемы используется множество партнёрских ссылок. Здесь лишь малая часть, того, что мне удалось "вытащить" за 30 минут. Вот некоторые жертвы обмана, чьи названия на слуху: microsoft.com
, linkedin.com
, aliexpress.com
, booking.com
, и это далеко не все, список гораздо длиннее.
Ещё один интересный факт об этом расширении — у него есть механизмы самозащиты. Например, оно может "увидеть", что открыта консоль разработчика и тут же прекратить любую подозрительную активность.
О ситуации вкратце
- Обе фейковые программы — AdBlock и uBlock — вводят пользователей в заблуждение, прикрываясь названиями действующих и популярных блокировщиков.
- Их до сих пор не убрали из Google Store, несмотря на многочисленные репорты.
- Настоящая цель этих расширений — Cookie stuffing — это нелегальная схема обогащения.
- Масштаб поражает. У этих расширений на двоих более 1,6 миллиона "активных пользователей", подменённых куки с 300 (минимум!) сайтов из списка Топ 10000 рейтинга Alexa. Сложно рассчитать точный ущерб, но мы говорим примерно о миллионах долларов США в месяц.
В целом, есть и положительная сторона. Поскольку схема раскрыта, хозяева партнёрских программ могут отследить денежные потоки и выяснить, кто за ними стоит. За cookie stuffing можно получить вполне реальный срок, так что есть шанс, что разработчиков этих расширений привлекут к ответственности.
Проблема фейковых расширений
Проблема на самом деле не нова, мы уже писали о подобных случаях. Но, несмотря на огласку, я не вижу никаких шагов от Google в сторону решения проблемы. Ощущение, что наоборот, стало хуже. По крайней мере, раньше фейковые блокировщики должны были придумывать оригинальные названия. Теперь, как мы видим, они даже не заморачиваются!
И на такие уловки попадаются не только пользователи. Например, фейковый "AdBlock" попал в список блокировщиков, рекомендуемых androidcentral.com:
Отрывок с положительным отзывом от Android Central
Только ли с Chrome WebStore есть такая проблема? Не совсем. Например, сплагиаченный фейк AdGuard получил значок "рекомендуемая программа" от магазина расширений Mozilla Add-ons, несмотря на многочисленные жалобы о неэтичном поведении (1, 2). Спасибо хоть на том, что не украли название, ограничившись лишь частью кода.
Что можно сделать?
Вы, вероятно, слышали, что Google предложил решение под названием "Manifest V3". Они говорят, что ограничение возможностей расширений улучшит их производительность, повысит уровень безопасности и защиту конфиденциальности.
Думаете, так и будет? В целом, я согласен с пунктом про производительность, но я не вижу, как эти меры помогут с остальным. Например, эта мера никак не помешает двум уже упомянутым расширениям заниматься куки стаффингом.
И вообще я совершенно согласен с тем, что предлагает EFF:
Для того, чтобы действительно защитить пользователей, Google нужно начать должным образом применять существующую политику Chrome Web Store.
Тем временем в офисе Google
Как можно защитить себя?
Как видите, даже журналисты порой дают фейкам себя обмануть, так что вопрос действительно сложный. Год назад я бы сказал, что рецепт прост — устанавливайте расширения только от разработчиков, которым доверяете.
Сейчас ситуация стала хуже, чем была, и поэтому хотелось бы добавить вот какие рекомендации (по крайней мере пока что-нибудь не изменится):
- Если вы собираетесь установить расширение для браузера, подумайте. Может, оно вам на самом деле не очень-то и нужно?
- Не верьте на слово описаниям расширений в сторе. Имейте в виду, что они практически не проходят никакие проверки, так что написать могут всё, что угодно.
- Чтение отзывов пользователей тоже может оказаться бесполезным занятием. У упомянутых расширений были отличные отзывы, но расширения оказались вредоносными.
- Не пользуйтесь внутренним поиском Веб сторов, лучше загружайте расширения напрямую с официальных сайтов разработчиков.
Обновлено 18 сентября:
Мы рады добавить, что оба расширения, о которых шла речь в этой статье, на данный момент заблокированы в Chrome. Это, конечно, хорошо, но Google придётся сделать намного больше, чтобы доказать, что они действительно заботятся о безопасности своих пользователей.