ОГЛАВЛЕНИЕ

2
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ............................................................................................................ 4
1. ПРОБЛЕМАТИКА УПРАВЛЕНИЯ ТРАФИКОМ ........................................ 12
1.1. Управление трафиком вычислительной сети с коммутацией
пакетов (Ethernet) на основе стека протоколов TCP/IP ............................. 12
1.2. Управление трафиком по защищенным каналам ..................................... 23
1.3. Управление трафиком в оверлейных сетях ............................................... 27
1.4. Задачи исследования .................................................................................... 33
2.
РАЗРАБОТКА
МЕТОДА
УПРАВЛЕНИЯ
ТРАФИКОМ
НА
МЕЖСЕТЕВЫХ УЗЛАХ ЛОКАЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ. .... 35
2.1. Объект исследования ................................................................................... 35
2.2. Поиск оптимальных решений в задаче управления трафиком ЛВС ...... 36
2.3. Метод управления трафиком на межсетевых узлах ЛВС ........................ 40
2.3.1. Модернизированный генетический алгоритм.................................. 40
2.3.2. Функции блока нечеткой логики ....................................................... 43
2.3.3. Пример работы модифицированного ГА ......................................... 45
2.3.4. Механизм удаленного сетевого доступа .......................................... 47
2.3.5. Функционирование ИС на основе предложенного метода............. 49
2.3.6. Реакция СИАУ на распределенную сетевую атаку ......................... 51
2.4. Выводы .......................................................................................................... 54
3. РАЗРАБОТКА АЛГОРИТМА УПРАВЛЕНИЯ ИНФОРМАЦИОННЫМИ
ПОТОКАМИ КОРПОРАТИВНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ .............. 55
3.1. Понятие инсайдерских атак на корпоративную сеть ............................... 55
3.2. Алгоритм управления информационными потоками корпоративных
вычислительных сетей .................................................................................. 56
3.2.1. Структура алгоритма .......................................................................... 56
3.2.2. Блок-схема алгоритма ......................................................................... 59
3.3. Пример работы СИАУ ................................................................................. 61
3
3.4. Выводы .......................................................................................................... 62
4. РЕАЛИЗАЦИЯ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНО-АДАПТИВНОГО
УПРАВЛЕНИЯ ТРАФИКОМ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ ........................... 63
4.1. Требования к системе и узлам ЛВС ........................................................... 63
4.2. Моделирование предметной области ......................................................... 65
4.3. Разработка базы данных .............................................................................. 74
4.4. Выбор средств моделирования серверов ................................................... 81
4.5. Выбор аппаратно-программной платформы и сборка сервера ............... 86
4.6. Разработка и развертывание системы ........................................................ 88
4.7. Выводы ........................................................................................................ 102
5. АНАЛИЗ РАБОТЫ СИАУ ............................................................................. 103
5.1. Описание функционирования системы ................................................... 103
5.2. Тестирование системы ............................................................................... 106
5.3. Выводы ........................................................................................................ 112
ЗАКЛЮЧЕНИЕ ................................................................................................ 113
СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ ...................... 115
СПИСОК ЛИТЕРАТУРЫ................................................................................... 116
ПРИЛОЖЕНИЕ А. Акт внедрения результатов научной работы ................ 129
ПРИЛОЖЕНИЕ Б. Акт внедрения результатов научной работы ................ 131
ПРИЛОЖЕНИЕ В. Акт внедрения результатов научной работы в
учебный процесс ......................................................................................... 133
ПРИЛОЖЕНИЕ Г. Свидетельство о государственной регистрации
программы для ЭВМ ................................................................................... 135
ПРИЛОЖЕНИЕ Д. Листинг части программно - вычислительного
комплекса "Self-organizing control system of computer network traffic".. 137
4
ВВЕДЕНИЕ
Актуальность. Информационно-коммуникационные технологии оказывают
существенное влияние на уровень экономической конкурентоспособности и
национальной
безопасности
государства.
Сетевые
инфраструктуры
государственных учреждений и частных предприятий в преимущественном
большинстве организованы на технологии Ethernet и подключены к глобальной
сети Интернет, функционирующей на основе стека протоколов TCP/IP и широко
распространенной по всему миру. Однако, данные технологии имеют ряд
уязвимостей, обусловленных в первую очередь алгоритмами протоколов
различного уровня взаимодействия на базе "жесткой" логики.
Необходимость оптимизации загрузки каналов связи в корпоративных
вычислительных сетях (в том числе и географически распределенных) является
одной
из
приоритетных
задач
современных
IT-технологий.
Другим
немаловажным аспектом является защита процесса передачи данных. Уровень
обеспечения информационной безопасности является следствием эффективности
методов управления трафиком. Для достижения данных целей разрабатываются
специальные методы управления трафиком вычислительных сетей.
Так вопросы управления трафиком корпоративных вычислительных сетей с
точки зрения обеспечения надежного функционирования рассмотрены в работах
Вишневского В.М., Рыкова В.B., Ивницкого В.А., Вербицкого С.Н., Kelly F.P.,
Korilis Y.A., Altman E., Turner S.и др. [1-7]. Однако, данные исследования не
принимают в расчет человеческий фактор, инсайдерские угрозы, имеющие место
в реальных системах.
С 2009 года ключевым трендом развития алгоритмов и методов управления
трафиком локальных вычислительных сетей (ЛВС) являются исследования в
области технологий обнаружения аномальной активности сетевого трафика по
сигнатурным, поведенческим, комбинированным методикам с обеспечением
информационной безопасности. Результаты, полученные в этом направлении,
5
опубликованы в работах следующих ученых: Ажмухамедов И.М., Гамаюнов
Д.Ю., Качалин А.И., Марьенков, А. Н., Селин Р.Н., P. Lippmann, R. Kwitt, M.
Szmit, L. Chang и др. [8-26]. Данные методы функционируют на основе жесткой
логики с потребностью в поддержке квалифицированными специалистами. Они
не способны адекватно реагировать на новые сетевые угрозы и объективно
анализировать полезную часть дейтаграмм.
Вопросы автомодельности сетевого трафика, а также модернизация
инструментария накопления статистических данных для проверки и фильтрации
сетевых пакетов по их содержимому (англ. Deep Packet Inspection, сокр. DPI)
представлены в работах Меретукова Ш.Т., Габдрахманова А.А., Скуратова А.К.,
Тихомирова И.А., Cho Y.H., Wang G., Tao Y., Ansari N.и др. [27-40].
Данные методы не ориентированы на функционирование в реальных
системах с криптографическими протоколами и/или элементарным дроблением
пакетов для сокрытия их типа (как, например, организовано в Tor-сетях). Эти
обстоятельства обуславливают необходимость
разработки
новых
методов
интеллектуально-адаптивного управления трафиком вычислительных сетей,
которые позволят оптимизировать загрузку каналов связи и повысить уровень
обеспечения информационной безопасности (ИБ), в том числе минимизируя
человеческий фактор.
Цель работы заключается в разработке нового метода интеллектуальноадаптивного управления трафиком корпоративных вычислительных сетей,
обеспечивающего оптимизацию загрузки каналов связи, высокий уровень
информационной безопасности и минимизацию человеческого фактора.
Для достижения указанной цели в работе были поставлены и решены
следующие основные задачи:
1) разработка метода интеллектуально-адаптивного управления трафиком
на межсетевых узлах локальных вычислительных сетей;
6
2) разработка
алгоритма
управления
информационными
потоками
корпоративных ЛВС;
3) формирование
системы
интеллектуально-адаптивного
управления
трафиком вычислительной сети с коммутацией пакетов (СИАУ);
4) программная реализация предложенной СИАУ;
5) экспериментальное
исследование
функциональных
возможностей
разработанного вычислительного комплекса СИАУ, анализ его комплексной
эффективности
(быстродействия,
уровня
обеспечения
информационной
безопасности и др.), сравнение с коммерческими продуктами.
Методы исследований. Для решения поставленных задач использованы
методы системного анализа, теории принятия решений, математического и
имитационного
моделирования,
теории
вероятностей,
математической
статистики, аппарат нечеткой логики, методы и модели интеллектуальных и
стохастических систем.
Достоверность и обоснованность работы подтверждается корректным
использованием
математических
методов,
данными
экспериментальных
исследований в сравнении с существующими коммерческими решениями,
публикациями в центральной печати, докладами на международных и
региональных научно-технических конференциях.
Научная новизна работы состоит в следующем:
1) разработан новый метод интеллектуально-адаптивного управления
трафиком
на
межсетевых
узлах
локальных
вычислительных
сетей
с
применением модифицированной генетической алгоритмизации и нечеткой
логики, позволяющий прогнозировать реакцию хостов на различные виды
сетевых воздействий посредством распределенного анализа на модельных
объектах. Отличие от существующих методов заключается в обеспечении
минимизации
загрузки
канала
связи
выбором
оптимальной
стратегии
управления трафиком при различных типах сетевой активности, а также
7
автоматической
идентификацией
новых
сетевых
угроз
и
выработкой
оптимального решения по их устранению;
2) разработан оригинальный алгоритм управления информационными
потоками корпоративных вычислительных сетей на базе распределенной
обработки данных с фрагментацией пакетов на экземпляры случайной длины,
изменением
флагов
дейтаграмм
(в
допустимых
рамках),
привнесением
различных задержек на обработку каждого пакета узлом-отправителем и всеми
промежуточными звеньями, а также генерацией фальшивого p2p трафика. Как
следствие, алгоритм исключает возможность осуществления автоматического и
автоматизированного
возможности
анализа
корреляции
трафика
(с
параметров
пресечением
прохождения
потенциальной
дейтаграмм
и
идентификации автомодельности), а также риск прогнозирования продвижения
трафика; обеспечивает защиту от инсайдерских атак, сниффинга и дешифровки,
тайминг-атак глобальным наблюдателем;
3) реализована
трафиком
система
интеллектуально-адаптивного
вычислительной
сети,
обеспечивающая
управления
эффективное
функционирование в условиях аномальной активности трафика.
Основные положения, выносимые на защиту:
 метод
интеллектуально-адаптивного
управления
трафиком
на
межсетевых узлах локальных вычислительных сетей;
 алгоритм
управления
информационными
потоками
корпоративных
вычислительных сетей;
 структура системы интеллектуально-адаптивного управления трафиком
вычислительной сети с коммутацией пакетов.
Практическая
значимость
работы.
Использование
разработанных
методов управления трафиком в ЛВС позволяет существенно повысить
эффективность управления информационными потоками в вычислительных
сетях
с
коммутацией
пакетов.
Результаты
исследования
могут
быть
использованы как в государственных учреждениях, так и в корпоративном
8
секторе,
где
возникает
необходимость
защиты
передачи
данных
в
корпоративных вычислительных сетях от несанкционированных воздействий.
Соответствие
диссертации
паспорту
научной
специальности.
Основным содержанием диссертации является разработка методов и алгоритмов
решения задач обработки и управления информацией, а также разработка
специального программного обеспечения соответствующих систем.
Таким
образом,
отраженные
в
диссертации
научные
положения
соответствуют формуле специальности 05.13.01 «Системный анализ, управление
и обработка данных (в промышленности)», а результаты научного исследования
соответствуют п. 4, п. 5, п. 12 паспорта специальности.
Апробация работы. Научные положения и практические рекомендации
диссертационной работы в целом, а также отдельные ее разделы докладывались
и обсуждались на международных научно-технических конференциях «Global
Science and Innovation» (USA-Chicago, 2013 г.), «Перспективное развитие науки,
техники и технологий» (г. Курск, 2013 г.), «Современные тенденции в
образовании и науке» (г. Тамбов, 2013 г.), «Компьютерные технологии в науке,
производстве, социальных и экономических процессах» (г. Новочеркасск, 2013
г.), «Перспективные инновации в науке, образовании, производстве и
транспорте» (г. Одесса, 2013 г.), «Нелинейные динамические системы:
моделирование и оптимизация управления» (г. Новосибирск, 2012 г.) и
всероссийских научно-технических конференциях «Искусственный интеллект:
философия, методология, инновации» (г. Москва, 2013 г.), «Наука. Технологии.
Инновации» (г. Новосибирск, 2013 г.), «Новые информационные технологии в
научных
исследованиях»
(г. Рязань,
2013
г.),
«Актуальные
проблемы
электронного приборостроения» (г. Новосибирск, 2012 г.), а также на кафедре
автоматики НГТУ (2012-2014 гг.).
Внедрение результатов. Результаты диссертационной работы были
внедрены в ИКТ-сектор мэрии города Новосибирска, департамент энергетики,
9
жилищного и коммунального хозяйства города, МУП "Энергия" (приложение А)
и холдинг ООО ТД «Басон» (приложение Б), а так же в Новосибирском
государственном
техническом
университете
при
разработке
учебно-
методического обеспечения дисциплин « Вычислительные машины, системы и
сети», «Системное администрирование» и «Безопасность информационных
ресурсов» на кафедре автоматики (приложение В).
Публикация результатов работы. Основные результаты диссертации
отражены в 16 научных трудах, в том числе 2 публикации в рецензируемых
научных журналах. В работах, опубликованных в соавторстве, доля материалов,
принадлежащих автору диссертации, составляет не менее 70%. Кроме того,
получено свидетельство о государственной регистрации программы для ЭВМ (№
2014615697 «Self-organizing control system of computer network traffic» в Реестре
программ для ЭВМ Федеральной службы по интеллектуальной собственности,
приложение Г).
Структура и объем работы. Диссертационная работа состоит из
введения, пяти глав, заключения, списка литературы из 101 наименования и
5 приложений. Общий объем работы - 150 страниц, включая 27 рисунков.
Во введении обосновываются актуальность и практическая значимость
работы, формулируются основные задачи исследования и обсуждаются пути их
решения.
В первой главе проведен системный анализ предметной области
исследования — корпоративной вычислительной сети на основе технологий
Ethernet, функционирующей на основе стека ТСР/IP. Подробно рассмотрены
классификация
различных
видов
трафика
и
алгоритмы
обеспечения
гарантированного качества сервисов, приведен обзор основных методов
управления передаваемого по сети трафика.
Рассмотрены основные средства защиты информации в вычислительных
сетях. Представлена классификация систем обнаружения и нейтрализации атак в
10
зависимости от принципа их действия. Проведенный анализ достоинств и
недостатков существующих средств защиты показал актуальность разработки
новых механизмов управления трафиком на межсетевых узлах и сегментах
корпоративных
вычислительных
сетей.
Проведен
системный
анализ
интеллектуальных методов аналитической обработки данных.
Во второй главе рассматривается разработка метода управления трафиком
на межсетевых узлах локальных вычислительных сетей, обеспечивающего
высокий уровень информационной безопасности с отсутствием возможности
прогнозирования стратегии реагирования как с локальной сети предприятия, так и
«извне».
В третьей главе рассматривается разработка алгоритма управления
информационными
преобразующего
потоками
попытки
корпоративных
дешифровки
вычислительных
информационных
сетей,
потоков
и
деанонимизацию источника в нерентабельную задачу (временные издержки и
стоимость привлеченных технических и др. средств значительно превышают
выгоду от дешифрованного потока информации одного случайного источника за
малый период времени).
В четвертой главе рассматривается реализация программного продукта от
стадии установления требований к системе и узлам ЛВС до успешной реализации
(с использованием гибкой методологии XP), развертывания и автоматического
тестирования самоорганизующейся системы управления трафиком, в основу
которой заложены авторские методы управления информационными потоками
корпоративных вычислительных сетей и управления трафиком на межсетевых
узлах ЛВС. В ходе работы использовалось аппаратное обеспечение: выделенный
сервер PX60 (Intel® Xeon® E3-1270 v3 Quadcore, 32 GB ECC RAM, 2x2 TB SATA
6 Gb/s 7200 rpm с аппаратным LSI-RAID контролером, 3 сетевые карты 1 Gbit/s) с
ОС Linux CentOS 6.5.
В пятой главе излагается описание функционирования системы. На обзор
выносится широкий спектр работ по тестированию самоорганизующейся системы
11
управления трафиком вычислительной сети, зарекомендовавшей себя надежным,
автономным, отказоустойчивым, интеллектуально-адаптивным инструментом,
оптимизирующим загрузку канала связи и обеспечивающим высокий уровень ИБ
в сравнении с дорогостоящими коммерческими продуктами. В том числе
обосновываются факты, что СИАУ минимизирует человеческий фактор и
исключает возможность прогнозирования стратегии реагирования, а также
дешифровки информации в рентабельные сроки.
В заключении формулируются основные результаты
проведенного
исследования и разработки.
В
приложениях
приведены
листинг
программы,
акты
внедрения
программного обеспечения системы интеллектуально-адаптивного управления
трафиком
вычислительной
сети
в
государственный
сектор
предприятия, а также результатов исследования в учебный процесс.
и
частные
12
1. ПРОБЛЕМАТИКА УПРАВЛЕНИЯ ТРАФИКОМ
В настоящее время сетевые инфраструктуры государственных учреждений
и частных предприятий в своем большинстве организованы на технологии
канального уровня Ethernet и подключены к глобальной сети Интернет, в которой
используется стек протоколов TCP/IP.
Согласно исследованию "Visual Networking Index Forecast" корпорации
Cisco, совокупные темпы годового роста глобального IP-трафика (англ. Compound
Annual Growth Rate) превысят 21% от 2014 к 2018 годам, что в 64 раза превысит
показатели 2005 года [41]. Количество распределенных сетевых атак, их
разновидности и максимальный размер ботнета выросли на 21% по сравнению с
прошлым годом [42]. Центром стратегических и международных исследований
CSIS (англ. Center for Strategic and International Studies) опубликован обзор с
оценкой мирового ущерба от киберпреступлений свыше 400 миллиардов
долларов США в год [43].
Соответственно, задача управления трафиком локальной вычислительной
сети с оптимизацией пропускной способности канала связи и обеспечением
надлежащего уровня информационной безопасности данных является актуальной.
1.1. Управление трафиком вычислительной сети с коммутацией
пакетов (Ethernet) на основе стека протоколов TCP/IP
Глобальная сеть Интернет построена на принципах модульности и
открытости. С одной стороны, это содействует прогрессу, порождая конкуренцию
и автономно-параллельное развитие каждого уровня, но с другой стороны, это
предоставляет базу знаний для проведения злоумышленных действий [44].
Стек протоколов TCP/IP соответствует сетевой модели OSI (англ. open
systems interconnection basic reference model — базовая эталонная модель
взаимодействия открытых систем). В задаче управления трафиком ЛВС стоит
13
абстрагироваться от технологий физического уровня: каналов связи, кодирования
и
мультиплексирования
сигналов
(так
как
это
отдельное
направление
исследований). На каждом уровне информация передается в виде независимых
единиц передачи данных - дейтаграмм.
На канальном уровне (англ. data link layer) дейтаграммы представлены
MAC-кадрами, а его функции сводятся к установлению логического соединения
между взаимодействующими узлами, согласованию скоростей приемника и
передатчика информации в рамках текущего соединения, а так же обнаружению и
коррекции ошибок. Для продвижения кадров сетевые устройства (например,
коммутаторы)
используют
алгоритм
прозрачного
моста
IEEE
802.1D.
Функционируя в режиме "неразборчивого захвата", хост сканирует весь трафик,
передаваемый в подключенных к нему сегментах, изучает топологию сети и
составляет таблицу продвижения дейтаграмм (англ. Forwarding DataBase). В нее
вносятся записи сопоставления MAC-адресов и портов. Если при продвижении
кадра соответствующая запись не была найдена, то производится трансляция на
все порты, кроме порта - источника. Элементарной угрозой для данного
алгоритма является фальсификация программных или аппаратных сбоев
посредством интенсивной генерации кадров с широковещательным адресом [45].
Коммутатор согласно алгоритму IEEE 802.1D передает ложный трафик на все
порты, осуществляя широковещательный шторм (англ. broadcast storm). Единицы
моделей сетевых узлов данного уровня позволяют устанавливать порог
интенсивности, не устраняющий данную уязвимость. Так как величина данного
параметра должна динамически вычисляться и устанавливаться интеллектуальноадаптивными
алгоритмами.
Маршрутизаторы
(L3)
способны
устранять
широковещательные шторма, но без дополнительных функций (например IPbinding, Port-security) защищать таблицу FDB от фальсификации не могут, при
этом имеют свой широкий спектр уязвимостей.
На рынке представлены коммутаторы L2+ - сетевое оборудование второго
уровня модели OSI (канального), частично задействовавшего функции и
14
протоколы
уровня
межсетевого
взаимодействия.
Данные
устройства
поддерживают алгоритмы обеспечения качества обслуживания [46]:
1) анализ очередей по теории массового обслуживания, модели M/M/I и др.
Задача исключительно математическая, но стоит отметить, что оценка параметров
задержек дейтаграмм в очередях на коммутаторах затрудняется отсутствием
исчерпывающей информации о коэффициенте загрузки и параметрах пульсации
трафика;
2) управление
очередями:
FIFO,
приоритетным,
взвешенным,
комбинированным обслуживанием;
3) кондиционирование и профилирование трафика;
4) инжиниринг трафика;
5) обратная связь;
6) резервирование ресурсов.
Данные алгоритмы уязвимы перед атаками на переполнение буфера
коммутационного хоста [47]. Действия злоумышленника более эффективны при
фальсификации битов типа обслуживания TOS (англ. Type Of Service),
управляющих
воздействий
обратной
связи
(изученных
первоначально
сниффером) и адресов.
На сетевом уровне (англ. network layer) осуществляется управление
операциями
подсети:
поиск
кратчайших
маршрутов,
коммутация
и
маршрутизация, диагностика неполадок, трансляция логических адресов и имѐн в
физические (из IP и DNS в MAC адреса). В рамках данного уровня
основополагающими являются следующие протоколы:

IP (англ. Internet Protocol) - протокол межсетевого взаимодействия;

ICMP (англ. Internet Control Message Protocol) - протокол межсетевых
управляющих сообщений, используемый для уведомления об ошибках;

ARP (англ. Address Resolution Protocol) и обратный RARP - протоколы
разрешения IP и MAC адресов;
15

RIP2 (англ. Routing Information Protocol v2) - протокол маршрутной
информации второй версии;

