3.2.5. Сокрытие IP-адреса
В основу работы сети Интернет положено семейство протоколов TCP/IP, определяющих взаимодействие между находящимися в сети компьютерами. Идентификация компьютеров осуществляется с помощью IP-адресов, каждый из которых представляет собой уникальный 32-битный идентификатор, который записывается в виде четырех десятичных чисел, например, 192.168.01.198.
Любому пользователю сети Интернет провайдер при каждом выходе в сеть выдает либо динамический IP-адрес из некоторого пула, зарегистрированного за данным провайдером, либо статический адрес, который является постоянным для данного пользователя, но также зарегистрирован за данным провайдером.
При обращении к любому ресурсу сети Интернет пользователь всегда может быть идентифицирован по своему IP-адресу. Знание IP-адреса позволяет установить географическое месторасположение посетителя с точностью до города.
Базовый принцип сокрытия и/или подмены IP-адреса заключается в организации взаимодействия пользователя с ресурсом через некоторый промежуточный ресурс, который называется прокси-сервером. Задача прокси-сервера заключается в подмене истинного адреса пользователя на адрес, закрепленный за прокси (рис. 3.2.5.1).
РИСУНОК З.2.5.1. Базовый принцип сокрытия IP-адреса
Прокси-сервер — исполняемая программа, которая постоянно опрашивает соответствующий порт, ожидая запросов по определенному протоколу. Как только установлено соединение с посетителем и получен запрос, программа транслирует этот запрос другому серверу от имени посетителя, а затем возвращает посетителю ответ.
Прокси имеет несколько вариантов реализации, но суть у них всех одна: подмена адреса посредником. При этом допускается, что посредников может быть много, и каждый раз они могут быть разными (рис. 3.2.5.2). В этом случае задача нахождения истинного адреса источника становится еще более сложной.
Однако любой proxy сервер, а тем более бесплатный, ведет лог. И спецслужба, которая располагает соответствующими правами, всегда сможет вычислить, куда заходил клиент и что делал, даже если использовать цепочки анонимных прокси-серверов в разных концах планеты.
РИСУНОК 3.2.5.2. Цепочки прокси-серверов
Способы и методы сокрытия адреса с помощью прокси могут называться по-разному. В заключение раздела приведем краткий обзор наиболее популярных технологий, построенных на основе прокси. За основу взята работа http://legalrc.biz/threads/.
VPN (Virtual Private Network — виртуальная частная сеть)
VPN-соединение похоже на подключения к обычной локальной сети.
Любое приложение (браузер) без какой-либо настройки может использовать VPN для доступа в Интернет. Когда оно обращается к удаленному ресурсу, то на компьютере создается специальный GRE (Generic Routing Encapsulation — общая инкапсуляция марш-рутов) — пакет, который в зашифрованном виде отправляется VPN-серверу. VPN-сервер пакет расшифрует и выполнит от своего IP-адреса соответствующее действие. Получив ответ от удаленного ресурса, VPN-сервер поместит его в GRE-пакет, зашифрует и в таком виде отправит обратно клиенту. Как видно, добавляется только шифрование.
OpenVPN — cвободная реализация технологии VPN, организуется на основе общепринятого в Интернете стека протоколов TCP/IP.
Отличия OpenVPN от технологией VPN:
1) адаптивное сжатие данных в соединении, с применением алгоритма компрессии LZO. порость передачи данных через OpenVPN выше, чем у VPN;
2) поддерживает гибкие методы авторизации подлинности клиента, основанные на сертификатах;
3) использование одного TCP/UDP-порта без привязки к конкретному порту (в нашем случае UDP);
4) шифрование 2048 бит реализовано через постоянный ключ.
Серверы для анонимных VPN обычно устанавливают в странах,
где наиболее лояльно относятся к взлому, спаму и т. д. (Китай, Корея и т. п.). В большинстве случаев имеет место договоренность с администрацией, которая за определенную плату обязуется игнорировать жалобы в abuse-службу и не вести логи. Однако убедиться в том, что обещание сдерживается, для пользователя не представляется возможным.
Proxy, SOCKS
Классический вариант прокси-сервера. Особенности обусловлены используемым протоколом.
Протокол SOCKS наиболее примечателен тем, что он инкапсулирует протоколы не прикладного, а транспортного уровня, т. е. TCP/IP и UDP/IP. Поскольку только по этим протоколам возможна работа в Сети, через SOCKS можно работать с любыми серверами, в том числе и такими же SOCKS и, таким образом, организовывать цепочки SOCKS-серверов. По этой же причине все SOCKS-сервера анонимны — невозможно на уровне TCP/IP и UDP/IP передать дополнительную информацию, не нарушив работу вышестоящего протокола.
Анонимайзеры — программы с интерфейсом, похожим на обычный поисковик, только вместо слов/фраз здесь нужно вводить URL того сайта, который следует посмотреть.
Анонимайзеры представляют собой скрипты, написанные, например, на perl, php, cgi-скрипты, которые реализуют обращение через определенные прокси.
TOR
Tor (The Onion Router) — свободная (BSD) реализация второго поколения onion router (так называемая «луковая (многослойная) маршрутизация»). Система, позволяющая пользователям соединяться анонимно, обеспечивая передачу пользовательских данных в зашифрованном виде. Рассматривается как анонимная сеть, предоставляющая анонимный web — серфинг и безопасную передачу данных. С помощью Tor пользователи смогут сохранять анонимность при посещении web — сайтов, публикации материалов, отправке сообщений и работе с другими приложениями, использующими протокол TCP. Безопасность трафика обеспечивается за счет использования распределенной сети серверов, называемых «многослойными маршрутизаторами» (onion routers).
Пользователи сети Tor запускают onion-proxy на своей машине, данное программное обеспечение подключается к серверам Tor, периодически образуя виртуальную цепочку сквозь сеть Tor, которая использует криптографию многоуровневым способом (аналогия с луком — англ. onion). Каждый пакет, попадающий в систему, проходит через три различных сервера (нода), которые выбираются случайным образом. Перед отправлением пакет последовательно шифруется тремя ключами: сначала для третьей ноды, потом для второй и, в конце концов, для первой.
Когда первая нода получает пакет, она расшифровывает «верхний» слой шифра (аналогия с тем, как чистят луковицу) и узнает, куда отправить пакет дальше. Второй и третий сервер поступают аналогичным образом. В то же время, программное обеспечение onion-proxy предоставляет SOCKS-интерфейс. Программы, работающие по SOCKS-интерфейсу, могут быть настроены на работу через сеть Tor, который, мультиплексируя трафик, направляет его через виртуальную цепочку Tor. Что в конечном итоге позволяет обеспечивать анонимный серфинг в сети.
Существуют специальные надстройки-tor для веб-браузеров Opera, Firefox.
SSH-туннелинг
SSH (Secure Shell) — сетевой протокол, позволяющий производить удаленное управление компьютером и передачу файлов. Использует алгоритмы шифрования передаваемой информации.
SSH-туннелинг можно рассмотреть в качестве дешевой замены VPN. Принцип данной реализации следующий. Весь сетевой софт на компьютере форвардится на назначенный порт (вашего локал-хоста), на котором висит сервис, соединенный по SSH с сервером (а как мы знаем, соединение по SSH- протоколу шифруется) и туннелирующий все запросы; далее, весь ваш трафик (уже не в зашифрованном виде) может форвардиться с нашего сервера на прокси (поддерживающий туннерирование) или сокс, которые передают весь трафик к необходимым адресам. Наличие прокси или сокса не обязательно.
Какие плюсы данной системы?
1) Для организации данной схемы не нужно устанавливать серверный софт (т. к. SSH-аккаунт и сокс можно без проблем достать в интернете).
2) Поскольку при SSH-соединении трафик шифруется и сжимается, то мы получаем небольшой прирост скорости работы в инете (это верно, когда сокс-демон находится на том же сервере).
3) В случае, когда сокс-сервер находится на другом хосте, мы получаем дополнительную цепочку серверов, которые повышают нам безопасность и анонимность.
JAP
В одном из немецких институтов был разработан довольно хитрый способ сохранения анонимности. В систему пользователя устанавливается специальная прокси-программа JAP, которая принимает все запросы пользователя на подключения, шифрует (AES с 128-bit длиной ключа) и в безопасном режиме отправляет на специальный промежуточный сервер (так называемый микс). Дело в том, что микс одновременно использует огромное количество пользователей, причем система построена так, чтобы каждый из них был неразличим для сервера. А поскольку все клиенты одинаковые, то и вычислить конкретно одного пользователя не представляется возможным.
Миксы обычно устанавливаются на добровольных началах, в основном в университетах, которые официально подтверждают, что не ведут никаких логов. К тому же обычно используются цепочки миксов, как правило, три микса.
Р2Р-анонимайзеры
Рассмотрим на примере сети Peek-A-Booty.
Peek-A-Booty — это распределенная пиринговая сеть из компьютеров, принадлежащих добровольцам из различных стран. Создана для того, чтобы пользователи могли обходить наложенные локальной цензурой ограничения и получать доступ к запрещенным в том или ином государстве ресурсы Интернета. Каждый узел сети маскируется, так что пользователь может направлять запросы и получать информацию с определенных IP-адресов в обход цензурных барьеров.
Пользователь подсоединяется к специальной сети, где работает Peek-A-Booty. Несколько случайно выбранных компьютеров получают доступ к веб-сайту и пересылают данные тому, кто послал запрос. Весь трафик в этой сети шифруется по принятому в электронной коммерции стандарту SSL, так что все выглядит как невинная транзакция.
Нестандартные способы определения IP-адреса
Cookies
При первом входе на веб-сайт, IP-адрес клиента (определенный сервером, т. е. IP proxy) сервер может сохранить в Cookies. Когда посетитель в следующий раз входит на сайт, сервер вновь определяет IP и сравнит его с сохраненным в Cookies. И если IP-адреса старый и новый различаются, сервер может сделать выводы о том, что вход осуществляется через прокси.
JavaScript
JavаScript — это скрипты, предназначенны для выполнения активных сценариев на компьютере пользователя браузером. Они довольно простые и имеют ограниченные функции, но они могут определить реальный IP и множество других настроек браузера.
Java
Java — это в отличие от предыдущего полноценный язык программирования, и программа, написанная на этом языке, может без особых трудностей определить реальный IP компьютера.
Active X
Это полноценные программы, которые выполняются на компьютере пользователя. Возможности у них лучше, чем у Java. Они могут легко определить любые настройки браузера и вычислить настоящий IP-адрес и даже легко изменить настройки прокси.
Все, о чем написано в Главе 3, — это пока набор отдельных специальных действий, проводимых в ходе информационных операций, которые используются в сражениях за посетителей, за рейтинги своих сайтов и проч. Настоящие войны начнутся только тогда, когда виртуальные специалисты-[ро]боты будут объединяться. И вот тогда объединенная группа, выстроившись клином, ломанет в атаку на противника. И именно тогда мы будем видеть полный набор операций, объединенных единым замыслом, что уже сможет вполне потянуть на название страшным словом «война».
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК