Главная » Приколы » Как TELE2 массово внедряет свои скрипты на сайты через CDN

Как TELE2 массово внедряет свои скрипты на сайты через CDN

Дело было вечером. Предыстория. Бывает! Будучи веб-программистом на удалёнке я в пятницу решил рвануть на природу пораньше (с позволения начальства, естественно), но работа застала прямо в дороге - срочно надо кое-чего сделать. Работа не волк, как говорится, но вместо работы меня сегодня ждали охренительные истории.
По приезде на место расчехлил ноутбук, подрубился к мобильному интернету TELE2 с телефона и приступил.

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

Что я вижу?
В общем, захожу я на локальный проект в виртуальной машине, открываю консоль ииии....

Как TELE2 массово внедряет свои скрипты на сайты через CDN Теле2, Вирус, Мошенничество, Web, Длиннопост

Чегоблядь.jpg

Э? На локальном проекте в виртуалке была попытка загрузки малвари через document.write.

А теперь для тех, кто не в теме, подробно описываю.

А ещё написано, что скрипт, который страница загрузила с официального хранилища Google (что важно), и который должен был содержать известную всем веб-разработчикам библиотеку JQuery, каким-то образом пытался писать код напрямую в страницу - а это уже давно известный признак вирусни, которая пытается прописать в страницу левый скрипт, и браузером выдаётся предупреждение в таком случае. Первая, жёлтая строка - это предупреждение от браузера, что здесь неприятно пахнет. А тут - нате... Более того, jquery такое не делал никогда и вообще не должен.

"А он есть" (с). Следом красной строкой нарисована ошибка загрузки некоего скрипта, адрес которого, во-первых, НУ УЖ ОЧЕНЬ СОМНИТЕЛЬНЫЙ, а во-вторых, я ТОЧНО знаю, что у меня такой скрипт нигде грузиться не должен. Спасибо AdBlock, что не дал этому говну проникнуть на мой компьютер, отчего и ошибка, а не обманчивая тишина.

Далее я захожу в заголовочную часть страницы и вижу: вот он, красавчик!

Как TELE2 массово внедряет свои скрипты на сайты через CDN Теле2, Вирус, Мошенничество, Web, Длиннопост

Вопрос: откуда оно тут взялось? Я точно этого не добавлял.

2. Я решил вручную загрузить библиотеку по той же  ссылке, что на странице http://ajax.googleapis.com/ajax/libs/jquery/2. (обратите внимание, что используется http вместо https). 4/jquery.min... Я должен был получить сжатый код библиотеки, а получил странное...

Как TELE2 массово внедряет свои скрипты на сайты через CDN Теле2, Вирус, Мошенничество, Web, Длиннопост

Чегоблядь2.jpg

Для непосвящённых: вместо нужной мне библиотеки здесь какой-то подосланный скрипт, который упал мне с официального репозитория гугла. На часах второй час ночи и я подумал, что брежу. Я зачем-то ещё пару раз обновил страницу, и в один раз библиотека загрузилась, после чего признаки вируса исчезли вообще, сколько бы я не обновлял страницу. Ошибки в адресе нет.

Адрес - один, результата - два. Вот тут я вообще выпал, господа. Дела! Причём, в статическом CDN. Кстати, загружаемый вирусный скрипт жутко обфусцирован (запутан) и пока непонятно, что делает, но это вопрос времени. При ближайшем рассмотрении оказалось, что скрипт делает интересное: он сначала грузит непрошеный скрипт по адресу http://p.tlrtb.com/ad/base.js, а потом уже грузит нужную библиотеку, чтобы не возникало ошибок!

Скрипт, уже проникший на сайт:

Как TELE2 массово внедряет свои скрипты на сайты через CDN Теле2, Вирус, Мошенничество, Web, Длиннопост

То есть зараза отдаётся с какой-то вероятностью. Я лихорадочно жму F5 миллиард раз и ИНОГДА получаю в ответ вот такой незатейливый скрипт.

