Диссертация (1144110), страница 22
Текст из файла (страница 22)
Выделим из множества маршрутов подмножество ′ :в него войдут такие маршруты, в которых есть пары компонентов, для которых хотябы один компонент может быть заменен в случае его выхода из строя. Например,при соблюдении условия избыточности КФС, одно конечное устройство 1 ,выведенное из строя, может быть заменено аналогичным устройством ′1 , приусловии, что добавленное в сетевую конфигурацию устройство ′1 будетвыполнять аналогичные функции и взаимодействовать со всеми компонентами, скоторыми взаимодействовало предыдущее устройство 1 . Подмножество ′позволит расширить возможности по переконфигурации сети и внесениюизменений.
. В результате переконфигурации должно сохраниться множествомаршрутов с допустимыми изменениями (касающимися ′ ).Для того, чтобы производительность функционирования КФС не снизилась,необходимо, чтобы, в случае внесения изменений в маршрут = { }, егодлина увеличивалась незначительно. Поэтому при выборе новой конфигурациисети необходимо учитывать не только достижимость вершины из вершины , нои длину маршрута. При этом, следует учитывать тот факт, что в результатепереконфигурации сети могут возникнуть новые маршруты. Обозначим множествотаких маршрутов как ′′. Необходимо учитывать, что появление новых маршрутов,характеризующих возможность влияния устройств друг на друга и полученияданных, может открыть новые вектора атак для злоумышленников.
Поэтомуцелесообразно на этапе запуска КФС, интегрированной с промышленной сферой121деятельности, заранее определить, между какими компонентами системы связи недолжно быть. Для этого следует вести множество пар «запрещенныхмежкомпонентных связей», выражаемых множеством рёбер � , которых не должнобыть в графе. При эмуляции новой конфигурации сети необходимо, чтобывыполнялось условие ′′ ∩ � = ∅.Таким образом, технология ПКС, в которой уровень управления сетевойинфраструктурой отделен от уровня передачи данных с помощью автоматизациифункций управления путем переноса их в специализированное программноеобеспечение, которое осуществляет взаимодействие между сетевым устройством исистемой управления, функционирующей на отдельном компьютере, являетсянаиболее подходящей для использования в качестве среды реализациипредлагаемой методологии обеспечения ИБ КФСДля реализации технологии ПКС был разработан открытый протоколOpenFlow для управления сетевой структурой, не ориентированный на продуктыопределенного производителя.
Все сетевое оборудование объединяются подуправлением контроллера ПКС, на котором установлена сетевая ОС, на базекоторой функционирует система управления сетью, которая обеспечиваетследующие функции доступ к управлению сетью, формирование сведений осостоянии сетевых ресурсов контроль сетевой инфраструктуры.Основная идея работы сетевого оборудования в ПКС заключается всоздании единого универсального механизма управления таблицей сетевыхпотоков, независимо от производителя сетевого устройства.
Протокол OpenFlowявляется открытым протоколом, успешно реализующим программное управлениетаблицей сетевых потоков, независимо от коммутатора или маршрутизатора, набазе которого он функционирует. При помощи протокола OpenFlow имеетсявозможность классифицировать трафик в зависимости от особенностей средыработы сетевого оборудования, контролировать сетевые потоки, маршрутыпересылки пакетов.
Плоскость данных в сетевом оборудовании ПКС определяется122таблицей потоков и действием, сопоставленным каждому правилу в даннойтаблице [136].Сетевое оборудование, поддерживающее работу по протоколу OpenFlow,состоит из трех основных компонентов (Рисунок 12):−таблица сетевых потоков с сопоставленным каждой записи правиломдействия;−канал управления, который обеспечивает безопасное соединениесетевых устройств и контроллера ПКС для передачи управляющих команд исетевых пакетов по протоколу OpenFlow;−компонент поддержки работы по протоколу OpenFlow, которыйреализует стандартные механизмы взаимодействия контроллера и сетевогоустройства.КонтроллерOpenFlow коммутаторКаналуправленияТаблица сетевыхпотоковПротоколOpenFlowSSLПКРисунок 12 — Общая архитектура ПКС, поддерживающей протокол OpenFlow123Сетевые коммутаторы, поддерживающие работу по протоколу OpenFlow,осуществляют пересылку пакетов между портами, в зависимости от заданнойконтроллером таблицы сетевых потоков и правил.
При этом возможно выделениепотоков сетевого трафика на основании различной информации, например:−принадлежность к одному TCP соединению;−наличие определенного MAC-адреса в сетевом пакете;−наличие определенного IP-адреса в сетевом пакете;−наличие определенного тега VLAN;−принадлежность пакетов одному порту коммутатора.Каждой записи в таблице сетевых потоков сопоставляется действие,которое должно быть применено к пакетам, принадлежащим данному потоку.Основными действиями являются [137]:−пересылка пакетов, принадлежащих данному потоку, далее наопределенный порт или несколько портов, т.е.
реализация коммутации трафика;−инкапсуляция и передача пакетов, принадлежащих данному потоку, наконтроллер ПКС по безопасному каналу. Данное правило всегда применяется дляпервого пакета из нового потока, для того, чтобы контроллер принял решение одобавление нового сетевого потока на устройстве;−отбрасывание всех пакетов, принадлежащих данному потоку. Данноеправило может быть использовано для обеспечения безопасности, сдерживанияатак типа «отказ в обслуживании» или фильтрации сетевого трафика.Каждая запись в таблице потоков имеет следующую структуру:−правило выделения пакетов, принадлежащих данному потоку;−действие, определяющее, как должны быть обработаны элементыданного потока;−статистика, которая отслеживает количество пакетов байтов данногопотока, а также время, прошедшее с момента появления последнего пакета изданного потока, для удаления неактивных потоков.124Основными функциями контроллера ПКС являются добавление и удалениезаписей из таблицы сетевых потоков на устройстве.
Контроллер обеспечиваетдинамический анализ состояния всей сети, благодаря чему предоставляетсистемномуадминистраторувозможностьоценкисостояниясетевойинфраструктуры в данный момент.В источнике [138] приведено описание компонентов и базовых функцийсетевого оборудования, протокола OpenFlow, с помощью которого контроллеросуществляет удаленное управление устройством (Рисунок 13).КонтроллерПротокол OpenFlowКаналуправленияГрупповаятаблицаТаблицапотоковТаблицапотоковСетевой коммутаторРисунок 13 — Схема передачи потоков данных между компонентами сетевогооборудованияСетевое устройство, поддерживающее управление по протоколу OpenFlow,состоит из одной или нескольких таблиц потоков и групповых таблиц, которыевыполняют функции поиска нужных пакетов их коммутации.
Также в составустройства входит компонент, отвечающий за взаимодействие с контроллеромПКС, который управляет сетевым оборудованием при помощи протоколаOpenFlow. С использованием этого протокола контроллер имеет возможностьдобавлять, изменять и удалять записи.Каждая таблица потоков в сетевом устройстве состоит из набора записей,каждая запись, в свою очередь, состоит из поля записи, статистической125информации и набора инструкций, которые должны быть применены к сетевымпакетам, относящимся к данному потоку.Выделение начинается в первой таблице потоков и может быть продолженов дополнительных таблицах потоков.
Записи в таблице располагаются в порядкеприоритета. Если соответствующая запись найдена, то к сетевому пакетуприменяется действие, ассоциированное с данной записью. Если же нужная записьне найдена, то далее, в зависимости от настроек конкретного устройства, пакетлибо будет передан на контроллер ПКС, либо отброшен, либо передан следующейтаблице потоков.Инструкция, связанная с каждой записью из таблицы потоков, можетвыполнять следующие действия: пересылка пакета, модификация пакета,обработка в соответствии с групповой таблицей или конвейерная (поточная)обработка. Инструкция поточной обработки позволяет отправить пакетыследующим таблицам для дальнейшей обработки, при этом добавив специальнуюметадату. Поточная обработка пакета останавливается в том случае, если найденазапись в таблице потоков, подходящая для данного пакета.Записи в таблице потоков могут отправлять пакеты на определенный порт.Как правило, это физический порт, однако также возможно использованиевиртуальных портов, определенных на сетевом устройстве и настроенных всоответствии со спецификацией.
Зарезервированные виртуальные порты могутопределять общие действия для пакетов, такие как, перенаправление на контроллерили передача с использованием non-OpenFlow методов, например, обычнаякоммутация, в то же время виртуальный порт имеет возможность туннелированияили задания loopback интерфейсов.Записи в таблице потоков также могут указывать на групповые таблицы,которые определяют дополнительные методы обработки трафика. Групповыетаблицыпредставляютсобойнабордействий,реализующийсложныесемантические операции. Групповые таблицы позволяют задать единое действиедля нескольких потоков.126Рассмотрим компоненты таблиц потоков и групповых таблиц, включаямеханизм сопоставления правил и потоков, а также правила выбора действия.Каждая запись в таблице потоков состоит из следующих полей:−параметры для выделения искомых пакетов.
Параметры состоят извходного порта и заголовков пакета, а также возможно специальных данных отпредыдущей таблицы (метадаты);−статистика для ведения численных статистических значений;−действие — те операции, которые необходимо применить к сетевымпакетам из данного потока.Поточная обработка трафика в OpenFlow коммутаторах содержит несколькотаблиц потоков, каждая из которых включает в себя несколько записей (Рисунок14).
Поточная обработка трафика OpenFlow определяет, как сетевые пакеты будутвзаимодействовать с таблицами потоков.ВходящийпакетВходящийпортТаблица0НабордействийOpenFlow коммутаторпакет +входящий порт +метадатаТаблица1НабордействийТаблицаnПакетНабордействийВыполнениедействийИсходящийпакет(1) Механизм работы поточной обработки пакетовВыделение параметров:входящий порт +метадатазаголовки пакетаНабордействийТаблицапотоков1Выделение параметров:2входящий порт +метадатазаголовки пакета3Набордействий1Поиск наиболее приоритетных,соответствующих пакету записей2Применение инструкций:- модификация пакет;- обновление набора действий;- обновление метадаты.3Отправка выделенныхпараметров и действийследующей таблице(2) Обработка пакетов в таблице потоковРисунок 14 — Обработка трафика в OpenFlow коммутаторахТаблицы потоков в OpenFlow коммутаторе последовательно нумеруются,начиная с ноля.
Поточная обработка пакета всегда начинается с таблицы с номером127ноль. Другие таблицы могут быть использованы в зависимости от результатаопераций в первой таблице.Если пакет соответствует определенной записи в таблице потоков, к немуприменяются соответствующий набор инструкций. Инструкции в записи могутперенаправить пакет другой таблице потоков, с помощью команды Goto, где тот жепроцесс повторяется снова.
Сетевой пакет может быть перенаправлен таблицепотоков с номером, большим, чем у таблицы на данный момент, таким образом,передача пакета назад невозможна. Очевидно, что последняя таблица потоков неможет содержать инструкции Goto. Если запись в таблице потоков не направляетего следующей таблице, то поточная обработка останавливается на даннойтаблице, и пакет обрабатывается в соответствии с сопоставленным наборомдействий.Если пакет не соответствует записям в таблице потоков, то эта таблицапропускается. Поведение пакета после пропущенной таблицы зависит отконфигурации сетевого устройства, по умолчанию это отправка пакетовконтроллеру через канал управления. Также возможно просто отбрасывать пакетыили продолжить обработку пакета таблицей со следующим номером.Групповые таблицы также состоят из набора записей. Дополнительнойвозможностью групповых таблиц является реализация дополнительных методовпереадресации.