Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
суббота.docx
Скачиваний:
22
Добавлен:
21.12.2018
Размер:
327.62 Кб
Скачать

Туннелирование

Туннелирование – общая технология передачи протокола через общую сеть с использованием другого протокола.

Предположим, что МЭ разрешает пакеты протокола HTTP , тогда, если за МЭ во внутренней сети имеется машина, на которой установлен клиент туннелирования, можно организовать обмен данными, которые будут пропускаться МЭ.

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

Применение туннелирования означает использование инкапсуляции протоколов при межсетевом взаимодействии.

В процессе инкапсуляции применяется 3 типа протоколов:

- несущий протокол

- протокол - пассажир

- протокол инкапсуляции

Транспортный протокол объединяемых сетей является протоколом-пассажиром, а протокол транзитной сети – несущим протоколом.

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

По аналогии с коммутацией сетей для использования туннеля необходимо решить следующие задачи:

  1. Разрабатывается несущий протокол, протокол-пассажир и протокол инкапсуляции.

  2. Проанализировать методы обнаружение туннеля и снизить влияние демаскирующих факторов.

Несущий протокол

Очень часто в качестве несущего протокола используется протокол HTTP.

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

Поэтому для реализации скрытых каналов и средств их конструирования наиболее часто применяется протокол HTTP, в качестве транспорта для информации. Это объясняется широтой его распространения, легкостью скрытия потока данных, обнаружения аномалий в протоколе.

Чтобы пакет с данными пересек периметр безопасности, протокол должен быть разрешен субъекту инициировавшему передачу.

В качестве субъекта может выступать пользователь системы или приложение, работающее от его имени.

Таким образом, чтобы организовать передачу данных по туннелю надо решить вспомогательные задачи:

  1. Иметь разрешение на отправку данных через периметр безопасности.

  2. Успешно скрывать тот факт, что авторизованный канал использовался не по назначению.

Протокол-пассажир

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

Это может быть поток данных, создаваемый определенным приложением, например, SSM или любая другая информация, например, файл, набор управляющих команд и т.д.

Вид передаваемой информации существенно влияет на протокол инкапсуляции.

Протокол инкапсуляции

Сетевые каналы можно подразделить на 2 группы на основе протокола, инкапсулированного в несущий протокол.

  1. Канал передачи потока данных приложения (SSH, TELNET)

  2. Канал, специально создаваемый злоумышленником.

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

Данные, передаваемые по скрытому каналу, могут быть обычным текстом, а могут использовать шифрование или методы стеганографии.

В качестве контейнера в запросах HTTP, не содержащих тело сообщение (GET, HEAD, DELETE…), могут служить:

  1. Строка адреса

  2. Список заголовков

  3. Тело ответа, в котором могут содержаться возвращаемые данные.

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

Существуют ограничения на размер данных, передаваемых в различных участках HTTP пакетов, которые связаны с существующими реализациями программных продуктов и оговорены в описании протоколов.