Каждый год я пишу свежую статью о новых вредоносных расширениях, которые маскируются под обычные, например, под блокировщики рекламы. Знаете, как я это делаю? Не волнуйтесь, сейчас расскажу, алгоритм очень простой.
Некоторые фейковые расширения в интернет-магазине Chrome...
... и ещё немного расширений...
... больше, больше расширений!
Естественно, где-то в процессе изучения я жму кнопку "Сообщить о злоупотреблениях" и докладываю о найденном. И, само собой, ничего не меняется, эти расширения продолжают висеть в сторе и творить своё чёрное дело. Может быть, мне нужно подождать реакции месяц? Но боюсь, за это время пострадают лишние несколько сотен тысяч человек.
Давайте разбираться, что же опять не так.
В этот раз явно выделяются три группы расширений.
А знаете, что ещё важно и касается большинства этих расширений? В любой момент БЕЗ ВСЯКОГО ОБНОВЛЕНИЯ они могут поменять свое поведение и делать всё что угодно. Дело в том, что все они используют сторонний код, подгружаемый с удалённого сервера и контролируемый хозяином расширения. В любой момент этот код может измениться, обновлять расширение и проходить через ревью ему уже не придётся.
Рассмотрим каждый из этих случаев подробно.
Вот парочка самых популярных расширений из этой группы:
Как видите, авторы не слишком оригинальничают в названиях.
Это самая масштабная группа вредоносных расширений среди тех, которые я встречал на практике. Она включает в себя 294 расширения с суммарным количеством пользователей около 80 миллионов по данным Chrome Web Store. Ещё эта группа интересна теми мерами, которые применяются для сокрытия своих действий.
Также эти расширения прекрасно раскрывают тезис выше о "ботнете" — ведь вредоносными они становятся не сразу, а только по команде с сервера. Каждое расширение из этой группы подгружает безобидный, на первый взгляд, скрипт "аналитики" с домена fly-analytics.com. Загвоздка в том, что стоит вам подождать несколько дней и этот скрипт несколько преобразится:
Вряд ли вы захотите, чтобы ваши браузерные расширения так делали
Обратите внимание, что он преобразится только лично для вас — любой другой человек увидит всё тот же безобидный скрипт. Дело в том, что сервер злоумышленников ориентируется на "куки" вашего браузера и добавляет вредоносный кусок только для известных ему пользователей. Но если вы думали, что это всего лишь меры по сокрытию вредоносного скрипта, то хочу вас обрадовать, дальше будет гораздо интереснее.
Кусок кода, который добавился в псевдоскрипт "аналитики", делает очень простую вещь: на каждую новую открытую вкладку он добавляет обфусцированный скрипт. Я немного повозился и подготовил для вас его расшифрованную версию.
Что делает этот скрипт:
Полный список расширений можно найти здесь.
В этой группе у нас всего шесть расширений с 1 650 000 пользователями, зато я практически уверен, что количество активных пользователей тут реальное и никаких накруток нет.
Не буду в этом посте вдаваться в технические детали, ведь я уже делал это в прошлом году. Что меня действительно удивляет и расстраивает, так это то, что эти расширения используют тот же самый код, что и те, которые я нашёл в 2019. Очень жаль, что Google, при всей своей любви к автоматизации, не может автоматически отсеивать такие расширения.
Расширения из этой группы пока что не делают ничего вредоносного.
Тем не менее, я считаю нужным упомянуть их. Всего несколько месяцев назад Google анонсировал более строгую политику борьбы со спамом в Chrome Web Store:
Мы хотим убедиться, что путь пользователя, ищущего расширение в интернет-магазине Chrome, ясен и информативен, а не запутан подражателями, вводящими в заблуждение функциональными возможностями или поддельными отзывами и рейтингами.
И тем не менее, я вижу, что интернет-магазин Chrome заполонили фейковые блокировщики с явно накрученным количеством пользователей (это видно по соотношению количества пользователей к количеству оценок). Как так выходит, что законопослушные разработчики страдают от излишне строгого процесса рассмотрения, и в то же самое время проблема, которую этот строгий процесс призван решить, не только сохранилась, но и усугубилась?
Давайте разберём несколько случаев подобного спама.
Adblocker for YouTube™ резко упал до 80 тыс. пользователей — к слову о накрутке.
Что общего у всех этих расширений?
Перейдём к следующей проблеме — как же добиться удаления этих расширений из магазина Chrome? В прошлом вообще не было никакого стандартизированного способа. Теперь вроде как есть кнопка "Сообщить о нарушении", которую может нажать любой. Проблема с этой кнопкой в том, что она не даёт никакого результата. Единственный надёжный способ — опубликовать статью в блоге и ждать, пока вокруг неё поднимется шумиха, после чего подобные расширения магическим образом исчезают из CWS. Далеко не самый идеальный способ.
В прошлом году Google включил расширения Chrome в свою программу по охоте за багами. На первый взгляд — неплохой способ достучаться до нужных людей в Google, так что именно это я и сделал на этот раз.
Моя жалоба на расширения из первой группы была принята, и даже было начато какое-то
расследование. Кроме того, похоже, что о расширениях из второй группы кто-то уже сообщил Google ранее.
Однако, с тех пор прошло уже две недели. Все эти расширения до сих пор доступны в CWS, и всё больше и больше пользователей их устанавливает. Я уже не уверен, что риск, которому подвергаются эти люди, можно оправдать проводимым расследованием.
И наконец, я совершенно не понимаю, что делать с расширениями из третьей группы. Как мы уже поняли, кнопка "Сообщить о нарушении" абсолютно бесполезна, а другого способа достучаться до команды, отвечающей за рецензирование расширений в CWS, просто нет.
Давайте в этот раз я скажу прямо — Google не справляется с интернет-магазином Chrome. В качестве реакции на прошлый негативный опыт (1,2) появился процесс рассмотрения расширений, а политика CWS стала гораздо строже.
Но, по какой-то причине, результат мы имеем обратный. Честные разработчики молят о помощи на официальном форуме Chrome Extensions, популярным расширениям направо и налево грозят удалением без объяснения причин. И в то же самое время я вижу, что ситуация с вредоносными расширениями не только не улучшилась, а даже ухудшилась!
Справедливости ради, Google сделал одну отличную вещь — была введена должность Chrome Extensions Developer Advocate. Это живой человек, к которому мы (разработчики) можем прийти со своими проблемами. И этот человек на самом деле оказывает совершенно неоценимую помощь и часто выручает разработчиков. Так что за это мы от чистого сердца говорим "спасибо"!
Я убеждён, что CWS управляется умными и рассудительными людьми, и я вижу, что они честно пытаются улучшить ситуацию. Приведение в исполнение политик CWS и поддержание безопасной среды — непростая задача, требующая навыков и времени.
Проблема в том, что на момент добавления в CWS такие расширения ничего не нарушают. Однако, поскольку CWS разрешает практику удалённого кода, в дальнейшем они могут поменять своё поведение в любой момент. Эта проблема частично решится после перехода расширений на Manifest V3, но даже в этом случае авторы вредоносных расширений найдут способы вроде той же стеганографии, чтобы обмануть рецензентов.
В краткосрочной перспективе возможным решением может стать создание канала для сообщений о вредоносных расширений, который будет по-настоящему работать. Мне не нравится ни то, как на данный момент работает Vulnerability Reward Program (три недели, расширения всё ещё доступны), ни текущая ситуация с кнопкой "Сообщить о нарушении".
В долгосрочной же перспективе, возможно, вместо рецензирования расширений (или вдобавок к нему) пришло время начать "рецензировать" разработчиков? Возможно, вместо платы в $5 лучше заставить их предоставить и подтвердить какие-нибудь персональные данные вроде имени или адреса?
По большому счёту, правила "личной гигиены" не изменились, так что я повторю то же, что говорю всегда.
Изменится ли что-нибудь к лучшему на этот раз? Прошлый опыт оставил меня пессимистом, но будем надеяться на лучшее!