Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети Мордвин, Денис Валериевич

Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети
<
Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Мордвин, Денис Валериевич. Разработка и исследование методов и алгоритмов автоматического построения правил фильтрации межсетевых экранов, адекватных заданной политике разграничения доступа в сети : диссертация ... кандидата технических наук : 05.13.19 / Мордвин Денис Валериевич; [Место защиты: Технол. ин-т Южного федер. ун-та].- Таганрог, 2010.- 183 с.: ил. РГБ ОД, 61 11-5/484

Содержание к диссертации

Введение

1. Анализ методов построения и оценки наборов правил межсетевых экранов 11

1.1 Основные понятия 11

1.1.1 Компьютерная сеть 11

1.1.2 Адресация в сети 12

1.1.3 Бесклассовая адресация в сети 14

1.1.4 Межсетевые экраны 15

1.1.5 Пакетная фильтрация 15

1.1.6 Маршрутизация 17

1.2 Обзор проблем конфигурирования правил фильтрации 18

1.2.1 Основные проблемы разработки правил фильтрации 18

1.2.2 Проблема противоречий в списках правил 19

1.2.3 Противоречия в списке правил для одного фильтра в сети 20

1.2.3.1 Затенение 20

1.2.3.2 Обобщение 21

1.2.3.3 Пересечение 21

1.2.4 Противоречия для правил в последовательных цепочках МЭ в-сети 22

1.2.5 Противоречия для правил в параллельных цепочках МЭ в сети 23

1.2.6 Проблема избыточности правил 23

1.2.6.1 Неиспользуемые правила 24

1.2.6.2 Многословность 25

1.2.3 Количественные показатели противоречий для списков правил 25

1.2.4 Избыточное распределение правил 26

1.3 Анализ существующих подходов к построению правил фильтрации 28

1.3.1 Построение правил фильтрации вручную 28

1.3.2 Автоматизированная проверка конфигурации правил фильтрации МЭ 28

1.3.3 Автоматизированное построение правил фильтрации для сети 30

1.4 Постановка основных задач работы 30

1.5 Выводы 31

2 Разработка метода построения правил фильтрации межсетевых экранов, адкватных заданной политике разграничения доступа ...32

2.1 Общее определение метода 32

2.2 Построение модели защищаемой сети 33 -

2.2.1 Представление основных характеристик ЛВС в модели 34

2.2.2 Математическая модель сети 39

2.3 Построение модели представления заданной политики разграничения доступа 40

2.3.1 Правила разграничения доступа ь 41

2.3.2 Список правил разграничения доступа 42

2.3.3 Противоречия для списков правил разграничения доступа 43

2.3.4 Отображение заданной политики разграничения доступа в сети 44

2.3.5 Разработка структуры представления правил разграничения доступа 46

2.4 Минимизация множества правил политики разграничения доступа 50

2.4.1 Операция устранения неиспользуемых правил 50

2.4.2 Операция вычитания правил 51

2.4.3 Операция сложения правил 54

2.5 Расчет эффективного распределения множества правил фильтрации для МЭ в сети57

2.6 Расчет фактического разграничения достижимости 60

2.7 Выводы 60

3. Разработка алгоритмов для метода автоматического построения правил фильтрации межсетевых экранов 62

3.1 Разработка алгоритма расчета достижимости между узлами 62

3.2 Разработка алгоритмов построения и обработки дерева ПРД 66

3.3 Разработка алгоритмов минимизации правил политики разграничения доступа 75

3.3.1 Удаление неиспользуемых правил для политики разграничения доступа 75

3.3.2 Удаление многословности в дереве правил разграничения доступа 77

3.3.3 Разработка алгоритма вычитания набора правил разграничения доступа 77

3.3.6 Разработка алгоритма сложения набора правил разграничения доступа 81

3.4 Разработка алгоритма расчета возможностей распределение правил фильтрации 83

3.4.1 Представление возможностей распределение правил 83

