Внешние скрипты с доступом к вашим кредиткам и личному кабинету

в 4:23, , рубрики: javascript, безопасность в сети, безопасность платежей, информационная безопасность, не стреляйте в пианиста, Программирование
image

Скажите, как бы вы отнеслись к тому, чтобы продавцы давали возможность собрать атрибуты ваших карточек, включая номер, фамилию и CVC, какому-то постороннему лицу еще в момент оплаты, а также, без пароля, пускали посмотреть, что вы делаете в личном кабинете какого-то сервиса, кому и сколько платите, например. Сколько у вас телефонов и как вы ими пользуетесь. Т.е. вы входите под паролем, подтверждаете право владения по SMS, зашли, а там народ толпится, кто зашел просто посмотреть. Бред? Тем не менее, так делают многие сервисы. Кем бы вы себя ощущали, если бы в комнате для вскрытия банковских ячеек обнаружили камеру наблюдения? Но, не будем снова о банках, давайте обо всем последовательно.

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

Большинство вебмастеров игнорируют тот факт, что страницы с чувствительной информацией должны быть статичными по содержимому кода. Чем отличается от обычной программы вирус? Тем, что на компьютере появляется программа, написанная непонятно кем, потребляет ресурсы и выполняет непонятно какие действия в целях их авторов (позвольте вольное определение для пользы объяснения). И вот берем страницу, например, личного кабинета Билайн.

image

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

Вот, пожалуйста, небольшое видео по тому, что можно творить внешними скриптами в личном кабинете

Если кому-то интересно почитать подробности вот они, именно по Билайн

Переходим к следущему тому, что обещал в заголовке.

Проходя мимо сайта оплаты МТС, случайно обнаружил протесты баннерорезки. К счастью, скриптов не очень много. Но популярная гуглоаналитика там есть. Прямо вот на страничке, где вы вводите номера карточек и CVV.

Небольшое поясняющее видео:

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

Извините, повторюсь, есть некоторая компания (перечисленные выше, как и многие другие, не суть название). Они пишут сайт, в который закладывают секретности и какой-то функционал, где (я верю в это) личные данные никто править не должен и они наружу никуда не утекают. Для того, чтобы собирать статистику по своим пользователям, они ленятся и пользуются чужими скриптами. Т.е. браузерам пользователей они в своем сайте дают команду — зайдите на другой сервер и возьмите там скрипт для статистики. Какой этот скрипт в данный момент времени знают только владельцы другого сервера. Что он делает, владельцы сайта не могут знать. Более того, браузерам пользователя в некоторых случаях можно сказать, чтобы скрипты брались откуда-то еще и тогда количество тех, кто может их поменять, резко возрастает. Владельцы же серверов статистики и прочих вставок вообще без проблем могут собирать все, до чего дотянутся. Куда им захочется дотянуться, тоже уверен, владельцы основных сайтов вообще не представляют.

Верить в честность компании, предоставляющей аналитику, не приходится. Однако, работают в ней люди. А люди иногда нарушают закон. И хоть компания потом будет выводить за баню и расстреливать сотрудников-нарушителей, будет ли лично вам от этого легче? Сможет ли это компенсировать потери? Я принципиально не понимаю, зачем давать лишнюю возможность получить доступ к таким данным? Если кто-то очень надеется на SMS, рекомендую почитать вот эту статью и вспомнить недавнюю историю с тем, как недобросовестные работники одного из салонов дублировали симкарты оператора сотовой связи.

Мое письмо в МТС:

Добрый день, уточните, пожалуйста, зачем используются сторонние скрипты, в том числе иностранные, на страницах сайта МТС? Это же может быть угрозой сохранности информации, передаваемой между вашей компанией и пользователем.

И полученная такая вот отписка

Здравствуйте, Олег Андреевич.
Сохранность информации защищена законодательством РФ.
С уважением,
**** ******
ПАО «МТС»

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

Ну, и чтобы меня не заподозрили в предвзятости, у Мегафона все тоже самое.

два скрипта, метрики и аналитики. Меняем на свои и наслаждаемся получением данных и изменением всяких текстов.

На всякий случай поясню, каким образом можно посмотреть, подложили ли свинью в ваш личный кабинет. Например, с помощью браузера Chrome. Заходите в личный кабинет или что у вас там содержит персональные данные, нажимаете Shift-Ctrl-J, выбираете раздел Network, подраздел JS и нажимаете F5. В списке, который заполнится после этого не должно быть никаких «чужих» адресов, только принадлежащие тому ресурсу, на котором вы находитесь. Крайне желательно, конечно, чтобы в этот момент все расширения браузера были выключены. Найдете что-то интересное — пишите в комментариях, какой ресурс и что подключает в личный кабинет. Сразу не паникуйте, все же есть некоторые ограничения на доступ скриптов к содержимому. Но на сайтах веб-мастеров, которые уделяют внимание безопасности, внешние скрипты исключены в принципе. Этого правила рекомендую придерживаться всем, кто не хочет подставить людей, пользующихся сервисом. Статистика может быть собрана и собственными средствами, а наиболее точная она будет по журналам веб-сервера, где нет искажений от баннерорезок. Есть варианты JS-статистики, скрипты которой можно хранить у себя.

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

Автор: Олег Кулабухов

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js