Как adblock влияет на работу компьютера

Обновлено: 04.07.2024

Об опасности adblock рассказали специалисты Роскачества.

Если надоела навязчивая реклама — на помощь приходят блокировщики, которые не дадут вашему мозгу «засориться» сторонней информацией. По данным Deloitte, на конец 2019 года рекламу в интернете блокировали 44% россиян, причем 26% использовали блокировщики на всех устройствах сразу. Однако бывают такие блокировщики, что лучше к их помощи и вовсе не обращаться, — пишет Роскачество.

Казалось бы, какой вред могут нанести простые блокировщики рекламы в браузере? Аналитики из AdGuard обнаружили 295 вредоносных расширений для Chrome, которые внедряли рекламу в результаты поиска Google и Bing. Большинство из загруженных 80 миллионов раз программ притворялись как раз блокировщиками рекламы. И это далеко не первый подобный случай.

Такие случаи, с миллионами загрузок фальшивых программ, регистрируются регулярно. Например, в 2018 году AdGuard сообщал, что более 20 миллионов пользователей установили себе фальшивые блокировщики рекламы и фактически являются участниками ботнета. В фальшивой программе может содержаться что угодно, от майнера криптовалюты до крадущего информацию вируса.

А еще количество рекламы может не сократиться, а увеличиться.

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

Различные компании и организации, конечно же, не рады тому, что их рекламу не видит целевая аудитория из-за таких вот блокировщиков — они лишают рекламодателей возможных доходов. Но если рядовой пользователь в Сети решил больше не видеть рекламу, которая отвлекает его и мешает выполнению задач, его ничто не остановит.

Центр цифровой экспертизы Роскачества призывает соблюдать правила безопасности при поиске и загрузке блокировщиков рекламы. Все эти правила нужно соблюдать в совокупности. Рассказываем подробнее:

Злоумышленники обеспечивают высокие позиции своих приложений в магазинах, используя популярные ключевые слова. Так, например, приложения-зловреды можно встретить в выдаче Chrome Web Store по словам adblock, adguard, ublock и другим аналогичным запросам. Иногда это полные клоны приложений с чуть другим написанием названия, иногда — просто смесь разных названий, которые должны быть теоретически знакомы пользователю.

Цель — вызвать доверие и замотивировать пользователя к скачиванию приложения.

Спутать разные приложения достаточно легко. Самый грамотный вариант избежать клона — это перейти на официальный сайт разработчика и в разделе файлов найти ссылку на официальное приложение в магазине. Таким образом вы защитите себя от скачивания мошеннического цифрового продукта.

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

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

Обращайте внимание, как и с приложениями, на оценку, которую плагину ставят пользователи, и на общее количество загрузок. Очевидно, что, если их всего лишь несколько сотен или даже меньше, от загрузки плагина лучше воздержаться. Иногда мошенники могут накручивать количество скачиваний, однако в десятках миллионов это не измеряется (именно столько загрузок у настоящих плагинов). На отзывы также стоит обратить внимание, хотя в случае с плагинами они менее информативны и субъективны, чем в тех же магазинах приложений Google Play или App Store.

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

Сам антивирус при этом нужно регулярно обновлять, чтобы ваше устройство было готово к столкновению с новыми киберугрозами.

Кстати, в прошлом году Роскачество составило рейтинг антивирусов, который поможет вам защитить свое устройство от цифровых угроз.


Привет, Хабр! Часто по работе сталкиваюсь с вопросами вроде: как же работают блокировщики рекламы?

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

В своей статье расскажу о самых интересных и необычных решениях по блокировке рекламы с помощью JavaScript’a и не только. Также посмотрим на новые направления разработки блокировщиков и куда все движется.

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

Рынок блокировщиков


На данный момент самыми популярными решениями являются различные браузерные расширения, однако ими все не заканчивается. На картинке указаны основные, хотя, например, в Chrome Web Store можно найти еще сотню других.



В некоторых мобильных браузерах есть специальные опции для включения блокировки (например, Opera), некоторые изначально работают как браузеры – со встроенным блокировщиком рекламы и отслеживания (AdBlock Browser, Brave).

В некоторых мобильных браузерах есть специальные опции для включения блокировки (например, Opera), некоторые изначально работают как браузеры – со встроенным блокировщиком рекламы и отслеживания (AdBlock Browser, Brave).

Отдельным списком можно выделить следующие инструменты:

VPN серверы с функцией блокировки рекламы;

DNS серверы с блокировкой рекламы

мобильные операторы с услугами блокировки рекламы.

Браузерные расширения

Общая схема работы расширений

Общая схема работы расширений

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

Основными действующими лицами в AdBlock* расширениях являются background.js скрипты, которые позволяют фильтровать различные ресурсы, загружаемые по сети с помощью специального API для расширений, и content-script.js , которые позволяют работать с DOM-деревом страницы: скрывать элементы и не только.

Перейдем к общей схеме работы расширения на примере AdBlock Plus.


Например, вы создали на своем сайте какой-то <div> элемент с классом topbanner , и он содержит важный виджет на вашем сайте. AdBlock по-умолчанию будет блокировать такой элемент на странице. Тоже самое касается и загружаемых на странице ресурсов, например с содержанием определенных триггерных слов в URL, таких как */baner .

Браузерные расширения сами обновляют эти списки путем простого скачивания, в начале файла указано, как часто нужно обновлять фильтр, например у RuAdList указано: ! Expires: 1 days , что означает период обновления раз в день.

Как читать/писать фильтры

Для общего понимания стоит разобрать, как выглядят типичные фильтры. Слева указывается блокируемый адрес, а справа, после разделителя, идут особые параметры: какие запросы блокировать и на каком домене это нужно делать. Подробнее можно почитать здесь.

С помощью подобных фильтров можно заблокировать почти любой, загружаемый на странице ресурс. Среди которых могут быть:

Блокировка с помощью JavaScript

Сниппеты (в некоторых блокировщиках называются скриплеты) - это функция JavaScript, которая содержится в исходном коде расширения и исполняется в content-script.js , что позволяет исполнять JavaScript прямо на странице конкретного сайта.

Для примера возьмем snippet hide-if-shadow-contains , основная идея которого заключается в добавлении дополнительного поведения через дескрипторы (подробнее) для прототипов глобальных браузерных объектов или JavaScript объектов.

В данном случае, если мы успели переписать стандартное значение метода attachShadow у каждого элемента до исполнения другого JS кода на странице (что позволяет сделать Chrome Extension API), мы сможем контролировать Shadow DOM через MutationObserver , подписываясь на любое изменение внутри него.

Давайте рассмотрим на примере:

На живом примере мы видим, что блокировщик успешно справился с задачей блокировки закрытого Shadow DOM на основании его внутреннего контента.

Следующий пример - это сниппет abort-on-property-read из AdBlock Plus (код немного упрощен):

В данном сниппете используется аналогичная идея, которая заключается в переписывании стандартных свойств. Функция wrapPropertyAccess() реализует вызов Object.defineProperty() , который позволяет навесить специальный getter и вызывать исключения вместо нормальной работы функции.

В данном примере рассмотрено создание типичного класса, который прогнали, например, через Babel.

Таким образом, если блокировщик переписал глобально Object.prototype.testMethod , то наш класс успешно наследует getter который начнет возвращать исключения вместо нормального исполнения кода функции.

X-Path

Выражение: .//*[@id=

Выражение: .//*[@id='w3c_home_upcoming_events']/ul/li[1]/div[2]/p[1]/a

Возможно, некоторые уже сталкивались с языком запросов X-Path, но немногие знают, что его можно применять в вебе (зачастую он используется парсерами страниц). Тут отличный справочник, если кого-то заинтересовало.

В браузере также существует особое API для исполнения следующих выражений, что позволяет блокировщикам избирательнее выбирать элементы для блокировки.

Perceptual Image Hash

