НОВОСТИ Рекламные баннеры Ростелекома и как с ними бороться

BDFINFO2.0
Оффлайн
Регистрация
14.05.16
Сообщения
11.398
Реакции
501
Репутация
0
tfgsvevdniakse3ighqxm8mfdt4.jpeg


Многим уже известно, что . Защититься от их появления на своём сайте можно переводом его на HTTPS. Но что делать, если у вас нет такой возможности или для вас это слишком трудоёмко? Я провёл своё небольшое исследование и хочу поделиться простым и пока ещё эффективным способом против этой заразы.

На Хабре уже были расследования на эту тему и я опирался на них:


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

Для исследования нужен сайт работающий по протоколу HTTP и содержащий JS файлы. В качестве примера я взял сайт . С некоторой периодичностью на нём можно наблюдать баннеры.

lhfk2fknn2m77txskd39umbmoea.jpeg


Я написал специальную . Она делает запрос по определённому URL через равные промежутки времени и сравнивает полученное содержание с предыдущим. Если содержание ответа отличается — оно сохраняется для изучения. При анализе запросов к небольшому скрипту обнаружилось, что всегда возвращается одинаковое содержание — редиректа нет.

jnlg1dha5akq_goqg_b8m1udp5a.png


Тогда каким образом появляется баннер? При изучении исходного кода сайта обнаружился ещё один JS файл, который загружался по HTTP, но с другого хоста: . При анализе этого запроса периодически наблюдаем получение содержания вредоносного файла.

dvudznxszrrg9y1m_snwkvbomna.png


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

Скорее всего, существует некий «белый список» хостов, JS редирект для которых запрещён. Например, сайт . Несмотря на то, что он работает через HTTP протокол, баннеры на нём не появляются. А вот на сайте Музеи Кирова баннер присутствует, хотя редиректа для его скриптов и нет, но через редирект скрипта с другого хоста в него внедряется баннер. Чтоб устранить уязвимость в данном случае, скорее всего, достаточно запрашивать файл по HTTPS протоколу, т.е. просто заменить URL скрипта на .

Но что делать, если ваш сайт не в «белом списке» и нужно использовать собственные скрипты? Я обнаружил простой способ избежать JS редиректа. Достаточно в URL скрипта добавить произвольный параметр: и редирект выполняться не будет.

ttzuvamwqxv6uagryx6rljnm6k0.png


Вероятно, это сделано, чтоб редирект не нарушал работу сложных динамических JS сайтов, либо нужные файлы просто определяются по расширению .js. Но в любом случае, достаточно дописать к URL-ам скриптов на страницах вашего сайта случайные параметры и рекламные баннеры Ростелекома на нём появляться не будут.
 
Сверху Снизу