PDA

Просмотр полной версии : В uBlock Origin добавлена защита от нового метода отслеживания, манипулирующего именами в DNS


Suicide
25.11.2019, 19:14
Пользователи uBlock Origin заметили (https://github.com/uBlockOrigin/uBlock-issues/issues/780) применение рекламными сетями и системами web-аналитики новой техники отслеживания перемещений и подстановки рекламных блоков, которая не блокируется в uBlock Origin и других дополнениях для отсеивания нежелательного контента.

Суть метода в том, что владельцы сайтов, желающие разместить код для отслеживания или показа рекламы, создают в DNS отдельный поддомен, ссылающийся на сервер рекламной сети или web-аналитики (например, создаётся CNAME-запись f7ds.liberation.fr, указывающая на сервер трекинга liberation.eulerian.net). Таким образом, рекламный код формально загружается с того же первичного домена, что и сайт, и поэтому не подвергается блокировке. Имя для поддомена выбирается в форме случайного идентификатора, что затрудняет блокировку по маске, так как связываемый с рекламной сетью поддомен трудно отличить от поддоменов для загрузки других локальных ресурсов страницы.

Разработчик uBlock Origin предложил (https://github.com/uBlockOrigin/uBlock-issues/issues/780#issuecomment-555643036) использовать резолвинг (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/dns) имени в DNS для определения связанного через CNAME хоста. Метод реализован (https://github.com/gorhill/uBlock/releases) в выпуске uBlock Origin 1.24.2 (https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/) для Firefox. Для активации проверки в расширенных настройках следует установить значение cnameAliasList в "*", в этом случае все проверки по чёрным спискам будут дублироваться и для имён, определяемых через CNAME. При установке обновления потребуется предоставить полномочия для получения сведений из DNS.

https://www.opennet.ru/opennews/pics_base/0_1574674455.png (https://user-images.githubusercontent.com/21290713/69175752-5e7cf180-0b2a-11ea-8ce7-204976ec9c20.png)

Для Chrome проверка CNAME не может быть добавлена, так как API dns.resolve() (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/dns) доступен только для дополнений в Firefox и не поддерживается в Chrome. С точки зрения производительности определение CNAME не должно привести к появлению дополнительных накладных расходов, кроме трат процессорных ресурсов на повторное применение правил для другого имени, так как при обращении к ресурсу браузер уже выполнил резолвинг и значение должно быть прокешировано. Метод защиты может быть обойдён при помощи прямой привязки имени к IP без применения CNAME, но такой подход усложняет сопровождение (в случае смены IP-адреса рекламной сети нужно будет добиться изменения данных на всех DNS-серверах издателей) и может быть обойдён через создание чёрного списка IP-адресов трекеров.

25.11.2019

http://www.opennet.ru/opennews/art.shtml?num=51928​