Еще одно интересное направление работы – это работа с изображениями, так как во многих рекламных объявлениях можно встретить одинаковые картинки с логотипом рекламной сети, по этим картинкам зачастую можно найти расположение всего объявления и целиком заблокировать.

Начнем с начала – есть такая библиотека blockhash.js, которая реализует хеширование изображений по их значению на основе алгоритма из исследования «Block Mean Value Based Image Perceptual Hashing» by Bian Yang ,Fan Gu and Xiamu Niu.

Алгоритм примерно следующий:

Нормализуем размер картинки под общий пресет;

Разделяем картинку на I1, I2 … In не перекрывающихся блоков, где N – кол-во блоков, равных длине финальной hash bit строки;

Зашифровываем I1, … In блоки с помощью секретного ключа K в новую последовательность блоков;

Для каждого этого блока вычисляем его среднее M1….Mn, а затем вычисляем общее среднее Md = median(Mi), где I = 1…N;

Создаем 64-битный хэш на основании того, находится значение выше или ниже среднего (подробнее).

Давайте рассмотрим на примере этих двух изображений:

Если мы сравним 2 хэша, получившиеся из двух изображений, то увидим, что дистанция Хэмминга между этими хэшами равна 3, что означает схожесть изображений.

Часть кода фильтра hide-if-contains-image-hash из AdBlock Plus.

Часть кода фильтра hide-if-contains-image-hash из AdBlock Plus.

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

DNS фильтрация


Для начала напомню, что DNS позволяет нам, кроме всего прочего, по имени хоста получить IP адрес.

DNS фильтрация работает в том случае, если вы укажете в качестве DNS адресов для вашего устройства, например адреса AdGuard’a. Далее AdGuard по своему усмотрению предоставляет для обычных доменных имен их реальные IP адреса, а для рекламных – IP адреса, которые возвращают заглушки.

Минус в том, что они пропускают все или ничего, зато DNS серверы можно установить прямо на свой роутер и убрать часть рекламы со всех устройств (или получить проблемы со всеми сайтами/приложениями, которые начнут некорректно работать). Ну и конечно никто не может гарантировать, что данные ваших посещений никто не сольет.



Как по мне, способ очень экстремальный и экстравагантный, доверять кому-то весь свой трафик я не готов.

Нейронные сети для блокирования рекламы GCNN

Ну и конечно куда уж в 2021 году без Machine Learning в вебе. Сразу оговорюсь, что разбираюсь в теме на уровне новичка и эксперты в комментариях, надеюсь, меня если что поправят.

Одним из развивающихся направлений по блокировке рекламы с помощью нейронных сетей являются Graph Convolutional Neural Networks , которые уже с некоторыми оговорками можно запускать и на клиенте с помощью Tensorflow.js . Поэтому давайте рассмотрим примерную схему работы.

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


Например возьмем следующую простую DOM структуру.


Начнем с верхнего HTML элемента и вычислим все его соседние элементы. В последствии необходимо будет пройтись по всем элементам.

Затем нам необходимо составить вектор фич для каждого элемента. В качестве примера можно использовать любые свойства элементов. Например, мы обозначили, что элемент с типом div обозначается числом 29 и т.д. Тоже самое повторяет с названиями атрибутов у элементов, возможно, их размерами и т.д.


Затем с помощью любого подходящего алгоритма, например, вычисление среднего или поиск максимума, получаем среднее по выборке соседних векторов фич элементов.


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


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


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

В конце концов, мы должны получить какой-то конечный коэффициент, позволяющий нам говорить о наличие или отсутствии в данном элементе рекламы.

AdGraph

Общая схема работа

Общая схема работа

Затем AdGraph, с помощью натренированной нейронной сети Random Forest, классифицирует граф. В качестве исходной информации для обучения были использованы фильтры блокировки, о которых мы говорили ранее.

Подробнее можно посмотреть тут:

Вместо итогов

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

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

На данный момент имеется несколько расширений для удаления рекламы. Вполне логичным было бы их сравнить.
Согласно опроса, устроенного мною в первой записи, наиболее популярен браузер Google Chrome, значит тестирование расширений будет производится именно на нем. Использовалась та же версия браузера что и в первых двух записях — 44.0.2403.155 Stable.