OSPF (англ. Open Shortest Path First) - протокол динамической
маршрутизации, основанный на алгоритмах отслеживания состояния
канала, задействующий алгоритм Дейкстры.
Жесткая логика алгоритмов данных протоколов предоставляет широкий
спектр уязвимостей для атак различных видов [48]: ложных ARP-ответов,
навязыванию ложного маршрутизатора, навязыванию ложных параметров
конфигурирования, сбои протоколов маршрутизации, имперсонации и др.
В первом случае для перехвата трафика между узлами "А" и "В", которые
располагаются в одной IP-сети, злоумышленник задействует протокол ARP.
Производится рассылка сфальсифицированных ARP-сообщений таким образом,
что каждый из атакуемых хостов интерпретирует MAC-адрес злоумышленника
адресом своего собеседника (представлено на рисунке 1.1).
Рисунок 1.1 - Атака ложными ARP-ответами
16
Для обнаружения ARP-атак системному администратору необходимо вести
базу данных соответствия MAC и IP-адресов всех узлов сети, задействовать более
дорогостоящие коммутаторы L2+ с функциями IP-binding (соотнесение MAC и IPадресов) и Port-security (связывание MAC-адресов с портами коммутатора), а так
же использовать программное обеспечение активного сниффинга трафика. Но
данные действия не устраняют угрозу, так как функция IP-MAC-Port binding
коммутаторов включает два режима работы: ARP (по умолчанию) и список
контроля доступа ACL (англ. Access Control List). В первом случае невозможно
организовать фильтрацию в случае, если хакер/сниффер присвоит себе
статический адрес для спуфинга коммутатора. Во втором тратится профиль ACL
(лимитировано количество), а также необходимо досконально продумывать
стратегию ACL.
Атака навязывания ложного маршрутизатора (представлена на рисунке 1.2)
может
быть
применена
злоумышленником
для
перехвата
информации,
направленной от некоторого хоста "А" в другую сеть посредством навязывания
данному узлу своего адреса в качестве адреса маршрутизатора [48]. Таким
образом, трафик хоста "А" будет проходить через узел злоумышленника, который
после анализа и, возможно, модификации данных отправит их далее настоящему
маршрутизатору.
Навязывание
ложных
маршрутов
выполняется
с
помощью
фальсифицированных ICMP-сообщений Redirect. Согласно документу RFC-1122
сетевые узлы должны обязательно обрабатывать такие сообщения.
17
Рисунок 1.2 - Атака навязывания ложного маршрутизатора
Стоит отметить, что даже отключение на сетевых узлах обработки
сообщений Redirect не всегда надежно закрывает данную уязвимость, так как
операционные системы имеют ряд "дыр", примером которых может служить
включение данного параметра при обработке специально фрагментированного
пакета. Ряд операционных систем не предоставляют возможности изменения
подобных настроек.
Аналогично производится атака при конфигурировании хоста [48].
Возможно навязывание ложного
пограничного
узла
посредством
ICMP-
сообщения Router Advertisement или через протокол динамической настройки
узла DHCP (англ. Dynamic Host Configuration Protocol). Злоумышленник может
организовать в сети поддельный DHCP-сервер. DHCP-клиент узла-жертвы
отправляет широковещательное сообщение DHCP-поиска, на которое все DHCPсерверы высылают свои DHCP-предложения, а принимается и подтверждается
первое. Соответственно, комбинируя сетевые атаки (что бы пакет от поддельного
сервера пришел первым), злоумышленник может полностью изолировать жертву
для дальнейшего взлома или ее состояния недоступности в легитимной сети.
18
Атака на протоколы маршрутизации [49] представляет высокую степень
угрозы ИБ ИКТ предприятия. Осуществляется злоумышленником с целью
перехвата трафика при его расположении в пограничной межсетевой зоне. Для
переключения требуемых маршрутов на собственный сетевой узел рассылаются
фальсифицированные сообщения протоколов маршрутизации. Пример нападения
проиллюстрирован на рисунке 1.3, где хакер (узел "X") расположен между узлами
сети "Р" и узлами сети "Q" и хочет перехватить трафик между ними.
Рисунок 1.3 - Атака на протоколы маршрутизации
Хост "Х", принимает широковещательные RIP-сообщения: вектор P=3 от
узла "A" и вектор Q=2 от узла "B". Далее отправляет сообщения узлам "A" и "B" с
заниженными параметрами метрики: векторами Q=1 и P=2 соответственно.
Аутентификация TCP-сегментов/A-MD5 частично нейтрализует данную угрозу,
но программные уязвимости маршрутизаторов оставляют ее открытой.
За уровнем межсетевого взаимодействия следует транспортный уровень
(англ. Transport layer), отвечающий за доставку данных. На данном уровне
наиболее широко распространены протоколы пользовательских датаграмм (англ.
User Datagram Protocol) и управления передачей TCP (англ. Transmission Control
Protocol). Первый обеспечивает высокоскоростную передачу данных, а второй надежную, с установлением явного соединения. Параметры режима скользящего
окна протокола TCP и механизмы обратной связи легко могут быть изменены
19
хакером, например, для ускоренной передачи данных с целью переполнения
буфера второго узла. В комбинированных атаках может быть применена
имперсонация с помощью десинхронизации и дальнейшего установления
контроля над TCP-соединением [48,49].
Имперсонация без обратной связи (проиллюстрирована на рисунке 1.4)
представляет более интересный случай, когда хост "Х" находится в удаленной
сети от узлов "А" и "В" (даже не в их пограничном межсетевом сегменте).
Рисунок 1.4 - Имперсонация без обратной связи
Операция проводится лишь для односторонней передачи информации от
чужого имени (в примере от имени узла "В").
В рамках одного сегмента сети возможно
применение атаки на
десинхронизацию TCP-соединения, обусловленную уязвимостью "жесткой"
логики модели TCP/IP (ориентированного в первую очередь на надежность
передачи данных). Имперсонация с целью установления полного контроля над
соединением в англоязычной литературе именуется TCP hijacking.
В состоянии десинхронизации попытки обмена данными вызывают поток
ACK-штормов, производится исключение сегментов с участниками соединения.
Хакер делегирует себе функции посредника.
Существуют различные вариации данных атак: ранняя, упреждающая,
нулевая и др. десинхронизации. Если маршрутизатору разрешено транслировать
датаграммы с полем Protocol=4 и датаграммы с опциями во внешнюю сеть, то
20
возникает угроза туннелирования. Например, маршрутизатор разрешает отправку
дейтаграмм внешними узлами лишь хосту "B", для остальных объектов
назначения
применяется
политика
блокировки
доступа.
Хакер
может
воспользоваться узлом "В" в качестве ретранслятора пакетов, направленных в
"А". Для этого он создает датаграмму, направленную из "Х" в "В", в поле Protocol
которой помещается значение 4 («IP»), а в поле данных вложена искомая IPдатаграмма, направленная из "Х" в "А" (в соответствии с рисунком 1.5).
Рисунок 1.5 - Атака туннелирование
Фильтр маршрутизатора пропускает пакет, адресованный разрешенному
узлу В, а IP-модуль узла "В" извлекает из нее вложенную датаграмму, далее
отправляет ее по идентифицированному адресу - хосту "А". Операция
туннелирования успешно завершена.
Рассматривая протоколы прикладного уровня (англ. Application layer), в
качестве примера можно привести проприетарный протокол удалѐнного рабочего
стола RDP (англ. Remote Desktop Protocol) корпорации Microsoft. Его задача
состоит в обеспечении удалѐнной работы пользователей с сервером, на котором
запущен сервис терминальных подключений. Клиенты интегрированы во все
версии Windows. Несовершенство операционных систем и программного
обеспечения — одна из главных причин колоссального ущерба, нанесенного
мировой экономике компьютерными злоумышленниками. Для поддержания
21
состояния защищенности системы выпускаются обновления ПО, "заплатки".
Процесс итерационный и бесконечный, протекающий, как правило, со
значительной задержкой относительно первичной идентификации бага (англ. bug
- вредоносный. Подразумевается неожиданное поведение системы, сбои,
уязвимости, ошибки). Так выпуск бюллетеня безопасности MS12-020 состоялся
спустя год после изложения описания уязвимостей хакерами на тематических
форумах в скрытой оверлейной сети интернета I2P (см. пп. 1.3). В рамках данного
патча MS12-020 было закрыто две уязвимости: CVE-2012-0002 (RCE в RDP) и
CVE-2012-0152 (DoS в Terminal Server), позволяющие выполнять произвольный
код на удаленной системе при мощи специально сформированного RDP-пакета и
распространять сетевых червей.
Наиболее критично опасной угрозой алгоритмам и методам управления
трафиком современных вычислительных сетей являются распределенные сетевые
атаки, например, «отказ в обслуживании» DDoS (от англ. Distributed Denial of
Service, изображены на рисунке 1.6).
Рисунок 1.6 - Распределенные сетевые атаки (DDoS)
Ее целью является приведение атакуемого узла в состояние недоступности.
Следует заметить, существующие системы защиты и управления трафиком не в
22
состоянии однозначно ее идентифицировать и отличить от запросов легальных
узлов [50].
Условно действия хакера можно разделить на следующие этапы:
1) злоумышленник заражает N узлов сети Internet вредоносным кодом,
превращая их в «компьютеры-зомби»;
2) дает им команду одновременно атаковать одну жертву (какой-либо
сервер), например, тактикой полуоткрытых tcp-соединений;
3) сервер не может определить, пытается ли установить с ним соединение
узел для взаимодействия, либо зараженный хост выводит его из состояния
доступности. Необходимо выставление лимитов соединений. Однако, для
владельца это повлечет непропорциональные затраты времени и потребует
вмешательства квалифицированного системного администратора.
В результате информационный ресурс на некоторое время перегружен и
недоступен для санкционированных соединений, а, возможно, взломан. К
сожалению, фильтрация на уровне провайдера, выставление лимитов соединений,
введение глобальных «черных» списков адресов зараженных хостов не всегда
являются эффективными методами [51].
С 2009 года ключевым трендом развития алгоритмов и методов управления
трафиком ЛВС являются исследования в области технологий обнаружения
аномальной активности сетевого трафика по сигнатурным, поведенческим,
комбинированным методикам с обеспечением информационной безопасности.
Исследованиями в данной области занимаются научные деятели: Ажмухамедов
И.М., Гамаюнов Д.Ю., Качалин А.И., Марьенков, А. Н., Селин Р.Н., P. Lippmann,
R. Kwitt, M. Szmit, L. Chang и др. [8-26].
Другое научное направление занимается вопросами автомодельности
сетевого
трафика,
а
также
модернизацией
инструментария
накопления
статистических данных для проверки и фильтрации сетевых пакетов по их
содержимому (англ. Deep Packet Inspection, сокр. DPI). Данной работой
занимаются российские и зарубежные ученые: Меретуков Ш.Т., Габдрахманов
23
А.А., Скуратов А.К., Тихомиров И.А., Cho Y.H., Wang G., Tao Y., Ansari N.и др.
[27-40].
Статистическая аналитика идет на основе параметров автомодельности, что
отличает ее от существующей технологии DPI, используемой провайдерами сетей
доступа и агрегирования трафика. К сожалению, лишь последняя способна к
минимальному уровню обнаружения и блокировки вирусов, фильтрации
информации, не удовлетворяющей заданным критериям списков доступа.
Но при введении криптографических протоколов, либо элементарного
дробления пакетов для сокрытия их типа (как, например, организовано в Torсетях), данные методы не дают точного результата [52].
В связи с этим возникает необходимость разработки новых методов
управления трафиком ЛВС и противодействия сетевым угрозам с обеспечением
информационной безопасности ИКТ предприятия.
1.2. Управление трафиком по защищенным каналам
Задача технологии защищенного канала заключается в обеспечении
безопасности передачи данных по открытой транспортной сети. Наиболее
распространенный вариант использования - в глобальной сети Интернет,
построенной на стеке протоколов TCP/IP. Таким образом, в сетях с коммутацией
пакетов
устанавливается
виртуальная
коммутация
защищенных
каналов,
включающих в себя выполнение трех основных функций:
 взаимная аутентификация абонентов;
 защита передаваемых по каналу сообщений от несанкционированного
доступа;
 подтверждение целостности поступающих по каналу сообщений.
Важной характеристикой стандартов защищенного канала является уровень
модели стека протоколов TCP/IP, на котором функционируют данные протоколы.
1) прикладной (англ. Application layer) - S/MIME / PGP / HTTPS и др.;
24
2) транспортный (англ. Transport layer) - SSL / TLS / SOCKS и др.;
3) сетевой (англ. Internet layer) - IPSec (AH, ESP) и др.;
4) канальный (англ. Link layer) - PPTP / L2TP / PAP/ MS-CHAP и др.
Существует широкий спектр уязвимостей в алгоритмах данных протоколов
(обусловленных "жесткой" логикой поведения) и их аппаратно-программной
реализации [53]. На всеобщий обзор уязвимости выносятся, как правило, спустя
минимум два года. Например, уязвимости OpenSSL "Heartbeat" и MITM [54] были
опубликованы на тематических ресурсах хакеров в скрытой оверлейной сети
интернета I2P (см. главу 1.3) в 2012 году, а выпуск официальных бюллетеней
безопасности CVE-2014-0160 и CVE-2014-0224 состоялся лишь в апреле и июне
2014 года соответственно.
Программная ошибка "Heartbeat" заключалась в отсутствии необходимой
проверки границ в одной из процедур расширения Heartbeat (RFC6520) для
протоколов безопасности транспортного уровня TLS (англ. Transport Layer
Security) / DTLS (англ. Datagram Transport Layer Security), что позволяло хакеру
получить прямой доступ к оперативной памяти компьютеров, коммуникации
которых «защищены» уязвимой версией OpenSSL. Атакующий мог без
затруднений вычислить приватные ключи TLS сервера и TLS клиента, cookies,
логины, пароли и любые другие данные, которыми обменивается сервер с
клиентами.
Рассмотрим MITM-атаки против протоколов OpenSSL и TLS. SSL/TLS
сессия инициализирует согласование через сообщения ClientHello / ServerHello.
Производится установка параметров сессии: версии протокола и расширений,
типа шифрования с ключами, кода аутентичности сообщения, векторов
инициализации и др. Изменение политики выбора криптографического алгоритма
достигается посредством запроса ChangeCipherSpec (CCS). В соответствии со
стандартами (RFC 2246, RFC 5246) CCS отправляется во время рукопожатия
после согласования параметров безопасности, но до проверки, что сообщение
„Finished― отправлено. OpenSSL принимает CCS до момента согласования
25
параметров безопасности. Для успешной атаки глобальный наблюдатель
отправляет CCS пакет на оба узла во время установления соединения с целью
навязывания OpenSSL мастер-ключа нулевой длины. Сессионные ключи
наследуют уязвимость «нулевого» ключа. Возникает опасность расшифровки и
модификации передаваемых данных. Рассмотренный алгоритм реализации
сетевой угрозы в хакерском сленге именуется атакой посредника MITM (англ.
Man in the middle).
Баг протоколов авторизации и аутентификации OAuth и OpenID был описан
на форумах хакеров в скрытой оверлейной сети TOR (см. главу 1.3) еще в 2012
году, но официально приведен эксплойт Ван Цзином лишь в мае 2014 года [55].
Протокол OAuth был создан для "сквозной" регистрирации/подписки на
сторонних сервисах, используя учетную запись Gmail, Facebook, Twitter или
Microsoft.
Задача
протокола
OpenID
кроется
в
децентрализованной
аутентификации на сторонних порталах с предоставлением персональных данных
пользователей. Задействовав скрытый редирект, провайдеру посылается запрос от
псевдолегитимного
приложения.
Фактически
же
проводится
скрытое
перенаправление на другой ресурс подменой параметра redirect_uri в URL.
Возникает угроза утечки конфиденциальной информации пользователя и
компрометации узлов назначения.
Отдельным
эшелоном
хакеры
используют
атаки
на
процессы
аутентификации и авторизации, компрометируя доверие к удостоверяющим
центрам,
фальсифицируя
идентификацию
пользователей,
выполняя
имперсонацию и мн. др. [49].
Технология виртуальных частных сетей VPN (англ. Virtual Private Network)
является на сегодняшний день одним из самых оптимальных инструментов
организации защищенных сетевых соединений видов точка-точка, узел-сеть и
сеть-сеть. В ее организации могут быть задействованы различные протоколы и
алгоритмы (PPTP, L2TP/IPsec, OpenVPN и др.), подход к которым не
затруднительно найти при определенных временных и вычислительных затратах
26
[44, 56]. Так протокол туннелирования точка-точка PPTP (англ. Point-to-Point
Tunneling Protocol) взламывался в ходе аутентификации MS-CHAP2. Протокол
IPsec (англ. IP Security) с использованием симметричного алгоритма блочного
шифрования AES (англ. Advanced Encryption Standard) был скомпрометирован
заложенным багом генератора псевдослучайных чисел, что уменьшало издержки
на дешифровку информации в рентабельные сроки. А также ранее описанная
уязвимость криптобиблиотеки OpenSSL может послужить причиной взлома
OpenVPN, распространяемой по универсальной общедоступной лицензии GNU
GPL (англ. GNU General Public License).
Существуют аналогичные "дыры" и в системе безопасности аппаратнопрограммных средств (коммутаторов, маршрутизаторов, шлюзов, межсетевых
экранов, VPN-серверов и мн. др.). В первую очередь это обусловлено ошибками
программирования ИС - прошивок [53].
Задействовав механизмы сканирования, зондирования и дешифрования,
злоумышленник может идентифицировать продукт защиты атакуемого объекта, а
также
получить перечень уязвимостей
объекта с информацией
по их
использованию.
Стоит отметить, что открытое опубликование работ по уязвимостям
рассмотренных технологий не приветствуется в ряде стран в силу политических и
экономических
факторов.
Безусловно,
это
затрудняет
ход
научно-
методов
управления
трафиком
исследовательских работ.
Из
вышеприведенного
обзора
по
защищенным каналам (включая алгоритмы, протоколы, средства и технологии)
вытекает заключение, что любой бесплатный или коммерческий продукт защиты
информации имеет свои уникальные уязвимости, которые в первую очередь
определяются запрограммированной "жесткой" логикой.
Реорганизация
конфигурирование
архитектуры
ее
локальной
аппаратно-программных
вычислительной
узлов,
сети,
введение
криптографических протоколов не могут устранить все уязвимости. И при
27
определенных вычислительных и временных затратах информационные потоки
могут быть дешифрованы, а ИС взломана [56].
1.3. Управление трафиком в оверлейных сетях
Одним из ключевых трендов развития ИКТ является исследование и
разработка оверлейных сетей (от англ. Overlay Network). Под данным термином
подразумевается организация логической сети, функционирующей поверх
существующей глобальной вычислительной сети Интернет [57]. Рассмотренные
ранее технологии организации VPN-сетей и протокола PPTP (см. п.п. 1.2) можно
соотнести с термином оверлейность. Научно-исследовательские работы в рамках
данной тематики обусловлены следующими целями:
1) организацией
реальной
среды
для
исследования,
разработки
и
тестирования новых протоколов стека TCP/IP, в том числе несовместимых с
существующей архитектурой системы (в частности, исследование свойств
протокола IPv6);
2) разработкой
и
исследованием
распределенных
вычислений
и
децентрализованного хранения информации;
3) расширением свойств сети: от маршрутизации без определения целевого
IP-адреса до повышения криптоустойчивости протоколов;
4) обеспечением анонимизации в глобальной сети Интернет [58].
К
сожалению,
основной
(анонимные/анонимизирующие
акцент
сети
[59]),
делается
что
на
последний
вынуждает
пункт
правительство
различных стран "не рекомендовать" некоторые технологии к использованию.
В вопросе создания оверлейных сетей приоритетной задачей является
разработка методов управления трафиком, которые должны обеспечивать
компромисс между оптимизацией пропускной способности канала связи и
быстродействием,
уровнем
обеспечения
безопасности и удобством использования.
анонимизации,
информационной
28
Узкоспециализированные анонимные/анонимизирующие сети являются
наиболее простым видом оверлейных сетей. В качестве примера стоит
рассмотреть проект JAP (англ. Java Anonymous Proxy). Его целевое назначение анонимизация работы протокола передачи гипертекста HTTP (англ. HyperText
Transfer Protocol) , то есть веб-трафика.
Используется
метод
управления
трафиком
на
основе
микс-узлов,
представленный на рисунке 1.7. Клиент отправляет данные не искомому адресату,
а на хост каскадов микс-серверов, которые мультиплексируют информационные
потоки различных клиентов и отправляют запросы их реальным адресатам.
Ответы транслируются по тому же маршруту. Клиент-серверное взаимодействие
осуществляется в зашифрованном виде без возможности корректировки цепочки
серверов.
Рисунок 1.7 - Метод управления трафиком на основе микс-узлов
Преимущество данного метода состоит в более высокой скорости серфинга,
чем у полностью распределѐнных систем. Вместе с тем узел клиента не выступает
конечным звеном цепи, т.е. от его имени злоумышленник не сможет действовать
в рамках данной сети. Присутствует и широкий спектр уязвимостей у
рассматриваемого метода управления трафиком на основе микс-узлов:
 идентификация
трафика
данного
проекта
на
основе
анализа
автомодельности сетевого трафика: отсутствует даже элементарное
фрагментирование пакетов;
29
 злоумышленный
Возникает
анализ/дешифровка
необходимость
ввода
в
пространстве
дополнительного
микс-узлов.
шифрования
(например, SSL);
 дешифровка при снифовании трафика на стороне ЛВС-клиента: уровень
криптоустойчивости алгоритмов клиент-серверного взаимодействия ниже среднего;
 централизованная компрометация микс-серверов: человеческий фактор.
Аналогичные уязвимости методов управления трафиком, обусловленные
"жесткой" логикой поведения, присутствуют в системе анонимной электронной
переписки Mixminion. Положительное отличие Mixminion - разбиение сообщений
на несколько фрагментов постоянной длины с выбором цепочки серверов.
Развитие данных технологий дало старт проекту программного обеспечения для
защиты прав человека Psiphon, в котором волонтеры предоставляют свои ПК для
хостинга прокси-серверов с зашифрованным соединением, чтобы граждане стран
с интернет-цензурой имели возможность свободно работать с ресурсами
глобальной сети Интернет. Сеть расширила функционал, стала гибридной.
Концепция, в целом, осталась аналогичной.
Более надежным считается метод управления трафиком на основе луковой
маршрутизации Tor (англ. The Onion Router). Используется система проксисерверов,
позволяющая
устанавливать
анонимное
сетевое
соединение
(проиллюстрировано на рисунке 1.8). Клиент случайным образом выбирает три
прокси-сервера (нода), обменивается с ними ключами шифрования и перед
отправкой информации в сеть производит многоуровневое шифрование (от 3 к 1
ключу) каждого пакета [60]. Промежуточные ноды могут дешифровать лишь свой
слой, получив из полезной информации лишь адрес следующего отправления.
30
Рисунок 1.8 - Метод управления трафиком на основе луковой
маршрутизации
Таким образом промежуточные узлы обрабатывают трассировочные
инструкции и не знают адрес отправителя и получателя, а также содержание
сообщения. Основные недостатки описанного метода:
1) идентифицируемость (головные ноды и список хостов общедоступен);
2) автомодельность, корреляция (хоть и производится фрагментирование
пакетов, но нет стохастической вариации временных задержек при
трансляции трафика на нодах);
3) компрометируемость на выходном узле (получающего данные в
исходном
виде),
необходимость
введения
дополнительного
пользовательского слоя шифрования [61];
Угрозы и типы атак логичнее будет привести после анализа методов
управления трафиком в проектах Gnutella2 и I2P. Первый предполагает
организацию безопасного пирингового P2P-соединения поверх сетевого уровня с
вводом
логических
концентраторов.
Уязвимые
хеш-функции
порождают
распространение сетевых ―червей‖, присутствуют атаки фальсификации и
имперсонации. Проект невидимый интернет I2P (англ. Invisible Internet Project)
является
защищенной,
анонимной,
самоорганизующейся,
распределенной,
оверлейной сетью [62]. Имеет свой собственный стек протоколов, работающий
поверх модели TCP/IP. Сеть предоставляет приложениям транспортный механизм
31
для
анонимной
и
защищѐнной
пересылки
сообщений.
Используется
модифицированный DHT Kademlia с хранением хешированных адресов хостов
сети, зашифрованных AES IP-адресов, ND и публичных ключей шифрования.
Технология
заслуживает
досконального
рассмотрения
на
всех
уровнях
функционирования. Но в целях краткости стоит привести лишь ключевую
концепцию метода управления трафиком I2P, основанную на комбинированном
туннелировании
(рисунок
1.9).
Входящие
туннели призваны
отправлять
датаграммы от создателя туннеля, а исходящие туннели отвечают за доставку
датаграмм создателю туннеля. Цепочка односторонняя.
Рисунок 1.9 - Метод управления трафиком I2P, формирование туннеля
Комбинируя два туннеля, узел "A" и узел "B" могут обмениваться
сообщениями. Отправитель "A" устанавливает исходящий туннель, а получатель
"B" - входящий туннель. Шлюз входящего туннеля может получать сообщения от
любого пользователя и посылать сообщения хосту "B". Оконечная точка
исходящего туннеля необходима для посылки сообщения шлюзу входящего
туннеля. С этой целью узел "A" добавляет инструкции к своему зашифрованному
сообщению. Соответственно, при дешифровке датаграммы в конечной точке
исходящего туннеля извлекаются инструкции переадресации сообщения нужному
шлюзу входящего туннеля хоста "B".
В I2P используется распределенная сетевая база данных в целях хранения и
совместного использования сетевых метаданных, разделяемых на две категории:
"routerInfo" и "leaseSets" (подписываемые одним из партнеров и верифицируемые
32
оппонентом) [63]. Первые предоставляют информацию пограничным узлам для
взаимодействия
с
определенным
маршрутизатором
(публичные
ключи,
транспортные адреса и др.). Вторые обеспечивают маршрутизаторы данными для
взаимодействия с определенными объектами узлов назначения. Параметры
leaseSet идентифицируют шлюз туннеля, позволяющего достичь узел назначения.
Для минимизации рисков неавторизованного раскрытия имени партнера в сети
добавляется еще один уровень шифрования между оконечными хостами.
Приведенные системы имеют достаточно низкую пропускную способность
и высокие параметры задержек, что предоставляет возможность проведения
обширной выборки атак на состояние недоступности [64]. Однако главной
проблемой являются уязвимости методов управления трафиком в оверлейных
сетях (следствие "жесткой" логики действий), которые позволяют осуществлять
следующие виды атак:

атаки
по
корреляции
временных
задержек
дейтаграмм
[65].
Осуществляются хакером при доступе к трафику промежуточного сегмента сети.
Привносится умышленная задержка пакетов с целью установления корреляции,
разграничения и персонифицируемости информационных потоков. В дополнение
может задействоваться атака на отклонение временных меток TCP timestamp;
 атаки по автомодельности сетевого трафика. Клиентами различных типов
оверлейных сетей производится однородное фрагментирование пакетов, что
позволяет
правонарушителю
однозначно
идентифицировать
используемую
технологию посредством инструментов теории вероятности и математической
статистики. Так же отсутствует стохастическая вариация временных задержек при
трансляции трафика на промежуточных узлах;
 атаки слепками. При идентификации используемой оверлейной сети с
помощью вышеописанных атак преступник может сгенерировать базу данных
популярных/интересующих веб-сайтов с определенными параметрами индексных
страниц в рамках технологии жертвы. Далее с использованием сниффера и
компаратора идентифицировать посещаемый ресурс;
33
 атаки глобального наблюдателя с пассивной слежкой, имперсонацией,
взломом защищенных каналов [66, 67, 68]. Вероятность успешной реализации
пропорциональна доле контролируемых/наблюдаемых сегментов сети;
Стоит отметить, что рассмотренные проекты не лишены уязвимостей. В
первую очередь, злоумышленники пользуются несовершенством операционных
систем
и
клиентского
программного
обеспечения,
т.
е.
ошибками
программирования. Более того, клиентское ПО не всегда способно обезопасить
оверлейную сеть от слабых сторон стека протоколов TCP/IP. Алгоритмы
оптимизации пропускной способности и сокращения временных задержек
надлежащим образом не справляются со своей задачей. Ключевым моментом
являются уязвимости методов управления трафиком в оверлейных сетях,
предопределенные
"жесткой"
логикой
поведения.
Логичным
решением
обозначенных проблем может выступить разработка, исследование и внедрение
интеллектуально-адаптивных и стохастических методов управления трафиком
вычислительных сетей.
1.4. Задачи исследования
Представленные
результаты
анализа
основных
подходов,
методов
управления трафиком в вычислительных сетях с коммутацией пакетов на основе
технологии Ethernet и стека протоколов TCP/IP, в технологиях защищенного
канала и оверлейных сетях позволили выделить недостатки "жесткой" логики в
существующих методиках. Рассмотрены основные уязвимости, потенциально
составляющие
угрозу
целостности,
доступности
и
конфиденциальности
передаваемой по сети информации.
В связи с этим, основными задачами диссертации являются:
1) разработка метода интеллектуально-адаптивного управления трафиком
на межсетевых узлах локальных вычислительных сетей, обеспечивающего
34
минимизацию загрузки канала связи, автоматическую идентификацию новых
сетевых угроз и выработку оптимального решения по их устранению;
2) разработка
алгоритма
управления
информационными
потоками
корпоративных ЛВС, позволяющего исключить потенциальную возможность
осуществления автоматического и автоматизированного анализа трафика,
инсайдерских атак, сниффинга и дешифровки, тайминг-атак глобальным
наблюдателем, а также прогнозирования продвижения трафика;
3) разработка системы интеллектуально-адаптивного управления трафиком
вычислительной сети с коммутацией пакетов (СИАУ), реализующей обеспечение
эффективного функционирования в условиях аномальной активности трафика;
4) реализация программного обеспечения предложенной системы;
5) тестирование, апробация результатов исследования с использованием
разработанного вычислительного комплекса СИАУ на серверах крупных
филиальных
организаций,
проведение
сравнительного
экспериментального
анализа с коммерческими продуктами на предмет комплексной эффективности
(быстродействие, уровень обеспечения информационной безопасности и др.)
предлагаемого в диссертационной работе подхода к управлению трафиком в
вычислительной сети.
35
2. РАЗРАБОТКА МЕТОДА УПРАВЛЕНИЯ ТРАФИКОМ НА
МЕЖСЕТЕВЫХ УЗЛАХ ЛОКАЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ.
2.1. Объект исследования
Задачи
управления
трафиком
вычислительных
сетей
можно
классифицировать по типам компьютерных сетей, уровням функционирования
(согласно модели OSI) и многим другим параметрам.
В данной работе объектом исследования является трафик корпоративных
вычислительных сетей с коммутацией пакетов на основе стека протоколов TCP/IP
и
канальной
технологией
Ethernet.
В
классификации
операторов
телекоммуникационных сетей связи таковые ЛВС именуются сетями доступа,
узлами которых могут выступать:
 персональные устройства доступа (ПК, смартфоны, планшеты и др.);
 концентраторы и коммутаторы от L2;
 маршрутизаторы от L3;
 межсетевые экраны: пакетные фильтры, сервера уровня соединения,
сервера прикладного уровня и др.;
 серверы (WEB, DNS, AD, СУБД и др.);
 накопители NAS;
 устройства VoIP;
 устройства цифрового видеонаблюдения;
 и др. сетевые микропроцессорные устройства.
В корпоративных ЛВС количество сетевых узлов, как правило, не
превышает 200 единиц на один сегмент/филиал. В данной главе рассматривается
разработка метода управления трафиком на межсетевых узлах локальных
вычислительных
целостности,
сетей.
доступности
Главными
и
критериями
конфиденциальности
выступают:
обеспечение
передаваемой
по
сети
36
информации, обеспечение ИБ и доступности ИС, минимизация загрузки каналов
связи.
Технические и функциональные требования к участникам сетевого
взаимодействия не предъявляются, однако, будут сформулированы и изложены в
четвертой главе по отношению к реализуемому вычислительному комплексу
системы интеллектуально-адаптивного управления трафиком вычислительной
сети.
В основу предлагаемого метода управления трафиком на межсетевых узлах
локальных вычислительных сетей предложено заложить интеллектуальноадаптивные и стохастические методы поиска оптимальных решений.
2.2. Поиск оптимальных решений в задаче управления трафиком ЛВС
Существующие
математические
телекоммуникационных
модели
системах
узкоспециализированными
[52].
трафика
являются
При
в
современных
упрощенными
использовании
и
современных
криптографических протоколов либо элементарного дробления пакетов для
сокрытия их типа (как, например, организовано в Tor-сетях) данные методы не
дают однозначного результата [52]. В рамках исследуемой задачи лучше
оперировать
термином
пропускной
способности.
Это
метрическая
характеристика, отражающая максимально возможную скорость передачи данных
в
единицу
времени
через
линию/узел
связи.
коммуникационного сетевого оборудования
Пропускная
способность
и линий связи традиционно
измеряется в битах в секунду. Стоит отметить, что для корректного
функционирования сети рекомендуется придерживаться режима "недогрузки",
составляющего минимум 30% пропускной способности линии/узла связи [69].
Таким образом, одним из ключевых показателей оптимальности решения в задаче
управления трафиком ЛСВ на межсетевом хосте является уровень загрузки канала
37
[69]. В теории систем и сетей можно рассматривать данный термин в качестве
синонима линии связи.
Отметим, что в задачах управления трафиком ЛВС может быть несколько
правильных решений. К примеру: если необходимо закрыть хакеру доступ к
сетевому ресурсу, то можно фильтровать его пакеты командами ―deny‖ или
―drop‖. В первом случае по протоколу эхо – сообщений ICMP производится
уведомление оппонента о том, что доступ ему запрещен. Во втором - просто
отбрасываются дейтаграммы, не позволяя злоумышленнику идентифицировать
отказ в обслуживании или физическую недоступность узла. Более корректный
вариант определяется в зависимости от контекста алгоритма сетевой угрозы.
Диаграммы трафика по сетевым интерфейсам наглядно иллюстрируют
загрузку канала в соответствии с рисунком 2.1.
Рисунок 2.1 - Диаграммы трафика
В приведенном примере производятся три итерации идентичных сетевых
атак сервера в интервале времени c 18 до 55 секунд. На первом этапе сервер
принимает "решение C" и пропускает пакеты от всех источников. Во втором
случае согласно "решению B" хост отказывает в приеме пакетов от сторонних
узлов в соответствии с предопределенной командой DENY пакетного фильтра
межсетевого экрана. В третьей итерации сервер задействует "решение A":
отбрасывает пакеты от неразрешенных хостов действием DROP. Последний
38
вариант действий оказался оптимальным решением по минимизации уровня
загрузки канала.
Используя механизмы прогнозирования и статистического анализа в срезе
доступных альтернативных решений стоит учитывать, что функции загрузки
канала содержат большое количество локальных экстремумов даже на достаточно
малом интервале времени.
В качестве критерия оптимальности J в задаче управления трафиком ЛВС в
работе предлагается рассматривать суммарный критерий минимизации загрузки
линии связи J1 и быстродействия J2:
𝐽 = 𝐽1 + 𝐽2 = min𝑢 ∈Ω u 𝐹(𝑢, ℎ, 𝑡) + min𝑢∈Ω u 𝑇
(2.1)
где 𝑢 - управляющее воздействие (набор команд модулям системы согласно
стратегии реагирования); Ωu - рабочая область управляющих воздействий;
𝐹(𝑢, ℎ, 𝑡) - функция загрузки канала, в связи с отсутствием возможности
представления в математическом виде, рассматриваемая как нелинейная,
псевдослучайная и описывающая изменение пропускной способности ЛВС во
времени t; h - злоумышленные сетевые воздействия, помехи и неполадки в работе
системы; T - время принятия решений по управлению.
Стоит отметить, что внешними возмущениями считаются как аппаратнопрограммные неполадки, так и злоумышленные воздействия и человеческий
фактор.
Таким
реагирования
образом,
на
осуществляется
несанкционированные
выбор
оптимальной
воздействия
с
стратегии
обеспечением
информационной безопасности.
В существующих системах используется "жесткая" логика поведения, не
проводящая сравнительного анализа и поиска оптимального решения, что и
позволяет хакерам идентифицировать продукт защиты атакуемого объекта и
проникнуть через уже известные уязвимости [69, 70].
Выбор стохастических методов обусловлен необходимостью динамической
автономной
оптимизации
прогнозирования «извне».
с
низкой
потенциальной
возможностью
39
Локально-градиентный
метод,
векторно-адаптивный
методы
не
применяются в силу проблемы «остановки» в локальных экстремумах.
Больцмановское обучение, обратное распространение и адаптация Коши требуют
корректировки
начальной
выборки,
близкой
к
оптимальной,
что
в
рассматриваемой задаче не может быть гарантировано. Ряд других методов не
представляется возможным реализовать в связи с вышеупомянутой проблемой
составления математической модели трафика вычислительной сети. Отсюда
очевидна необходимость применения методов синтеза самоорганизующихся
адаптивных
систем
-
по
причине
невозможности
определения
даже
приблизительного порядка системы. Одной из приемлемых методик является
генетическая алгоритмизация (ГА), позволяющая получить устойчивые решения
при значительном недостатке априорной информации о структуре системы и
характере возмущений [71].
Концепция
генетической
алгоритмизации
заключена
в
организации
эволюционного процесса (с естественным отбором, генетикой и др.), целью
которого является получение оптимального решения в сложной комбинаторной
задаче. Использование ГА в рамках данной работы обосновывается их
преимуществами: гибкостью функционирования, высокой скоростью поиска
решений
на
нелинейных
функциях,
возможностью
эффективного
распараллеливания вычислений, возможностью выхода из локальных на
глобальные экстремумы и др. [72, 73]
Необходимость принятия решений в условиях приближенных рассуждений
обуславливает использование нечеткой логики (англ. fuzzy logic). Это раздел
математики,
обобщающий
классическую
логику
и
теорию
множеств,
опирающийся на понятие нечѐткого множества, установленного Лотфи Заде в
1965 году как объекта с функцией принадлежности элемента к множеству,
принимающей любые значения в интервале [0;1], а не только 0 или 1. Технологии
нейронных, гибридных и др. сетей являются избыточным инструментом в срезе
исследуемой задачи [74-78].
40
В результате сравнительного анализа методов поиска оптимального
управления принято решение об использовании генетической алгоритмизации и
нечеткой логики.
2.3. Метод управления трафиком на межсетевых узлах ЛВС
Поскольку в поставленной задаче некоторые экземпляры решений
недопустимы (могут привести к выходу из строя информационной системы), а
также необходимо реализовать механизмы подмены и прогнозирования реакций
на модельных объектах (МО) СИАУ, то требуется модернизация генетической
алгоритмизации. Предлагается дополнить его блоком нечеткой логики.
2.3.1. Модернизированный генетический алгоритм
Введение в блок генетической алгоритмизации дополнительного фильтра,
контура функционирования нечеткой логики и блока прогнозирования позволяет
исключать
недопустимые
решения,
осуществлять
моделирование
и
фальсификацию реакций системы (рисунок 2.2) [79]. Здесь синим цветом выделен
исходный ГА, а зеленым цветом показаны введенные дополнительные блоки.
Рассмотрим работу предложенного алгоритма.
На модельных объектах производится прогнозирование реакции системы на
аномальные сетевые воздействия. Затем, по обратной связи осуществляется
корректировка начальной выборки (новых поколений). Идентичная подстройка
фильтра с использованием нечеткой логики позволяет также выбирать из
правильных решений наиболее оптимальные, что минимизирует загрузку как
сервера, так и сетевого канала связи.
41
Рисунок 2.2 - Блок-схема модернизированного генетического алгоритма
Популяцией особей выступает конечное множество альтернативных
решений. Хромосомы выражают составляющие действия в решении и являются
упорядоченными последовательностями генов, описывающих параметры задачи.
В качестве оценки приспособленности предлагается использовать стоимостную
функцию
𝜔 𝑡𝑖 = 𝑁 ∙ 𝑡𝑟𝑎𝑓𝑓𝑖𝑐 +
𝑖∈𝑁
𝑡𝑟𝑎𝑓𝑓𝑖𝑐 𝑡 𝑖 −𝑡𝑟𝑎𝑓𝑓𝑖𝑐
2
,
(2.2)
где 𝑁 - количество измерений нагрузки канала в рассматриваемом интервале
времени 𝑇; 𝑡𝑟𝑎𝑓𝑓𝑖𝑐 - среднее арифметическое значение загрузки канала в этом
интервале времени; 𝑡𝑟𝑎𝑓𝑓𝑖𝑐 𝑡𝑖 - значения нагрузки канала для каждого отсчета
времени 𝑡𝑖 , 𝑖 ∈ 𝑁.
Первое слагаемое (2.2) представляет накопленную оценку нагрузки на канал
связи, а второе - накопленную оценку отклонений нагрузки выше среднего
показателя.
Для распараллеливания анализа генерируемых решений СИАУ (рисунок
2.2) предлагается перенаправление идентичных информационных потоков на
модельные объекты системы, подключенные к альтернативному каналу связи.
42
Для каждого из этих решений на соответствующем МО высчитывается функция
приспособленности. Условие остановки алгоритма необходимо рассчитывать в
условиях приближенных рассуждений. Поэтому здесь задействуется блок
нечеткой логики. Для оценки эффективности решения используется функция
приспособленности:
𝐹𝑖 =
С
ее
помощью
производится
∆𝜔 (𝑡𝑖 )
𝜔 (𝑡𝑖 )
× 100%
подсчет
(2.3)
процентного
соотношения
приращения значения стоимостной функции ∆𝜔(𝑡𝑖 ) к значению стоимостной
функции
в
момент
до
принятия
решения
𝜔(𝑡𝑖 ).
Данный
показатель
рассчитывается для каждой изучаемой особи (хромосомы, экземпляра решения,
стратегии реагирования) на модельных объектах.
В
зависимости
от
показателей
функций
приспособленности
и
статистических данных о предшествующих параметрах эффективности решений в
рамках исследуемого возмущения, блок нечеткой логики производит выбор
оптимального решения для системы.
В случае отключения информационных потоков, проброшенных на МО
(например, оппоненты прекратили взаимодействие), СИАУ перенаправляет
очередную порцию клиентов на данный объект командами PoM Netfilter. Данное
действие производится для обеспечения равномерного распределения нагрузки на
каналы связи, предоставляемые изначально модельным объектам.
Генетическая рулетка запускается по двум событиям: идентификация
низкой и средней степи угрозы по сигнатуре и по таймауту (периодическая
проверка в штатном режиме). Весовые коэффициенты генетических рулеток
адаптивно изменяется в зависимости от статистики звена аналитики. Однако, для
повышения эффективности работы ГА элитарное доминирование пресекается
нечеткой логикой.
В
случае
идентификации
высокой
степени
угрозы
или
попыток
сканирования/зондирования системы - СИАУ задействует блок фальсификации
43
заранее
подготовленных
серверных
решений
[80].
Злоумышленник
перенаправляется на изолированную поддельный МО, где пытается осуществить
враждебные действия. Система отслеживает поведение, и, в случае успешного
взлома/вывода из строя модельного объекта, создает детальное описание
уязвимости установленной на ней операционной системы (ОС). Производится
автоматическое генерирование "заплатки", а также из начальной выборки
исключаются решения, содержащие данную уязвимость.
Для усложнения попыток активного и пассивного анализа установленного
ПО была разработана библиотека генерации псевдослучайных чисел. На ее основе
осуществляется выбор фальсифицированных модельных объектах сервера с
предустановленными операционными системами для перенаправления на них
злоумышленников. Выборка ОС представлена линейкой Windows Server 03-12,
Red Hat Enterprise Linux, CentOS, Debian, Ubuntu, Solaris и др.
В
дополнение,
звено
аналитики
включает
инструментарии
для
идентификации злоумышленника посредством трассировки соединения, а также
дальнейшего составления "черного" списка
со статистикой вредоносной
активности по объектам. Использование теории вероятности и методов
статистики в сочетании с выставлением "информационных ловушек" позволяют
также установить круг соучастников (или зараженных вредоносным кодом и
подчиненных хакеру хостов) [81, 82]. Соответственно, СИАУ динамически
самообучается и самореорганизуется.
2.3.2. Функции блока нечеткой логики
Система анализирует текущие и статистические значения функций
приспособленности (𝐹𝑖 ) всей популяции особей. Вычисляя средние значения и
среднеквадратичные отклонения (СКО) для их множеств, блок нечеткой логики
может принять одно из следующих решений (процентные соотношения могут
динамически меняться):
44
1) если текущее среднее значение лучше статистического более чем на
5%, то выбрать лучшую особь, применить к реальной системе, не
останавливать работу генетического алгоритма;
2) если количество итераций < 3; то не останавливать работу
генетического алгоритма;
3) если количество итераций ≥ 3, все решения хуже статистических, то
остановить работу генетического алгоритма;
4) если количество итераций ≥ 3, текущее среднее значение лучше
статистического не более чем на 5% и СКО ≤ 5%, то выбрать лучшую
особь, применить к реальной системе, считать выполненным условие
остановки генетического алгоритма;
5) если количество итераций ≥ 3, значение для лучшей особи
превосходит статистическое не более чем на 5% и СКО ≤ 40%, то
выбрать лучшую особь, применить к реальной системе, перезапустить
работу генетического алгоритма;
6) если количество итераций ≥ 3, значение для лучшей особи
превосходит статистическое не более чем на 5% и СКО > 40%, то
выбрать лучшую особь, применить к реальной системе, перезапустить
работу генетического алгоритма с дополнительными параметрами
фильтра.
С первого по шестой пункты динамически подстраиваются параметры
фильтра. Вместе с тем, в случае идентификации крайне отрицательного решения,
подтвержденного статистикой к различным типам атак, особь исключается из
допустимой выборки начальной популяции. Временные интервалы исследования
решений и условия выбора корректируются блоком нечеткой логики.
45
2.3.3. Пример работы модифицированного ГА
Рассмотрим пример работы блока генетической алгоритмизации в СИАУ на
примере реальной систем, содержащей 10 модельных объектов.
С локальных IP-адресов началась фальсифицированная рассылка ICMPсообщений различного типа (в том числе и redirect), затем была запущена
программа активного анализа сервера, первоначально имитирующая атаки
низкого уровня угрозы. СИАУ идентифицировала по сигнатуре низкую степень
угрозы со стороны локальной вычислительной сети и запустила блок
генетической алгоритмизации по событию "идентификация угрозы".
На подозрительное возмущение (соответствующее сигнатуре) система
составила начальную выборку стратегий реагирования: в данном случае 78
особей. Далее система перенаправила идентичные информационные потоки на
свои десять модельных объектов, подключенные к альтернативному каналу связи,
для апробации решений.
В результате скрещивания, мутации и отбора особей на второй итерации
работы система выделила четыре жизнеспособных хромосомы (значения функции
приспособленности выше статистического для данной сигнатуры):
1) отправить данные с логином и паролем имитируемого подключения к
FTP-серверу в открытом виде через сегмент сети, потенциально
подверженный перехвату данных злоумышленником.
Основные гены: тип решения- ловушка; протокол - FTP; порты - 20, 21;
аутентификация - открытая, генерация логина и пароля; маршрут альтернативный канал связи - L2-S3 - основной канал связи LAN СИАУ;
действие - отправить сгенерированные данные через подозрительный
сегмент сети; реагирование - если идентифицирована попытка FTPсоединения
с
ранее
сгенерированными
данными,
то
оборвать
соединение и добавить в "черный список" IP-адрес, а также добавить в
"черный
список"
IP-адреса
подозрительных
хостов,
немедленно
46
прекративших соединение ("if IsInfFlow (eth0:20,21) then DROP &
WriteInBL (curIP) & AnalysIdIPs; DROP & WriteMInBL (curIPs);").
Значение функции приспособленности, вычисленное системой, равно
𝐹𝑖 = 78%;
2) отправить ложный DHCP-запрос в сегмент сети, потенциально
подверженный перехвату данных злоумышленником.
Основные гены: тип решения - ловушка; протокол - DHCP; запрос широковещательный; действие - отправить сгенерированные данные в
подозрительный сегмент сети; реагирование - если поступает DHCPпредложение, то внести IP адрес отправителя в черный список и
блокировать соединение ("if IsInfoFlowD (DHCP-offer) then DROP &
WriteInBL
(curIP)").
Значение
функции
приспособленности,
вычисленное системой, равно 𝐹𝑖 = 0.7%.
3) имитировать состояние зависания.
Основные гены: тип решения - ловушка; протокол - аналогичный
входящему; действие - установить ловушку "зависание" ("install
(tarpit)"); реагирование - если идентифицирована попытка удаленного
доступа, то внести IP адрес в черный список и разорвать текущее
соединение ("if IsInfoFlowRA (RemoteAC) then DROP & WriteInBL
(curIP)"). Значение функции приспособленности, вычисленное системой,
равно 𝐹𝑖 = 0,4%.
4) проверить основные характеристики линии связи.
Основные гены: тип решения - проверка; протокол - ICMP; действие проверка доступности и анализ сетевых параметров линии связи до
объекта
("NetAnalysis
(AverVal)");
реагирование
-
если
идентифицированы проблемы в линии связи, то блокировать пакеты с
уведомлением
по
ICMP
и
известить
специалиста
по
e-mail
("DeviationsDL (Srv) & mailTo (Adr, textEr)"). Значение функции
приспособленности, вычисленное системой, равно 𝐹𝑖 = 0,05%.
47
Первая хромосома показала наилучший результат в сравнительном анализе
со всеми раннее сгенерированными решениями. Разгрузила загрузку линии связи
модельного объекта на 78%.
Третья хромосома имитировала состояние зависания, вторая - ложный
DHCP-запрос. Однако, программное обеспечение злоумышленника (и он сам)
никак на них не отреагировали.
Последняя хромосома пыталась идентифицировать наличие потенциальной
проблемы в канала связи объекта на предмет привнесения различных задержек,
повреждения канала связи и др. Но никаких отклонений не было выявлено.
Среднее значение функции приспособленности оказалось лучше статистического
на 8,79%. Очевидно, блоком нечеткой логики была принята первая стратегия
реагирования. Генетическая алгоритмизация продолжила работу согласно
пункту 1.
Однако, на третьей итерации контур нечеткой логики остановил работу ГА,
так как все решения оказались хуже рассматриваемых на второй итерации
(ставших статистическими), согласно пункту 3.
2.3.4. Механизм удаленного сетевого доступа
Для организации удаленного администрирования системы был разработан
механизм удаленного сетевого доступа [83], имеющий в своей основе технологию
«простукивания
портов»,
но
расширенную
алгоритмом
динамического
формирования последовательности условий.
Клиент-серверная модель использует:
 информацию о предшествующих успешных соединениях (дату, время,
флаги пакетов <выборка блоком нечеткой логики>);
 информацию о текущей дате;
 последовательность
сгенерированных
стохастических
параметров
(естественно, с использованием авторского генератора псевдослучайных
48
чисел, а не Dual_EC_DRBG <Dual Elliptic Curve Deterministic Random Bit
Generation>);
 ЭЦП.
На основе данных параметров с использованием хэш-функции и нечеткой
логики формируется необходимая последовательность портов и протоколов. Для
составления итоговой последовательности (рисунок 2.3) нечеткая логика
включает http-обращения из tor-сети (посредством «луковой» маршрутизации) со
списка хостов корпоративного нода.
Рисунок 2.3 - Общая схема удаленного сетевого доступа к СИАУ
После прохождения данной цепочки хосту разрешается установление VPNсоединения
и
работа
через
него
посредством
ранее
приведенных
криптографических протоколов. Использование оверлейных сетей повышает
степень защиты от снифферов, а формата последней сессии - от "инсайдера".
49
2.3.5. Функционирование ИС на основе предложенного метода
Блок-схема метода управления трафиком на межсетевых узлах ЛВС
показана на рисунке 2.4, где пунктиром выделены основные этапы работы.
Рисунок 2.4 - Блок-схема функционирования СИАУ с использованием
метода управления трафиком на межсетевых узлах ЛВС
50
Метод управления трафиком на межсетевых узлах ЛВС, использующий
генетическую алгоритмизацию и нечеткую логику, лежит в основе оригинальной
системы интеллектуально-адаптивного управления трафиком вычислительной
сети, работа которой предполагает последовательное выполнение следующих
операций [52]:
1) первоначальное сканирование топологии и конфигурации сети;
2) конфигурирование базовых правил системы управления трафиком с
учетом текущей политики безопасности;
3) конфигурирование механизма удаленного сетевого доступа;
4) формирование блока прогнозирования: установка и синхронизация
модельных объектов СИАУ;
5) развертывание блока фальсифицирования: установка и конфигурирование
изолированных виртуальных серверов с различными операционными
системами и программным обеспечением;
6) конфигурирование звена аналитики;
7) динамический анализ трафика (в том числе сигнатурный), идентификация
попыток сканирования, зондирования и взлома. В случае обнаружения
подозрительной сетевой активности системой производится оценка
степени угрозы и предпринимается, в зависимости от ситуации,
следующее действие:
7.1.в
случае
низкой
и
средней
степени
угрозы
производится
перенаправление идентичных информационных потоков на МО (п. 4),
подключенные к альтернативному каналу связи. Подключается блок
генетической
выполняющие
алгоритмизации
поиск
и
контур
оптимальной
нечеткой
стратегии
логики,
реагирования
(минимизирующей загрузку канала, обеспечивающей высокий уровень
ИБ);
7.2.в случае идентификации высокой степени угрозы или попыток
сканирования/зондирования
системы
задействуется
блок
51
фальсификации заранее подготовленных серверных решений (п. 5).
Составляются сигнатуры новых уязвимостей, формируются "заплатки";
8) трассировка и идентификация хостов-злоумышленников и дальнейшее
их внесение в черный список с временной блокировкой - действие
"юрисдикции" звена аналитики;
9) систематическая
самореорганизация
системы
с
предварительной
проверкой решений на ее модельных объектах.
Каждый из представленных этапов работы системы управления трафиком
включает в себя определенные методы и детализированные алгоритмы действий.
Спроектированная
таким
образом
система
способна
автономно
видоизменять существующие и создавать новые алгоритмы реагирования,
идентифицировать ранее неизвестные уязвимости операционных систем и
создавать "заплатки" к ним, производить минимальную
идентификацию
злоумышленников. Соответственно, СИАУ динамически самообучается и
самореорганизуется с предварительной доскональной проверкой решений на
собственных МО [52].
2.3.6. Реакция СИАУ на распределенную сетевую атаку
Рассмотрим в качестве примера реакцию разработанной СИАУ на
распределенную сетевую атаку, начиная с этапа развертывания системы. Для
упрощения
восприятия
озвучены
некоторые
программные
решения,
обоснованность выбора которых и их модификация будет изложена в главе 4.
В соответствии с методом на этапе 1 происходит сканирование топологии и
конфигурации сети с зондированием хостов. На этом шаге идентифицируются
задействованные протоколы, технологии и аппаратно-программные средства
информационно-технического сектора предприятия. Соответственно, система
составляет список уязвимостей (например, доступ к серверу терминалов
52
осуществляется по протоколу RDP 5.* без компонентов-заплат на потенциальную
возможность «удаленного выполнения кода») с приоритетом их устранения.
Этап 2 предполагает конфигурирование брандмауэра Netfilter (пакетного
фильтра iptables с трассировщиком соединений) с использованием сценариев
Patch-o-matic, а именно расширений: time, tarpit, random, mport, string, а так же
других средств. Здесь же происходит составление сценария «максимальной
защиты» с учетом текущей политики безопасности.
На этапе 3 конфигурируется авторский механизм удаленного сетевого
доступа, согласовывается клиент-серверное взаимодействие, подготавливается
клиентская часть программного обеспечения.
Этапы 4 и 5 предусматривают развертывание блоков прогнозирования и
фальсифицирования. Развертываются модельные объекты системы с дальнейшей
синхронизацией с первоисточником, а также изолированные серверные решения с
различными ОС и программным обеспечением. В пространстве гипервизора
виртуальный распределенный сетевой коммутатор изолирует блоки в разные
виртуальные подсети VLAN (англ. Virtual Local Area Network), делегируя
взаимодействие пограничным шлюзам. Системой изучаются и анализируются
установленные экземпляры (серверные ОС).
В
рамках
инструментария
этапа
6
конфигурируется
для
проведения
СУБД
идентификации
и
широкий
спектр
злоумышленников
(используются механизмы и пассивного анализа звена аналитики).
На этапах 7 и 8 осуществляется идентификация подозрительной сетевой
активности по очереди «полуоткрытых соединений» (началась атака DDoS типа
SYN flood). Производится выставление лимитов соединений, систематизация
информации по ним. Однозначно без априорной информации различить обычные
попытки соединения от «троянских» невозможно.
Блок нечеткой логики оценивает уровень угрозы как "высокий", СИАУ
автономно принимает решение перенаправить информационные потоки данной
группы на порты-ловушки (благодаря расширению TARPIT пакетного фильтра
53
IPTABLES) специально подготовленных ОС на паравиртуализаторе XEN,
отнимая
вычислительные
мощности
атакующих
и
создавая
видимость
«зависания» сервера. Данные действия выбираются из спектра решений
посредством генератора псевдослучайных чисел, при этом фальсифицированные
МО используют альтернативный канал связи. Действие провоцирует хакера
прекратить атаку и приступить к попыткам взлома. В ходе этих действий
определяется круг атакующих машин.
В
соответствии
с
методом
злоумышленник
перенаправлен
на
фальсифицированную ОС на паравиртуализаторе XEN, изолированную от ЛВС и
служащую для идентификации хоста злоумышленника и его целей. Производится
балансировка и разгрузка канала связи с выполнением процедур активного
анализа и трассировки (traceroute) до всех зараженных машин. Сопровождается
операция логированием, составлением черного списка и сигнатур ранее
неизвестных уязвимостей операционных систем (например, Windows Server 2012),
формируются "заплатки".
Этап
9
инициализирует
очередную
самореорганизацию
системы
с
предварительной проверкой решений на ее модельных объектах.
В ходе выполнения предписанных шагов была отражена распределенная
сетевая атака на отказ в обслуживании (DDoS), установлены участники
организованной преступной группировки (злоумышленник и круг хостов под его
управлением), систематизирована информация для установления географического
местонахождения злоумышленников.
Стоит
отметить,
что
для
точного
установления
местонахождения
злоумышленника (особенно если он задействовал технологии проксирования,
VPN, TOR или др.) необходимо обратиться в правоохранительные органы,
которые
имеют
право
отправлять
запросы
Интернет-провайдерам
предоставление информации, необходимой для ведения расследования.
на
54
Предложенный механизм организации удаленного сетевого доступа
исключает возможность нелегитимного доступа даже сотрудникам предприятия,
сделавшим незаконную копию флеш-карты с клиентским ПО.
Таким образом, разработанный метод управления трафиком на межсетевых
узлах локальных вычислительных сетей может обеспечить динамическое
самообучение и самореорганизацию информационной системы, минимизируя
загрузку
канала
безопасности
с
связи,
предоставляя
отсутствием
высокий
возможности
уровень
информационной
прогнозирования
стратегии
реагирования как с локальной вычислительной сети предприятия, так и «извне»
[52, 56, 70, 79, 80, 82-84]. Используемый термин СИАУ обусловлен
функционированием информационной системы на базе предложенного метода.
2.4. Выводы
В
ходе
диссертационных
исследований
был
разработан
метод
интеллектуально-адаптивного управления трафиком на межсетевых узлах
локальных вычислительных сетей, отличающийся от существующих методов
обеспечением:
1) динамического
самообучения
и
самореорганизации
ИС
(с
автоматической идентификацией новых сетевых угроз и выработкой
оптимальной стратегий по их устранению);
2) минимизации загрузки канала связи (выбор оптимальной стратегии
управления трафиком при различных типах сетевой активности);
3) минимизации
человеческого
фактора
(автоматическое
функционирование системы с защитой от инсайдерских атак и
автономным принятием решений);
4) высокого уровня информационной безопасности с невозможностью
прогнозирования стратегии реагирования системы как с локальной
вычислительной сети предприятия, так и «извне».
55
3. РАЗРАБОТКА АЛГОРИТМА УПРАВЛЕНИЯ
ИНФОРМАЦИОННЫМИ ПОТОКАМИ КОРПОРАТИВНЫХ
ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ
Одним из приоритетных факторов развития Российской Федерации
является становление инновационной информационно-технической системы,
выступающей рычагом государственного влияния на направления, скорость и
эффективность развития процессов всех сфер жизни. В частности, делается
акцент
на
проблематику
управления
трафиком
вычислительной
сети.
Обусловлено это тем, что уровень обеспечения ИБ является следствием
эффективности методов управления трафиком.
3.1. Понятие инсайдерских атак на корпоративную сеть
Одной из важных проблем ИКТ предприятия является человеческий фактор
- потенциальная возможность нахождения злоумышленника из числа доверенных
пользователей корпоративной сети, в том числе из IT-персонала.
В англоязычной технической литературе участник какой-либо группы
людей/организации, имеющий доступ к закрытой (секретной) информации,
недоступной
широкой
публике,
именуется
инсайдером
(англ.
insider).
Злоумышленные действия с использованием вверенных прав доступа к
информационным ресурсам называются инсайдерскими атаками. К данному типу
атак также относят угрозу перехвата, анализа и дешифровки, модификации и
фальсификации трафика при незаконном подключении к ЛВС предприятия. Стоит
отметить, что данные угрозы не исключены и со стороны Интернет-провайдеров.
Соответственно
возникает
необходимость
защиты
информационных
процессов и процедуры их электронной автоматизации в области предприятий,
корпораций и федеральных государственных учреждений.
56
Злоумышленник из числа доверенных пользователей, в том числе и со
стороны персонала Интернет-провайдера, может попытаться перехватить потоки
информации посредством снифферов (сканированием и зондированием в режиме
сетевого интерфейса – неразборчивый захват). Далее хакер может провести
широкий спектр преступных действий: проанализировать и дешифровать,
модифицировать и фальсифицировать информационные потоки [56] (а так же ряд
других действий, подробно описанных в первой главе).
3.2. Алгоритм управления информационными потоками
корпоративных вычислительных сетей
Для
минимизации
угроз
сниффинга
и
дешифровки
информации
предлагается оригинальный алгоритм управления информационными потоками
корпоративных
вычислительных
сетей,
распределенная
самоорганизующаяся
в
система
основу
которого
шифрования.
заложена
Данная
идея
появилась при изучении «луковой маршрутизации» tor-сетей [60, 66], созданных
для анонимизации серфинга в сети интернет. При этом устранены уязвимости
оверлейных сетей и технологий, изложенных в первой главе, разработана более
надежная программная основа и принцип шифрования реализован безопасным
способом на основе динамического выбора ассиметричных алгоритмов [85-89].
3.2.1. Структура алгоритма
Предлагаемый
алгоритм
управления
информационными
потоками
корпоративных вычислительных сетей построен на базе распределенной
обработки данных ("луковой маршрутизации") с фрагментацией пакетов на
экземпляры случайной длины, изменением флагов дейтаграмм в допустимых
значениях, привнесением различных задержек на обработку каждого пакета
узлом-отправителем и всеми промежуточными звеньями, а также генерацией
57
фальшивого p2p трафика. Его работа предполагает последовательное выполнение
следующих операций [90-92]:
1) установка и конфигурирование доверенного удостоверяющего центра
сертификации корпоративной сети (ЦС) в пространстве блока виртуальных
серверов;
2) настройка протокола клиент-серверного взаимодействия. Блок нечеткой
логики с использованием различных параметров ИКТ предприятия и
привнесением
стохастических
величин
обеспечивает
уникальность
параметров протокола (и алгоритма действий) для каждой компании;
3) установка клиентской части программного обеспечения на рабочих станциях
через групповые политики или «вручную»;
4) составление ЦС списка доверенных узлов, синхронизация его с клиентской
частью;
5) обмен данными, организованный в следующей последовательности:
5.1.выбор
узлом-инициатором
произвольным
образом
N-количества
(благодаря
доверенных
разработанному
узлов
генератору
псевдослучайных чисел);
5.2.проверка актуальности информации: являются ли еще выбранные хосты
доверенными
в
рамках
данной
корпорации
(дополнительное
согласование по закрытому протоколу с ЦС);
5.3.обмен новыми парами ключей на каждый сеанс связи между узломотправителем и хостами [1;N];
5.4.шифрование пакетов узлом-инициатором, начиная с ключа N до 1-го,
инкапсулируя содержимое таким образом, чтобы каждый участник
взаимодействия мог дешифровать лишь свою часть и просмотреть
информацию о следующем адресе пересылки;
5.5.фрагментация пакетов на объемы разной длины, изменение флагов
дейтаграмм (в допустимых рамках), привнесение различных задержек на
обработку
каждого
пакета
узлом-отправителем
и
всеми
58
промежуточными звеньями. Приведенные действия производятся со
стохастическим подходом, для сокрытия типа содержимого дейтаграмм
и усложнения анализа (с пресечением возможности корреляции
параметров,
идентификации
автомодельности
и
тайминг-атак
глобальным наблюдателем). Еще одним инновационным инструментом,
усложняющим
генерация
дешифровку
фальшивого
обеспечением
с
p2p
блоком
трафика
трафика
нечеткой
злоумышленнику,
клиентским
логики,
является
программным
устанавливающим
уровень/объем и тип "шума";
5.6.продвижение пакета с пошаговым дешифрованием и выполнением п.
5.5. Лишь последний узел декапсулирует пакет окончательно и по
зашифрованному каналу (например https) передает информацию и
прогоняет ответ по той же цепочке.
Этап 5.5 порождает резкое возрастание объема трафика. Для минимизации
загрузки линии связи был разработан и включен в систему дополнительный
модуль инжиниринга трафика [92] с разработанным новым алгоритмом выбора
маршрутов по распределению информационных потоков. Данный алгоритм
заключается в рассмотрении хостами упреждающих воздействий с блока
прогнозирования СИАУ и анализе состояния коммутационных узлов (в том числе
и выбранных в цепочку передачи информации). В совокупности с ранее
изложенным методом управления трафиком на межсетевых узлах локальных
вычислительных сетей данная методика формирует алгоритм регулирования
загрузки канала связи.
Степень загрузки линии связи корпоративной вычислительной сети,
функционирующей с СИАУ на базе предложенного алгоритма, может быть выше
до 15% относительно штатного режима работы ЛВС (без сетевых аномалий,
внешних возмущений и предлагаемого алгоритма). Это можно считать достаточно
малыми издержками в задаче обеспечения защиты процесса передачи данных.
59
3.2.2. Блок-схема алгоритма
Блок-схема
предлагаемого
алгоритма
управления
информационными
потоками корпоративных вычислительных сетей показана на рисунке 3.1, где
пунктиром выделены основные этапы работы.
Рисунок 3.1 - Блок-схема функционирования СИАУ с использованием алгоритма
управления информационными потоками корпоративных вычислительных сетей
60
Данный подход к формированию СИАУ позволяет устранять уязвимости
оверлейных сетей вводом блоков фрагментирования, модификации, задержки
пакетов, генерирования фальшивого p2p-трафика.
Предложенный алгоритм управления трафиком подразумевает возможность
функционирования в новой области – области корпоративных ЛВС посредством
организации управления информационными потоками по случайной траектории
из
произвольного
количества
промежуточных
узлов
распределенной
корпоративной сети [90-92]. Схема формирования информационных потоков
представлена на рисунке 3.2.
Рисунок 3.2 - Общая схема формирования информационных потоков
Стоит еще раз отметить, что "транзитную цепочку" доверенных узлов на
каждый сеанс связи хост выбирает стохастически (благодаря авторскому
генератору псевдослучайных чисел) - вновь производится генерация и обмен
новыми парами ключей.
61
3.3. Пример работы СИАУ
Иллюстрация примера работы СИАУ на основе предложенного алгоритма
представлена на рисунке 3.3, на котором более наглядно отображается суть
предлагаемой концепции.
Рисунок 3.3 - Общая схема управления информационными потоками в
корпоративной сети с использованием СИАУ
В географически распределенной корпоративной вычислительной сети
узел-инициатор выбирает N-количество доверенных хостов стохастическим
образом
(благодаря
разработанному
генератору
псевдослучайных
чисел),
обменивается новыми парами ассиметричных ключей на каждый сеанс связи с
каждым оппонентом [1;N]. Далее осуществляет шифрование дейтаграмм, начиная
с ключа N до 1-го, инкапсулируя содержимое таким образом, чтобы каждый
62
участник взаимодействия мог дешифровать лишь свою часть и просмотреть
информацию
о
производится
с
следующем
адресе
фрагментацией
и
пересылки.
модификацией
Продвижение
пакетов,
пакетов
привнесением
различных задержек, а также генерацией фальшивого p2p трафика. Данные
действия производятся со стохастическим выбором параметров (согласно блоксхеме, проиллюстрированной на рисунке 3.1).
При
использовании
данного
алгоритма,
попытки
дешифровки
информационных потоков и деанонимизации источника являются нерентабельной
задачей (временные издержки и стоимость привлеченных технических и др.
средств значительно превышают выгоду от дешифрованного потока информации
одного случайного источника за малый период времени) [56, 85].
3.4. Выводы
В данной главе представлен результат разработки алгоритма управления
информационными потоками корпоративных вычислительных сетей, который
имеет следующие достоинства перед существующими решениями:
1) оптимизация
загрузки
канала
связи
(посредством
авторского
инжиниринга генерируемого псевдо-трафика);
2) исключение
автоматизированного
возможности
анализа
осуществления
трафика
(с
автоматического
пресечением
и
потенциальной
возможности корреляции параметров прохождения дейтаграмм и идентификации
автомодельности);
3) исключение возможности прогнозирования продвижения трафика, как
из локальной вычислительной сети предприятия, так и «извне»;
4) минимизация
человеческого
фактора
(автоматическое
функционирование системы с защитой от инсайдерских атак);
5) обеспечение высокого уровня ИБ (защита от сниффинга и дешифровки,
тайминг-атак глобальным наблюдателем и мн. др.).
63
4. РЕАЛИЗАЦИЯ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНО-АДАПТИВНОГО
УПРАВЛЕНИЯ ТРАФИКОМ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ
Процесс разработки любого сложного программного продукта многогранен,
он состоит из множества этапов. После выпуска первой версии поступают отзывы
эксплантатов, выявляются недочеты, появляется новое видение проекта у
разработчика. На основе полученной обратной связи вносятся изменения,
выпускается следующая версия ПО. Этот процесс с различной интенсивностью
продолжается в течение всего жизненного цикла.
В случае, когда объем разработки значителен, важную роль играет
методология
управления
процессом
разработки.
Методология
помогает
контролировать стабильность продукта, риски в течение длительного периода
времени, и, в результате, получить желаемый отказоустойчивый результат в
требуемые сроки.
Стоит отметить, что первый релиз информационной системы состоялся 15
февраля 2011 года в Российской федерации, г.Новосибирск. Результаты
диссертации,
в
том
числе
и
программный
продукт,
используются
в
государственных учреждениях и корпоративном секторе (о чем свидетельствуют
акты внедрения), повышая эффективность управления информационными
потоками в вычислительных сетях с коммутацией пакетов, а так же уровень ИБ
ИКТ-сектора.
4.1. Требования к системе и узлам ЛВС
Основной задачей разрабатываемой системы является управление трафиком
вычислительной
сети
с
коммутацией
пакетов
на
межсетевых
узлах
корпоративных ЛВС. Следствием эффективности заложенных в нее авторских
методов управления сетевым трафиком является обеспечение высокого уровня
информационной безопасности с оптимизацией загрузки канала связи.
64
Данный процесс должен быть реализован с помощью комбинирования
имеющихся, зарекомендовавших себя решений, в том числе и стратегий
реагирования коммерческих и бесплатных межсетевых экранов/шлюзов. Решения
должны в автоматическом режиме разворачиваться на модельных средах,
управляемых
гипервизором.
Виртуальные
машины
блоков
моделирования/прогнозирования, фальсификации серверных решений, серверов
предприятий следует изолировать распределенным виртуальным коммутатором
посредством технологии VLAN.
Качество работы каждого модельного объекта должно быть оценено по
множеству критериев. Результаты моделирования и противодействия должны
анализироваться и сохраняться в базе данных. Данный процесс и собираемая
статистическая информация должны быть доступны для анализа оператором
системы, посредством графического интерфейса.
Исходя из задач разработки, сформулированы следующие требования к
системе:
Требования к безопасности:
 устойчивость самой моделирующей системы к сетевым угрозам;
 физическая доступность и безопасность сервера и терминалов.
Требования к гибкости:
 расширяемость посредством добавления новых программных решений
для противодействия сетевым угрозам;
 развертывание любых допустимых комбинаций программных решений
на модельной среде;
 автоматическое развертывание конфигурации на модельной среде.
Требования к надежности:
 стабильность работы в условиях активных сетевых угроз;
 отказоустойчивость
дисковой
системы
посредством аппаратного
дублирования и надежного сохранения результатов моделирования;
65
 оповещение персонала, обслуживающего систему, о нештатных
ситуациях посредством электронных средств связи;
 наличие резервного терминала для прямого доступа и управления
системой при отказе сетевого оборудования.
Требования к доступности:
 доступность системы для ограниченных групп пользователей, права
которых регулируются групповыми политиками;
 доступность для операторов даже при загруженности канала связи.
Минимальные
терминалов:
требования
произвольная
к
конфигурации
программная
и
ПЭВМ
клиентских
аппаратная
платформа,
поддерживающая графический интерфейс (shell), наличие сетевого интерфейса,
произвольный веб-браузер, поддерживающий данную платформу.
Минимальные требования к конфигурации ЭВМ сервера: аппаратная
платформа x86_64 поддерживающая технологии аппаратной виртуализации
IntelVT или AMD-V, совместимая с ОС Linux (RHELbased-дистрибутивы),
сетевой интерфейс 1 Gbit.
4.2. Моделирование предметной области
Целью данного раздела является установление структурных элементов
процессов функционирования предприятия (бизнес-процессов), а также их
рассмотрение во взаимосвязанном представлении (статическом и динамическом).
Исходя из вышеуказанного, особый приоритет имеют вопросы построения
рентабельной
бизнес-модели
деятельности
организации
и,
естественно,
формирования на ее основе требований к информационной системе, которая
призвана обеспечить оперативность принятия решений, коммуникации и
интеграции всех сторон бизнес-процессов.
66
Разработка бизнес-модели предприятия, создание новых или реинжиниринг
существующих бизнес-процессов, а также выявление на их основе требований к
информационной системе обуславливает на начальном этапе решение еще одной
задачи – моделирования предметной области, которая является фундаментом для
построения управленческой информационной системы.
Для решения этих задач необходимо выбрать средства компьютерной
поддержки процессов моделирования и разработки информационных систем.
На сегодняшний день Российский рынок программного обеспечения
располагает следующими наиболее развитыми CASE-средствами:
Vantage Team Builder (Westmount I-CASE) подходит для крупных
многоплатформенных
проектов,
ориентированных
на
каскадную
модель
жизненного цикла;
Silverrun - используется для анализа и проектирования ИС бизнес-класса и
ориентировано в большей степени на спиральную модель жизненного цикла;
ERwin+BPwin, S-Designor, СА8Е. Аналитик-предназначены для средних и
небольших проектов, локальные CASE-средства в сочетании со средствами
быстрой разработки приложений (PowerBuilder, Delphi, SQL Windows и др.);
Rational Rose - используется для проектов, предполагающих использование
объектно-ориентированного подхода. Здесь в качестве средств разработки
приложений необходимо использовать одно из тех средств, с которыми
взаимодействует Rational Rose.
Кроме того, на рынке постоянно появляются как новые системы для
отечественных пользователей, так и новые версии и модификации перечисленных
систем.
В данной диссертации для решения поставленных задач решено применять
методы анализа, моделирования и проектирования. А в качестве средств
языкового выражения (семантической поддержки) - нотация Unified Modeling
Language
(UML)
со
средствами
компьютерной
поддержки
процессов
моделирования и разработки ИС - CASE-средства [93]. Из указанных ранее
67
CASE-средств оптимальным выбором является Rational Rose из интегрированного
пакета Rational Enterprise Suite компании IBM Rational Software Corporation
(США). Рассмотрим основные понятия для моделирования жизнедеятельности
предприятия:
• бизнес-транзакция - рассмотрение структуры управления определѐнной
предметной области, осуществляемой на некотором уровне управления на основе
совокупности
ресурсов,
результатом
которой
является
значимый
для
функционирования организации результат;
• бизнес-процесс - ряд бизнес-транзакций, представляющий законченный
цикл управления выдержкой из предметной области жизнедеятельности
организации;
•
организация
-
согласованная
интегративная
последовательность
взаимосвязанных бизнес-процессов, которая способствует достижению целей
работы учреждения.
Использование UML при моделировании предприятия и еѐ бизнеспроцессов позволяет в полной мере реализовать представление во всех аспектах
(динамическом, статическом и структурном). В ходе объектно-ориентированного
анализа и проектирования UML-модель организации описывает совокупность
взаимосвязанных
диаграмм,
которые
демонстрируют
бизнес-процессы,
описывают жизненный цикл и структуру учреждения, а так же взаимосвязь
процессов еѐ функционирования во времени и пространстве (с параметрами
используемых ресурсов и получаемых результатов).
UML-шаблон относительно бизнес-моделирования может содержать в себе
следующие диаграммы:
1) структурный
блок:
Use-Case-диаграммы,
определяющие
бизнес-
процессы и бизнес-транзакции, их взаимодействие, автономность и
соподчиненность;
Package-диаграммы,
структурно
организующие
исследуемую предметную область и иерархически упорядоченную
структуру предприятия;
68
2) динамический
блок:
Behavior-диаграммы
(Activity,
Statechart,
Collaboration, Sequence), определяющие поведение (жизненный цикл)
бизнес-процессов в их взаимодействии в пространстве и во времени с
параметрами используемых ресурсов и получаемых результатов;
3) статический блок: Class-диаграммы, выявляющие последовательность
взаимосвязанных объектов, т. е. определяет логическую структуру
предметной области, сущностные концепции, иерархию объектов,
локальные связи между ними, структурное представление данных и
объектов.
Deployment-диаграммы,
определяющие
технологические
возможности предприятия.
К тому же следует отметить, что не всегда необходимо строить практически
все диаграммы UML. Аналитик или разработчик самостоятельно принимает
решение: необходим ли ему данный уровень детализации, нужно ли изучить
систему или ее составляющую с "иной точки зрения", достаточно ли
исчерпывающе рассмотрены самые "сложные и скрытые моменты" и т. д.
UML-шаблон в части бизнес-модели позволяет получить исчерпывающие
ответы на ряд стандартных вопросов функционирования учреждения:
 каковы
виды
деятельности
предприятии,
предметные
области
менеджмента (предметно-структурный аспект);
 перечень
функционирующих
бизнес-процессов
(функциональный
аспект);
 автор и локация выполнения бизнес-процессов (организационный
аспект);
 параметры выполнения бизнес-процессов (методический аспект);
 временные интервалы выполнения бизнес-процессов (динамический
аспект);
 что, откуда и куда перемещается, обрабатывается, получается в
материальных и в связанных с ними информационных потоках
(сущностно-элементный аспект);
69
 посредством чего (какими инструментами) выполняются бизнеспроцессы (ресурсный и технологический аспекты).
Для решения этих задач выбраны средства компьютерной поддержки
процессов моделирования и разработки информационных систем – CASEсредства (Rational Enterprise Suite).
Еще раз стоит отметить, что данная работа выполняется по положению о
конфиденциальности, поэтому представлены лишь выдержки и примеры
разработки демонстрационного проекта.
Для выявления бизнес-процессов рассмотрим структурно-функциональный
аспект моделирования деятельности фирмы, для его отражения используются
следующие UML-диаграммы, Business Use-Case и Use-Case. Диаграмма Business
Use-Case модель предназначена для быстрого изучения высокоуровневых
отношений в бизнесе без подробностей и информации, которая может затруднить
изучение
взаимосвязи
между
участниками
бизнес-процессов.
Основными
компонентами бизнес-модели является бизнес-роль, роль сотрудника и бизнес
вариантов использования.
Бизнес-роль может исполнять любой человек или подразделение, которые
являются внешними по отношению к организации, но взаимодействуют с ней. В
рассматриваемой предметной области примером является перевозчик. Роль
сотрудника
–
это
роль
внутри
организации.
Например,
инспектор
по
техническому надзору за пассажирскими перевозками.
Бизнес-вариант использования – это группа рабочих потоков внутри
организации, которая описывает деятельность организации для бизнес-роли. В
данном проекте примером может служить «запрос/выдача информации» и,
70
соответственно, «одобрение/наложение моратория/фальсификация» (рисунок 4.1).
Рисунок 4.1 - Пример бизнес-диаграммы вариантов использования
Диаграмма
Use-Case
вариантов
использования
является
исходным
концептуальным представлением или концептуальной моделью информационной
системы в процессе ее проектирования и разработки.
Также диаграмма Use-Case позволяет создать список операций, которые
должна выполнять система. Часто этот вид диаграмм называют диаграммой
функций, потому что на основе таких диаграмм создается список требований к
системе и определяется множество выполняемых системой функций. Данные
объекты – это описание сценария поведения, которому следуют действующие
лица.
Действующие
лица,
актеры
–
это
все,
кто
взаимодействует
с
разрабатываемой системой, и все, что находится вне действия системы. Актеры
осуществляют работу с системой посредством вариантов использования,
именуемых прецедентами, которые описывают функции предоставляемые
системой, показывают, как можно использовать информационную систему.
Приведем пример актера и прецедента на диаграмме Use Case (рисунок 4.2).
Стоит отметить, что разработанная система интеллектуально-адаптивного
управления трафиком вычислительной сети (функционирующая на основе
авторских
методов
управления
трафиком)
будет
обладать
свойствами
71
искусственного
интеллекта
(способна
полнофункционально
работать
в
автономном режиме – без вмешательства специалиста, изменять стратегию и
тактику
реагирования,
«эволюционировать»).
видоизменять
Соответственно,
собственную
в
терминах
архитектуру
UML
СИАУ
–
может
именоваться актером.
Рисунок 4.2 - Диаграмма вариантов использования
Актер – «Инженер информационной безопасности (либо автономный
режим работы системы интеллектуального управления трафиком)»: осуществляет
основные бизнес-процессы системы.
Доступные варианты использования:
1) сохранение
целостности/доступности/конфиденциальности
информации;
2) обеспечение
безопасного
доступа
локальных
пользователей
к
внутренним информационным ресурсам;
3) обеспечение безопасного доступа локальных пользователей к внешним
информационным ресурсам;
4) обеспечение взаимодействия с внешними источниками, идентификация
злоумышленных действий и их предотвращение;
72
5) формирование, планирование стратегии и отчетов, отражение рабочего
процесса;
6) и др.
Другие стандартные роли: администратор базы данных, администратор
системы, администратор сервера и др. не рассматриваются в силу стандартности.
Прецедент – «Вход в систему»: позволяет осуществить регистрацию
актеров с разграничением прав и контролем доступа к ресурсам.
Основные потоки:
0) пользователь авторизируется на шлюзе (SA), так же проверяется
посредством Port-security & IP-binding:
I: введен неверный логин или пароль;
II: введен верный пароль (переход к пункту 1);
1) пользователь вводит логин и пароль на web-сайте (SA):
I: введен неверный логин или пароль;
II. введен верный пароль (переход к пункту 2);
2) система формирует форму в соответствии с правами текущего
пользователя.
Альтернативные потоки:
I. введен неверный логин или пароль:
a) сообщение выдает сообщение о несоответствии введенной информации
и предоставляет возможность повторить попытку;
b) поток возвращается на попытку 1.
Предусловия: не определены.
Постусловия: на экран выведена интерфейсная форма клиентской части
информационной системы, в соответствии с правами пользователя.
При
моделировании
функционирования
проектируемой
системы
складывается необходимость не только изложить процесс изменения ее
состояний, но и детализировать особенности алгоритмической и логической
реализации выполняемых ИС операций. Стандартно в решении данной задачи
73
применялись блочные, структурные схемы алгоритмов. Что акцентировало
внимание
на
ходе
выполнения
установленных
действий,
элементарных
транзакций, которые в ИС достигают желаемый результат.
В рамках языка UML деятельность (activity) представляет собой некоторую
совокупность отдельных вычислений, выполняемых автоматом. При этом
отдельные элементарные вычисления могут приводить к некоторому результату
или действию (action). На диаграмме деятельности изображается логика и
структура перехода от одной деятельности к другой, а акцент выставляется на
результате деятельности. Результат может привести к изменению состояния ИС
или возврату значения, откату транзакции.
Таким
образом,
построение
Activity-диаграмм
позволяет
раскрыть
методический аспект бизнес-процессов. Любая бизнес-транзакция представляет
собой полную или частичную реализацию некоторой функции управления,
результатом выполнения которой является актуальный на том или ином уровне
управления результат.
Наиболее целесообразно построение Activity-диаграмм для тех вариантов
использования, выполнение которых связано с наибольшим числом операций,
приводящих к ожидаемому результату.
В качестве примера Activity-диаграммы представлено удаление хоста из
черного списка по истечению времени блокировки (рисунок 4.3).
Рисунок 4.3 - Activity-диаграмма по разблокировке хоста
74
В данном разделе выявлены структурообразующие элементы процессов
функционирования организации (бизнес-процессы), а также их рассмотрение во
взаимосвязанном статическом и динамическом представлении. В силу положения
о конфиденциальности представлены выдержки.
4.3. Разработка базы данных
Информационная
система
продуцирует
информацию
и
управляется
информацией. Аналитическая и статистическая информация накапливается в
результате перенаправления сетевого трафика с межсетевого экрана на модельные
среды, развернутые на виртуальных машинах XEN. Конфигурация системы,
метаинформация о сборках ОС/ПО, а также многие другие параметры подлежат
долговременному и систематизированному хранению и выборке. Для таких целей
существуют различные типы баз данных (БД) и систем управления базами данных
(СУБД):
 иерархические;
 объектно-ориентированные;
 объектно-реляционные;
 реляционные;
 функциональные.
Тип БД, которую следует использовать в реализации проекта, зависит от
специфики задач, парадигмы программирования, нагрузки, объемов и степени
структурированности генерируемой информации. Забегая вперед, следует
упомянуть, что в качестве основного языка программирования выбран C++. Он
основывается на императивной парадигме, язык также является объектноориентированным.Это означает, что удобно использовать реляционные и
объектно-ориентированные БД.
75
Постановка задачи не предполагает отражения динамической структуры
объектов из оперативной памяти
на БД для долгосрочного хранения.
Продуцируемая системой информация является статистической, аналитической и
содержит конфигурации. Поэтому применение объектно-ориентированных БД
является нецелесообразным. Также широта распространения и использования
реляционных БД делают библиотеки кода на C++, реализующие доступ к БД,
более стабильными и функциональными.
Требования к СУБД:
 поддержка платформы Linux (RHELbased дистрибутивы);
 наличие библиотек для интеграции с языками C++ и PHP;
 высокая производительность;
 актуальный статус разработки и технической поддержки;
 поддержка хранимых процедур, триггеров, функций;
 поддержка определяемых пользователем типов данных;
 отказоустойчивость, наличие режима восстановления при повреждении
данных;
 возможность отладки производительности запросов;
 управление ролями пользователей;
 наличие бесплатной версии.
Из чего следует необходимость выбора одной из реляционных СУБД в
качестве системы хранения и структурирования информации. Однако существует
множество
реляционных
СУБД,
каждая
из
которых
обладает
своими
достоинствами и недостатками. Основные, используемые на практике СУБД:
 SQLLite
 плюсы:
 высокая производительность;
 компактность;
76
 кросплатформенность;
 бесплатная и открытая библиотека, даже для коммерческого
использования.
 минусы:
 небогатая функциональность;
 не поддерживает сетевой доступ;
 не поддерживает транзакции;
 не поддерживает хранимые процедуры;
 не поддерживает триггеры;
 нет режима восстановления информации;
 не поддерживает репликацию;
 и т.д.
 MsSQL
 плюсы:
 высокая интегрированность с технологиями и продуктами
Microsoft;
 языки описания пользовательских функций Transact-SQLи
.NET.
 минусы:
 проприетарность;
 не поддерживает шардинг;
 целевая программная платформа ОС Microsoft Windows.
 Oracle
 плюсы:
 встроенное обнаружение отказов БД, автоматический анализ и
исправление ошибок;
 прозрачное масштабирование;
77
 самая
высокая
отказоустойчивость
среди
конкурентных
решений.
 минусы:
 проприетарность.
 MySQL
 плюсы:
 наличие различных back-endsдля хранения данных в файловой
системе;
 отложенное построение неуникальных вторичных индексов.
 минусы:
 проприетарная лицензия для продуктов с закрытым исходным
кодом;
 меньшая чем у PostgreSQL, Oracle, MsSQL производительность;
 слабые средства анализа производительности.
 PostgreSQL
 плюсы:
 наличие
функционального
инструмента
оптимизации
SQLзапросов;
 продвинутые средства настройки производительности;
 полнотекстовый поиск;
 open Source лицензия(PostgreSQL license, аналогичнаяBSD
иMITlicense).
 минусы:
 плохо поддерживает шардинг;
 разработка ведется на добровольных началах, но на очень
высоком техническом уровне.
78
Исходя
из
требований,
предъявляемых
к
СУБД,
по
причине
проприетарности лицензии не подходят MsSQL, Oracle и MySQL, несмотря на
технические
преимущества первых двух
разработок
перед
бесплатными
решениями.
SQLLite
не
подходит
в
связи
с
несоответствием
подавляющему
большинству технических требований, одной из первых причин является
отсутствие сетевого доступа к БД. Это делает невозможным применение СУБД
SQLLite.
В результате для реализации БД была выбрана СУБД PostgreSQL.
Для
проектирования
структуры
реляционных
БД
традиционно
используются ER-диаграммы, отражающие семантическую структуру БД и
однозначно
транслируемые
достаточно
функциональным
программным
обеспечением в DDL (англ. DataDefinitionLanguage – часть языка SQL,
отвечающего за описание структуры и типов данных, индексов, ключей) [93].
Следовательно, при проектировании БД будет использоваться ПО, позволяющее
создавать ER-диаграммы, а также генерировать код DDLна основе этих диаграмм.
Продукт PostgreSQL не имеет средств визуального проектирования БД.
Однако, язык DDL является стандартизированным – не имеет значения, для какой
СУБД описывается структура таблиц.
На данный момент технически поддерживаемым, бесплатным и достаточно
функциональным является лишь средство MySQL Workbench (программное
обеспечение для визуального проектирования баз данных, интегрирующий
проектирование, моделирование, создание и эксплуатацию БД в целостную среду
для системы баз данных). MySQL Workbench Community Edition распространяется
по универсальной общественной лицензии GPL, что позволяет использовать его в
проекте.
ER-диаграммы нескольких важных сущностей представлены на рисунках
4.4 и 4.5.
79
Рисунок 4.4 - ER-диаграммы ключевых сущностей (часть первая)
На данных диаграммах показана структурированная информация о сборках
программного обеспечения и образах операционных систем, устанавливаемых на
виртуальные машины.
Также ER-диаграммы содержат сущности, используемые для описания
сетевых угроз и возможностей модельных систем к их отражению.
80
Рисунок 4.5 - ER-диаграммы ключевых сущностей (часть вторая)
В рамках данного раздела был изложен сравнительный анализ типов СУБД
и их программной реализации. На основе продуктов PostgreSQL и MySQL
Workbench была спроектирована и реализована база данных.
81
4.4. Выбор средств моделирования серверов
Информационная система должна иметь возможность отслеживать сетевую
активность на независимых и изолированных модельных объектах, в случае
необходимости перенаправлять трафик с системы и исследовательских МО на
фальсифицирующие. Это позволит:
 автономно выявлять ошибки ОС/ПО и предотвращать их возникновение;
 идентифицировать
новые
виды
злоумышленных
действий,
осуществляемые через уязвимости стека протоколов TCP/IP;
 изучать подозрительную активность;
 фальсифицировать серверные решения, выставлять «ловушки»;
 идентифицировать злоумышленников;
 оптимизировать загрузку канала;
 независимо изучать входящие информационные потоки, имеющие
одинаковые сигнатуры;
 повысить отказоустойчивость. Т.к. в случае успешной атаки, будет
скомпрометирована лишь виртуальная машина, за счет механизма
sandboxing – иное программное обеспечение не будет затронуто.
На
сегодняшний
день
существует
большое
количество
серверных
операционных систем: WindowsServer 2003/2008/2012, Solaris (SunMicrosystems),
HP-UX (Hewlett-Packard), AIX (IBM), NetWare (Novell), RedHatEnterpriseLinux,
CentOS и др. Учитывая, что выборка должна быть достаточно обширной, а
реализация каждого серверного решения требует значительных затрат на
аппаратную платформу, возникает необходимость использования технологии
виртуализации.
Большинство программных платформ виртуализации заявляют поддержку
технологий аппаратной виртуализации Intel и AMD. Виртуальные хосты на
данных платформах могут быть инициализированы в содействии с аппаратной
виртуализацией. Существует множество операционных систем, в дистрибутив
82
которых введены программные платформы паравиртуализации, такие как Xen или
VirtualIron.
Аппаратная
виртуализация
предоставит
возможность
инициализировать неизмененные (исходные) гостевые ОС.
Процесс паравиртуализации требует модификации гостевой операционной
системы. Реализация в платформах паравиртуализации поддержки аппаратной
виртуализации
является
весьма
приемлемым
решением
для
запуска
немодифицированных версий гостевых систем.
Рассматривая существующие решения с поддержкой технологий Intel VT и
AMD-V, стоит выделить следующие продукты: VMware ESXi, MS Hyper-V,
OpenVZ, KVM, Xen. Первые два объекта зарекомендовали себя надежными и
отказоустойчивыми гипервизорами с весомой функциональностью. Однако,
являются дорогостоящими коммерческими продуктами. VMware ESXi имеет
малую выборку поддерживаемого оборудования, а MS Hyper-V имеет ряд
уязвимостей, приводящих к сбою в родительском разделе, что может повлиять на
все виртуальные машины. OpenVZ и KVM не предоставляют широкий спектр
возможностей работы с архитектурой виртуальной ЛВС.
В целях минимизации издержек необходимо искать соответствующее
программное
обеспечение,
распространяющееся
по
лицензии
GNU
GeneralPublicLicense (универсальная общедоступная лицензия).
Оптимальным вариантом размещения множества дочерних серверов на
одной аппаратной платформе, обеспечивая максимальную производительность
для каждой ОС, является гипервизор Xen.
Xen - это монитор виртуальных машин (VMM, VirtualMachineMonitor) или
гипервизор (hypervisor) с поддержкой паравиртуализации (para-virtualization) для
процессоров x86 архитектуры, распространяющийся с открытым исходным кодом
(opensource).
Xen может организовать совместное безопасное исполнение нескольких
виртуальных машин на одной физической системе с производительностью,
83
близкой к непосредственной (native). Xen обладает функциональностью ПО
масштабов корпоративного уровня:
 производительность виртуальных машин близкая к производительности
при непосредственном исполнении на аппаратной платформе;
 возможность переноса в режиме реального времени работающих
виртуальных машин между хостами;
 поддержка до 32 виртуальных процессоров на одну гостевую машину с
возможностью горячего добавления (hotplug) процессоров;
 поддержка платформ x86/32, x86/32 с PAE и x86/64;
 поддержка аппаратной виртуализации IntelVirtualizationTechonology
(VT-x)
для
запуска
немодифицированных
операционных
систем
(включая MicrosoftWindows);
 широкий спектр поддерживаемого оборудования (поддерживаются
практически все драйверы устройств Linux).
Xen является гипервизором, который работает непосредственно на
оборудовании системы. Он добавляет уровень виртуализации между аппаратной
частью системы и виртуальными машинами, превращая оборудование системы в
пул
логических
вычислительных
ресурсов,
которые
гипервизор
может
динамически выделять любой гостевой операционной системе. Операционные
системы,
работающие
на
виртуальных
машинах,
взаимодействуют
виртуальными ресурсами, как если бы это были физические ресурсы.
Рассмотрим архитектуру Xen, представленную на рисунке 4.6.
с
84
Рисунок 4.6 - Архитектура Xen
Большинство гипервизоров основаны на полной виртуализации (полной
эмуляции всех аппаратных устройств для виртуальных машин). Гостевые
операционные системы не требуют никакой модификации и ведут себя так, будто
они имеют приоритетный доступ ко всей системе.
Полная виртуализация влечет значительную нагрузку на вычислительные
мощности со стороны гипервизора, в связи с тем что аппаратные ресурсы,
априори более производительные эмулируются программно. Xen основан на
паравиртуализации; он требует внесения в гостевые операционные системы
изменений, направленных на поддержку операционной среды Xen. Тем не менее,
пользовательские приложения и библиотеки никакой модификации не требуют.
Внесение
изменений
в
операционную
необходимостью наличия возможностей:
систему
обусловлено
85
 установки Xen в качестве наиболее привилегированной программы в
сравнении с операционной системой;
 использования
более
эффективных
интерфейсов
(например,
виртуальных блочных устройств и виртуальных сетевых интерфейсов)
для эмуляции устройств, что повышает производительность.
Xen может исполнять несколько гостевых операционных систем, каждая из
которых работает на своей собственной виртуальной машине или в своем домене.
При первоначальной установке Xen автоматически создает первый (головной)
домен, Domain 0 (dom0).
Domain 0 – это головной домен управления, который несет ответственность
за управление системой. Он решает следующие задачи:
 создание дополнительных доменов (или виртуальных машин);
 управление виртуальными устройствами для каждой ВМ;
 приостановка виртуальных машин;
 возобновление работы виртуальных машин и перенос виртуальных
машин;
 исполнение гостевой операционной системы, координация устройств;
 и др.
Xend (демон Xen) ― это программа на языке Python, которая запускается в
dom0. Является центральным пунктом управления виртуальными ресурсами всех
виртуальных машин, работающих на гипервизоре. Большинство команд анализа,
планирования, проверки решается в пространстве пользователя Xend драйвера.
Архитектура гипервизора Xen решает задачу построения блоков серверов
предприятий,
фальсифицированных
серверных
решений
и
прогнозирования/моделирования. С учетом устранения критических ошибок в
новых версиях данный паравиртуализатор полностью удовлетворяет требованиям
разрабатываемой системы.
86
4.5. Выбор аппаратно-программной платформы и сборка сервера
Гипервизор XEN, поддерживает многоядерные процессоры, позволяя
распараллеливать выполняющиеся нити виртуальных машин между несколькими
ядрами. Также данное решение поддерживает аппаратную виртуализацию,
основанную на технологиях Intel-VT и AMD-V. Помимо этого, технология XEN
поддерживает 64 разрядные процессоры. Поэтому центральный процессор
следует выбирать с учетом поддержки данных технологий.
Оперативную память, количество ядер, объем жесткого диска и тактовую
частоту процессора следует выбирать из расчета максимально необходимой
памяти, тактовой частоты и жесткого диска, необходимых для одной виртуальной
машины (с самой требовательной конфигурацией ОС и ПО). Зная желаемое
количество виртуальных машин, которые используются для моделирования
одновременно, можно вычислить требования к аппаратной конфигурации сервера.
Также учитывается потребность в пяти виртуальных машинах: для четырех
шлюзов и сервера СУБД. В случае простоя ресурсов сервера из-за использования
виртуальных машин с невысокими максимальными требованиями количество
одновременных моделируемых ОС может быть увеличено для максимальной
загрузки ресурсов сервера. Однако, для каждой виртуальной машины ресурсов
должно хватать для предельного режима функционирования.
Поскольку требуется стабильное подключение к модельной среде со
стороны операторов, в системе должно присутствовать по меньшей мере три
физических сетевых адаптера (с учетом резервного канала связи) - для
обеспечения доступности системы даже в случае массированной DDOS атаки,
занимающей весь доступный канал.
Максимальные требования к ресурсам системы предъявляются сборкой ОС
Windows 2012 и определенного набора ПО. В совокупности требования к
виртуальной машине следующие:
 тактовая частота процессора: 1800 МГц;
87
 объем оперативной памяти: 768 Мб;
 пространство на жестком диске: 40 Гб.
Требования к серверу СУБД:
 тактовая частота процессора: 1200 МГц;
 объем оперативной памяти: 1024 Мб;
 пространство на жестком диске: 300 Гб (для хранения БД и еѐ
резервных копий).
Требования к шлюзу:
 тактовая частота процессора: 1200 МГц;
 объем оперативной памяти: 768 Мб;
 пространство на жестком диске: 40 Гб (для хранения логов).
Также
предъявляются
требования
к
высокой
надежности
и
отказоустойчивости системы хранения данных. Для реализации высокой
отказоустойчивости недостаточно выбрать жесткие диски для использования в
серверных решениях. Для повышения отказоустойчивости также применяется
дублирование систем хранения информации.
RAID (англ. redundantarrayofindependentdisks — избыточный массив
независимых дисков) — массив из нескольких дисков (запоминающих устройств),
управляемых контроллером, связанных между собой скоростными каналами
передачи данных и воспринимаемых внешней системой как единое целое. В
зависимости от типа используемого массива может обеспечивать различные
степени отказоустойчивости и быстродействия.
Из множества вариантов был выбран способ создания массива RAID-1 из
двух дисков, поскольку из всех имеющихся решений он обеспечивает самую
высокую надежность, хранения информации, посредством ее зеркального
копирования на оба диска. Обратной стороной является увеличение затрат на
покупку дисков кратное степени резервирования.
88
Со стороны малых фирм требуется одновременное моделирование не менее
10 конфигураций. В результате вычислений выявлены следующие совокупные
требования к физическому серверу:
 центральный процессор: тактовая частота каждого ядра от 1800 МГц;
 количество ядер центрального процессора: 4;
 требуемый объем оперативной памяти: не менее 6400 Мб;
 количество жестких дисков и тип резервирования: 2 диска, RAID-1;
 размер каждого жесткого диска: не менее 580 Гб;
 сетевые интерфейсы: 3, 1 Gbit/s.
Предполагается, что сервер будет располагаться в стойках компанийзаказчиков, высотой 1U. Соответственно, выбор следует осуществлять среди
стоечных серверов.
Рекомендуются к рассмотрению продукты производителя Hewlett-Packard.
Среди линейки продуктов соответствует требуемой конфигурации сервер марки
HPProLiantDL360 Gen7. С процессором IntelXeonE5620, 8GB оперативной
памяти, прочие характеристики соответствуют заявленным требованиям, но не
разглашаются.
Для распределенных филиальных корпораций с количеством хостов более
100 предлагается рассмотреть выделенные сервера класса PX120 (Intel® Xeon®
E5-1650 v2 с шестью ядрами, 128 GB ECC RAM, 2 x 2 TB SATA 6 Gb/s 7200 rpm с
аппаратным LSI-RAID контролером).
4.6. Разработка и развертывание системы
В случае, когда объем разработки достаточно велик, важной составляющей
процесса является методология разработки. Ошибочная организация процесса и
его этапов может не только значительно растянуть сроки разработки, но и завести
проект в тупик. Управление процессом разработки программного обеспечения
89
исследуется с 60х годов прошлого века. За это время было выработано множество
методологий, в основе которых лежат несколько базовых моделей. Применимость
методологии зависит от типа задачи, объема средств, сроков, материальных
ресурсов, функциональных требований к системе.
Под методологией разработки понимается система принципов, а также
совокупность идей, понятий, методов, способов и средств, определяющих ход и
"стилистически почерк" разработки программного обеспечения. Методология
является практическим приложением определенной модели разработки.
Модель разработки – это обобщенное представление процесса разработки,
порядка всех ее этапов, ключевыми из которых являются:
 планирование процесса разработки;
 прототипирование;
 разработка продукта;
 тестирование.
В зависимости от выбранной модели и методологии этапы могут
выполняться не последовательно, как в каскадной модели, а итеративно,
многократно повторяясь (спиральная и итеративная модели). Кроме того,
существуют техники, такие как Test-Driving Development и XP-Prototyping,
позволяющие сделать длительный процесс разработки более контролируемым с
точки зрения качества продукта, сроков, ожидаемой функциональности,
минимизировать архитектурные и программные ошибки.
Остановимся подробнее на основных моделях и методологиях разработки:
 каскадная модель;
 итеративная модель;
 спиральная модель.
Каскадная модель организует процесс разработки
в виде потока,
выполняющего последующим образом фазы анализа требований, проектирования,
реализации, тестирования, интеграции и поддержки. Данная модель осуществляет
переход от одной фазы разработки к другой лишь при условии успешного
90
завершения предшествующего этапа. К недостаткам модели стоит отнести малую
гибкость и субъективную формальность управления проектом в ущерб срокам,
издержкам и качеству.
Итеративная модель подразумевает параллельное выполнение работ с
непрерывным анализом полученных результатов и корректировкой предыдущих
этапов работы. Фазы проекта включают повторяющийся цикл: планирование —
реализация — проверка — оценка.
В итеративной модели присутствуют обратные связи: уточнение планов,
тестирование в ходе разработки, оценка результатов через определенные
промежутки времени. Она делает процесс разработки корректируемым и более
прозрачным.
Спиральная модель сочетает в себе проектирование и постадийное
прототипирование. Главная цель - комбинация преимуществ восходящей и
нисходящей концепции с акцентом на начальные этапы жизненного цикла: анализ
и проектирование.
Методологии, основанные на водопадной модели, являются крайне
негибкими и требуют исчерпывающих работ по проектированию перед началом
программирования. В результате внесение изменений или уточнений в
архитектуре проекта становится чрезвычайно сложным. Спиральная модель
предназначена для очень больших проектов и включает в себя на каждом из
«витков» итерацию аналогичную итерационной модели. Ее достоинством
является прототипирование, и последовательная минимизация рисков. Однако,
использование методологий, основанных на спиральной модели, избыточно в
рамках данного проекта. Поэтому для организации разработки рассматривались
методологии, основанные на итерационной модели.
Существует выборка гибких методологий разработки, в частности
экстремальное программирование XP, DSDM, Scrum. Основополагающей целью
данных технологий является минимизация рисков через организацию серии
коротких циклов (итераций).
91
Одним из главных недостатков данной методологии можно выделить
отсутствие письменной документации, что затрудняет масштабирование проекта.
Гибкие методологии являются эффективным и современным средством,
позволяющим
сделать
процесс
разработки
хорошо
управляемым
и
прогнозируемым, однако недостатком является недостаточное количество
технической документации по проекту. В результате изысканий было решено
использовать достоинства гибкой методологии Extreme Programming (XP):
контролируемый по времени и возможностям прирост функциональности,
стабильность проекта, прототипирование, автоматическое тестирование. Для
этого разработка была разбита на множество итераций. Также было решено перед
началом итераций - провести проектирование архитектуры программного
продукта. Но в ходе его разработки архитектура уточнялась и документировалась.
Это исправило недостатки методологии XP.
Также
в
связи
со
спецификой
проекта
ручное
тестирование
функциональности UNIX демонов, управляющих развертыванием образов на
виртуальных машинами XEN, компиляции и сборки на различных аппаратнопрограммных конфигурациях и других операций, не имеющих пользовательского
интерфейса, оказалось физически невозможным по причине предельной
трудоемкости процесса. Решением явилось автоматическая сборка и тестирование
каждой из версий продукта.
В случае гибкой методологии разработки XP тестирование является
неотъемлемой частью процесса разработки. Каждая новая возможность является
программным
выражением
функциональных
требований
к
системе.
Реализованная возможность выражается в восприятии системой определенных
воздействий и формировании результата. Результатом может быть изменение в
базе данных, запись в лог файле, вывод в консоль, инициация сетевого
взаимодействия, отправка отчета эксплуатирующему персоналу и т.д. Поскольку
реакция на каждое воздействие детерминирована, можно определить эталонные
результаты воздействия. Таким образом, зная эталонный результат - каждую
92
отдельную возможность можно протестировать – т.е. сравнить результат
воздействия с эталоном. Если сравнение успешно, тест можно считать
пройденным,
иначе
неуспешным.
Очевидно,
возможность
может
иметь
множество варьирующихся параметров, от которых зависит конечный результат.
В этом случае тесты пишутся на граничные значения и на диапазоны допустимых
значений. Написание таких тестов и их запуск проводится автором. Данная
технология называется функциональным автоматическим тестированием.
Таким образом, при добавлении каждой новой возможности создается
новый тест. Для тестирования системы при каждой успешной компиляции
запускаются все созданные тесты. В случае успеха считается, что система
соответствует функциональным требованиям, реализованным на данный момент.
В случае, если при выполнении всех функциональных тестов, в силу системного
эффекта возникает ситуация, когда комбинация допустимых воздействий
приводит к ошибочной или нештатной ситуации, пишется тест на нештатную
ситуацию. После исправления ошибки тест подтверждает, что система более не
подвержена ошибке.
Поскольку функциональные и fail-тесты выполняются при каждой сборке
проектов,
это
позволяет
удостовериться,
что
система
не
подвержена
регрессионным ошибкам. Ручное тестирование при данном подходе к разработке
проводится, но менее часто и менее трудозатратно.
Помимо функционального тестирования частью гибкой итеративной
разработки
является
unit-тестирование
–
тестирование
с
точки
зрения
программиста, программных классов и модулей системы. Подход к unitтестированию повторяет подход к автоматическому тестированию. В отличие от
пользовательской функциональности – для unit-тестов процесс проверки
корректности, например записи в БД, является чрезвычайно трудоемким. К тому
же возможно тестировать нужно именно драйвер для работы с БД, который может
работать некорректно. Поэтому unit-тесты подразумевают создание фиктивных
классов с внешними интерфейсами, аналогичными драйверам БД, файловой
93
системы и сетевой карты, перехват информации, проходящей через такие
заглушки, и сравнение с ее эталоном. Принцип unit-тестирования тот же - подача
на вход программной единицы определенного воздействия и сравнение реакции с
эталоном.
Это
позволяет
удостовериться,
что
программные
единицы
функционируют так, как это ожидается автором. Это устраняет необходимость
постоянной ручной проверки кода. Но unit-тесты все равно были дополнены
механизмом code-review и значительно сократили трудозатраты на последнее.
После выбора методологии разработки следует определить технические
средства, используемые для реализации системы. К техническим средствам
относятся:
1) языки программирования;
2) вспомогательные библиотеки исходных кодов;
3) среда разработки и отладки;
4) система контроля версий исходных кодов;
5) скрипты автоматической настройки программной среды.
Выбор подходящего языка программирования зависит от вида разработки,
прикладного
ПО,
производительности.
с
которым
Также
взаимодействует
влияние
оказывают
проект,
целевые
требуемой
программные
платформы, на которых предполагается выполнение продукта.
Разработка состоит из двух больших относительно слабо связанных
приложений. Первое управляет развертыванием и мониторингом деятельности
конфигураций на виртуальных машинах XEN. Второе предоставляет вебинтерфейс оператору.
Сам гипервизор XEN написан на языке C. Для операционных систем Linux,
Open Solaris, BSD управление конфигурациями (создание, инициализация,
модификация, активация, деактивация, удаление) ведется через редактирование
конфигурационных файлов и отправку команд системному процессу [94]. Это
означает, что для языка программирования должен существовать стабильный,
функциональный компилятор под перечисленные ОС. Менеджер конфигураций
94
также
проксирует
весь
сетевой
трафик,
перенаправляя
его
между
конфигурациями, сохраняет и анализирует статистику, для чего взаимодействует
с СУБД PostgreSQL. Также от языка программирования требуется наличие
стабильных,
поддерживаемых
библиотек
библиотека для управления запросами
для
сетевого
взаимодействия,
к СУБД. Большую роль играет
производительность приложения, написанного на языках программирования.
Интерпретируемые языки априори не могут предоставить самую высокую
производительность, поскольку присутствует уровень косвенности – виртуальная
машина, на которой выполняются инструкции на промежуточном внутреннем
языке, в который переводятся инструкции программы. Языки машинного уровня
слишком сложны для написания больших проектов в силу отсутствия в них
высокоуровневых логических абстракций, позволяющих структурировать код и
значительно облегчать его понимание. Остается класс компилируемых системных
языков программирования. Для Linux систем – это языки C и C++, заслуженно
ставшие стандартом разработки быстродействующих системных приложений,
некоторые операционные системы сразу после установки содержат компиляторы
этих языков. Разница между C и C++ достаточно велика. Однако, C++ обратно
совместим с C и расширяет его новыми логическими абстракциями: классами,
шаблонами,
пространствами
имен,
замыканиями
(стандарт
С++
11),
реализующими подход ООП. Это позволяет логически структурировать проект. В
жертву
структурированности
приносится
некоторое
уменьшение
производительности кода. Для больших проектов структурированность кода
более важна, чем производительность. Более того, для конструкций языка C++ в
большинстве современных компиляторов существуют оптимизаторы кода,
которые практически нивелируют издержки от использования дополнительной
косвенности. Поэтому аналогичная программа, написанная на C, далеко не всегда
будет производительнее. Кроме того, ее разработка займет кратно больше
времени в связи с издержками на понимание кода. Поэтому в данной разработке
95
для управления входящим трафиком и конфигурациями виртуальных машин было
принято решение использовать язык С++.
Для языка C++ выпущено множество библиотек программного кода,
решающих широкий спектр задач, в том числе задачи сетевого взаимодействия
(boost), задачи взаимодействия с СУБД Postgresql (libpq++). libpq++ является
стандартом де-факто для взаимодействия с postgresql. Boost был выбран,
поскольку помимо сетевого взаимодействия библиотека содержит программные
модули решающие широкий спектр задач. Библиотека хорошо документирована,
а часть еѐ компонентов рекомендована к включению в стандарт C++.
Под операционные системы семейства Linux, а тем более UNIX и Solaris, на
данный момент не существует удобной среды разработки, отвечающей всем
требованиям процесса [95]. При разработке системных процессов особенно
требуются средства отладки, которые не встроены должным образом ни в одну из
сред
разработки.
использованию
Часто
стороннего
для
поиска
отладчика
ошибок
GDB.
приходится
Поэтому
прибегать
среда
к
разработки
использовалась лишь для вспомогательных целей редактирования исходных
кодов. Описание проекта, его компиляция, unit и функциональное автоматическое
тестирование осуществлялись из консоли.
В качестве технологии для описания порядка компиляции, настроек, флагов,
зависимостей от внешних библиотек, конфигурации для целевой аппаратной
архитектуры процессора, и .т.д. была использована технология CMake. Она
расширяет функциональность утилиты make, являющейся стандартом описания
зависимостей проекта. Фактически CMake упрощает написание make-файла,
заменяя его сложный синтаксис более читаемым и понятным. Для описания
структуры и сборки проекта используются текстовые файлы с именем
CMakeLists.txt, которые содержат возможность включения в себя других CMakeфайлов. Это значительно упрощает понимание структуры проекта. CMake
подразумевает установку в систему дополнительного пакета. Компиляция и
тестирование программы осуществляется последовательным вызовом команд:
96
1) cmake ./CMakeLists.txt+параметры конфигурации;
2) make;
3) make install.
После чего проект готов к тестированию и запуску.
Используя язык программирования C++ и сборщик проекта CMake, были
написаны компоненты системы (представлены в приложении Д), отвечающие за
поиск сигнатур в транзитных потоках, проксирование трафика на виртуальные
машины, создание виртуальных машин с заданными пакетами ПО, мониторинг
интенсивности сетевого трафика, проходящего через виртуальные машины,
взаимодействие с СУБД, для сохранения результатов анализа и статистики . В
дополнение был написан модуль, расширяющий взаимодействие пакетного
фильтра,
трассировщика
соединений,
заплат
(Patch-o-matic,
POM
-
с
расширениями string, time, tarpit, random и т.д.), а так же иных модулей, входящих
в Netfilter и др. компонентов ядра Linux.
Отображение результатов работы вышеописанной системы должно быть
возможным на самом широком спектре терминальных устройств. Для реализации
существует два принципиально разных подхода: разработка кросплатформенного
stand-alone приложения, взаимодействующего с СУБД, или же написание клиентсерверного приложениям с веб-интерфейсом.
Первый
подход
предполагает
программирование
бизнес-логики,
графического интерфейса, логики взаимодействия с БД в рамках одного
приложения [96]. Данная технология имеет ряд плюсов и минусов.
Плюсы:
 высокая производительность;
 требуется меньшая пропускная способность канала связи с сервером;
 возможность привязки к физическому железу и использование
продвинутых средств аутентификации и шифрования.
Минусы:
97
 потенциально больший объем ошибок в связи с кратно большим
объемом и сложностью кода;
 необходимость исчерпывающего тестирования на всем спектре
терминальных устройств;
 необходимость написания механизмов обновления;
 необходимость компиляции и сборки инсталляционного продукта для
каждой
программно-аппаратной
архитектуры,
используемой
на
терминальных устройствах.
Реализация клиент-серверного приложения с веб-интерфейсом обладает
другими достоинствами и недостатками:
Плюсы:
 автоматическая доставка обновлений клиентам;
 меньшая сложность разработки, отладки и временные издержки;
 поддержка стандартов HTML. И, как следствие, поддержка различных
архитектур терминальных устройств без дополнительных усилий.
Минусы:
 без специальных приемов механизмы аутентификации, шифрования
достаточно просты;
 без специальных приемов отсутствует возможность привязки к
аппаратному обеспечению терминала;
 большая нагрузка на канал связи с сервером;
 меньшая производительность по сравнению с native-реализацией.
Определенные недостатки второго способа реализации можно устранить.
Использование отдельного от внешнего канала связи терминалов с сервером
позволяет считать нагрузку на канал связи несущественным критерием.
Существуют приемы, позволяющие обеспечить для веб-сервиса не меньшую
безопасность и надежность механизмов аутентификации и шифрования. Эти
приемы не могут быть описаны по причине конфиденциальности. Проблема
98
меньшей производительности реализации не настолько существенна, как качество
и
надежность
разработки,
сложность
тестирования
и
регулярного
централизованного обновления. Поэтому было решено реализовать терминал
оператора в виде клиент-серверного приложения с веб-интерфейсом.
Веб интерфейс реализуется с помощью стандартизированных технологий
HTML, JavaScriptи CSS. Также стандартом де-факто является библиотека jQuery,
добавляющая уровень абстракций в JavaScript, и избавляющая тем самым от
необходимости учитывать различия современных браузеров в соблюдении вебстандартов [97].
Для реализации серверной части системы подходит большое количество
специализированных языков программирования. Современными, достаточно
функциональными, развивающимися, обладающими достаточным количеством
библиотек и использующимися на практике являются:
PHP
Достоинства:
 широкое распространение и поддержка программными платформами
веб-серверов;
 наличие большого количества библиотек и фреймворков;
 хорошая документированность;
 наличие менеджера библиотек composer.
Недостатки:
 Отсутствие жесткой типизации и проверки
 Неудобный и в целом избыточный синтаксис
Ruby
Достоинства:
 имеет лаконичный и простой синтаксис;
 полностью объектно-ориентированный язык программирования;
 реализация многих шаблонов проектирования непосредственно в языке
программирования;
99
 имеет реализацию под множество платформ.
Недостатки:
 Слабая распространенность технологии
 Меньшая чем у php распространенность, а значит, количество
прикладных вспомогательных разработок
NodeJs
Достоинства:
 высокая
производительность
виртуальной
машины
GoogleV8-
JavaScriptengine;
 унификация скриптовых языков на клиентской и серверной стороне;
 наличие единого репозитория библиотек и мэнеджера пакетов npm.
Недостатки:
 на момент разработки стабильная версия существовала лишь для ОС
Linux;
 недостаточная надежность в силу новизны данного средства (однако
технология активно используется в коммерческих проектах);
 недостаточная документированность;
 недостаточное количество и надежность прикладных библиотек.
ASP.NET
Достоинства:
 богатая библиотека классов, функций и технологий .NET;
 высокая интеграция с продуктами Microsoft, в т.ч. MsSQLServer;
 хорошая документированность
 язык синтаксически близкий к C#, а значит к C++.
Недостатки:
 официальная версия только для ОС Microsoft Windows;
В ходе сравнения преимуществ и недостатков данных технологий было
решено не использовать технологию NodeJs по причине еѐ недостаточно
100
длительной разработки (а значит потенциальной надежности и изученности itсообществом) и отсутствия достаточного количества стабильных библиотек и
фреймворков. Технология ASP.NET в официальной реализации не отвечает
техническим требованиям к программной платформе, исходные коды являются
закрытыми, и, хотя имеет реализацию для Linux систем в виде виртуальной
машины Mono (не является официальной). Она основана на реверс-инжиниринге
и анализе закрытых исходных кодов платформы .NET, а значит, нельзя быть
уверенным в стабильности технологии.
При всех преимуществах технологий Ruby было решено остановиться на
языке PHP, поскольку он хорошо знаком автору, отвечает техническим
потребностям,
развивается
и
имеет
большое
количество
библиотек
и
фреймворков, расширяющих возможности его применения. Возможности Ruby
хотя и являются полезными и удобными, по большей части являются
избыточными в рамках данной разработки. К тому же в случае привлечения к
разработке
it-специалистов требования
к их
квалификации
существенно
возрастают по сравнению с PHP.
Используя языки PHP, HTML, JS + jQuery, CSS был написан сервис с webинтерфейсом на терминалах операторов, позволяющий им просматривать
аналитическую и статистическую информацию, в ручном режиме управлять
конфигурациями виртуальных машин, создавать новые конфигурации, добавлять
и настраивать новое ПО, выполняющее задачу снижения объемов трафика.
Установка системы на выбранную ранее аппаратную платформу состояла из
следующих этапов:
1) тестирование скорости доступа и отсутствия bad-s жестких дисков;
2) тестирование быстродействия оперативной памяти;
3) установка ОС Linux CentOS 6.5;
4) установка и конфигурирование необходимых пакетов ПО;
5) сборка гипервизора XEN из исходных кодов с заплатками на уязвимости
[98];
101
6) установка СУБД PostgreSQL и развертывание схемы БД, посредством
выполнения инструкций DDL, сгенерированных на основе ERдиаграммы БД;
7) установка и конфигурирование веб-сервера nginx, скомпилированного с
дополнительными модулями аутентификации и шифрования;
8) установка и конфигурирование демона php-fpm;
9) установка
и
конфигурирование
системы
мониторинга
производительности zabbix;
10) автоматическое развертывание из инсталляционных пакетов системы,
конфигурирование еѐ модулей, создание блоков виртуальных машин в
автоматическом режиме, через консольный менеджер, через вебинтерфейс;
11) запуск функциональных тестов;
12) тестирование доступности веб-сервера.
Итогом данного раздела является реализация (с использованием гибкой
методологии XP), развертывание и автоматическое тестирование системы
интеллектуально-адаптивного управления трафиком, в основу которой заложены
авторские методы управления информационными потоками корпоративных
вычислительных сетей и управления трафиком на межсетевых узлах ЛВС [99101]. В ходе работы использовалось аппаратное обеспечение: выделенный сервер
PX60 (Intel® Xeon® E3-1270 v3 Quadcore, 32 GB ECC RAM, 2x2 TB SATA 6 Gb/s
7200 rpm с аппаратным LSI-RAID контролером, 3 сетевые карты 1 Gbit/s) с ОС
Linux CentOS 6.5.
Также была проведена настройка терминалов операторов на взаимодействие
с веб-сервером, предоставляющим аналитику и статистику функционирования
системы (аналитика, статистика а так же конфигурация виртуальных машин и ПО
хранится в БД). Доступ к системе предоставляется ограниченной группе
операторов со строго определенными ролями и возможностями.
102
4.7. Выводы
В данной главе были изложены требования к системе и узлам ЛВС,
выявлены
структурообразующие
элементы
процессов
функционирования
организации (бизнес-процессы), а также их рассмотрение во взаимосвязанном
статическом
и
динамическом
представлении,
проведено
моделирование
предметной области. Далее приведен сравнительный анализ типов СУБД и их
программной реализации. На основе продуктов PostgreSQL и MySQL Workbench
была спроектирована и реализована база данных.
В качестве платформы моделирования серверных решений был выбран
гипервизор Xen, архитектура которого решает задачу построения блоков серверов
предприятий,
фальсифицированных
серверных
решений
и
прогнозирования/моделирования. С учетом устранения критических ошибок в
новых версиях, данный паравиртуализатор полностью удовлетворяет требованиям
системы. Посредством гибкой методологии XP была реализована СИАУ с
модулем предоставления аналитики и статистики функционирования системы.
В качестве аппаратной составляющей был выбран выделенный сервер PX60
(Intel® Xeon® E3-1270 v3 Quadcore, 32 GB ECC RAM, 2x2 TB SATA 6 Gb/s 7200
rpm с аппаратным LSI-RAID контролером, 3 сетевые карты 1 Gbit/s) с ОС Linux
CentOS 6.5. На данном хосте была развернута и протестирована в автоматическом
режиме система интеллектуально-адаптивного управления трафиком, в основу
которой
заложены
оригинальные
методы
управления
информационными
потоками корпоративных вычислительных сетей и управления трафиком на
межсетевых узлах ЛВС.
103
5. АНАЛИЗ РАБОТЫ СИАУ
В
данной
главе
излагается
описание
функционирования
системы,
рассматриваемой в качестве двух звеньев через призму декомпозиции. В качестве
первой составляющей выделяется программно-аппаратный комплекс СИАУ по
работе с трафиком на основе авторских методов управления информационными
потоками корпоративных вычислительных сетей и управления трафиком на
межсетевых узлах ЛВС. Вторым звеном приводится ИС, которая по протоколу
HTTPS обслуживает терминалы операторов, предоставляя им статистическую и
аналитическую
информацию
относительно
функционирования
первой
составляющей системы.
Далее предлагаются результаты тестирования системы интеллектуальноадаптивного управления трафиком вычислительной сети.
5.1. Описание функционирования системы
С точки зрения функционирования, систему можно разделить на две
составляющих. Первой и главной является программно-аппаратный комплекс
СИАУ, занимающийся сбором, систематизацией, анализом и хранением
информации.
Комплекс расположен физически на одном сервере, с установленным
гипервизором XEN, программой развертывания конфигураций. На развернутых
виртуальных машинах установлены:
1) сетевой шлюзы;
2) объекты блока моделирования/прогнозирования;
3) объекты блока фальсификации;
4) серверы предприятий;
5) сервер, обслуживающий терминалы операторов;
6) сервер СУБД.
104
Разделение и группировка входящего и ответного исходящего трафика
происходит на шлюзе в соответствии с разработанными методами (пп. 2.3 и 3.2).
Разработанное программное обеспечение работает во взаимодействии с
гипервизором XEN, собирает и обрабатывает статистику загрузки сетевых
каналов, сохраняет еѐ в базу данных.
Второй составляющей системы является виртуальный сервер, физически
развернутый на той же среде, что и виртуальные машины. Сервер по протоколу
HTTPS обслуживает терминалы операторов, предоставляя им статистическую и
аналитическую
составляющей
информацию
системы
относительно
(рисунок
функционирования
Сервер
5.1).
поддерживает
первой
разделение
пользователей на группы в зависимости от роли. Для каждой роли определены
свои политики доступа к информации. Через веб-интерфейс оператор может
осуществлять следующие действия:
1) добавление новых образов ОС;
2) добавление новых программных продуктов, использующихся на
модельных виртуальных машинах;
3) управление списком серверов лицензий для проприетарного ПО, а также
проверка доступности серверов лицензий;
4) тестирование конфигурации модельной системы;
5) просмотр статистики управления трафиком на модельных системах и
графиков объема трафика от времени;
6) просмотр
сигнатур
сетевых
угроз,
обнаруженных
шлюзом
перенаправленных на модельные системы или блок фальсификации;
7) мониторинг производительности системы;
и
105
Рисунок 5.1 - Интерфейсная форма для роли «инспектор ИБ»
106
Блок
аналитики
системы
интеллектуально-адаптивного
управления
трафиком вычислительной сети предоставляет сводку данных по нарушителям,
иллюстрирует текущую загрузку канала связи объектом.
5.2. Тестирование системы
На каждой итерации разработки и после внедрения новых возможностей
производилось полное функциональное и регрессионное тестирование системы.
Помимо этого перед началом опытной эксплуатации, перед внедрением первой
версий
системы,
тестирование
при
системы
последующих
релизах
проводилось
эксплантата.
it-персоналом
комплексное
Тестирование
системы
состояло из следующих типов тестов в порядке очередности:
1) ручное и автоматическое функциональное тестирование;
2) ручное и автоматическое тестирование веб-интерфейса;
3) нагрузочное тестирование;
4) стресс-тестирование;
5) тестирование отказоустойчивости;
6) инсталляционное и интеграционное тестирование;
7) тестирование документации.
Для автоматического тестирования эксплантатами была разработана
собственная тестовая среда, аналогичная по принципам функционирования
автоматическим тестам, применяющимся в ходе разработки. Функциональные
требования
были
сформулированы
в
виде
небольших
shell
скриптов,
тестирующих как каждую атомарную возможность системы, так и их
последовательности, выраженную в цепочках действий, use-кейсах.
Помимо этого, в автоматическом режиме с помощью веб-фреймворка
Selenium был протестирован веб-интерфейс. Далее было произведено ручное
тестирование. Ручное тестирование веб-интерфейса было дополнено пен-тестом с
целью выявления XSS, CSRF уязвимостей, SQL-инъекций, других уязвимостей.
107
Также, в ручном режиме, было проведено исследовательское тестирование,
имитирующее
действия
неподготовленного
пользователя,
а
также
квалифицированного злоумышленника. Итоговое ручное и автоматическое
тестирование не выявило уязвимостей и проблемных мест.
Для целей нагрузочного тестирования была разработана физически и
географически распределенная вспомогательная среда, имитирующая кратное
увеличение объемов входящего трафика на целевую систему вплоть до объемов,
превосходящих емкость канала на порядки (эквивалент массированной - до 100
GBit/s DDOS-level 3-4 атаки), по всему перечню распознаваемых системой
сигнатур и их комбинаций. Измерялась зависимость скорости реакции системы на
входящие воздействия, еѐ производительность (объем расходуемой памяти;
процессорного времени; каналов связи; дескрипторов файлов, количества,
времени выполнения, типа запросов к СУБД на добавление статистической
информации) от объема входящего трафика. По результатам нагрузочного
тестирования были выявлены участки программного кода, выполняющиеся
недостаточно
эффективно.
Часть
медленно
выполняющегося
кода
была
переписана. Повторное нагрузочное тестирование показало, что оптимизация
оказала существенное влияние на производительность системы.
По результатам нагрузочного тестирования, перед этапом тестовой
эксплуатации, была оптимизирована конфигурация СУБД с целью своевременной
обработки больших объемов поступающей информации. Также были выявлены
медленные
SQL-запросы,
которые
при
больших
объемах
информации
выполнялись недопустимо долго, затормаживая процесс сбора статистики.
Запросы были изучены средствами анализа производительности PostgreSQL,
чрезмерно длительные под-операции выявлены и оптимизированы. После
повторного нагрузочного тестирования время выполнения оптимизированных
SQL-запросов перестало быть критичным для быстродействия системы.
Также были выявлены зависимости использования ресурсов виртуальных
машин от объема и типа входящего трафика. На основе полученной информации
108
были определены минимальный и максимальный объемы аппаратных ресурсов,
необходимые каждому типу (комбинация ОС и ПО) виртуальных машин.
Стресс тестирование было предназначено для выяснений предельных
минимальных значений размера swap-файлов, ширины сетевого канала, объемов
системных ресурсов, выделяемых модельным системам в зависимости от типа
операционной системы и набора программного обеспечения.
Для проверки работоспособности в случае краха процесса СУБД, отказа
дисковой подсистемы, аварийного отключения электропитания, отказа канала
связи, устройств ввода/вывода, сбоя системы была написана тестовая среда,
основанная на модифицированном ядре RHEL Linux, имитирующая различные
программные и аппаратные сбои. Реакция на каждый из сбоев в отдельности и их
последовательности была протестирована в автоматическом режиме. По
результатам тестирования было выявлено несколько случаев некорректной
работы системы. Ошибки были исправлены. Система продемонстрировала
высокую отказоустойчивость, по перечисленному перечню возможных проблем.
Для всех версий системы, предоставляемых организациям, начиная с этапа
опытной эксплуатации, также проводилось тестирование корректной установки и
инициализации на целевой аппаратно-программной конфигурации. Проверялось
отсутствие проблем совместимости с установленным серверным ПО, доступность
и корректная работа системы с терминалов операторов.
Была
проведена
проверка
соответствия
документации
заданному
техническому заданию, действующему законодательству РФ, критериям качества.
Для анализа эффективности работы СИАУ было проведено более 100
итерации сканирования системы (с установленным параметром реагирования
блока фальсификации до 20% на обнаруженные процессы сканирования)
посредством программ XSpider, LanGuard, ShadowSecurityScanner, X-Scan с
параллельным использованием в каждой итерации средств зондирования
GcodePRO, ZondGuard (результаты представлены на рисунке 5.2) [80].
109
Рисунок 5.2 - Диаграмма идентификации ОС сервера сканерами/ зондерами
Как видно из диаграммы, в ходе эксперимента СИАУ выдержала порог
фальсификации серверных решений в 20% (имитируя Windows Server 2012, 2008,
Red Hat Enterprise 6, 5.2, Debian 7), в остальных 80% злоумышленного
сканирования информационная система представлялась выключенной.
Далее, при проведении 153 распределенных сетевых атак с различными
модификациями типов вторжений от 760 зараженных узлов (на рисунке 5.3
временной интервал [0;50] сек.), рассматриваемые средства защиты (СИАУ, Kerio
Control 8, Outpost Network Security 3.2, Traffic Inspector 2 – функционирующие на
идентичной аппаратной платформе) дали следующий результат [99]:
Рисунок 5.3 - Диаграмма пропускной способности канала связи при
распределенных сетевых атаках
110
Как видно из рисунка 5.3, разработанная СИАУ сохраняет режим
минимальной загрузки канала, не «проседает» в режим недоступности. Данные
результаты обусловлены работой метода противодействия сетевым угрозам с
фальсификацией
серверных
решений,
выставлением
«ловушек»
и
идентификацией круга зараженных машин.
Параллельно в течение года проводился эксперимент по расшифровке
конфиденциальных данных сети СИАУ путем внедрения снифферов (CommView,
IRIS, LanExplorer, Net Analyzer) в каналы связи различных филиалов, а также
средствами дешифровки трафика канального уровня (unMilitaryZ, BDUpro и
иными специализированными средствами) на вычислительных кластерах из 15
серверов DELL PowerEdge™ R720 12th Generation DX290 (Dual Intel® Xeon® E52620 Hexa Core incl. Hyper-Threading Technology128 GB DDR3 ECC RAM optional
max. 384 GB, RAID Controller Dell PERC H710 8 Port SAS/SATA 6Gbit/s,
Redundant
Platinum
распараллеливания
Certified
вычислений
Hot
Plug).
Программное
разворачивалось
обеспечение
на различных
для
хостах
с
различными операционными системами на базе гипервизоров (ESXi) и
паравиртуализаторов (XEN). Попытки дешифровки данных в рамках описанного
временного интервала оказались безуспешными [101].
Для сравнительного анализа разработанной системы и коммерческих
продуктов (Kerio Control 8, Outpost Network Security 3.2, Traffic Inspector 2)
проводились эксперименты на идентичной аппаратной основе, а именно: Intel®
Xeon® E3-1245 (3.40 GHz) 4 физических ядра, 4 виртуальных (hyper-threading), 16
ГБ DDR3 ECC, 1 ТБ SATA 6 Гбит/с 7200 об/м.
Было проведено более 1300 равнозначных распределенных сетевых атак с
различными модификациями типов и параметров вторжений. Результаты работы
рассматриваемых средств защиты представлены графиком на рисунке 5.4 [52].
111
Рисунок 5.4 - Диаграмма состояния систем защиты при атаках
Согласно результатам проведенного эксперимента (рисунок 5.4), из
рассмотренного
программного
обеспечения
наилучший
результат
продемонстрировала предлагаемая СИАУ, у которой лишь в 5% случаев загрузка
канала составляла 70 ± 4%. В рамках проведенных экспериментов попытки
взлома/вывода из состояния доступности СИАУ были безуспешными.
Для сравнительной оценки разработанного оптимального регулирования
пропускной
способностью
ЛВС
системой
интеллектуально-адаптивного
управления трафиком было проведено более сотни экспериментов в ВС с
пропускной способностью до 10 Мбит/с и 100 хостами (пример на рисунке 5.5)
[92].
Рисунок 5.5 - Диаграмма загрузки линии связи
112
Стандартные методы не справляются с разгрузкой сети при внедренной
СИАУ, теряя до 34% пакетов. А разработанный алгоритм оптимального
регулирования (являющийся составной частью предлагаемого метода управления
информационными потоками корпоративных вычислительных сетей) хорошо себя
зарекомендовал: выдерживает минимум 30% недогруженности линии связи в
пиковую загрузку с максимальным порогом превышения лишь «стандартного»
режима работы ВС до 15%, что является минимальными издержками в задаче
обеспечения высокого уровня ИБ.
Таким образом, проведенное тестирование разработанной СИАУ показало,
что
поставленное
техническое
задание
по
разработке
интеллектуально-
адаптивных методов и СИАУ решено качественно и в полном объеме, согласно
всем предъявленным требованиям.
5.3. Выводы
Тестирование разработанной СИАУ и сравнение ее с зарубежными
аналогами показало, что данная система является надежным, автономным,
отказоустойчивым,
интеллектуально-адаптивным
инструментом,
оптимизирующим загрузку канала связи и обеспечивающим высокий уровень ИБ
в
сравнении
с
дорогостоящими
коммерческими
продуктами;
СИАУ
минимизирует человеческий фактор и исключает возможность прогнозирования
стратегии реагирования, а также дешифровки информации в рентабельные сроки
[52, 56, 70, 79, 80, 82-85, 90-92, 99-101].
К недостаткам системы можно отнести требование к значительным
вычислительным мощностям: остальным средствам защиты было бы достаточно
CPU 1 GHz, RAM 1 Gb, HDD 30 Gb. Учитывая, что развитие микроэлектроники
стремительно
набирает
обороты,
требование
обеспечения
вычислительных мощностей не является весомым недостатком.
заявленных
113
ЗАКЛЮЧЕНИЕ
В соответствии с поставленными в диссертационной работе задачами были
получены следующие результаты:
1) разработан новый метод интеллектуально-адаптивного управления
трафиком на межсетевых узлах локальных вычислительных сетей с применением
модифицированной
генетической
алгоритмизации
и
нечеткой
логики,
позволяющий прогнозировать реакцию хостов на различные виды сетевых
воздействий посредством распределенного анализа на модельных объектах.
Отличия от существующих методов заключаются в обеспечении минимизации
загрузки канала связи выбором оптимальной стратегии управления трафиком при
различных типах сетевой активности, а также автоматической идентификацией
новых сетевых угроз и выработкой оптимального решения по их устранению;
2) разработан оригинальный алгоритм управления информационными
потоками корпоративных вычислительных сетей на базе распределенной
обработки данных с фрагментацией пакетов на экземпляры случайной длины,
изменением флагов дейтаграмм (в допустимых рамках), привнесением различных
задержек
на
обработку
каждого
пакета
узлом-отправителем
и
всеми
промежуточными звеньями, а также генерацией фальшивого p2p трафика. Как
следствие, алгоритм исключает возможность осуществления автоматического и
автоматизированного
анализа
трафика
(с
пресечением
потенциальной
возможности корреляции параметров прохождения дейтаграмм и идентификации
автомодельности), а также риск прогнозирования продвижения трафика;
обеспечивает защиту от инсайдерских атак, сниффинга и дешифровки, таймингатак глобальным наблюдателем;
3) разработана
система
интеллектуально-адаптивного
управления
трафиком вычислительной сети с коммутацией пакетов (СИАУ), в основу которой
заложены
предложенные
методы,
обеспечивающая
функционирование в условиях аномальной активности трафика;
эффективное
114
4) реализовано программное обеспечение предложенной системы (с
использованием гибкой методологии XP) на базе паравиртуализатора XEN с вебсервером для предоставления аналитической информации;
5) проведено
экспериментальное
исследование
функциональных
возможностей разработанного вычислительного комплекса СИАУ, анализ его
комплексной
эффективности
(быстродействия,
уровня
обеспечения
информационной безопасности, оптимизации загрузки канала связи и др.) в
сравнении с существующими решениями. Предложенная система обеспечивает
преимущества вышеизложенных методов и зарекомендовала себя надежным,
автономным, отказоустойчивым и более эффективным инструментом в сравнении
с
дорогостоящими
коммерческими
продуктами,
ориентированными
на
корпоративный сектор.
Обоснованность научных положений и выводов, сформулированных в
работе, подтверждается результатами экспериментальных исследований в
сравнительном
анализе
с
существующими
Достоверность
подтверждается
успешным
коммерческими
практическим
решениями.
применением
результатов диссертационной работы, что отражено в актах внедрения.
115
СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ
СИАУ:
система
интеллектуально-адаптивного
управления
трафиком
вычислительной сети
ЛВС:
локальные вычислительные сети
ИКТ:
информационно-коммуникационные технологии
ИБ:
информационная безопасность
ИС:
информационная система
ГА:
генетическая алгоритмизация
DPI:
(англ. Deep Packet Inspection) углубленное исследование пакетов
(дейтаграмм)
I2P:
(англ. Invisible Internet Project) проект невидимый интернет
Tor:
(англ. The Onion Router) проект луковой маршрутизации
VPN:
(англ. Virtual Private Network) виртуальная частная сеть
OSI:
(англ. Open Systems Interconnection) базовая эталонная модель
взаимодействия открытых систем
L2:
сетевое оборудование второго уровня модели OSI (канального)
L2+:
сетевое оборудование второго уровня модели OSI (канального),
частично
задействовавшего
функции
и
протоколы
уровня
межсетевого взаимодействия
L3:
сетевое оборудование третьего уровня модели OSI (сетевого)
Сниффер: сетевой
анализатор
программные
трафика,
средства,
программные
предназначенные
или
для
аппаратно-
перехвата
и
последующего анализа трафика
Сканер:
инструмент пассивного анализа и определения уязвимостей объекта
без фактического подтверждения их наличия - по косвенным
признакам
Зондер:
инструмент активного анализа с подтверждением уязвимостей путем
имитации соответствующих атак
116
СПИСОК ЛИТЕРАТУРЫ
1. Вишневский,
В.
М.
Моделирование
беспроводных
сетей
с
децентрализованным управлением [Текст] / В. М. Вишневский, А. И. Ляхов, Б.
Н. Терещенко // Автоматика и телемеханика. – 1999. – № 6. – С. 88–99.
2. Вербицкий, С. Н. Численное исследование оптимальных политик управления
скоростью обслуживания [Текст] / С. Н. Вербицкий, В. B. Рыков // Автоматика
и телемеханика. – 1998. – № 11. – С. 59–70.
3. Ивницкий, В. А. О стационарных вероятностях состояний замкнутой
звездообразной сети массового обслуживания при зависимости вероятностей
перехода от ее состояния [Текст] / В. А. Ивницкий // Автоматика и
вычислительная техника. – 1994. – № 6. – С. 29–37.
4. Баканов, A. C. Метод оценки показателей производительности беспроводных
сетей с централизованным управлением [Текст] / A. C. Баканов, В. М.
Вишневский, А. И. Ляхов // Автоматика и телемеханика. – 2000. – № 4. – С.
97–105.
5. Gibbens, R. J. Dynamic routing in multiparented networks [Text] / R. Gibbens, F. P.
Kelly, S. R. E. Turner // IEEE/ACM Transactions on Networking. – 1993. – Vol. 1,
iss. 2. – P. 261–270.
6. Korilis, Y. A. Achieving network optima using stackelberg routing strategies [Text]
/ Y. A. Korilis, A. A. Lazar, A. Orda // IEEE/ACM Transactions on Networking. –
1997. – Vol. 5, iss. 1. – P. 161–173.
7. Altman, E. Balanced sequences and optimal routing : rapports de recherché [Text] /
E. Altman, В. Gaujal, A. Hordijk ; INRIA. – Sophia-Antipolis, 1997. – № 3180. –
22 p.
8. Гамаюнов, Д. Ю. Обнаружение компьютерных атак как задача распознавания
образов [Текст] / Д. Ю. Гамаюнов, А. И. Качалин // Материалы 5
Всероссийского симпозиума по прикладной и промышленной математике. –
Кисловодск : Изд-во ТВП, 2004. – C. 91–95.
117
9. Марьенков, А. Н. Повышение защищенности информационных систем на
основе анализа аномалий сетевого трафика [Текст] / А. Н. Марьенков //
Сборник
научных
статей
12
Всероссийской
научно-практической
конференции молодых ученых, студентов и аспирантов. – Ярославль : Изд-во
«Еще не поздно!», 2011. – С. 68–69.
10.Селин, Р. Н. Алгоритм распознавания сетевых атак с мониторингом
подозрительной активности и ретроспективным анализом [Текст] / Р. Н. Селин
//
Известия
высших
учебных
заведений.
Северо-Кавказский
регион.
Технические науки. – 2006. – Прил. № 1. – С. 15–20.
11.Ажмухамедов, И. М. Динамическая нечеткая когнитивная модель влияния
угроз
на
информационную
безопасность
системы
[Текст]
/
И.
М.
Ажмухамедов // Безопасность информационных технологий. – 2010. – № 2. –
С. 68–72.
12.Ажмухамедов, И. М. Поиск и оценка аномалий сетевого трафика на основе
циклического анализа [Текст] / И. М. Ажмухамедов, А. Н. Марьенков //
Инженерный вестник Дона. – 2012. – Т. 20, № 2. – С. 17–26.
13.Ажмухамедов,
И.
М.
Усовершенствованный
метод
фильтрации
нежелательного трафика [Текст] / И. М. Ажмухамедов, К. В. Запорожец //
Вестник Астраханского государственного технического университета. Сер.:
Управление, вычислительная техника и информатика. – 2014. – № 1. – С. 98–
104.
14.Ажмухамедов, И. М. Выявление аномалий в вычислительных сетях общего
пользования на основе прогнозирования объема сетевого трафика [Текст] / И.
М.
Ажмухамедов,
А.
Н.
Марьенков
//
Проблемы
информационной
безопасности. Компьютерные системы. – 2012. – № 3. – С. 35–39.
15.Ажмухамедов, И. М. Определение аномалий объема сетевого трафика на
основе аппарата нечетких множеств [Текст] / И. М. Ажмухамедов, А. Н.
Марьенков
//
Вестник
Астраханского
университета. – 2011. – № 1. – С. 48–50.
государственного
технического
118
16.Ажмухамедов,
И.
М.
Обеспечение
информационной
безопасности
компьютерных сетей на основе анализа сетевого трафика [Текст] / И. М.
Ажмухамедов, А. Н. Марьенков // Вестник Астраханского государственного
технического университета. Сер.: Управление, вычислительная техника и
информатика. – 2011. – № 1. – С. 137–141.
17.Lippmann, R. P. Improving intrusion detection performance using keyword
selection and neural networks [Text] / R. P. Lippmann, R. K. Cunningham //
Computer Networks. – 2000. – Vol. 34, iss. 4. – P. 597–603.
18.Kwitt, R. Unsupervised anomaly detection in network traffic by means of robust
PCA [Text] / R. Kwitt, U. Hofmann // Proceedings of the international multiconference on computing in the global information technology, ICCGI 2007. –
Washington : IEEE, 2007. – P. 37.
19.A novel anomaly detection scheme based on principal component classifier [Text] /
M. Shyu [et al.] // Proceedings of the IEEE foundations and new directions of data
mining workshop, in conjunction with the third IEEE international conference on
data mining (ICDM’03), USA, Melbourne, November 2003. – [USA] : IEEE, 2003.
– P. 172–179.
20.Covert network analysis for key player detection and event prediction using a hybrid
classifier [Text] / Wasi Haider Butt [et al.] // The Scientific World Journal. – 2014.
– Vol. 2014. – Art. 615431 (13 p.).
21.A topology visualization early warning distribution algorithm for large-scale
network security incidents [Text] / Hui He [et al.] // The Scientific World Journal. –
2013. – Vol. 2013. – Art. 827376 (7 p.).
22.Route anomaly detection using a linear route representation [Text] / Wen-Chen Hu
[et al.] // Journal of Computer Networks and Communications. – 2012. – Vol. 2012.
– Art. 675605 (12 p.).
23.Szmit, M. Usage of modified holt-winters method in the anomaly detection of
network traffic: case studies [Text] / M. Szmit, A. Szmit // Journal of Computer
Networks and Communications. – 2012. – Vol. 2012. – Art. 192913 (5 p.).
119
24.Ma, Ruhui Network anomaly detection based on wavelet fuzzy neural network with
modified QPSO [Text] / Ruhui Ma, Yuan Liu, Xing Lin // International Journal of
Distributed Sensor Networks. – 2009. – Vol. 5, iss. 1. – P. 49.
25.Поршнев, C. B. Спектральные свойства аномального Интернет-трафика
[Текст] / С. В. Поршнев, Э. В. Афонцев // Информационные технологии. –
2006. – № 12. – С. 66–69.
26.Фаткиева,
Р.
Р.
Прогнозирование
аномального
сетевого
трафика
с
использованием моделей временных рядов [Текст] / Р. Р. Фаткиева //
Информационно-измерительные и управляющие системы. – 2014. – Т. 12, № 6.
– С. 56–59.
27.Cho, Y. H. Deep content inspection for high speed computer networks [Text] :
doctoral diss. / Y. H. Cho ; University of California. – Los Angeles, 2006. – 252 p.
28.Меретуков, Ш. Т. Автоматизированная система эффективного управления
интернет-шлюзом университета [Текст] / Ш. Т. Меретуков, С. В. Худояров //
Вестник Адыгейского государственного университета. Сер. 4: Естественноматематические и технические науки. – 2013. – № 4 (125). – С. 137–141.
29.Султанов, А. Х. Использование нейросетевых моделей для прогнозирования
интенсивностей самоподобного трафика телекоммуникационной сети [Текст] /
А. Х. Султанов, А. А. Габдрахманов, Н. Т. Габдрахманова // Вестник
Уфимского государственного авиационного технического университета. –
2011. – Т. 15, № 2 (42). – С. 93–98.
30.Тишина, Н. А. Обнаружение вторжений на основе вейвлет-анализа сетевого
трафика [Текст] / Н. А. Тишина, И. Г. Дворовой, Н. А. Соловьев // Вестник
Уфимского государственного авиационного технического университета. –
2010. – Т. 14, № 5 (40). – С. 188–194.
31.Скуратов, А. К. Администрирование телекоммуникационной сети на основе
статистического анализа трафика [Текст] / А. К. Скуратов, Д. С. Безрукавный
// Вестник Тамбовского государственного технического университета. – 2004.
– Т. 10, № 4-1. – С. 919–923.
120
32.Local prediction of network traffic measurements data based on relevance vector
machine [Text] / Q. Meng [et al.] // Advances in Neural Networks – ISNN 2013 :
proc., 10 intern. symp. on neural networks, China, Dalian, 4–6 July 2013. – [China],
2013. – Pt. 2. – P. 606–613. – (LNCS ; vol. 7952).
33.Бахарева, Н. Ф. Управление нагрузкой на сети ЭВМ распознаванием и
моделированием трафика [Текст] / Н. Ф. Бахарева, Ю. А. Ушаков //
Инфокоммуникационные технологии. – 2008. – Т. 6, № 3. – С. 56–62.
34.Тихомиров, И. А. Метод динамической контентной фильтрации сетевого
трафика на основе анализа текстов на естественном языке [Текст] / И. А.
Тихомиров, И. В. Соченков // Вестник Новосибирского государственного
университета. Сер.: Информационные технологии. – 2008. – Т. 6, № 2. – С. 94–
100.
35.Крюков, Ю. А. Мониторинг сетевого трафика с регистрацией аномальных
событий на основе ГИС-технологий [Текст] / Ю. А. Крюков, Д. В. Чернягин //
Геоинформатика = Geoinformatika. – 2009. – № 2. – С. 19–25.
36.Zhao, H. Network traffic prediction using least mean kurtosis [Text] / H. Zhao, N.
Ansari, Yu. Q. Shi // IEICE Transactions on Communications. – 2006. – Vol. E89B, № 5. – P. 1672–1674.
37.Modeling and simulation of network performance based on self-similar traffic
[Text] / Y. Tao [et al.] // Proc. of SPIE. – 2005. – Vol. 6022. – P. 324–332. –
(Network Architectures, Management, and Applications, III).
38.Лапшин, В. В. О централизованном территориально-распределѐнном анализе
сетевого трафика [Текст] / В. В. Лапшин // Прикладная дискретная
математика. – 2008. – № 2. – С. 84–86.
39.Наумов, Д. А. Построение модели бессигнатурной системы обнаружения атак
[Текст] / Д. А. Наумов // Телематика 2007 : тр. 14 Всерос. науч.-метод. конф.,
18–21 июня 2007 г. В 2 т. – Санкт-Петербург : СПб ГУ ИТМО, 2007. – Т. 2. –
С. 459–461.
121
40.Detecting distributed network traffic anomaly with network-wide correlation
analysis [Text] / Li Zonglin [et al.] // EURASIP Journal on Advances in Signal
Processing. – 2009. – Vol. 2009. – Art. 2. – (Special issue on signal processing
applications in network intrusion detection systems).
41.Cisco visual networking index: forecast and methodology, 2013–2018 [Electronic
resource]
//
Cisco
VNI.
–
San
Jose,
2014.
–
URL:
http://www.cisco.com/c/en/us/solutions/collateral/service-provider/ip-ngn-ip-nextgeneration-network/white_paper_c11-481360.html. – Title from screen.
42.Digital attack map : top daily DDoS attack worldwide [Electronic resource] / Arbor
Networks. – Burlington, 2014. – URL: http://www.digitalattackmap.com. – Title
from screen.
43.2014 McAfee report on the global cost of cybercrime [Electronic resource] / CSISCenter for Strategic and International Studies. – Washington, 2014. – URL:
http://csis.org/event/2014-mcafee-report-global-cost-cybercrime.
–
Title
from
screen.
44.Норткат, С. Обнаружение нарушений безопасности в сетях [Текст] / С.
Норткат, Дж. Новак. – Москва : Издат. дом «Вильяме», 2003 – 448 с.
45.Олифер, В. Компьютерные сети. Принципы, технологии, протоколы [Текст] :
учеб. для вузов / В. Олифер, Н. Олифер. – 4 изд. – Санкт-Петербург : Питер,
2010. – 944 с. : ил.
46.Кучерявый, Е. А. Управление трафиком и качество обслуживания в сети
Интернет [Текст] / Е. А. Кучерявый. – Санкт-Петербург : Наука и Техника,
2004. – 336 с.
47.Иваненко, Р. В. Оптимизация пропускной способности узла в сетях с пакетной
коммутацией [Текст] / Р. В. Иваненко, Р. Р. Иваненко, Л. В. Воробьев //
Вестник Рязанского государственного радиотехнического университета. –
2011. – № 35. – С. 123–126.
122
48.Камаев, В. А. Методология обнаружения вторжений [Текст] / В. А. Камаев, В.
В. Натров // Известия Волгоградского государственного технического
университета. – 2006. – № 4. – С. 148–153.
49.Биячуев, Т. А. Безопасность корпоративных сетей [Текст] : учеб. пособие / Т.
А. Биячуев ; под ред. Л. Г. Осовецкого. – Санкт-Петербург : СПбГУ ИТМО,
2004. – 161 с.
50.Оценка
защищенности
информационно-телекоммуникационных
систем,
подвергающихся DDOS-атакам [Текст] / Г. А. Остапенко, М. В. Бурса, Н. И.
Баранников, И. Л. Батаронов // Информация и безопасность. – 2013. – Т. 16, №
4. – С. 496–497.
51.Ручкин, В. Н. Анализ сетевого трафика нелегитимных пакетов DOS атак
[Текст] / В. Н. Ручкин, Е. А. Богданова // Информатика и прикладная
математика : межвуз. сб. науч. тр. – 2012. – № 18. – С. 87–91.
52.Французова, Г. А. Самоорганизующаяся система управления трафиком
вычислительной сети: метод противодействия сетевым угрозам [Текст] / Г. А.
Французова, А. В. Гунько, Е. А. Басыня // Программная инженерия. – 2014. –
№ 3. – С. 16–20.
53.Платонов,
В.
В.
Программно-аппаратные
средства
обеспечения
информационной безопасности вычислительных сетей [Текст] / В. В.
Платонов. – Москва : Академия, 2006. – 240 с.
54.Рабочий эксплойт для сегодняшней уязвимости CVE-2014-0160 [Электронный
ресурс]. – Режим доступа: http://xakep.ru/news/62329/. – Загл. с экрана.
55.В протоколах OAuth и OpenID обнаружена уязвимость [Электронный ресурс].
– Режим доступа: http://www.securitylab.ru/news/452448.php/. – Загл. с экрана.
56.Басыня, Е. А. О перспективах развития криптографии [Текст] / Е. А. Басыня,
Г. А. Французова, А. В. Гунько // Перспективное развитие науки, техники и
технологий : материалы 3 междунар. науч.-практ. конф. В 3 т. – Курск : Изд-во
ЮЗГУ, 2013. – Т. 1. – С. 199–200.
123
57.Schomburg, J. Anonymity techniques – usability tests of major anonymity networks
[Text] / J. Schomburg // Extended abstracts of the Fourth Privacy Enhancing
Technologies Convention (PET-CON 2009.1). – Dresden : TU, Fak. Informatik,
2009. – P. 49–58. – (Technische Berichte).
58.Ruiz-Martínez, A. A survey on solutions and main free tools for privacy enhancing
Web communications [Text] / A Ruiz-Martínez // Journal of Network and Computer
Applications. – 2012. – Vol. 35, iss. 5. – P. 1473–1492.
59.Mulazzani, M. Anonymity and monitoring: how to monitor the infrastructure of an
anonymity system [Text] / M. Mulazzani, M. Huber, E R. Weippl // IEEE
Transactions on Systems, Man and Cybernetics. C: Applications and Reviews. –
2010. – Vol. 40, iss. 5. – P. 539–546.
60.Filiol, E. Dynamic cryptographic backdoors. Pt. 2. Taking control over the TOR
network: slides [Electronic resource] / E. Filiol, O. Remi-Omosowon, L. Mutembei ;
ESIEA – Laval, Operational Cryptology and Virology Laboratory // The 28 chaos
communication
congress,
Berlin,
2011.
–
Berlin,
2011
–
URL:
https://events.ccc.de/congress/2011/Fahrplan/attachments/1999_slides_28C3.pdf. –
Title from screen.
61.Murdoch, St. J. Low-cost traffic analysis of Tor [Text] / St. J. Murdoch, G. Danezis
// IEEE symposium on security and privacy (IEEE S&P 2005) : proc., USA,
Oakland, 8–11 May 2005. – [USA] : IEEE, 2005. – P. 183–195.
62.Schimmer, L Peer profiling and selection in the I2P anonymous network [Text] /
Lars Schimmer // Extended abstracts of the fourth privacy enhancing technologies
convention (PET-CON 2009.1). – Dresden : TU, Fak. Informatik, 2009. – P. 59–70.
– (Technische Berichte).
63.Timpanaro, J. P. Improving content availability in the I2P anonymous file-sharing
environment [Text] / J. P. Timpanaro, I. Chrisment, O. Festor // Cyberspace Safety
and Security : proc. of the 4 intern. symp. on cyberspace safety and security,
Australia, Melbourne, December 2012. – Melbourne : IEEE, 2012. – P. 77–92. –
(LNCS ; vol. 7672).
124
64.Theoretical analysis of the performance of anonymous communication system 3mode net [Text] / K. Kono, S. Nakano, Y. Ito, N. Babaguchi // IEICE Transactions
on Fundamentals of Electronics, Communications and Computer Sciences. – 2010.
– Vol. E93-A. – № 7. – P. 1338–1345.
65.Wiangsripanawan, R. Design principles for low latency anonymous network
systems secure against timing attacks [Text] / R. Wiangsripanawan, W. Susilo, R.
Safavi-Naini // Proceedings of the fifth Australasian symposium on ACSW
frontiers, ACSW '07. – Darlinghurst, 2007. – Vol. 68. – P. 183–191.
66.Danezis, G. Systems for anonymous communication [Text] / G. Danezis, C. Diaz, P.
Syverson // CRC Handbook of Financial Cryptography and Security. – London :
Chapman & Hall, 2010. – P. 341–390. – (CRC Cryptography and Network
Security).
67.Practical attacks against the I2P network [Text] / Chr. Egger, J. Schlumberger, Chr.
Kruegel, G. Vigna // Research in Attacks, Intrusions, and Defenses : proc., 16
intern. symp., RAID 2013. – 2013. – P. 432–451. – (LNCS ; vol. 8145).
68.Стохастические методы и средства защиты информации в компьютерных
системах и сетях [Текст] / М. А. Иванов, А. В. Ковалев, Н. А. Мацук, Д. М.
Михайлов, И. В. Чугунков ; под ред. И. Ю. Жукова. – Москва : КУДИЦ-Пресс,
2009. – 512 с.
69.Douglas R. Stinson CS 758: cryptography/network security : lecture slides, notes
and references [Electronic resource] // Douglas R. Stinson ; University of Waterloo,
D. R. Cheriton School of Computer Science. – Waterloo, 2013. – 424 p. – URL:
http://cacr.uwaterloo.ca/~dstinson/CS_758/F13/root-2up.pdf. – Title from screen.
70.Гунько, А. В. Стохастические методы обеспечения информационной сетевой
безопасности [Текст] / А. В. Гунько, Е. А. Басыня // Актуальные проблемы
электронного приборостроения : материалы 11 междунар. конф. В 7 т. –
Новосибирск : Изд-во НГТУ, 2012. – Т. 7. – С. 47–49.
71.Гайкова, Л. В. Интеллектуальные системы [Текст] : учеб. пособие / Л. В.
Гайкова ; М-во образования и науки Российской Федерации, Федеральное
125
агентство по образованию, Саратовский гос. техн. ун-т. – Саратов : СГТУ,
2009. – 188 с.
72.Рутковская, Д. Нейронные сети, генетические алгоритмы и нечеткие системы
[Текст] / Д. Рутковская, М. Пилинський, Л. Рутковский. – Москва : Горячая
линия-Телеком, 2006. – 452 с.
73.Гудман, Э. Д. Эволюционные вычисления и генетические алгоритмы [Текст] /
Э. Д. Гудман, А. П. Коваленко // Обозрение прикладной и промышленной
математики. – 1996. – Т. 3, вып. 5. – С. 586–596.
74.Алтунин, А. Е. Модели и алгоритмы принятия решений в нечетких условиях
[Текст] / А. Е. Алтунин, М. В. Семухин. – Тюмень : Изд-во ТюмГУ, 2000. –
352 с.
75.Емельянов, С. Г. Адаптивные нечетко-логические системы управления [Текст]
: монография / С. Г. Емельянов, В. С. Титов, М. В. Бобырь. – Москва :
АРГАМАК-МЕДИА, 2013. – 184 с.
76.Анисимов, Д. Н. Нечеткие алгоритмы управления [Текст] : учеб. пособие / Д.
Н. Анисимов ; М-во образования Рос. Федерации, Моск. энергет. ин-т (МЭИ
ТУ). – Москва : Изд-во МЭИ, 2004. – 80 с.
77.Теория и методы разработки управленческих решений. Поддержка принятия
решений с элементами нечеткой логики [Текст] : учеб. пособие / О. Н. Лучко,
В. А. Маренко, Р. Р. Гирфанов, С. В. Мальцев. – Омск : Омский гос. ин-т
сервиса, 2012. – 109 с.
78.Круглов, В. В. Нечеткая логика и искусственные нейронные сети [Текст] / В.
В. Круглов, М. И. Дли, Р. Ю. Голунов : монография. – Москва : Физматлит,
2001. – 221 с.
79.Басыня, Е. А. Стохастические методы управления трафиком вычислительной
сети с коммутацинй пакетов [Текст] / Е. А. Басыня, А. В. Гунько //
Нелинейные
динамические
системы:
моделирование
и
оптимизация
управления. (НДС–2012) : сб. тез. докл. междунар. молодеж. конф.,
Новосибирск, 2–5 окт. 2012. – Новосибирск : Изд-во НГТУ, 2012. – С. 5–7.
126
80.Французова, Г. А. Самоорганизующаяся система управления трафиком
вычислительной сети: механизмы защиты от сканирования и зондирования
[Текст] / Г. А. Французова, А. В. Гунько, Е. А. Басыня // Сборник научных
трудов Sworld. – 2013. – Т. 9, вып. 4. – С. 75–78. – Тема вып. Перспективные
инновации в науке, образовании, производстве и транспорте –2013.
81.Гмурман, В. Е. Теория вероятностей и математическая статистика [Текст] :
учеб. пособие для вузов / В. Е. Гмурман. – 12 изд., перераб. – Москва : Высш.
образование, 2006. – 479 с. : ил. – (Сер. Основы наук).
82.Басыня,
Е.
А.
Интелектуально-адаптивные
методы
обеспечения
информационной сетевой безопасности [Текст] / Е. А. Басыня, А. В. Гунько //
Автоматика и программная инженерия. – 2013. – № 1 (3). – С. 95–97.
83.Басыня, Е. А. Самоорганизующаяся система управления трафиком сети:
удаленный сетевой доступ [Текст] / Е. А. Басыня, Г. А. Французова, А. В.
Гунько // Автоматика и программная инженерия. – 2014. – № 1 (7). – С. 9–12.
84.Французова, Г. А. Применение искусственного интеллекта в сфере сетевой
информационной безопасности [Текст] / Г. А. Французова, А. В. Гунько, Е. А.
Басыня // Искусственный интеллект: философия, методология, инновации : сб.
тр. 7 Всерос. конф. студентов, аспирантов и молодых ученых, Москва, 13–15
нояб. 2013 г. – Москва : Радио и Связь, 2013. – Ч. 2, секции 4–6. – С. 110–115.
85.Басыня, Е. А. О шифровании и анонимизации в вопросах обеспечения
информационной безопасности [Текст] / Е. А. Басыня, Г. А. Французова, А. В.
Гунько // Компьютерные технологии в науке, производстве, социальных и
экономических процессах : материалы 14 междунар. науч.-практ. конф.,
Новочеркасск, 12 дек. 2013 г. – Новочеркасск : ЮРГПУ (НПИ), 2014. – С. 165–
168.
86.Sagara, K. A distributed authentication platform architecture for peer-to-peer
applications [Text] / K. Sagara, K. Nishiki, M. Koizumi // IEICE Transactions on
Communications. – 2005. – Vol. E88-B, № 3. – P. 865–872.
127
87.Goldreich, O. Cryptography and cryptographic protocols [Text] / O. Goldreich //
Distributed Computing. – 2003. – Vol. 16, № 2–3. – P. 177–199.
88.Jallad, K Implementation of Chosen-Ciphertext Attacks against PGP and GnuPG
[Text] / K. Jallad, J. Katz, B. Schneier // Information Securety : proc. of the 5 intern.
conf. on information security, ISC '02. – 2002. – P. 90–101. – (LNCS ; vol. 2433).
89.On the security of 1024-bit RSA and 160-bit elliptic curve cryptography [Electronic
resource] / J. W. Bos [et al.] // IACR Cryptology ePrint Archive. – Trier, 2009. –
Vol. 2009. – Art. 389 (19 p.). – URL: http://eprint.iacr.org/2009/389.pdf. – Title
from screen.
90.Французова, Г. А. Обеспечение информационной безопасности внутренних
информационных потоков корпоративной сети [Текст] / Г. А. Французова, А.
В. Гунько, Е. А. Басыня ; науч. рук. Г. А. Французова // Наука. Технологии.
Инновации : материалы Всерос. науч. конф. молодых ученых, Новосибирск,
21–24 нояб. 2013 г. : в 10 ч. – Новосибирск : Изд-во НГТУ, 2013. – Ч. 2. – С.
41–43.
91.Басыня, Е. А. Технология управления трафиком вычислительной сети на
основе самоорганизующихся систем [Текст] / Е. А. Басыня ; науч. рук. Г. А.
Французова ; консультант А. В. Гунько // Новые информационные технологии
в научных исследованиях (НИТ–2013) : материалы 18 Всерос. науч.-технич.
конф. студентов, молодых ученых и специалистов. – Рязань : Изд-во РГРТУ,
2013. – С. 181–183.
92.Басыня, Е. А. Оптимальное регулирование пропускной способностью
вычислительной сети самоорганизующейся системой управления трафиком
[Текст] / Е. А. Басыня, Г. А. Французова, А. В. Гунько // Современные
тенденции в образовании и науке : сб. науч. тр. по материалам междунар.
науч.-практ. конф., 31 окт. 2013 г. : в 26 ч. – Тамбов : Бизнес-Наука-Общество,
2013. – Ч. 5. – С. 13–14.
128
93.Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение.
Теория и практика [Текст] / Т. Коннолли, К. Бегг. – Москва : Вильямс, 2003. –
1436 с.
94.Олифер, В. Г. Сетевые операционные системы [Текст] / В. Г. Олифер, Н. А.
Олифер : учеб. для вузов. – 2 изд. – Санкт-Петербург : Питер, 2009. – 669 с.
95.Рэймонд, Э. С. Искусство программирования для UNIX = The Art of UNIX
Programming [Текст] / Э. С. Рэймонд. – Москва : Вильямс, 2005. – 544 с.
96.Пирогов, В. Ю. Проектирование клиент-серверных приложений [Текст] / В.
Ю. Пирогов. – Санкт-Петербург : БХВ-Петербург, 2006. – 336 с. : ил.
97.Ташков, П. В. Веб-мастеринг HTML, CSS, JavaScript, PHP, CMS, AJAX [Текст]
/ П. В. Ташков. – Санкт-Петербург : БХВ-Петербург, 2006. – 397 с. : ил.
98.Соломатин, А. В. Защищенность и безопасность информационных систем при
виртуализации [Текст] / А. В. Соломатин // Общество и экономика
постсоветского пространства : междунар. сб. науч. ст., Липецк, 18 окт. 2013 г.
– Липецк : Издат. дом «Гравис», 2013. – С. 192–199.
99. Французова, Г. А. Разработка и исследование самоорганизующейся системы
управления трафиком вычислительной сети [Текст] / Г. А. Французова, А. В.
Гунько, Е. А. Басыня ; науч. рук. Г. А. Французова // Наука. Технологии.
Инновации : материалы Всерос. науч. конф. молодых ученых, Новосибирск,
21–24 нояб. 2013 г. : в 10 ч. – Новосибирск : Изд-во НГТУ, 2013. – Ч. 2. – С. 3–
7.
100. Basinya, E. A. Methods of self-organization in providing network security [Text]
/ E. A. Basinya, G. A. Frantsuzova, A. V. Gunko // Global Science and Innovation :
materials of the 1 intern. sci. conf., USA, Chicago, 17–18 Dec. 2013. – Chicago :
Accent Graphics communications 2013. – Vol. 2. – P. 386–389.
101. Басыня, Е. А. Самоорганизующаяся система управления трафиком
вычислительной сети [Текст] / Е. А. Басыня, Г. А. Французова, А. В. Гунько //
Доклады Томского государственного университета систем управления и
радиоэлектроники. – 2014. – № 1 (31). – С. 179–184.
129
ПРИЛОЖЕНИЕ А. Акт внедрения результатов научной работы
130
131
ПРИЛОЖЕНИЕ Б. Акт внедрения результатов научной работы
132
133
ПРИЛОЖЕНИЕ В. Акт внедрения результатов научной работы в
учебный процесс
134
135
ПРИЛОЖЕНИЕ Г. Свидетельство о государственной регистрации
программы для ЭВМ
136
137
ПРИЛОЖЕНИЕ Д. Листинг части программно - вычислительного
комплекса "Self-organizing control system of computer network traffic"
138
rb::node::NodesList
IArbiterNode::FindApropriateGNodes(rb::node::NodesList
ignoredNodes) {
if (!this->m_isActiveNodesExists) {
network::ConnQLvl_t
cl
=
network::GManager::GetInstance()-
>CheckConnQLvl();
rb::lib::report("MatchApropriateGNodes - conn lvl: %s", cl.Verbose());
if (!this->GetActiveGNodes()) {
rb::aux::log_error_internal("MatchApropriateGNodes can't get active
gnodes");
}
this->m_isActiveNodesExists = true;
}
rb::node::NodesList result;
rb::aux::check(this->m_activeNodesExists);
rb::hard::HardwareMetricsList_t metricsList;
rb::hard::UsageStatsList_t usageStats;
rb::network::NetworkMetricsList_t networkMetrics;
for (grid_nodes_list_t::const_iterator i = this->m_currentActiveGNodes.begin(); i
!= this->m_currentActiveGNodes; ++i) {
metricsList.push((*i).GetHardwareMetrics());
usageStats.push((*i).GetUsageStats());
networkMetrics.push((*i).GetNetworkMetrics());
}
rb::ty::safe_ptr<rb::node::IGNode> suggestedNodePtr;
if
(!this->CompareNodes(metricsList,
usageStats,
networkMetrics,
rb::node::IArbiterNode::COMPARE_METHOD_SAFEST, ignoredNodes, NULL, true,
result, suggestedNodePtr)) {
rb::aux::log_error_internal("MatchApropriateGNodes
appropriate gnode");
-
can't
find
139
}
if (!suggestedNodePtr->TryActivate()) {
rb::aux::log_error_internal("MatchApropriateGNodes
can't
activate
gnode");
}
return result;
}
bool
HoneypotMgr::Honeypot::InitAsSimpleHoneypot(rb::hard::HardwareImageConfig&
hwConf, rb::net::NetConnectionConfig& nwConf) {
HoneypotMgr::Honeypot
newHoneypot(HoneypotMgr::Honeypot::SIMPLE,
true);
rb::smart_barrel::BarrelMgr& mgr = rb::smart_barrel::BarrelMgr::Instance();
if (!mgr.TestAvailablity() || !mgr.TestGenState()) {
rb::aux::log_error_internal('InitAsSimpleHoneypot - smart barrel not
available');
return false;
}
rb::ty::safe_ptr<rb::vm::IOSImage> image;
rb::ty::safe_ptr<rb::vm::ImagePreset> preset = new rb::vm::ImagePreset(
rb::vm::ImagePresetPool.GetByIdxClamped(mgr.RandomizeForImagePreset(hw
Conf, nwConf.GetNetstatsWithFakes()));
);
image = rb::vm::ImageFactory::Instance()->CreateImage(preset);
if (!image.LoadDeferredAvail() || !image.LoadDeferred()) {
rb::aux::log_error_internal("InitAsSimpleHoneypot - image couldnt be load
deferred");
return false;
140
}
rb::ty::safe_ptr<rb::net:INetConn> conn;
if (nwConf.is_ipv4) {
conn = new rb::net:INetConnIPV4(nwConf);
} else if (nwConf.is_ipv6) {
conn = new rb::net:INetConnIPV6(nwConf);
} else {
rb::aux::log_error_internal("InitAsSimpleHoneypot - invalid honeypot
network iface configuraion");
return false;
}
conn->d_FixPostroutingIPT(); // TODO: look at issue #98401
if (!conn->Configure(nwConf) || !conn->TryUpIface()) {
rb::aux::log_error_internal("InitAsSimpleHoneypot - cant up network
iface");
return false;
}
image->TrySetNetworkConn(conn);
image->ResetNetstats();
image->ResetTraps();
image->ResetTrapsCounters();
image->PrepareDetectors();
if (!image->PrepareForRun()) {
rb::aux::log_error_internal("InitAsSimpleHoneypot - cant prepare image");
return false;
}
newHoneypot->SetImage(image.release_ptr());
newHoneypot->m_risknessFactor = rb::detect::RisknessFactors::INITIAL;
newHoneypot->ResetHwStats();
141
newHoneypot->ResetNwStats();
if (!newHoneypot->InvokeImageLoad()) {
rb::aux::log_error_internal("InitAsSimpleHoneypot
-
serious
error,
-
integrity
check
invokation failed!", rb::aux::STATUS_SERIOUS);
return false;
}
if (!newHoneypot->TestIntegrity()) {
rb::aux::log_error_internal("InitAsSimpleHoneypot
failed!", rb::aux::STATUS_SERIOUS);
return false;
}
if (!newHoneypot->Init()) {
rb::aux::log_error_internal("InitAsSimpleHoneypot
-
init
failed!",
rb::aux::STATUS_SERIOUS);
return false;
}
// Everything is ok, adding new simple honneypot to pull
m_honeypots.push_back(newHoneypot);
return true;
}
void GenStatisticsHandler::UpdateGenomeViaHPCriticalInvasions() {
rb::ty::list_ptrs<rb::detect::Invasion> criticalInvasionsList;
rb::ty::list_ptrs<rb::fake::Honeypot>
honeypots
=
rb::fake::HoneypotManager::Instance()->GetActiveHoneypots();
for (rb::ty::list_ptrs<rb::fake::Honeypot>::const_iterator i = honeypots.begin(); i
!= honeypots.end(); ++i) {
if
((**i).GetInvasionsCount()
GenStatisticsHandler::COUNT_THRESHOLD) {
continue;
<
142
}
for
(rb::ty::list_ptrs<rb::detect::InvasionHdlr>::const_iterator
j
=
(**i).GetInvasions().begin(); j != (**i).GetInvasions().end(); ++j) {
rb::ty::safe_ptr<rb::detect::InvasionHdlr> invasionHdlr = *j;
if
(invasionHdlr->GetMajority()
<
GenStatisticsHandler::MAJORITY_THRESHOLD) {
continue;
}
criticalInvasionsList.push(invasionHdlr->GetInvasion());
}
}
rb::aux::performance_trace_begin("Genome Update");
for
(rb::ty::list_ptrs<rb::detect::Invasion>::const_iterator
i
=
criticalInvasionsList.begin(); i != criticalInvasionsList.end(); ++i) {
if (i->HasDetectedSignatures()) {
AppendKnownInvasionSignatures(i->GetSignatures());
}
AppendNewInvasionEvidence(i->GetEvidencesFacts(),
i-
>GetFuzzyDetectedEvidences(), i->GetNetworkStats(), i->GetHardwareStats());
SetHardwareInfo(i->GetHardwareInfo());
SetOSInfo(i->GetOsInfo());
SetClientInfo(i->GetDetectedClientInfo(),
i->GetExpectedClientInfo(),
true, NULL);
if (!rb::genome::Manager::Instance()->MakeBackupPoint()) {
rb::aux::log_error_internal("UpdateHookStatsCriticalInvasions - cant
make backup genome point! skipping invasion - look at the dump for details",
rb::aux::STATUS_SERIOUS);
rb::aux::dump_json(i->Serialize());
continue;
143
}
rb::genome::StepStats_t stats = StepGenome();
if
(stats.m_quality
<
rb::genome::Manager::Instance()-
>GetStepThreshold()) {
if
(rb::genome::Manager::Instance()->GetLQPolicy()
==
rb::genome::Manager::DROP_BAD_STEPS) {
rb::genome::Manager::Instance()->RestorePreviousBackup();
rb::aux::log_error("UpdateHookStatsCriticalInvasions
-
genome step quality! skipping invasion - look at the dump for details");
} else {
rb::aux::log_warning("UpdateHookStatsCriticalInvasions
-
genome step quality! skipping invasion - look at the dump for details");
}
rb::aux::dump_json(i->Serialize());
rb::aux::dump_json(stats.Serialize());
continue;
}
rb::genome::Manager::Instance()->CommitStep();
}
if
(rb::genome::Manager::Instance()->GetMutationPolicy()
==
rb::genome::Manager::MUTATE_AFTER_DAILY_UPDATE) {
// TODO: look at the issue: #89817
rb::genome::Manager::Instance()->MakeRandomMutations(true, NULL);
}
rb::aux::performance_trace_end("Genome Update");
}
rb:ty::safe_ptr<IComponent>
IComponent::Instance(rb::node::ConfigNode::Attributes &attrs) {
compTypeId;
rb::ty::wstring
144
if (attrs.count(rb::node::gi::COMP_TYPEID) == 0) {
rb::aux::throw_logic("unknown component type");
} else {
compTypeId = attrs[rb::node::COMP_TYPEID];
}
if (!rb::node::ComponentFactory::Instance().IsRegistered(compTypeId)) {
rb::aux::throw_logic("unknown component type");
}
rb:ty::safe_ptr<IComponent>
resultPtr(rb:ty::Instance<DummyComponent>(compTypeId);
if (attrs.count(rb::node::gi::COMP_MAC) == 0) {
resultPtr->SetMAC(this->GenerateUID());
} else {
resultPtr->SetMAC(StrToInt((attrs[rb::node::COMP_UID])));
}
if (attrs.count(rb::node::gi::COMP_TTL) == 0) {
resultPtr->SetName(L"bad_name");
} else {
resultPtr->SetName(attrs[rb::node::gi::COMP_TTL]);
}
return resultPtr;
}
bool UiHookMgr::TrackOnKeyStrict(const rb::detect::ui::EventCode &eventCode)
{
rb::detect::ui::EventSource es = this->GetEventSource(eventCode);
rb::detect::ui::MouseKey mk = this->GetMouseKeyCode(eventCode);
rb::detect::ui::KeyState ks = this->GetKeystate(eventCode);
if
(es
==
rb::detect::ui::EventSource::ES_MOUSE
rb::detect::ui::MouseKey::LMB)) {
&&
(mk
==
145
if (ks == rb::detect::ui::KeyState::KEY_DOWN) {
if (m_activeWi == NULL || !m_activeWi->IsFocused(m_cursrsPos))
{
m_activeWi.reset();
FindFocused(widgets, m_cursrsPos);
} else if (m_activeWi!=NULL) {
FindFocused(m_activeWi>EnumerateComponents(rb::detect::ui::STD_WIDGET), m_cursrsPos);
}
if
(m_activeWi
!=
NULL
&&
m_activeWi-
>GetProperty(rb::detect::ui::WP_TRACKABLE)) {
trackedWidget = m_activeWi;
trackedWidget->Detach();
trackStart = trackedWidget->TrackPos();
if(m_cursrs.size() > 0) {
dynamic_cast<rb::detect::ui::ICursor&>(*m_cursrs[0]).TrackMove();
}
} else if (m_cursrs.size() > 0) {
dynamic_cast<rb::detect::ui::ICursor&>(*m_cursrs[0]).TrackClick();
}
}
if (ks == rb::detect::ui::KeyState::KEY_UP && draged) {
if
(m_cursrs.size()
>
dynamic_cast<rb::detect::ui::ICursor&>(*m_cursrs[0]).TrackDefault();
m_activeWi.reset();
this->FindFocused(widgets,m_cursrsPos);
0)
146
if (m_activeWi == NULL) {
if (trackedWidget->parent != (rb::detect::ui::Component*)this)
trackedWidget->TrackPos(trackStart);
trackedWidget->parent>Attach(cast_to_component(trackedWidget));
}
else
if
(!m_activeWi-
>GetProperty(rb::detect::ui::WP_TRACKABLE)
||
!m_activeWi-
>Attach(cast_to_component(trackedWidget)) ) {
trackedWidget->TrackPos(trackStart);
trackedWidget->parent>Attach(cast_to_component(trackedWidget));
}
m_activeWi = trackedWidget;
trackedWidget.reset();
}
}
return !(m_activeWi != NULL && !m_activeWi->OnKey(eventCode));
}
void NodeExchangeMgr::SendControlMessagesHierarchical() {
rb::ty::dword_t time = rb::aux::get_timestamp();
if (!this->ValidateTimeF(time)) {
rb::aux::warn("SendMessagesHierarchical
-
too
frequent
sending");
return;
}
rb::detect::amState res;
rb::ty::bool_t brkFlag = false;
rb::aux::performance_trace_begin("SendMessagesHierarchical");
for (int i=activeStack.Size()-1; i>=0; i--) {
message
147
((rb::node:IANode*)activeStack[i]->elem)->UpdateTimesamp(time);
if (brkFlag) { continue; }
res = ((rb::node:IANode*)activeStack[i]->elem)->TestConnection();
if(res.is_available) {
bool propogate = true;
for(int j=0;j<lastMsgStack.Size(); j++){
if(((rb::node:IANode*)lastMsgStack[j]->elem)
==
((rb::node:IANode*)activeStack[i]->elem) ) { propogate = false; break; }
}
if
(propogate
&&
_exconst(rb::node::event::PushUp)
((rb::node:IANode*)activeStack[i]->elem)->CanRetranslate(this)
&&
&&
lastMsgStack.Size() > 0) {
if(!((rb::node:IANode*)lastMsgStack[lastMsgStack.Size()-1]>elem)->HasState(IS_ACTUVE_AND_READY)) { continue; }
rb::ty::tree<rb::node:IANode>
*dataPtr1
=
*dataPtr2
=
*dataPtr3
=
((rb::node:IANode*)activeStack[i]->elem)->parentNode;
rb::ty::tree<rb::node:IANode>
((rb::node:IANode*)activeStack[i]->elem)->thisNode;
rb::ty::tree<rb::node:IANode>
((rb::node:IANode*)lastMsgStack[lastMsgStack.Size()-1]->elem)->thisNode;
rb::ty::tree<rb::node:IANode>
*dataPtr4
=
((rb::node:IANode*)activeStack[i]->elem)->parentNode;
if(dataPtr1 != dataPtr3) {
rb::ty::tree<rb::node:IANode>::SwapNodes(dataPtr3,
dataPtr4, dataPtr1->FindChildren(dataPtr2));
((rb::node:IANode*)activeStack[i]->elem)->sender
dataPtr3;
=
148
((rb::node:IANode*)activeStack[i]->elem)->recepient =
((rb::node:IANode*)dataPtr3->elem)->recepient;
((rb::node:IANode*)activeStack[i]->elem)->message =
((rb::node:IANode*)dataPtr3->elem)->message;
((rb::node:IANode*)activeStack[i]->elem)>SetState(rb::node::event::STATE_INITIAL, true);
((rb::node:IANode*)activeStack[i]->elem)>CheckParams();
activeStack = lastMsgStack;
m_dadFlag = true;
}
}
brkFlag = true;
}
((rb::node:IANode*)activeStack[i]->elem)->PushMessages();
((rb::node:IANode*)activeStack[i]->elem)->UpdateStats();
}
rb::aux::performance_trace_end("SendMessagesHierarchical");
}
void VmNetConn::UpdConnHookI(rb::detect::HookConfiguration &config) {
if (!this->HasActiveConnectons()) {
rb::aux::throw_logic("PrepareHookI - hook hasn't active connections, look
at the dump for details");
rb::aux::dump_json(this->Serialize());
}
rb::ty::safe_ptr<rb::net::Connection>
pconn
>GetNextCurrentConnection();
rb::aux::performance_trace_begin("Hooks Update");
if (pconn) {
=
this-
149
do {
if (pconn->IsActive()) { pconn->EndConnection(); }
rb::ty::safe_ptr<rb::detect::IHook>
hook
=
rb::detect::HookFactory::Instance()->CreateHook(config);
rb::aux::assert(hook);
pconn->SaveHookStt();
if (pconn->HasActiveHooks()) { pconn->StopActiveHooks(true);
pconn->DropHooks(); }
hook->RandomizeHPS(rb::smart_barrel::BarrelMgr::Instance()>GetRandomHPS());
if (!hook->TestHPSInt()) {
rb::aux::log_error_internal("PrepareHookI - test hps of hook
failed", rb::aux::STATUS_SERIOUS);
rb::aux::dump_json(hook->Serialize());
continue;
}
hook->ResetStt();
if (config.net.is_ipv4) {
pconn->IP4HKPrepareSpecific();
} else if (nwConf.net.is_ipv6) {
pconn->IP6HKPrepareSpecific(rb::aux::WARN, NULL);
}
pconn->SetHook(hook,
true,
rb::net::SM_DEFAULT,
rb::net::Warn::Instance()->GetHookWarnPolicy());
if (!pconn->TryApplyConfiguration()) {
rb::aux::log_error_internal("PrepareHookI - cant apply hk look
at the dump for details", rb::aux::STATUS_SERIOUS);
rb::aux::dump_json(hook->Serialize());
}
150
rb::aux::_try(pconn->Reconn());
pconn.reset();
pconn = this->GetNextCurrentConnection();
} while(pconn);
}
rb::aux::performance_trace_end("Hooks Update");
}