фильтрация https что это такое
Фильтрация https что это такое
Совместно с разработчиками Carbon Soft мы подготовили статью о том, какие виды HTTPS фильтрации трафика существуют и как они работают в современных DPI-системах у российских операторов связи.
HTTPS – расширенный протокол HTTP, используемый для улучшения безопасности передачи данных. Передача данных осуществляется поверх протоколов шифрования TLS и SSL. Разработка SSL (Secure Sockets Layer) началась компанией Netscape Communications для добавления протокола HTTPS в одноименный браузер, чтобы обеспечить безопасность коммерческих сайтов в сети Интернет.
Методы фильтрации HTTPS-трафика
Для выполнения требований федерального законодательства у операторов связи появилась острая необходимость в качественной фильтрации HTTPS-трафика. Рассмотрим, какие для этого предусмотрены способы. Существует несколько методов, которые используются параллельно.
Операторы связи выполняют фильтрацию HTTPS-трафика с учетом Приказа №249 Роскомнадзора. Для этого компания Carbon Soft предлагает самое производительное программное обеспечение на рынке – Carbon Reductor DPI X. С его помощью обеспечивается эффективная блокировка HTTPS-сайтов.
DNS-фильтрация
DNS-спуфинг настраивается для всех HTTPS записей в реестре, имеющих ограничение доступа к доменному имени. DNS-фильтрация работает по-умолчанию, для её настройки требуется следовать инструкциям мастера настройки Carbon Reductor DPI X. Ограничивается доступ к доменному имени с помощью фильтрации запросов ко всем DNS-серверам.
Если абонент оператора связи хочет обратиться к запрещенному домену example.com, перед этим он узнает у DNS- сервера IP-адрес, по которому находится данный домен. Carbon Reductor DPI перехватывает DNS-запросы, проверяет наличие ресурса в списках для фильтрации и если ресурс необходимо заблокировать, то возвращает IP-адрес(192.168.0.4) страницы-заглушки оператора связи. Ответ DNS-сервера не принимается, так как получен ответ на запрос.
Страница-заглушка поднимается на сервере с Carbon Reductor DPI и только при высокой нагрузке на сервер фильтрации возможно установить отдельный сервер со страницей-заглушкой. Страница-заглушка обязательно содержит служебную информацию, которую распознает АС «Ревизор». А именно уникальный код – идентификатор оператора связи и текст в соответствии с требованиями Роскомнадзора.
Специнформация должна занимать не меньше половины площади страницы и не может находиться на страницах с новостями, информацией о том, как получить доступ к ресурсам, содержащим запрещённые данные.
SNI-фильтрация
Server Name Indication является расширением протокола TLS, которое позволяет отправлять доменное имя, с которым необходимо установить сетевое соединение. SNI предоставляет возможность установить несколько SSL сертификатов для одного IP-адреса. Браузеры, которыми пользуется большинство пользователей, в открытом виде осуществляют передачу имени хоста, с которым происходит HTTPS-соединение. Блокировка осуществляется правомерно, расшифровка трафика не нужна. И пусть URL не отображаются, однако адрес ресурса, с которым происходит соединение, открыт для систем DPI. Чаще всего такой способ применяется для повышения надежности DNS-фильтрации.
Абонент устанавливает соединение с сайтом https://example.com. После установления TCP-соединения, клиент включает имя сервера, с которым он хотел установить соединение, в запрос ClientHello, давая возможность серверу понять, какой именной сертификат нужно сообщить в ответ клиенту в сообщении ServerHello. При обнаружении запроса в запрещенному ресурсу в пакете ClientHello система фильтрации одновременно отправляет TCP-RST пакет абоненту и сайту. Даже если абонент получит сертификат для сайта example.com, ему будет уже не важно, так как TCP-соединение закрыто.
IP-фильтрация
В едином реестре запрещенных сайтов содержится большое количество сетевых адресов, которые необходимо заблокировать по всем протоколам и портам без расшифровки трафика. Данный способ является самым простым, чтобы полностью ограничить доступ к ресурсу. Но у него есть один «большой» недостаток. Множество сайтов может использовать один и тот же IP-адрес, следовательно доступ будет закрыт ко всем ресурсам, не только запрещенным. При обнаружении запроса на IP-адрес запрещённого ресурса, абоненту и сайту отправляется TCP-RST пакет.
Проксирование трафика
Данный способ фильтрации осуществляется с помощью прокси-сервера, который установлен между абонентом и сайтом. Когда устанавливается HTTPS-соединение, браузеру отправляется сертификат ресурса. Он проверяет подпись путем взаимодействия с центром сертификации. В результате такого действия, провайдеру известно название сайта, с которого осуществляется запрос. Если он внесен в перечень РКН – блокирует его и все его страницы. Пример работы представлен на ниже.
Прокси-сервер перехватывает запрос сертификата и сам подменивает его новым корневым сертификатом вместо запрашиваемого сертификата, который подписан собственным центром сертификации и занимается установкой соединения с example.com, выполняя роль «клиента», чтобы получать весь передаваемый трафик. Следовательно, оператор связи получает информацию о запрашиваемых ресурсах, а не весь домен целиком и может точечно осуществлять блокировку. Трафик может быть расшифрован прокси-сервером, так как пользователь соглашается на такую защищенную сессию. Чтобы новый сертификат был валидным с точки зрения браузера для работы, всем абонентам требуется установить «подменный» сертификат в свой браузер.
Однако, в таком случае оператор связи получает доступ ко всему трафику пользователя, его переписке в социальных сетях, логинам и паролям от других сайтов, загружаемому контенту. Это нарушает ряд Федеральных Законов, права на частную жизнь и является противозаконным, поэтому данный вид фильтрации не используется.
Подробнее о Carbon Reductor DPI X
Это готовое решение «под ключ», выполняет Федеральные Законы ФЗ-139; ФЗ-149; ФЗ-187; ФЗ-398; ФЗ-436, относящиеся к блокировке запрещённых сайтов. Продукт прошел одобрение Роскомнадзором, рекомендован как средство фильтрации трафика и успешно используется более 1000 операторами связи.
Ключевые свойства для операторов связи:
Carbon Reductor DPI X предназначен для надежной фильтрации HTTPS, HTTP, IP и не только. Позволяет легко инсталлировать и использовать программную среду для упрощения контроля над трафиком.
Скачать и протестировать Carbon Reductor DPI X можно по ссылке: www.carbonsoft.ru/download/
Спасибо, что пользуетесь продуктами компании Carbon Soft!
To-do: Фильтруем вся и всё
Данная статья представляет из себя скорее более FAQ, чем полноценный мануал. Впрочем, многое уже написано на хабре и для того присутствует поиск по тегам. Смысла переписывать всё заново большого нет.
В последнее время наше государство, к счастью или не к счастью, принялась за интернет и его содержимое.
Многие, несомненно, скажут что нарушаются права, свободы и т.п. Конечно, думаю мало у кого возникнуть сомнения по поводу того, что то что придуманные законы сделаны мало понимающими людьми в деле интернетов, да и основная их цель это не защита нас от того, что там есть. Будучи ответственным человеком да подгоняемый и прокурорами в некоторых учреждениях, встаёт вопрос ограничения поступающей информации. К таким учреждениям, к примеру, относятся школы, детсады, университеты и т.п. им учреждения. Да и бизнесу то-же надо заботится об информационной безопасности.
И первый наш пункт на пути к локальному контент фильтру-это
Анализ того, что такое есть интернет и как он работает.
Не для кого не секрет, что 99 процентов интернета-это http. Далее известно, что у каждого сайта есть имя, содержания страницы, url, ip адрес. Известно, также, что на одном ip может сидеть несколько сайтов, как и наоборот. Так-же, url адреса могут быть как динамичны, так и постоянны.
А то, что записано на страничке, то написано. Отсюда делаем выводы, что сайты можно мониторить по:
Cредства их осуществления.
Тут опять два пути:
Платные решения-это аппаратные(тобишь коробка с неизвестно чем, но делающая своё дело), аппаратно-программные(это то-же коробка, но уже с полноценной ос и соответствующими приложениями) и программные.
Бесплатные решения-это только программные. Но бывают и исключения, но это как раз тот случай, подтверждающий правило.
К платным относятся такие, как Kaspersky антивирус соответствующего функционала, ideco.ru, netpolice, kerio и т.п. Найти их легко, ибо их хорошо рекламируют и достаточно в строке поиска ввести что-то вроде — контентный фильтр купить.
Бесплатные решения имеют один недостаток-они всё сразу делать не умеют. найти их затруднительнее. Но вот их список: PfSense, SmoothWall(бывает двух видов-платный и бесплатный. Бесплатный немного не функционален), UntangleGateway, Endian Firewall(тоже есть платный и бесплатный), IPCOP, Vyatta, ebox platform, Comixwall(Чудное решение. Можете скачать с моего сайта 93.190.205.100/main/moya-biblioteka/comixwall). Все данные решения обладают одним недостатком — ограниченность.
Где происходит фильтрация.
Возможны следующие варианты:
Теперь следующий вопрос:
Надёжность фильтрации.
Думаю, ясно. Защиту нужно делать многоуровневой, ибо то, что просочится на одном уровне защиты, перекроется другим уровнем.
Давайте поговорим о
О недостатках уровней защиты.
Возможность обхода пользователем контентной фильтрации.
Вопрос-производительность.
Вопрос-иерархия кэшей и прокси.
Если у вас много компьютеров и вы имеете возможность использовать несколько в качестве фильтрации, то делайте так. На одном ставите прокси сервер squid и указываете на нём параметры родительских кэшей с параметром round-robin(http://habrahabr.ru/post/28063/). В качестве родительских на каждом конкретном компьютере выступает выступает dansguardian со squid в связке(ибо без вышестоящего dansguardian не умеет). Вышестоящие располагаются на тех-же компьютерах, на которых располагаются и dansguardians. Для вышестоящих большой кэш не имеет смысла делать, а для первого-обязательно самый большой кэш. Даже если у вас одна машина, то на ней всё-равно делайте связку squid1->dansguardian->squid2->провайдер с таким-же распределением кэширования. На dansguardian не возлагайте ничего, кроме анализа написанного на страницах, перерисовки контента, заголовков и некоторых url, блокировки mime типов. Не в коем случае не вешайте на него антивирус и чёрные листы, иначе будут тормоза.
Анализ по спискам пусть будут делать squid1 и squid2.
Проверку на вирусы пусть будет делать squidclamav через c-icap на squid2. Белые списки вешаем на squid1.
Всё, что в белом списке, должно идти напрямую в интернет, минуя родительские прокси.
DNS сервер обязательно используем свой, в котором используем перенаправление на skydns или dns от yandex. Если есть локальные ресурсы провайдера, то добавляем зону forward на dns провайдера. Так-же в dns сервере прописываем локальную зону для нужных внутрисетевых ресурсов(а что-бы было красиво, они нужны). Указываем nosslsearch поиска google. В конфигах squid обязательно используем свой dns.
Для всего используем вебку Webmin и командную строчку. На windows серверах всё делаем через мышку.
Настройка локальной сети
К нам идёт проверка.
В данном случае-все ползунки в максимум.
Дополнительно-запрещаем все видеосайты, контакт, социальные сети, музыкальные порталы, файлообменники и файлообменные сети.
Запрещаем mp3.
Ставим галочку напротив безопасного поиска в личном кабинете SKYDNS.
Обязательно приводим в порядок документацию.
Известные проблемы фильтрации HTTPS
Статья обновлена 18 января 2021
Ознакомление с этой статьей может потребовать от вас базовых знаний о шифровании, протоколе TLS и устройстве HTTPS.
Для начала, приведем диаграмму, которая показывает, как в целом устроена фильтрация HTTPS в AdGuard:
AdGuard копирует свойства TLS-соединения, которые использует ваш браузер:
Так что если вы используете современный и безопасный браузер — это хорошо, ведь известные проблемы TLS в нем уже учтены, и он не будет пытаться использовать небезопасные методы шифрования.
Как ведет себя AdGuard в случае, если есть сомнения в валидности сертификата?
В случае, если есть какие-то сомнения в валидности сертификата, AdGuard полностью прекращает фильтрацию соединений к этому домену, и отдает это на откуп браузеру.
Известные недостатки
Фильтрация HTTPS в AdGuard имеет некоторые недостатки. Практически все мы планируем устранить в ближайших версиях AdGuard.
Ниже перечислены все известные нам проблемы и сроки их устранения.
Проверка оригинального сертификата
Эта проблема уже решена в Браузерном Помощнике. Это — браузерное расширение, помогающее управлять фильтрацией прямо из браузера и позволяющее, в том числе, просматривать исходные сертификаты веб-сайтов.
Certificate Transparency
Благодаря совеременной криптографии бразуеры обычно могут легко обнаружить вредоносные сайты с подделанными сертификатами. Однако, этих механизмов недостаточно для обнаружения вредоносных сайтов, которые используют сертификаты, выданные по ошибке настоящим (но, к примеру, скомпрометированным) центром сертификации. Certificate Transparency призван стать защитой от подобного рода угроз, сделав процедуру выдачи SSL сертификатов открытой и прозрачной для всех.
В нашем случае проблема в том, что браузеры игнорируют заголовок Expect-CT для локальных сертификатов, и проверка на certificate transparency просто не производится при включенном AdGuard. Для того, чтобы получить тот же уровень защиты, мы должны самостоятельно проводить эту проверку на уровне AdGuard.
Что мы хотим сделать:
Срок реализации:
Режимы работы HTTPS-фильтрации
В ИКС HTTPS-фильтрацию можно настроить в одном из двух режимов:
В каждом из этих режимов можно добавлять исключения:
Внимание! Если пользователь указан в исключении, у него обязательно должен быть прописан IP-адрес. По логину исключение работать не будет.
Расшифровывать трафик с подменой сертификата
В данном режиме весь проходящий трафик будет расшифровываться при помощи подмены сертификата. Подмена сертификата позволит прокси-серверу работать с полными URL-адресами страниц, к которым обращается пользователь, и полным содержимым этих страниц.
Этот режим следует выбрать, например, если вы планируете использовать контент-фильтр (фильтрацию по словам на странице). Тогда прокси-сервер ИКС сможет обрабатывать слова на страницах сайтов и сравнивать их с запрещенными.
После этого правила фильтрации начнут работать, однако в связи с подменой сертификата при запросе браузер пользователя будет сообщать о некорректном сертификате. Это ожидаемое поведение браузера, так как для подмены сертификата используется самоподписной сертификат, созданный при настройке HTTPS-фильтрации (пункт 2). Чтобы исключить данное предупреждение, выполните следующие действия:
1) дважды нажмите левой кнопкой мыши на сертификат;
2) нажмите кнопку «Установить сертификат. » — откроется мастер импорта сертификата;
3) в качестве места хранения сертификата выберите «Поместить все сертификаты в следующее хранилище», нажмите кнопку «Обзор. » и выберите «Доверенные корневые центры сертификации». Сертификат будет импортирован в глобальное хранилище системы и будет работать для тех браузеров, которые используют системные хранилища сертификатов (например, Internet Explorer, Chrome, Yandex).
Если браузер использует собственное хранилище (например, Firefox), то импорт сертификата необходимо произвести непосредственно в настройках данного браузера. Рассмотрим, как это сделать, на примере Mozilla Firefox:
1) откройте настройки браузера и перейдите в Дополнительные > Сертификаты > Просмотр сертификатов > Центры сертификации > Импортировать;
2) нажмите «Импортировать. » и выберите сертификат, скачанный с ИКС;
3) установите флаги «Доверять при идентификации веб-сайтов» и «Доверять при идентификации пользователей электронной почты»;
4) нажмите «Ок».
Фильтровать без подмены сертификата
В данном режиме установка сертификата в систему конечного пользователя не требуется. Однако ИКС будет знать только о домене, к которому обращается пользователь. Информация о конкретной странице, к которой обращается пользователь, и о содержимом данной страницы не будет доступна прокси-серверу ИКС.
Также в данном режиме работы можно настроить отдельные домены либо отдельных пользователей на полную расшифровку в поле «Расшифровать трафик с подменой сертификата для». В этом случае импортировать сертификат нужно либо для тех пользователей, которые указаны в поле, либо для всех пользователей, которые будут обращаться к прописанному доменному имени (например, vk.com ).
Внимание! Данный режим не подходит для настройки контентной фильтрации, так как она осуществляется по словам на странице, а в этом режиме ИКС не обрабатывает содержимое страниц и, соответственно, не сможет произвести блокировку.
AdBlock: особенности работы и продвинутые методы блокировки
Привет, Хабр! Часто по работе сталкиваюсь с вопросами вроде: как же работают блокировщики рекламы?
Хочу поделиться с вами некоторыми интересными, но порой сомнительными решениями, которые можно встретить в работе расширений, и обсудить в комментариях работу блокировщиков.
В своей статье расскажу о самых интересных и необычных решениях по блокировке рекламы с помощью JavaScript’a и не только. Также посмотрим на новые направления разработки блокировщиков и куда все движется.
Статья будет полезна прежде всего веб-разработчикам, так как пользователи с блокировщиками могут столкнуться с проблемами на их проектах. А также тем, кто в данный момент ими пользуется, для более глубокого понимания работы.
Рынок блокировщиков
На данный момент самыми популярными решениями являются различные браузерные расширения, однако ими все не заканчивается. На картинке указаны основные, хотя, например, в Chrome Web Store можно найти еще сотню других.
В некоторых мобильных браузерах есть специальные опции для включения блокировки (например, Opera), некоторые изначально работают как браузеры – со встроенным блокировщиком рекламы и отслеживания (AdBlock Browser, Brave).
В некоторых мобильных браузерах есть специальные опции для включения блокировки (например, Opera), некоторые изначально работают как браузеры – со встроенным блокировщиком рекламы и отслеживания (AdBlock Browser, Brave).
Отдельным списком можно выделить следующие инструменты:
VPN серверы с функцией блокировки рекламы;
DNS серверы с блокировкой рекламы
мобильные операторы с услугами блокировки рекламы.
Браузерные расширения
Многие представляют, как работают браузерные расширения, у блокировщиков тот же принцип. Подробнее почитать про устройство расширений под Chrome.
Перейдем к общей схеме работы расширения на примере AdBlock Plus.
Почти все блокировщики основаны на списках фильтрации, это такие файлы https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt, которые содержат список правил для фильтрации контента на определенных сайтах. Также в них есть общая часть, которая относится к фильтрации на всех ресурсах, так что вы ненароком тоже можете случайно попасть под фильтрацию одного из общих фильтров (которые работают на всех сайтах).
Например, вы создали на своем сайте какой-то
На основе этих файлов и происходит вся фильтрация контента сайта. Изменениями в этих списках занимаются конкретные форумы и модераторы (например: RuAdList https://forums.lanik.us/viewforum.php?f=102), некоторые можно найти и на github’e https://github.com/abp-filters/abp-filters-anti-cv.
Как читать/писать фильтры
Для общего понимания стоит разобрать, как выглядят типичные фильтры. Слева указывается блокируемый адрес, а справа, после разделителя, идут особые параметры: какие запросы блокировать и на каком домене это нужно делать. Подробнее можно почитать здесь.
С помощью подобных фильтров можно заблокировать почти любой, загружаемый на странице ресурс. Среди которых могут быть:
Блокировка с помощью JavaScript
Давайте рассмотрим на примере:
Фильтр на примере: localhost#$#hide-if-shadow-contains /MyAds/
На живом примере мы видим, что блокировщик успешно справился с задачей блокировки закрытого Shadow DOM на основании его внутреннего контента.
Фильтр: localhost#$#abort-on-property-read Object.prototype.testMethod
В данном примере рассмотрено создание типичного класса, который прогнали, например, через Babel.
X-Path
Возможно, некоторые уже сталкивались с языком запросов X-Path, но немногие знают, что его можно применять в вебе (зачастую он используется парсерами страниц). Тут отличный справочник, если кого-то заинтересовало.
В браузере также существует особое API для исполнения следующих выражений, что позволяет блокировщикам избирательнее выбирать элементы для блокировки.
Perceptual Image Hash
Еще одно интересное направление работы – это работа с изображениями, так как во многих рекламных объявлениях можно встретить одинаковые картинки с логотипом рекламной сети, по этим картинкам зачастую можно найти расположение всего объявления и целиком заблокировать.
Алгоритм примерно следующий:
Нормализуем размер картинки под общий пресет;
Разделяем картинку на I1, I2 … In не перекрывающихся блоков, где N – кол-во блоков, равных длине финальной hash bit строки;
Зашифровываем I1, … In блоки с помощью секретного ключа K в новую последовательность блоков;
Для каждого этого блока вычисляем его среднее M1….Mn, а затем вычисляем общее среднее Md = median(Mi), где I = 1…N;
Создаем 64-битный хэш на основании того, находится значение выше или ниже среднего (подробнее).
Давайте рассмотрим на примере этих двух изображений:
Img#1
Img#2
Если мы сравним 2 хэша, получившиеся из двух изображений, то увидим, что дистанция Хэмминга между этими хэшами равна 3, что означает схожесть изображений.
Часть кода фильтра hide-if-contains-image-hash из AdBlock Plus.
На этом примере мы можем видеть, что блокировщик проходится по всем картинкам и ищет среди них похожие на рекламу, что позволит найти похожую даже если по url об этом догадаться нельзя.
DNS фильтрация
Для начала напомню, что DNS позволяет нам, кроме всего прочего, по имени хоста получить IP адрес.
DNS фильтрация работает в том случае, если вы укажете в качестве DNS адресов для вашего устройства, например адреса AdGuard’a. Далее AdGuard по своему усмотрению предоставляет для обычных доменных имен их реальные IP адреса, а для рекламных – IP адреса, которые возвращают заглушки.
Минус в том, что они пропускают все или ничего, зато DNS серверы можно установить прямо на свой роутер и убрать часть рекламы со всех устройств (или получить проблемы со всеми сайтами/приложениями, которые начнут некорректно работать). Ну и конечно никто не может гарантировать, что данные ваших посещений никто не сольет.
HTTPS фильтрация
Итак, есть еще один тип блокирования, когда вы устанавливаете к себе на устройство специальное приложение (например AdGuard). И взамен получаете рутовый сертификат AdGuard к себе на устройство, который позволяет перехватывать ваш HTTPS трафик еще до того, как он попал в браузер и вырезать оттуда рекламу. (А может и не только рекламу).
Как по мне, способ очень экстремальный и экстравагантный, доверять кому-то весь свой трафик я не готов.
Нейронные сети для блокирования рекламы GCNN
Ну и конечно куда уж в 2021 году без Machine Learning в вебе. Сразу оговорюсь, что разбираюсь в теме на уровне новичка и эксперты в комментариях, надеюсь, меня если что поправят.
Итак, в качестве входных данных для нейронной сети выступает часть DOM модели исходного веб-сайта.
Например возьмем следующую простую DOM структуру.
Начнем с верхнего HTML элемента и вычислим все его соседние элементы. В последствии необходимо будет пройтись по всем элементам.
Затем нам необходимо составить вектор фич для каждого элемента. В качестве примера можно использовать любые свойства элементов. Например, мы обозначили, что элемент с типом div обозначается числом 29 и т.д. Тоже самое повторяет с названиями атрибутов у элементов, возможно, их размерами и т.д.
Затем с помощью любого подходящего алгоритма, например, вычисление среднего или поиск максимума, получаем среднее по выборке соседних векторов фич элементов.
После этого полученные значения попадают в обученную нейронную сеть, которая на входе имеет количество нейронов, соответствующее размерности вектора после получения среднего. Может иметь любое количество скрытых слоев, и на выходе иметь несколько коэффициентов, которые нам пока ни о чем не говорят.
Но конечно же, вся мощь открывается после того, как мы создадим несколько подобных слоев. Это необходимо, чтобы наша нейронная сеть ориентировалась не только на первых соседей заданного элемента, но и смотрела глубже, в зависимости от того, как мы хотим ее обучить.
На втором слое в нашем примере, будет происходить все то же самое, за исключением того, что входом для сети будут коэффициенты, полученные на первом слое.
В конце концов, мы должны получить какой-то конечный коэффициент, позволяющий нам говорить о наличие или отсутствии в данном элементе рекламы.
AdGraph
AdGraph – это такой необычный набор патчей для Chromium в движок Blink и JavaScript движок V8, которые позволяют на основе загружаемых ресурсов выстраивать граф зависимостей на основе трех слоев HTML, HTTP и JavaScript.
Общая схема работа
Затем AdGraph, с помощью натренированной нейронной сети Random Forest, классифицирует граф. В качестве исходной информации для обучения были использованы фильтры блокировки, о которых мы говорили ранее.
Подробнее можно посмотреть тут:
Вместо итогов
Пользоваться блокировщиками или нет – личное дело каждого пользователя. Про себя скажу, что не пользовался и не пользуюсь, а сталкиваюсь с этим в основном по работе в департаменте рекламных технологий.
Для всех тех, кто пользуется, считаю полезным знать и понимать как ваши инструменты работают. Для остальной части аудитории если вы занимаетесь веб-разработкой, то вы скорее всего не раз и не два столкнетесь с проблемами пользователей на ваших проектах при включенном блокировщике рекламы.