3.4.2 Разработка алгоритма расчета таблицы предикатов распределения правил 83

3.5 Разработка алгоритма расчета эффективного распределения правил фильтрации для заданного разграничения доступа 90

3.6 Выводы 93

4. Программная реализация метода построения правил, экспериментальное исследование и сравнение с аналогами 95

4.1 Описание программной реализации модулей 95

4.1.1 Особенности программной реализации дерева ПРД 96

4.1.2 Особенности программной реализации матрицы требуемой достижимости 97

4.1.3 Особенности программной реализации метода распределения правил 98

4.2 Экспериментальное исследование программной реализации разработанного метода99

Основные параметры компьютера на котором бьши проведены эксперименты: процессор AMD Athlon 64 Х2 Dual Core 3800+ 2.00 ГГц, установленная память (ОЗУ) 2,00 Гб 99

4.2.1 Методика проведения экспериментальных исследований программной реализации разработанного метода 99

4.2.2 Разработка принципов автоматического построения ЛВС 100

4.2.3 Исследование работоспособности разработанного метода 102

4.2.4 Исследование алгоритмов минимизации заданного набора правил 106

4.2.5 Исследование алгоритма эффективного распределения правил 107

4.3 Сравнение с аналогами 109

4.3.1 Обзор аналогов и сравнение функциональных возможностей 109

4.3.2 Экспериментальное сравнение с аналогами 112

4.4 Выводы 114

Заключение 116

Список источников 117

Введение к работе

Актуальность темы исследования

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

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

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

Правила фильтрации межсетевых экранов в сети должны выражать политику разграничения доступа на сетевом уровне. Такая политика определяет возможность прохождения сетевого трафика между всеми узлами сети. Как было сказано, в сети данная политика выражается множеством распределенных правил фильтрации трафика. С другой стороны данная политика может быть логически представлена единым множеством правил, независимых от МЭ. В данной работе такие правила названы правилами политики разграничения доступа.

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

Сложность задачи построения правил фильтрации определяется следующими факторами:

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

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

маршрутизация и топология сети определяют траектории достижимости между узлами сети. Траектории между узлами определяют множество МЭ, в списки которых могут быть добавлены соответствующие правила. Количество траекторий определяют сложность распределения правил между МЭ;

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

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

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

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

В работе "Исследование количественных показателей для ошибок конфигурирования межсетевых экранов" автором, известным специалистом по МЭ Авишай Вулом, проведено исследование множества межсетевых экранов в локальных сетях различных предприятий и установлено, что все межсетевые экраны имели ошибки конфигурирования и были уязвимы.

Результаты исследования противоречий для конфигураций МЭ специалистами Университета Северной Каролины показали, что для правил фильтрации, разработанных экспертами характерны в среднем 3% проблем несогласованности и 5% проблем избыточности. Для опытных специалистов доля несогласованности правил составляет 4% от их общего количества, избыточности - 9%. Для правил, разработанных начинающими специалистами, характерны в среднем 13% проблем несогласованности и 12% проблем избыточности. Также в работе показана зависимость производительности межсетевых экранов от количества используемых правил, которая свидетельствует о возможностях отказов в обслуживании межсетевых экранов при избыточном использовании правил.

Проблематикой конфигурирования правил фильтрации занимаются многие ученные и специалисты из разных стран: СВ. Лебедь - МГТУ им. Н.Э. Баумана, Авишай Вул - профессор Университета Телль-Авива, Ехаб Аль-Шаир - ассоциированный профессор Университета Северной Каролины, Риккардо Оливьера - профессор Университета Карнеги Мелон, Хуонг Ким - профессор Университета Карнеги Мелон, Жоаквин Алфаро - Карлетонский Университет Оттавы, Роберт Марморстейн - ассоциированный профессор Лонгвудского университета, Алекс Луи - ассоциированный профессор Мичиганского Государственного университета.

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

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

необходимость разработки правил вручную;

отсутствие возможности автоматического исправления ошибок для правил;

частичное обнаружение ошибок согласованности правил;

итеративность процесса корректировки правил, то есть после внесения каждого исправления в правила необходима их повторная проверка анализатором.

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

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

В данной работе вводится понятие адекватности правил фильтрации заданной политике разграничения доступа, которое выступает основным критерием качества правил фильтрации. Под адекватностью правил фильтрации в данной работе понимается однозначное соответствие списков правил фильтрации распределенных в сети МЭ политике разграничения доступа в сети. Главным условием адекватности правил фильтрации политике является непротиворечивость самой политики. Если политика неоднозначно определяет разграничение

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

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

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

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

  1. Разработка модели представления сети.

  2. Разработка модели представления политики разграничения доступа в сети и алгоритмов построения данной модели.

  3. Разработка и исследование алгоритмов обнаружения и устранения проблем согласованности и избыточности для правил разграничения доступа.

  4. Разработка модели распределения правил разграничения доступа в сети и алгоритма расчета эффективного распределения множества правил фильтрации между межсетевыми экранами в сети.

  5. Разработка алгоритма проверки адекватности рассчитанных правил фильтрации заданной политике разграничения доступа в сети.

  6. Разработка методики экспериментальной оценки метода построения правил фильтрации.

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

Объектом исследования является фильтрация трафика в локальных сетях.

Предметом исследования являются методы и алгоритмы построения правил фильтрации трафика.

Научная новизна работы заключается в следующем:

1. Разработан новый метод автоматического построения правил фильтрации для межсетевых экранов, который использует ориентированное дерево правил для представления политики разграничения доступа. Данный метод позволяет устранить проблемы

несогласованности и избыточности для правил заданной политики разграничения доступа в сети. Непротиворечивое представление политики разграничения доступа в сети позволяет рассчитать адекватное и согласованное множество правил фильтрации МЭ.

  1. Разработаны новые алгоритмы обнаружения и устранения проблем несогласованности и избыточности для правил разграничения доступа в сети, которые имеют логарифмический порядок сложности.

  2. Разработан алгоритм расчета эффективного распределения правил фильтрации в сети, который впервые учитывает зависимость производительности МЭ от количества используемых правил и позволяет предотвратить отказы в обслуживании для МЭ.

Практическая ценность полученных автором результатов

  1. Разработанный метод построения правил фильтрации позволяют автоматически рассчитать множество согласованных и эффективно распределенных правил фильтрации для МЭ в сети для обеспечения заданной политики разграничения доступа на сетевом уровне.

  2. Разработана статическая модель сети, которая позволяет рассчитать и представить как заданное, так и фактическое разграничение доступа в сети.

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

Основные положения, выносимые на защиту

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

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

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

Использование результатов. Основные результаты исследований были использованы на кафедре Безопасности информационных технологий ТТИ ЮФУ при проведении следующих научно-исследовательских и опытно-конструкторских работ: "Неман", "Центр-1 ТИ".

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

Апробация работы. По теме диссертации опубликовано 11 научных статей и тезисов докладов, из них в журналах, рекомендуемых ВАК - 2. Основные результаты, полученные в ходе работы над диссертацией, были представлены на:

  1. VII Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых «Молодежь и современные информационные технологии». Томск, 2009 г.

  2. XI международной научно-технической конференции «Кибернетика и высокие технологии XXI века», Воронеж, 2010 г.

  3. XI международной научно-практической конференции «Информационная безопасность-2010», Таганрог, 2010 г.

4. The 3rd International Conference of Security of Information and Networks (SIN'10),
Таганрог, 2010 г.

Объем и структура диссертации. Диссертация состоит из введения, четырех глав, заключения, списка литературы. Материал изложен на 121 странице машинописного текста,

содержит 48 рисунков и 10 таблиц, список литературы состоит из 66 источников.

Автоматизированная проверка конфигурации правил фильтрации МЭ

Как было показано в предыдущей главе, в основе существующих методов анализа и построения правил фильтрации лежит модель защищаемой сети. Метод построения правил фильтрации МЭ для заданной политики разграничения доступа рассчитывает и эффективно распределяет непротиворечивые правила фильтрации. Входными параметрами метода являются: топология и характеристики защищаемой сети; политика разграничения доступа в сети, заданная в виде правил разграничения доступа между узлами сети. Результатом работы метода является набор списков правил фильтрации для МЭ в заданной сети. Применение рассчитанных списков правил к соответствующим МЭ в сети даст разграничение доступа, аналогичное заданной политике. Метод определяет следующую последовательность шагов: 1. Построение модели защищаемой сети. Определение узлов сети, расположения фильтров и маршрутизаторов в сети, связности между узлами, правил маршрутизации и трансляции адресов. Использование модели сети позволяет автоматизировать все последующие шаги метода. 2. Построение модели представления заданной политики разграничения доступа в сети. Построение заданного разграничения вьшолняется на модели сети. Разграничение доступа должно быть определено между всеми узлами сети для всех портов и используемых протоколов. При таком определении разграничения доступа не важны сетевые адреса узлов, траектории достижимости между узлами и количество МЭ между узлами. Единственным ограничением выступает связность сети, которая определяется связями между узлами сети и правилами маршрутизации в сети. При построении политики разграничения доступа метод выполняет контроль её непротиворечивости. Для реализации данного шага разработано специальное представление правил разграничения доступа в виде направленного дерева правил, алгоритмы формирования и обработки данного дерева правил. 3. Оптимизация множества правил политики разграничения доступа. Данный шаг основан на алгоритмах удаления неиспользуемых правил, сложения и вычитания правил. Данные алгоритмы представлены в третьей главе работы. 4. Расчет эффективного распределения множества правил фильтрации для МЭ в сети, выражающих заданное разграничение доступа. Метод определяет следующие принципы распределения правил фильтрации между множеством фильтров на траекториях достижимости между узлами: — Разрешающие правила должны быть добавлены к каждому МЭ на траекториях достижимости. — Запрещающие правила должны быть распределены между возможными траекториями достижимости так, чтобы ограничивать доступ для каждой траектории. 5. Расчет фактического разграничения достижимости между узлами в сети. Фактическое разграничение доступа в сети рассчитывается в соответствии со связностью сети и распределенньми между МЭ правилами фильтрации сетевого трафика. Для реализации данного шага разработан алгоритм расчета достижимости между узлами в сети, представленный в данной главе.

Основное условие корректности разработанного метода расчета правил фильтрации -равенство заданного и фактического разграничения доступа по результатам расчета правил фильтрации.

Как было показано в предыдущей главе, расчет правил фильтрации целесообразным представляется проводить с помощью модели защищаемой сети. Модели сети, используемые методами построения правил, являются статическими моделями, так как сами рассчитываемые правила фильтрации являются статическими параметрами. В данном случае имеются ввиду такие правила фильтрации, которые не зависят от динамических характеристик сети, например от текущего времени. Правила, учитывающие динамические характеристики, несомненно представляют интерес, но встречаются на практике гораздо реже. На сегодняшний день они не затронуты исследованиями в области проблем конфигурирования правил.

Важными динамическими характеристиками, которые должны быть учтены в рамках разрабатываемой статической модели, являются динамическая маршрутизация и сетевая нагрузка для МЭ в сети. Маршрутизация в сети является одним из параметров (наряду со связностью), который определяет достижимость между узлами в сети. Статическая маршрутизация определяется набором статических правил и может легко быть моделирована в рамках разрабатываемой модели. Динамическая маршрутизация определяется протоколом и текущими параметрами трафика и в статической модели не применима. В рамках статической модели можно решить проблему моделирования динамической маршрутизации двумя способами. Можно полностью игнорировать маршрутизацию и ориентироваться исключительно на связность в сети [41]. Тогда сеть представляется графом и для расчета достижимости узлов используется алгоритм поиска в глубину [54] или алгоритм поиска в глубину с ограничениями [55]. При этом количество маршрутов в модели может быть большим, чем в реальной сети, что подразумевает избыточность последующих расчетов. Но такая избыточность может иметь свои плюсы, так как учитываются возможные изменения маршрутизации в будущем. В данной работе предложено другое решение. Динамическая маршрутизация моделируется посредством статической маршрутизации - набором статических равновероятных правил маршрутизации. Второй вариант дает меньшую избыточность правил в сети, так как не все траектории в сети, определяемые связностью, определяются и маршрутизацией. Нагрузка сетевого трафика на межсетевые экраны в рамках статической модели определяется как заданное среднее значение нагрузки. Сетевая нагрузка определяет производительность МЭ и должна быть учтена при расчетах эффективного распределения правил фильтрации трафика.

Разработка структуры представления правил разграничения доступа

Как было сказано выше, ПРД формируются разработчиком политики разграничения доступа в произвольном порядке. С другой стороны, порядок правил принципиально важен при расчетах достижимости между узлами. Для расчета достижимости между узлами в рассматриваемом методе используется наиболее распространенная схема: правила рассматриваются по порядку в списке, первое, удовлетворившее запросу, правило определяет доступ. Если ни одно правило в списке не соответствует запросу, решение принимается в соответствии с принятой политикой разграничения доступа по умолчанию.

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

Если правило А является подмножеством правила В и при этом данные правила определяют противоположные значения доступа, то в зависимости от положения этих правил в списке, мы получим либо затенение, либо обобщение. При пересечении правил результат фильтрации (или расчета достижимости для нашего случая) будет зависеть от порядка следования этих правил. Необходимо отметить, что обобщение, чаще всего не является ошибкой, а является основным принципом формирования списка правил. Использование обобщения часто позволяет значительно сократить необходимое количество правил на фильтре. Но обобщение может быть и ошибкой, если оно неявное, то есть не было осознано использовано разработчиком правил. Можно определить порядок упорядочивания правил достижимости следующим образом: Использование только явных обобщений. Использование обобщений там, где мы могли получить затенение. Недопущение противоречий в списке, разрешение противоречий для добавляемых в список правил. Таким образом, ввиду использования обобщений, структуру правил можно представить иерархической. Узлами этой структуры выступают ПРД. Так как правила представлены единым списком, для представления множества правил предлагается использовать структуру дерева. Обобщение правил логично выражается через отношение родителей и детей в дереве. Корнем дерева будет являться правило политики разграничения доступа по умолчанию. Ближе к корню дерева располагаются правила для более крупных узлов сети. Детьми узлов дерева являются правила, которые определяют доступ для подмножества объектов множества объектов, охватываемых родительским правилом. Использование дерева для представления правил фильтрации с определением на нем операций вставки, удаления и модификации является распространенной практикой [3-7]. В данном случае дерево применено для представления множества правил разграничения доступа. На данном этапе работы с деревом мы используем только идентификаторы узлов в сети, а не их адреса. Для идентификаторов на этапе построения сети определены отношения вложенности. То есть для каждого узла в сети, заданного идентификатором, мы знаем, какие узлы являются вложенными, по отношению к нему и по отношению к каким он сам является вложенным. Для вычисления доступа между заданными источниками и целями доступа дерево правил можно обходить в обратном порядке. То есть сначала посещаются в обратном порядке все узлы первого поддерева слева направо, затем второго и так далее. Последним посещается корень. То есть для представленного примера дерева последовательность обхода будет такой: {НЗН5}, {H3S2}, {Н4Н6}, {H4S5}, {S1S2}, {Н9НЗ}, {Н9Н4}, {Н10Н2}, {H10S8}, {S4S1}, {Н5Н9}, {H5S3}, Default policy. Такой обход даст нам гарантию, что ни одно правило не будет затенено. Но при таком обходе дерева в худшем случае для нахождения соответствующего правила придется обойти все узлы дерева. Используя прямой обход разработанного дерева и принцип, по которому упорядочено дерево, можно существенно сократить время поиска нужного узла в дереве. Единственной особенностью такого поиска будет тот факт, что нам нужно найти самое нижнее правило в дереве, которое удовлетворяет запросу. Если ввести принцип упорядочивания братьев в дереве, можно понизить сложность операции вставки поиска в дереве [54,55]. Всех братьев, детей одного родителя, можно представить списком. Тогда, для их упорядочения достаточно ввести одну из операций сравнения на «больше», либо на «меньше» между этими узлами. Определим операцию меньше между правилами разграничения доступа. Правило А меньше правила В, если выполняется следующее условие: Так как операция определения достижимости между узлами наиболее критична при расчетах правил, наилучшим будет такой метод определения достижимости, который будет выполнять эту операцию за фиксированное время. Таким образом, можно сформулировать следующие требования к структуре представления ПРД: Отображение иерархии правил. Построение непротиворечивого списка правил. Эффективный расчет модели разграничения доступа. Эффективный пересчет матрицы достижимости при модификации множества правил. В разработанном методе для представления правил разграничения доступа предложена структура направленного дерева. Родительские и дочерние узлы в дереве отображают факт наличия обобщения между правилами. Для понижения сложности операций вставки узлов в дерево узлы-братья в дереве представлены сортированными списками. Ввиду заданной упорядоченности узлов-братьев в дереве справедливы следующие положения: Затенение необходимо проверять только слева от заданного правила (в сторону меньших братьев), так как затеняющее правило не может быть меньше затеняемого. Обобщение необходимо проверять только справа от заданного правила (в сторону больших братьев), так как обобщаемые правила не могут быть больше обобщающего. Пересечение необходимо проверять по всему списку братьев, так как пересекающие правила могут быть как меньше, так и больше заданного.

Разработка алгоритма вычитания набора правил разграничения доступа

Все разработанные методы и алгоритмы реализованы в виде единой динамической библиотеки NetworkRequiredAccess. Для реализации данной библиотеки было принято решение использовать язык программирования C++. Использование данного языка позволяет программе достичь высокой производительности и меньшего использования оперативной памяти в отличии от управляемых (managment) компилируемых и интерпретируемых языках.

Сложность разработки на выбранном языке остается умеренной ввиду использования только стандартных и близких к ним библиотек. Например, использование библиотек STL [62] и BOOST [63] позволяют существенно снизить сложность работы с памятью и контейнерами, что делает разработанную библиотеку достаточно надежной и отказоустойчивой. С другой стороны использование выбранных библиотек делает исходный код понятным большинству разработчиков.

Для возможности использования разработанной библиотеки совместно с другими языкам программирования к проекту была подключена утилита SWIG [64] - профессиональная утилита для генерации оберток для библиотек, написанных на языке C++. Данная утилита позволяет создать необходимые заголовочные файлы для различных современных языков программирования, которые позволяют им использовать разработанную библиотеку без каких-либо затруднений. Разработанная библиотека состоит из трех основных частей: Контроллера построения модели ЛВС; Контроллера расчета фактической достижимости в модели ЛВС; Контроллера построения и расчета требуемой достижимости на модели ЛВС; Контроллер построения и расчета требуемой достижимости состоит из следующих основных модулей: Интерфейсный модуль контроллера Модуль дерева ПРД; Модуль матрицы требуемой достижимости; Модуль расчета вариантов распределения правил; Модуль расчета оптимизированного распределения правил; Модуль расчета оптимизированного распределения фильтров; Для реализации дерева правил разграничения доступа сперва необходима реализация самого правила разграничения доступа. В разработанной библиотеке ПРД реализовано как отдельный класс, существенной особенностью которого является реализация всех необходимых операций над объектами данного класса: операций сравнения правил; операций сложения и вычитания правил; операций поиска затенений, обобщений и пересечения между правилами; Для возможности реализации такого набора функций для класса правил необходима реализация такой же функциональности для составных частей правил. Наибольший интерес здесь представляет класс сетевого адреса CIDR [36,37] и реализация операций сложения и вычитания для него. Сложность реализации данных операций обусловлена возможностью разбиения каждого адреса только на 2П равных частей. В основе реализации дерева ПРД лежит модуль Tree.h [65], реализующий структуру и основные операции над деревом на языке C++ в стиле стандартной библиотеки шаблонов [62]. Главной особенностью реализации дерева в данном модуле является удобный функционал прямого и обратного обхода элементов дерева с использованием идиомы итераторов [66].

В данном модуле реализованы операции вставки и удаления правил в дереве, операции минимизации дерева (сложения и вычитания правил, удаления избыточности между правилами), операции обхода дерева.

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

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

Для решения данной задачи было принято следующее решение. Каждая ячейка основной таблицы (идентификаторов) содержит свою таблицу, где по вертикали расположены диапазоны портов источника, а по вертикали - диапазоны портов назначения. В каждой ячейки этой таблице записан флаг достижимости между данными диапазонами портов для соответствующих узлов источника и цели.

Матрица пересчитывается при каждом добавлении или исключении ПРД в множестве. При этом матрица пересчитывается не полностью. Пересчету подвергаются только те ячейки, с которыми связано добавляемое (исключаемое) правило. Информация о связях между ячейками матрицы и правилами разграничения доступа хранится отдельно от матрицы и правил в главном контроллере разграничения доступа.

Основная таблица матрицы формируется до начала формирования множества правил, но после формирования модели сети. Каждая ячейка основной матрицы заполняется матрицей отношения портов, состоящей из одной записи по вертикали - полного диапазона портов источника (0 : 216-1), и одной записи по горизонтали - полного диапазона портов цели. Значения в ячейках матрицы отношения диапазонов портов устанавливаются в соответствии с требуемым разграничение доступа по умолчанию. При добавлении новых ПРД, включающих диапазоны портов, имеющиеся диапазоны портов в соответствующих ячейках матрицы должны быть разбиты на соответствующие поддиапазоны.

Для реализации структуры данной матрицы был использован ассоциативный контейнер STL под названием тар (карта) [62], который позволяет связать ключевые поля с соответствующими им полями значений. Поля значений могут быть произвольными, в том числе и контейнерами. Для ключевых полей должны быть определены операции сравнения на больше и меньше, что позволяет их упорядочивать в контейнере и быстро получать доступ к полям значений по соответствующему ключу.

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

Множество траекторий достижимости между узлами способен рассчитать контроллер фактической достижимости в модели. Для любой пары узлов и также диапазонов портов источника и цели данный контроллер способен предоставить список траекторий, по которым цель достижима. По данному списку строится граф возможности правил. Для представления графа было принято решение использовать библиотеку Boost.Graphs [63], являющуюся стандартом де-факто для программировании графов на C++. Данная реализация библиотеки графов позволяет строить графы любой сложности и применять к ним все часто используемые алгоритмы на графах.

В разработке Boost.Graphs было использовано для реализации специального подвида ориентированного графа, называемого сетью [65].

Предикат возможности распределения ПРД предлагается представлять списком множеств идентификаторов фильтров, где каждое множество в списке обозначает вариант распределения правил. То есть данное правило должно быть применено ко всем фильтрам для какого-либо множества из данного списка. На языке C++ класс предиката для правила выглядит следующим образом:

Исследование работоспособности разработанного метода

Вторая группа программ, которые молено представить как аналоги разработанной программы (FPA и FIREMAN), представляют собой средства анализа списков правил для распределенных МЭ. Для данных разработок в соответствующих статьях приведены экспериментальные исследования, которые будут представлены в следующем разделе.

Как уже было сказано в первой главе работы, результатом применения анализаторов правил служат наборы рекомендаций к спискам правил МЭ. Разработанная программа предназначена для расчетов правил фильтрации с нуля. Как было показано выше, разработанная программа является лучшим решением данной задачи ,на сегодняшний день. С другой стороны практический интерес представляет применение разработанной программы для решения задачи улучшения существующих наборов правил фильтрации. Для большинства существующих сетей нецелесообразно разрабатывать правила фильтрации с нуля при наличии существующих, пусть и неидеальных.

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

Подход, который можно применить для улучшения существующих наборов правил с помощью разработанной программы заключается в следующем: 1. Построение модели сети в программе (в ручную или автоматизированными методами, рассмотрение которых не входит в данную работу). 2. Добавление существующих правил фильтрации в модель. 3. Расчет матрицы достижимости, соответствующей текущим правилам фильтрации. 4. Генерация правил разграничения доступа по матрице достижимости. Для генерации данного множества правил нужен только один проход по матрице. 5. Проверка текущего разграничения доступа на модели специалистом. Внесение необходимых изменений в разграничение доступа. 6. Расчет правил фильтрации и их распределение между фильтрами в сети. Экспериментальное сравнение разработанной программы и программ анализаторов для решения задачи улучшения существующих правил приведено в следующем разделе. Представленные диаграммы позволяют сделать следующий вывод — для сетей среднего и большого размеров временные затраты существенны и могут доходить до десятков минут. Разработчики данньк программ утверждают, что эти временные затраты приемлемы, так как данная задача и не предполагает выполнения в реальном времени. Но авторы забывают, что затратив десятки минут на обработку правил, программа выдаст только рекомендации, которые администратор должен применить к спискам правил вручную. В полученных в результате правилах опять таки могут быть противоречия, неэффективность, исправление одной ошибки может повлечь появление других. Исправленные правила опять должны быть проверены на программе — анализаторе. Но производительность данной программы не зависит от количества противоречий в правилах, а только от их количества и топологии сети. То есть для проверки результатов исправления необходимо опять затратить десятки минут. Также для получения гарантированно непротиворечивых правил может понадобиться более двух этапов проверки анализатором и последующих исправлений. Таким образом, либо программа должна проводить анализ быстрее для больших сетей, либо программа, затрачивая сравнимое время на расчеты, не должна требовать повторного анализа. Второй вариант реализуется разработанной программой. На рисунке 4.3 представлена j диаграмма производительности программы, реализующей разработанный метод. Исходя из представленной диаграммы, можно сделать вывод, что время, затрачиваемое на обработку сравнимых сетей разработанной программой и существующими программами — анализаторами правил сравнимо. Но разработанная программа при этом имеет ряд преимуществ: і Не требуется повторной обработки правил, правила гарантированно не содержат противоречий. Устранены ошибки избыточности: неиспользуемые правила и много словно сть. Правила эффективно распределены между МЭ с учетом заданной для них сетевой нагрузки трафика. Если нагрузка на фильтры не известна, правила распределены равномерно. Для текущего множества правил составлена соответствующая модель разграничения доступа, интерактивно предоставляющая информацию о достижимости, в сети. С использованием построенной модели в дальнейшем» проще вносить модификации в текущее разграничение доступа, так как больше не требуется собирать и загружать в программу текущие правила фильтрации. В данной главе рассмотрены основные моменты реализации программы, особенности реализации отдельных её частей. Основной упор в реализации сделан на производительность программы, использование только стандартных и проверенных библиотек и технологий. Проведены эксперименты с разработанной программой, позволяющие сделать положительные выводы о: работоспособности программы; приемлемой производительности программы для практического использования; целесообразности использования программы; Приведен обзор и анализ аналогов данной разработки, который позволяет сделать несколько выводов: Существующие аналоги, позволяющие решать задачу автоматизированного построения разграничения доступа, существенно уступают в функциональности программе, основанной на разработанном методе, Разработанная программа не уступает в производительности аналогом при решении.

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