Система управления базой правил межсетевых экранов

 

Оглавление

 

Введение  ………………………………………………………………………….4

1 Теоретические  предпосылки ………………………………….………...……..5

1.1 Обнаружение атак злоумышленного поведения ………...………….5

1.2 Обнаружение атак аномальной активности ….……………………..7

    1.3  Многоагентные системы обнаружения аномальной сетевой активности……………………………………………………………………8

1.4 Типы межсетевых экранов ………………………………………….10

2 Руководство  по эксплуатации программного  средства ………..…………...11

2.1 Системные  требования ……………………………………………....11

2.2 Руководство  программиста ……………………………………….....12

2.3 Руководство  оператора ………………………………………………15

Заключение……………………………………………………………………….17

Библиографический список……………………………………………………..18

Приложение А Схема алгоритма программного средства……….…………...20

Приложение Б Код программного средства…………………...………………26

 

 

 

 

 

 

 

 

 

 

 

                          

Введение

Для минимизации рисков информационной безопасности в информационных корпоративных  сетях в настоящее время актуальна  разработка и внедрение систем обнаружения  сетевых атак (СОА). Они представляют собой специализированные программные  или программно-аппаратные средства, позволяющие осуществлять активный аудит и управление безопасностью (прогнозировать, обнаруживать, предупреждать, контролировать, реагировать в реальном масштабе времени на риски безопасности) в корпоративной сети. Решение  задачи разработки эффективной защиты информации от сетевых атак требует  разработки новых методов, способных  противостоять распределенным сетевым  атакам различного происхождения и  более адекватно отображать сложную  динамику случайных процессов этих атак. Требуется разработка методов  выявления распределенных сетевых  атак, использующих в комплексе современные  методы поддержки принятия решений  на основе теории интеллектуальных систем, позволяющих перейти при решении задач защиты продуктов и систем информационных технологий (СИТ) от принципа «обнаружение и ликвидация» к принципу «прогнозирование и предупреждение в реальном масштабе времени».

Теоретической базой исследования являются труды  Бабаш А.В., Шанкина Г.П. «История криптографии», Бондарева В.М., Рублинецкого В.И., Качко Е.Г. «Основы программирования», Венбо Мао «Современная криптография. Теория и практика», Абрамова В.Г., Трифонова Н.П., Трифоновой Г.Н. «Введение в язык Паскаль», Грогоно П. «Программирование на языке Паскаль».

 

 

 

 

 

 

1 ТЕОРЕТИЧЕСКИЕ ПРЕДПОСЫЛКИ

 

      1. Обнаружение атак злоумышленного поведения

 

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

Если для обнаружения атаки  требуется понимание ожидаемого поведения контролируемого нарушителя информации, то данная технология –  технология обнаружения злоумышленного поведения. Работа систем обнаружения  злоупотреблений базируется на составлении  шаблонов, или «подписей» атак. Защитные системы этого типа эффективны на известных схемах атак, однако в  случае новой неизвестной атаки  или отклонения хода атаки от шаблона  возникают серьезные проблемы. Поэтому  приходится поддерживать большую базу данных, включающую каждую атаку и  ее вариации, и непрерывно пополнять  базы шаблонов. Также важно правильно  определить объем выборки параметров, контролируемых методом обнаружения  сетевой атаки, основанной на злоумышленном  поведении. Малое их число или  неправильно отобранные параметры  могут привести к тому, что модель описания поведения субъектов системы на основе данного метода будет неполной, и многие атаки не будут обнаружены. С другой стороны, слишком большое число параметров мониторинга, учитываемых методом, вызовет снижение производительности контролируемого узла за счет увеличенных требований к потребляемым ресурсам.

 

 

 

 

 

 

               1.2 Обнаружение атак аномальной активности

 

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

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

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

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

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

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

 

 

1.3 Многоагентные системы обнаружения аномальной сетевой активности

 

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

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

Предлагаемый  подход на основе технологии интеллектуальных многоагентных систем позволит использовать в СОА следующие принципиально новые подходы, существенно повышающие эффективность системы защиты от распределенных сетевых атак:

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

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

 

 

 

 

В следующей  главе описывается руководство  по эксплуатации программного средства, которое было создано на высокоуровневом  языке программирования общего назначения – Delphi, одним из наиболее известных языков программирования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ ПРОГРАММНОГО СРЕДСТВА

 

    1. Системные требования

 

Написанное  программное средство было разработано  на языке программирования Delphi(Pascal). Написана на тему по межсетевым экранам «Система управления базой правил межсетевых экранов».

Программное средство имеет следующие системные требования:

  1. процессор Pentium III и выше;
  2. тактовая частота процессора 800 MГц и выше;
  3. RAM 128 Мб;
  4. свободное пространство на жестком диске не менее 20 Мб;
  5. VGA 1024×768;
  6. операционная система не ниже Microsoft Windows XP;
  7. Borland Delphi 7;
  8. клавиатура;
  9. мышь.

 

    1. Руководство программиста

 

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

         В меню «Пуск» запускаем файл Delphi7.exe ,как это показано на рисунке 1.

             Рисунок 1 – Меню «Пуск» для  запуска программы

 

         После запуска приложения появится  интерфейс программы, как показано  на рисунке 2.

 

 

Рисунок 2 –  Интерфейс приложения

 

          Теперь следует обратить внимание  на панель стандартных  компонентов,  которая необходима для установки  компонентов на форме см. рисунок 3.

 

         Рисунок  3 – Панель стандартных компонентов.

 

           На панели компонентов выделяется  пункт «Standard» ,и левой кнопкой мыши выбираем необходимый компонент. Затем ,щелкнув левой кнопкой мыши на форме, устанавливаем компонент. В данной программе следует установить следующие компоненты: Edit1, Edit2, Edit4, Edit5, Edit6, Edit7, Edit8, Edit9, Edit10 Label1, label2, label3, label4, label5, label6, label7, label8 label9, label10, Button1. Компонент Edit – объект для ввода или вывода текстовых или числовых значений, компонент Label – объект, в основном служащий для вывода текста-подсказки, либо для вывода конечного результата ,который сопровождается текстовым сообщением. Компонент Button – кнопка ,служит для обработки различных событий и операций. Все компоненты устанавливаются на форму так, как представлено на рисунке 4.

Рисунок 4 –  Готовое расположении компонентов на форме.

       

          После установки компонентов, необходимо приступить к написанию кода. Код представлен в Приложении Б.

Данный  код содержит:

  • Поле Unit Unit3 – инициализация нового модуля
  • Поле Интерфейс – интерфейсная часть модуля ,которая содержит:
  • Поле Uses, где перечислен весь список библиотек ,необходимых для работы программы
  • Поле type ,где содержится объявление основного класса формы и её подклассов.
  • Раздел private – здесь записываются методы, известные только родительскому классу
  • Раздел public – метода ,внешне видимые пользователями класса

          Поле  implementation – внутри него содержится директива компиляции

{$R *.dfm}.После него идет код самой программы.

         В данной программе используются  следующие процедуры и функции:

 

 

  • Procedure TForm1.FormCreate – Процедура создания формы, используется для ввода данных в форму, а также начальный вид формы после запуска программы.
  • Procedure TForm1.Button1Click – щелчёк левой кнопки мыши на кнопке формы. Инициализация файла dos.log и открытее его для записи. Осуществляется запись данных в файл (размера, времени и т.д), которые ранее были введены в поля текста.

          Схема алгоритма программного средства представлена в приложении А. Код программы см. приложение Б.

 

    1. Руководство оператора

 

Для запуска программного средства необходимо открыть папку с программой (см. Рис. 3).

         Рисунок 3–Открытие папки

 

Далее двойным  нажатием левой кнопки мыши запустить  программное средство.  Появится окно программы, как это показано на рисунке 4.

 

 Рисунок  4 – Интерфейс программы

 

  Кликнуть  на кнопке «Добавить событие» (см. Рис. 5).

        Рисунок 5-Щелчёк по кнопке

 

    Появится еще одно для ввода  данных (рис. 6).

 

                               Рисунок 6-Появление окна для ввода данных

 

Ввести  данные в поля текста и кликнуть на кнопке «Записать» как это показано на рисунке 7.

 

 

 Рисунок 7-Ввод данных в поля текста

 

Открыть файл dos.log  на диске D: и увидеть добавленные данные которые вводили в поля формы, как показано на рисунке 8.

 

Рисунок 8 - Данные , добавленные в файл dos.log

 

 

Заключение

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

 

 

 

 

 

 

 

 

Библиографический список

 

  1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. — М.: Наука, 1988. – 149 с.
  2. Бабаш А.В., Шанкин Г.П. История криптографии. Часть I. — М.: Гелиос АРВ, 2002. — 240 с. — 3000 экз. — ISBN 5-85438-043-9. – 120 с.
  3. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. —Харьков: Фолио, Ростов н/Д: Феникс, 1997. – 398 с.
  4. Венбо Мао Современная криптография. Теория и практика = Modern Cryptography: Theory and Practice. — М.: Вильямс, 2005. — 768 с. — 2 000 экз. — ISBN 5-8459-0847-7, ISBN 0-13-066943-1. – 435 с.
  5. Вильям Столлингс. Криптография и защита сетей: принципы и практика. М.: Вильямс, 2001. ISBN 5-8459-0185-5. – 391 с.
  6. Герасименко В. А. Защита информации в автоматизированных системах обработки данных., кн. 1, 2. М.: Энергоатомиздат, 1994. – 345 с.
  7. Грогоно П. Программирование на языке Паскаль. —М.: Мир, 1982. – 631 с.
  8. Епашников A.M., Епашников В.А. Программирование в среде Турбо Паскаль 7.0. — М.: МИФИ, 1994. – 497 с.
  9. Жельников В. Кpиптогpафия от папиpуса до компьютеpа. — М.: ABF, 1996. — 335 с. — ISBN 5-87484-054-0. – 83 с.
  10. Задачи по программированию / С. А. Абрамов, Г. Г. Гнездилова, Е. Н. Капустина, М. И. Селюн. — М.: Наука, 1988. – 321 с.
  11. Зубов В. С. Программирование на языке Turbo Pascal (версии 6.0 и 7.0). — М.: Информационно-издательский дом «Филинъ», 1997. – 98 с.
  12. 3yeв Е. А. Практическое программирование на языке Turbo Pascal 6.0, 7.0. — М.: Радио и связь, 1994. – 64 с.
  13. Конхейм А. Г. Основы криптографии. М.: Радио и связь, 1987. – 79 с.
  14. Культин Н.Б. Программирование в Turbo Pascal и Delphi.— СПб.: BHV — Санкт-Петербург, 1998. – 54 с.
  15. Мафтик С. Механизмы защиты в сетях ЭВМ. М.: Мир, 1993. – 346 с.
  16. Мельников В. В. Защита информации в компьютерных системах. М.: Финансы и статистика, 1997. – 189 с.
  17. Молдовян А. А., Молдовян Н. А., Советов Б. Я. Криптография. СПб.: «Лань», 2000. – 301 с.
  18. Нечаев В. И. Элементы криптографии (Основы теории защиты информации). М.: Высшая школа, 1999. – 289 с.
  19. Нильс Фергюсон, Брюс Шнайер Практическая криптография = Practical Cryptography: Designing and Implementing Secure Cryptographic Systems. — М.: «Диалектика», 2004. — 432 с. — 3 000 экз. — ISBN 5-8459-0733-0, ISBN 0-4712-2357-3 – 67 с.
  20. Основы криптозащиты АСУ. Под ред. Б. П. Козлова. М.: МО, 1996. – 43 с.
  21. Пильщиков В.Н. Сборник упражнений по языку Паскаль.— М.: Наука, 1989. – 290 с.
  22. Попов Б.В. TURBO PASCAL для школьников. Версия 7.0. — М.: Финансы и статистика, 1996. – 187 с.
  23. Романец Ю. В., Тимофеев П. А., Шаньгин В. Ф. Защита информации в компьютерных системах и сетях. М.: Радио и связь, 1999. – 200 с.
  24. Рябко Б.Я., Фионов А.Н. Основы современной криптографии для специалистов в информационных технологиях. М.: Научный мир, 2004. ISBN 5-89176-233-1. – 456 с.
  25. Сборник задач по программированию / Авт.-сост. А П. Шестаков. — Пермь: Перм. ун-т, 1999. – 61 с.
  26. Ухлинов А. М. Управление безопасностью информации в автоматизированных системах. М.: МИФИ, 1996. – 80 с.

Приложение А

Схема алгоритма программного средства

 

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 


 

 

 


 

 


 

 

 

 

 

 

 



 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение Б

                     Код программного средства

 

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

type

  TForm4 = class(TForm)

    Label1: TLabel;

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Label3: TLabel;

    Edit3: TEdit;

    Label4: TLabel;

    Edit4: TEdit;

    Label5: TLabel;

    Edit5: TEdit;

    Label6: TLabel;

    Edit6: TEdit;

    Button1: TButton;

    Edit7: TEdit;

    Label7: TLabel;

    Label8: TLabel;

    Edit8: TEdit;

    Label9: TLabel;

    Edit9: TEdit;

    Label10: TLabel;

    Edit10: TEdit;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.FormCreate(Sender: TObject);

var

date,time,action,ipsrs,ipdest,proto,path:string[30];

tx:string;

col,size,port:integer;

begin

Edit1.Text:='';

edit2.Text:='';

edit3.Text:='';

edit4.Text:='';

  edit5.Text:='';

edit6.Text:='';

edit7.Text:='0';

edit8.Text:='0';

edit9.Text:='0';

edit10.Text:='';

label1.Caption:='Введите дату (гггг-мм-дд)';

label1.Font.Size:=13;

label2.Caption:='Введите время (чч:мм:сс)';

label2.Font.Size:=13;

label3.Caption:='Введите действие';

label3.Font.Size:=13;

label4.Caption:='Введите протокол';

label4.Font.Size:=13;

label5.Caption:='Введите IP-источника';

label5.Font.Size:=13;

label6.Caption:=’Введите IP-приёмника';

label6.Font.Size:=13;

label8.Caption:= 'Введите размер в байтах’;

label8.Font.Size:=13;

label9.Caption:= 'Введите номер порта';

label9.Font.Size:=13;

label10.Caption:='Введите путь';

label10.Font.Size:=13;

label7.Caption:= 'Количество раз';

label7.Font.Size:=13;

date:=Edit1.Text;

time:=edit2.Text;

action:=edit3.Text;

proto:=edit4.Text;

ipsrs:=edit5.Text;

ipdest:=edit6.Text;

path:=edit10.Text;

size:=StrToInt(edit8.Text);

port:=StrToInt(edit9.Text);

col:=StrToInt(Edit7.Text);

end;

procedure TForm4.Button1Click(Sender: TObject);

var

f:TextFile;

st,tx:string;

col,i,er,k:integer;

begin

  tx:=edit7.Text;

val(tx,k,er);

st:=concat(edit1.text,'  ',edit2.text,'  ',

edit3.Text,'  ',edit4.Text,'   ',edit5.Text,'  ',edit6.Text,'  ',edit8.text,'  ',edit9.text,'  ',edit10.text);

AssignFile(f,'D:\dos.log');

Append(f);

for i:=1 to k do

writeln(f,st);

closeFile(f);

end;

end.