Были выбраны наиболее популярные расширения:
* AdBlock Plus;
* AdGuard;
* uBlok;
* AdFilter.

Если после подключения расширения оно открывало страницу с предложением сделать дополнительную настройку, это делалось с учетом рекомендаций самого расширения.
В Adblock Plus включалось: блокировка вредоносных программ, удаление кнопок социальных сетей, отключение слежения.
В AdGuard включались: все счетчики и системы аналитики, фильтр виджетов социальных сетей, защита от фишинговых и вредоносных сайтов.
В uBlok и AdFilter дополнительных настроек не проводилось.

Для тестов использовалась та же машина что и в первой заметке.

Методика тестирования:
* устанавливалось расширение;
* проводилось его настройка, по методике указанной выше;
* производилась очистка кеша и истории браузера с помощью утилиты Ccleaner;
* компьютер перезагружался;
* использовались первые 10 ссылок выданные поисковиком Google на слово — Кот. Ссылки вводились непосредственно в браузер из текстового файла;
* для определения потребления оперативки использовалась программа — System Explorer. Суммировались все отрытые браузером процессы;
* потребление памяти замерялось в следующих режимах: браузер без страниц, браузер с одной страницой, браузер с 5 страницами, браузер с 10 страницами, браузер после закрытия всех открытых страниц;
* после запуска браузера, открытия и закрытия ссылок давалась время в количестве 5 минут, для прогрузки всех элементов, после чего подсчитывалось количестве потребленной памяти;
* после завершения тестов с одним расширением, оно удалялось;
* производилась очистка кеша и истории браузера с помощью утилиты Ccleaner;
* компьютер перезагружался.

Первый столбец потребление оперативной памяти браузером без расширений, второй с расширением, третий на сколько Мб увеличилось потребление памяти после установки расширения.


Потребление памяти браузером с пустой страницей.


Потребление памяти браузером с 1 (одной) страницей.


Потребление памяти браузером с 5 страницами.


Потребление памяти браузером с 10 страницами.


Потребление памяти браузером после закрытия всех страниц.


Единая таблица

Adblock Plus является самым «прожорливым» во всех режимах работы.
При малых «нагрузках» самыми экономичными являются расширения uBlock и AdFilter.
С увеличением «нагрузки» uBlock и AdFilter сравниваются в потреблении памяти с AdGuard.

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

В процессе открытия страниц на многих ссылках с установленным Adblock Plus наблюдалось замедление работы, в связи с увеличением, вплоть до 100%, нагрузки на центральный процессор. После прогрузки страниц нагрузка уменьшилась.
AdGuard оказался более легким и замедление было только при открытии 8 (восьмой) ссылки.
uBlock и AdFilter заметных подтормаживаний не вызывали.

Заключение
Adblock Plus самое ресурсоемкое расширение приводящие к значительным нагрузкам на старых компьютерах.
Другие 3 расширения менее требовательны. Потребление ими оперативной памяти и создаваемая нагрузка не значительна на фоне самого браузера.
Меньшая нагрузка создаваемая расширениями uBlock и AdFilter связана с меньшим объемом списков блокировки включенных по умолчанию.
Качество блокировки и нагрузка на компьютер непосредственно зависит от количества подключенных списков.
Выбор расширения браузера для блокировки рекламы, это поиск золотой середины между количеством заблокированной рекламы и потреблением ресурсов. Каждый должен выбрать наиболее важный для него приоритет и отталкиваясь уже от него выбирать расширение и количество и вид подключаемых списков.

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

Upd
Выражаю благодарность пользователю: 9543 — за предоставление следующей ссылки на: тест 10 расширений для блокировки рекламы (статья на английском языке).
Хотелось бы уточнить, что знакомство со статьей состоялось уже после написания данной заметки.
Данная ссылка на статью предоставлена для обеспечения возможности сделать верные выводы и установить наиболее подходящее для вас расширение.