125. Наличие вируса на компьютере или расширения исключено - адрес 74. 95 числится за Google. 131. Пффф. Гугл внедряет скрпты слежки? Кто тогда? Они точно могли изобрести что-то более элегантное, чем скрипт, который палится их же браузером.

Прелесть https в том, что трафик, проходящий по такому соединению, сложно шифруется и исключает возможность атаки MITM - Man In The Middle (человек посередине). Помните, я говорил про HTTP и HTTPS? Эти "все" могут не только читать, но и изменять данные, которые вы отправляете и получаете. Если использовать незащищённый протокол HTTP, то все пакеты будут видны всем, через кого будет проходить трафик. Правильно, через провайдера сотовой связи, в моём случае - TELE2. А через кого у нас проходит трафик, выходя из мобилки, к которой я подключен? он же локальный), отсюда и отсутствие https на загрузке статики - и вот тут-то и закралась ошибка. Штука в том, что локальный проект не имеет шифрования (а нахой?

Зачем пихать скрипт прямиком на страницу? Теле2 решили поступить умно и довольно хитро. Они смекнули, что многие разработчики не уделяют должного внимания безопаности при загрузке статики и указывают ссылку с HTTP, вместо HTTPS. Это сложно, да ещё и можно сайт клиенту сломать и попалиться на этом довольно быстро. И что печально, если у вас не стоит adblock, ваш браузер просто напишет вам предупреждение, которое вы не увидите, потому что оно в консоли для разработчиков. Так что теперь можно взять самую популярную js-библиотеку для сайтов, которая воткнута практически в каждый сайт в интернете, и по ссылкам с публичных CDN выдавать вместо нужного скрипта подкидыша, который сначала затянет на сайт вредонос, а потом уже - нужный скрипт.

Итог: 100 из 100 запросов вернули библиотеку, в то время как тот же запрос с локальной машины регулярно отдаёт вирусный скрипт. В подтверждение своей теории я зашёл удалённо на свой домашний сервер, где подключен другой провайдер и сделал оттуда curl-запрос на этот адрес по обычному http. 125. Так же было выяснено, что DNS по ajax.googleapis.com может отдавать несколько разных IP (видимо, так работает балансировщик), но данный магический эффект чаще всего повторяется на 74. 95. 131. Возможно, они взяли первый попавшийся.

Чем это грозит?

Скорее всего, данный скрипт предназначен для показа дополнительной рекламы и парсинга сайта, на который вы зашли, чтобы вычленить из него ключевые слова и сформировать для вас более таргетированную рекламу. Ничем хорошим. Но даже если вы отправляете данные формы по зашифрованному каналу (через ajax, например), это не спасёт вас от скрипта, который УЖЕ на вашей странице. Однако используемый для этого механизм может применяться для внедрения любого скрипта вплоть до полной слежки: всё, что вы вводите, читаете, отправляете, загружаете, любые символы и нажатия клавиш, даже движения мыши.

Адблок не спасет. Достоверно известно, что пчолайн давно делает то же самое - только они суют рекламу прямиком на страницу, насколько я знаю.

Что делать?

РАЗРАБОТЧИКАМ: HTTPS, HTTPS, HTTPS! 1. Если сертификата по каким-то причинам нет и вы грузите статику с CDN - грузите по HTTPS! Ставьте на свои сайты сертификаты. Ставьте Adblock. Забудьте про http в статике - это прямой путь подарить клиенту малварь от провайдера.
2. Иногда - нет. Часто спасет.

Не игнорируйте предупреждения браузера о безопасности: особенно о незащищённом соединении. 3. Не в буквальном смысле, но данные о том, что вы делаете, могут сливаться напрямую провайдеру или другим третьим лицам: введённые пароли, логины, личная информация, куки и многое другое. Если вы оказались на не защищённом сайте, помните о том, что за вами могут следить.

БДИ ЗА СВОЙ ЖЕПЬ 4.

Как TELE2 массово внедряет свои скрипты на сайты через CDN Теле2, Вирус, Мошенничество, Web, Длиннопост

Хотя, скорее я деда мороза дождусь. Всем честных провайдеров.

S. P.

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





Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*