Pull to refresh
165.3

Хакер нашёл способ следить за посетителями сайтов конкурентов

Reading time 3 min
Views 12K


Простой скрипт изменяет поведение кнопки Back в браузере и подменяет исходную поисковую выдачу, направляя пользователей на контролируемые хакером копии сайтов конкурентов

Распространённый паттерн: открыть страницу поиска в Google и щёлкать по разным результатам в поисках нужной информации. Можно открыть десятки отдельных вкладок или ходить на каждый сайт по очереди, возвращаясь затем на поисковую выдачу (кнопка Back в браузере). Специалист по поисковой оптимизации Дэн Петрович из австралийской компании Dejan Marketing придумал, как эксплуатировать этот паттерн с выгодой для себя и получить обширную статистику посещений сайтов конкурентов, лишив их трафика.

Схема показана на иллюстрации вверху. Перехватывая трафик конкурентов, специалист получает возможность:

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

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

Баг в браузерах по-прежнему не закрыт, так что этим способом могут воспользоваться и другие злоумышленники: код JavaScript для эксплуатации уязвимости опубликован в открытом доступе. Собственно, такой скрипт легко написать и самому, зная функциональность метода history.pushState() для изменения истории браузера с учётом реферера.

Дэн Петрович обращает внимание, что впервые использовал этот трюк ещё в ноябре 2012 года. Тогда вместо закрытия уязвимости компания Google вручную понизила его страницу в поисковой выдаче (ту страницу, с которой осуществлялась переадресация на поддельные результаты поиска по кнопке Back). Сейчас, когда он повторно продемонстрировал данный способ, Google поступил ещё более жёстко. Без всяких уведомлений в Search Console его сайт удалили из поискового индекса целиком.

Хакер признаёт, что в сообществе информационной безопасности принято иначе обрабатывать найденные уязвимости. О них сначала сообщают разработчикам и ожидают исправления бага, и только постфактум рассказывают о нём. Профессиональные пентестеры подробно объяснили автору, как он должен был безопасным способом продемонстрировать данную уязвимость. Но Петрович поступил иначе — он показал схему на реальных сайтах и сразу рассказал всем. Кроме того, есть большие сомнения в законности подобного хака даже без реальной слежки за пользователями, то есть в легальности создания поддельных копий чужих сайтов и перенаправлении туда пользователей. Но за прошедшие годы никто из конкурентов не подавал судебных исков, как и компания Google (которая тоже является пострадавшей из-за поддельной поисковой выдачи). Это полноценный фишинг, пусть и в демонстрационных целях и без злого умысла. То есть этичность действий SEO-специалиста под вопросом.

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

  1. Устранить возможность манипуляции кнопкой Back в Chrome.
  2. Автоматически понижать в выдаче сайты, которые используют этот трюк (а не вручную штрафовать только его лично). В данный момент Google не замечает этих скриптов: эксперимент Петровича оставался незамеченным пять лет и его сайт высоко ранжировался в поисковой выдаче.
  3. Помечать страницы с history.pushState() и подменой поисковой выдачи как «опасные».

От такого фишинга частично защищают сертификаты SSL с привязкой к организации (OV) и с расширенной проверкой (EV), но это всё равно не панацея от невнимательности пользователей.

Эксперимент Дэна Петровича показал, что сейчас около 50% пользователей не находят ничего подозрительного, когда их перенаправляют на поддельную поисковую выдачу, а потом на копию другого сайта в локальном домене. Многие пользователи не проверяют, кому принадлежит сертификат и не вчитываются в URL — они просто довольны, что в браузере есть значок защищённого соединения, хотя тот выдан на чужой домен. Злоумышленники давно выяснили, что значок защищённого соединения повышает доверие к фишинговому сайту.

Для решения этой проблемы можно предпринять ряд мер, например:

  • Требовать подтверждения пользователя применения методов history.pushState и History#replaceState.
  • Подсвечивать наиболее важную часть URL в адресной строке Chrome, как это делает Firefox.
  • Не помечать сайты HTTPS как «безопасные», потому что это вводит пользователя в заблуждение и даёт ложное чувство безопасности.
  • Изменять значок кнопки Back, если она ведёт на адрес, отличный от предыдущей страницы.




Tags:
Hubs:
+22
Comments 32
Comments Comments 32

Articles

Information

Website
www.globalsign.com
Registered
Founded
1996
Employees
501–1,000 employees
Location
Япония