Как AdBlock Plus влияет на скорость работы Mozilla Firefox

Медленная скорость браузера Mozilla Firefox может зависть от многих факторов, например, от веса страницы, перегруженности интерактивными элементами, а также количества установленных плагинов и их ресурсоемкости.

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

Как AdBlock Plus влияет на скорость работы Mozilla Firefox

По идее, блокируя рекламные веб-элементы, AdBlock Plus должен экономить расход ОЗУ, а тут всё получается наоборот. Об этой странности в своем блоге пишет австралийский программист Николас Нетеркот.

В подтверждение Нетеркот приводит конкретные примеры. Работая «вхолостую» ABP уже потребляет 60-70 мегабайт оперативки, при наличии же на веб-странице фреймов на каждый из них тратится еще по 4 мегабайта. Как объясняет программист, такое поведение блокировщика связано с загрузкой объемных таблиц стилей в каждый фрейм с целью скрытия элементов, которые невозможно блокировать.

Как AdBlock Plus влияет на скорость работы Mozilla Firefox

Как AdBlock Plus влияет на скорость работы Mozilla Firefox

Естественно, чем больше фреймов на странице, тем больше отъедает памяти блокировщик. При этом австралийский программист приводит пример с ресурсом TechCrunch.

Если при отключенном блокировщике поводить мышкой над кнопками социальных сетей (в этот момент подгружаются сторонние скрипты), расход ОЗУ составит 194 мегабайта. И та же самая страница, при активированном ABP отберет уже 417 мегабайт.

Как видите, утечки памяти могут быть весьма серьезными.

Пользовался Maxthon (Maxthon Cloud Browser 4.3.2.1000) почти неделю, многие говорят что хороший браузер, но мне показалось что он потребляет больше ресурсов, чем другие браузеры, при этом умудряется ещё медленно работать. Кастомизация минимальная(да её почти и нет). Родных функций у неё не мало (чистая установка), всполнил Опера 12, у которой так же было большое количество уже готовых инструментов при установке, и для меня было дико видеть как ФайрФокс после установки был лишь голым браузером, но не смотря даже на то что, в Maxthon можно менять движки, всё равно он какой то пустой. То есть функции встроенные в нём, нужны не всем, и не всегда. Понравился менеджер паролей, охотник рекламы, и экспресс панель.

По теме AdBlock Plus, удалил его, самое прожорливое дополнение, долгое время считал что, запущенный ФайрФокс при нескольких сайтах, может кушать по 400-500 мегобайт, после удаления AdBlock, даже при 10 сайтах, память в районе 250-350 мегобайт. Загрузка обычной экспресс панели (Fast Dial add-on) 80 мегобайт.
Загрузка без дополнений (чистая) 40-60 мегобайт и это не предел, на Debian например, она ест ещё меньше памяти.

P/S Ad Muncher Отличная альтернатива, ест 5-6 мб, и блокирует процентов 80 рекламы. Либо Adguard, блокирует лучше, но ест 60-70 мегов..за то эти программы работают со всеми браузерами, то есть не надо ставить в каждый браузер дополнение.

Включайте только необходимые списки фильтров. Слишком много включенных фильтров может замедлить скорость работы браузера.

есть неплохая альтернатива, расширение Adguard,
не программа а именно расширение как Adblock, меня устраивает,
а для мозилы если и ставить Adblcok то именно Adblock Edge,
по легче будет чем Adblock Plus.

Для хрома и хромоподобных расширение Adguard очень неплохое.

Согласен. Пользуюсь около месяца (нашел к тому же подарочную версию на полгода). Прилично убавилось количество рекламЬІ.
Нравится больше чем AdMuncher. Правда, стоит такое удовольствие 80 Мб ОЗУ

Эт точно, лирушка совсем чистая, там фотки также важны как и текст. Отключать включать тупо все подряд фильтры чтобы выяснить эффект на лиру это как то не айс. Может кто надыбал нужный фильтр именно для лиру, подскажите, пожалуйста.

Читайте также: