Выявление реальных IP-адресов пользователей сети «Tor» через искажённый кэш

Автор оригинала: Piotr Duszyński
  • Перевод
image

Данная статья описывает пример практического применения атаки «искажение кэша через 301 редирект», которая может быть использована выходным узлом сети «Tor» с вредоносным кодом для выявления реальных IP-адресов выбранных пользователей.

Сценарий атаки


Сценарий атаки выглядит следующим образом:


  • Клиент: Chrome Canary (76.0.3796.0)
  • Реальный IP-адрес клиента: 5.60.164.177
  • Параметр отслеживания клиента: 6b48c94a-cf58-452c-bc50-96bace981b27
  • IP-адрес выходного узла сети «Tor»: 51.38.150.126
  • Transparent Reverse Proxy: tor.modlishka.io (Modlishka — updated code to be released.)

Примечание: В данном сценарии браузер «Chrome» был настроен через сетевой протокол SOCKS5 для использования сети «Tor». Канал сети «Tor» был настроен на конкретный тестовый выходной узел: ‘51.38.150.126’. Это также является проверкой правильности концепции и многие настройки могут быть оптимизированы в дальнейшем …

В случае с зловредным выходным узлом сети «Tor», весь трафик перенаправляется через прокси-сервер «Modlishka»:

iptables -A OUTPUT -p tcp -m tcp --dport 80 -j DNAT --to-destination ip_address:80
iptables -A FORWARD -j ACCEPT


Описание сценария атаки


Предположения:

  • Браузерное приложение (в данном случае стандартный браузер), которое будет использовать подключение к сети «Tor» и, наконец, подключение пройдёт через вредоносный выходной узел.
  • Вредоносный выходной узел сети «Tor», который перехватывает и искажает кэш всего HTTP-трафика (код ответа «HTTP 301»), у которого отсутствует криптографический протокол безопасности транспортного уровня («TLS»).



Давайте рассмотрим следующие шаги сценария атаки:

  1. Пользователь подключается к интернету через сеть «Tor» путём настройки браузера для использование сетевого протокола SOCKS5 системы «Tor», или же настроив так, чтобы весь трафик операционной системы перенаправлялся через сеть «Tor».
  2. Пользователь начинает свой обычный сеанс выхода в интернет с помощью своего любимого браузера, где обычно очень много HTTP-трафика без протокола безопасности «TLS» отправляется через туннель сети «Tor».
  3. Зловредный выходной узел сети «Tor» перехватывает запросы и отвечает переадресацией каждого с помощью кода ответа «HTTP 301». Эти перенаправления будут постоянно кэшироваться браузером и будут отправлять на URL-адрес для отслеживания с назначенным идентификатором Tor-клиента. URL-адрес для отслеживания может быть создан следующим способом: user-identifier.evil.tld, где ‘evil.tld’ будет собирать всю информацию об IP-адресе источника и перенаправлять пользователей на первоначально запрашиваемые хосты … или, как альтернатива, на прозрачный обратный прокси-сервер, который попробует перехватить весь последующий поток HTTP-трафика клиентов. Кроме того, поскольку есть возможность автоматического искажения кэша для большинства самых популярных доменов (как описано в предыдущей статье), напр. топ 100 сайтов по статистике компании «Alexa», злоумышленник максимизирует свои шансы на выявление настоящих IP-адресов.
  4. После выхода из сессии сети «Tor», пользователь переключится на свою обычную сеть.
  5. Как только пользователь введёт в адресную строку адрес одного из предыдущих искажённых доменов, (например, «google.com») браузер использует кэш для внутреннего перенаправления на URL отслеживания с контекстным идентификатором выходного узла.
  6. Выходной узел сможет сопоставить ранее перехваченный HTTP-запрос с реальным IP-адресом пользователя с помощью информации, полученной с внешнего хоста, который использовал URL отслеживания с идентификатором пользователя. Хост «evil.tld» будет обладать информацией обо всех IP-адресах, которые были использованы для доступа к URL отслеживания.

Очевидно, что данный способ позволяет эффективно сопоставлять выбранные HTTP-запросы с IP-адресами клиента с помощью выходного узла сети «Tor». Происходит это потому, что ранее сгенерированная URL для отслеживания будет запрошена клиентом через туннель сети «Tor», а потом снова, как только произойдёт подключение через стандартное соединение интернет-провайдера. Всё из-за искажённого кода в кэше.

Другой подход может быть основан на внедрении изменённого кода JavaScript со встроенными URL для отслеживания в соответствующие отклики, в которых отсутствует протокол безопасности «TLS», и изменением нужных управляющих кэш-заголовков (напр. ‘Cache-Control: max-age=31536000’). Тем не менее, данный подход не очень эффективен.

Отслеживание пользователей через стандартные cookie-файлы различных веб-приложений тоже возможно, но очень непросто заставить клиента дважды посетить домен, который находится под контролем злоумышленника: сначала при соединении через выходной узел сети «Tor», а затем снова после переключения на стандартное соединение Интернет-провайдера.

Выводы


Факт в том, что у злоумышленника есть возможность добиться определённых изменений в кэше браузера с помощью внедрения искажённого кода через зловредные выходные узлы и выявить реальные IP-адреса пользователей сети «Tor», которые отправляют HTTP-трафик без протокола безопасности TLS.

Кроме того, искажение значительного количества популярных доменных имён увеличит вероятность получения обратный отклик HTTP-запроса (с назначенным идентификатором пользователя), который позволит определить реальный IP-адрес пользователя. Можно попытаться перехватить домен у некоторых браузерных клиентов и надеяться, что опечатка в доменном имени не будет замечена пользователем, или же не будет отображена (напр. мобильное приложение «WebViews»).

Способы уменьшения риска:

  • При подключении к интернету через сеть «Tor» убедитесь, что отключён весь трафик, который не использует протокол безопасности «TLS». Пример браузерных плагинов, которые могут быть использованы: для браузеров Firefox” и “Chrome”.
  • Кроме того, всегда используйте «приватный» режим браузера при подключении к интернету через сеть «Tor».
  • Не перенаправляйте трафик всей вашей операционной системы через сеть «Tor» до тех пор, пока не убедитесь, что весь исходящий трафик использует протокол безопасности «TLS» …
  • Для просмотра веб-страниц, по возможности, всегда используйте последнюю версию «Tor» браузера.



На DEDIC.SH доступны новейшие двухпроцессорные конфигурации выделенных серверов с процессорами Intel Scalable 2019 года:

  • 2x Xeon Silver 4214 — суммарно 24 ядра
  • 2x Xeon Gold 5218 — суммарно 32 ядра
  • 2x Xeon Gold 6240 — конфигурация с 36 ядрами.

Стоимость сервера с двумя Xeon Silver 4214 — от 15210 руб/мес
Так же мы готовы собрать для Вас любую конфигурациюнапишите нам!

Если большие мощности выделенного сервера не требуются — VDS от 150 руб/мес — то, что вам нужно!
VDS.SH / DEDIC.SH
0,00
VDS и серверы нужно покупать только у нас :)
Поделиться публикацией

Комментарии 15

    +16
    Может правильной рекомендацией будет всегда использовать отдельный браузер для доступа через Tor, к примеру, Tor Browser?
      +2
      Ещё лучше даже отдельную ОС и для совсем уж параноиков — отдельный лэптоп, со своим usb-модемом, с которого в клирнет не ходить вообще.
        +2
        Еще важный момент — лэптоп должен храниться и использоваться в другой части города, вдали от места постоянного проживания/работы и т.п. Мобильник и другие устройства нельзя брать с собой во время поездок для работы с данным лэптопом, во избежание отслеживания их близкого расположения с usb-модемом по базовым станциям.
          +6
          И когда будете направляться к ТОР-лэптопу, необходимо отдавать свой мобильник, каждый раз разным знакомым, которые в это время будут перемещаться по городу рандомными маршрутами — потому что стабильно недвижимый мобильник в момент выхода в ТОР подозреваемого — очень хорошо коррелируют и сразу выявляются.
          И хорошо бы, что бы эти знакомые были готовы подтвердить ваше алиби.
            +3
            а еще эти знакомые должны с мобильника делать фотографии котиков в инстаграммы с привязкой к геоданным.
              –1
              We need to go deeper. Мобильник — нокиа-фонарик, либо в принципе не использовать мобильную связь.
              0

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

        0
        Прошу прощения что в комментах, но у вас продублированы три абзаца. С «Очевидно, что» и до «соединение Интернет-провайдера.».
          0

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

            0
            Спасибо, исправили.
            +4
            • Боян. Tor Project уже много лет крайне не советует использовать основной браузер для прогулок в торе, т.к. крупный наблюдатель, вроде гугла с его аналитикой, свяжет все действия с реального IP / при работе через Tor. Возможность раскрыть пользователя с exit-ноды — мелочь на этом фоне.


            • Чтобы сходить в тор через дефолтный браузер нужно приложить немного дополнительных усилилий, т.к. дефолтная поставка — это как раз Tor Browser Bundle.


            • Про http-трафик тоже спорно, браузеры по дефолту на https идут сейчас и доля plain-http достаточно мала / существует за счёт ботов всяких, скорее всего(стата гугла, например).


              0
              чет аж гуглтранслейтом запахло…
              Это также является проверкой правильности концепции и многие настройки могут быть оптимизированы в дальнейшем …
              … увеличит вероятность получения обратный отклик HTTP-запроса ...
                0
                Пример браузерных плагинов, которые могут быть использованы: для браузеров Firefox” и “Chrome”.
                +1
                Автор сам создал проблему, и сам ее героически решил. Браузер Гугл Хром нельзя использовать для решения любых задач, связанных с сохранением конфиденциальности пользователя. Впрочем, и ФФ с дефолтными настройками тоже, для этого и пилится тор-браузер.
                  0
                  Абсолютно надуманная проблема. И уж точно не связанная с Tor. Вроде же очевидно, что не стоит использовать одно окружение и для личного, и для грязных дел.
                  Автор на видео даже режим инкогнито не передернул, и зашел с теми же кукисами.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое