Противостояние рекламы и рекламных фильтров (как их ещё называют: адблокеры или адблоки — от англ. adblock) всегда считалось сражением без конца. Понятно, почему: с виду это классическое противостояние щита и меча, снаряда и брони: одни придумывают изощрённую защиту, вторые — всё более эффективные способы её преодолеть. Однако озвученный этой весной новый подход к обнаружению и блокировке рекламы заставляет переосмыслить перспективу.
Если коротко, оказалось, что на стороне защиты — принципиальное преимущество, и рано или поздно, оно будет реализовано и покажет себя, поставив точку в (якобы) бесконечной борьбе. Прототипы уже написаны — и они демонстрируют маленькое чудо, блокируя то, что раньше блокировать не удавалось. Впрочем, давайте по порядку.
Как работает классический рекламный фильтр? Он анализирует код веб-страницы (причём чаще оформление, чем сам контент) и вычищает из него то, что совпадает с шаблоном. Популярный AdBlock Plus делает именно это. А шаблоны часто ещё и выносятся в открытые списки, которые составляют энтузиасты и вообще все заинтересованные в Сети без рекламы (см., например, список EasyList). Ведь реклама нынче не просто отвлекает, но и жрёт процессорное время, и столь ценный заряд батареи на мобильных устройствах…
Проблема с классическим подходом ясна: существует масса способов такой блок обойти. В простейшем случае достаточно слегка изменить код рекламной вставки, чтобы он перестал совпадать с шаблоном. Кроме того, издатель, заметив адблок (страница элементарно проверяется скриптом), может «встать в позу» и потребовать фильтрацию отключить. Наконец, самый страшный вариант, используемый с прошлого года Facebook и прочими соцсетями по его примеру: сделать рекламу принципиально неотличимой от основного контента. В соцсетях это логично и просто: рекламные вставки делаются в виде постов в новостной ленте — и тут уж никакими средствами, кроме может быть искусственного интеллекта, их не обнаружишь и не удалишь!
К счастью, как оказалось, есть зацепка, возвращающая контроль над ситуацией в руки пользователя/потребителя. Только она не техническая, а правовая!
Дело в том, что во всех развитых странах (и в России тоже) закон требует, чтобы рекламные материалы публиковались с пометкой, которая явно выдаёт их рекламную суть. Это может быть иконка а-ля AdChoices, текст «Sponsored content» или «На правах рекламы», это может быть выделение цветом и т.п. Именно эта мелочь позволяет утверждать, что над рекламой будет одержана полная победа.
Классическому адблоку, правда, такая метка работу не облегчает: она ведь не всегда даже в форме текста, может быть изображением, и даже обнаружив метку, выделить рекламный блок только анализом кода всё равно сложно. Но почему не применить методы машинного зрения?
Вот тут мы приходим к научной работе, черновик которой только что опубликован группой исследователей из Принстона и Стэнфорда. Вообще-то посвящена она не какому-то одному методу блокировки рекламы, а математическому доказательству того, что адблок имеет ряд принципиальных преимуществ и в конце концов победит. Но в качестве иллюстрации авторы демонстрируют несколько новаторских методов, эти преимущества реализующих. Обнаружение рекламных вставок с помощью машинного зрения — один из них.
Такой фильтр устроен просто. Вместо того, чтобы рыться в HTML-коде, браузерный плагин/расширение смотрит на веб-страницу так же, как это делает человек, то есть оценивает её внешний вид на экране. И — отыскивает блоки, помеченные (как того требует закон) как реклама. После этого остаётся только их удалить. Действующий прототип, в виде расширения для браузера Chrome, распознающий рекламу, в частности, на Facebook, уже написан: можете установить его отсюда.
Чтобы сохранить беспристрастность, авторы — учёные всё-таки, а не бизнесмены — пока не стали рекламу удалять, ограничились её тушёвкой. Но и в таком виде это уже чудо: фейсбуковскую рекламу не обнаруживает больше ни один фильтр. Но самое важное, что издатель, размещающий рекламу, уже ничего не в силах противопоставить: он не вправе удалить пометку «На правах рекламы» (или, как в данном случае, «Рекомендованная публикация»), ибо тем самым нарушит закон. Да, он по-прежнему в силах распознать, что реклама была удалена, и потребовать у пользователя фильтр отключить. Но тогда в ход идёт второе принципиальное преимущество адблоков — уже техническое.
Суть в том, что у браузерных плагинов/расширений и отображаемого браузером контента по определению разные права. Контент (HTML-код, скрипты) ограничен в правах — и всегда таким останется, ибо доверие к нему ниже. Это, в свою очередь, открывает возможность для «невидимой» фильтрации рекламы. Несколько упрощая, схема следующая. Адблок делает копию веб-страницы, которую модифицирует (удаляет из неё рекламу), а потом показывает пользователю. А вот скрипты на странице работают с её оригиналом, который остаётся неизменным и пользователю не виден. Действующий прототип авторами также уже написан и его исходник лежит на GitHub.
Суммируя это всё, получаем картину поистине апокалиптическую: Сеть без рекламы! Тем, кто помнит интернет второй половины 90-х, такое представить легче. Да вот незадача: тогда Сеть была интересной игрушкой, в которую всем хотелось поиграть, но от которой ничего не требовали. Сегодня такой подход неприменим. Идеальный адблок ударит по всем: и по магазинам, которые без рекламы не смогут продавать достаточно, и по независимым СМИ, которые потеряют главный источник финансирования. Для бизнеса выходом останется только платный контент. Но это, к сожалению, не полноценная замена: скакнут требования к качеству и слабые игроки вымрут.
Выглядит пугающе, но… взгляните на это глазами не бизнеса, а потребителей: парадоксальным образом Сеть без рекламы станет местом более приятным и эффективным! Меньшая нагрузка на цифровые устройства, меньшие объёмы информации, лучшее её качество — до сих пор о таком можно было только мечтать. Идеальный адблок подарит нам всё это. Больше того, теперь вопрос можно считать решённым: осталось только подождать, пока идеальный адблок будет реализован в коде. Или присоединиться к его разработке. Исходники всего, о чём сегодня шла речь, опубликованы под свободной лицензией (MIT). Пользуйтесь!