ICMP туннель - ICMP tunnel

An ICMP туннель[1] устанавливает скрытый соединение между двумя удаленными компьютерами (клиентом и прокси), используя ICMP эхо-запросы и ответные пакеты. Пример этой техники: туннелирование полный TCP трафик по запросам и ответам ping.

Технические детали

ICMP-туннелирование работает путем введения произвольных данных в эхо-пакет, отправляемый на удаленный компьютер. Удаленный компьютер отвечает таким же образом, вводя ответ в другой пакет ICMP и отправляя его обратно. Клиент выполняет все коммуникации с использованием пакетов эхо-запроса ICMP, в то время как прокси-сервер использует пакеты эхо-ответа.

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

ICMP-туннелирование возможно, потому что RFC 792, который определяет структуру пакетов ICMP, допускает произвольную длину данных для любого типа 0 (эхо-ответ) или 8 (эхо-сообщение) пакетов ICMP.

Использует

ICMP-туннелирование может использоваться для обхода правил брандмауэра через обфускация фактического трафика. В зависимости от реализации программного обеспечения для туннелирования ICMP, этот тип подключения также можно отнести к категории зашифрованная связь канал между двумя компьютерами. Без надлежащего глубокая проверка пакетов или просмотр журнала, сетевые администраторы не смогут обнаружить этот тип трафика в своей сети.[2]

Смягчение

Один из способов предотвратить этот тип туннелирования - заблокировать ICMP-трафик за счет потери некоторых сетевых функций, которые люди обычно принимают как должное (например, определение того, что одноранговый узел отключен, могут занять десятки секунд, а не почти мгновенно). Другой метод защиты от атак этого типа - пропускать через брандмауэры только пакеты ICMP фиксированного размера, что может препятствовать такому поведению или исключать его.[3]

ICMP-туннели иногда используются для обхода брандмауэров, блокирующих трафик между локальной сетью и внешним миром. Например, коммерческими службами Wi-Fi, которые требуют от пользователя оплаты за использование, или библиотекой, которая требует, чтобы пользователь сначала авторизовался на веб-портале. Если оператор сети сделал ошибочное предположение, что достаточно заблокировать только обычные транспортные протоколы, такие как TCP и UDP, но не базовые протоколы, такие как ICMP, то иногда можно использовать ICMP-туннель для доступа в Интернет, несмотря на то, что он не был авторизован для доступа к сети. Шифрование и правила для каждого пользователя, запрещающие пользователям обмениваться пакетами ICMP (и всеми другими типами пакетов, возможно, с помощью IEEE 802.1X ) с внешними узлами до авторизации решает эту проблему.

Смотрите также

Рекомендации

  1. ^ Даниэль Стёдл. "Ping Tunnel: для тех случаев, когда все остальное заблокировано".
  2. ^ http://protocol.korea.ac.kr/publication/Covert%20Channel%20Detection%20in%20the%20ICMP%20Payload%20Using%20Support%20Vector%20Machine.pdf[постоянная мертвая ссылка ]
  3. ^ http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.61.5798&rep=rep1&type=pdf

внешняя ссылка