Информационная безопасность

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



в себя следующие аспекты:

1.Создание анализатора сетевых пакетов на третьем уровне модели OSI.

2.Создание базы данных правил регистрации атак.

.Создание отладочной системы генерации атак.

.Создание системы управления и регистрации.

2.2 Сетевое программирование под OC Windows

Поскольку наиболее распространённой в мире ОС является ОС Windows, то рассмотрим ключевой аспект создания СОА - создание генератора (анализатора) сетевых пакетов средствами ОС Windows.

Для этого существуют по крайней мере 2 варианта библиотек низкоуровневого сетевого программирования:

1.Библиотека Windows Sockets v2.0 (Microsoft Corporation) [7].

2.Библиотека Windows Packet Capture Library (Torino Netgroup) [4].

На базе этих двух вариантов реализовано множество низкоуровневых сетевых приложений для ОС Windows [5] - анализаторы, снифферы, СОА, и т.д. Наиболее ярко такая двойственная возможность реализации проявилась в программном продукте daSniff [8], который реализован обоими способами.

Оба подхода в реализации низкоуровневых сетевых приложений имеют свои достоинства и недостатки. Так, библиотека Windows Sockets v2.0 требует для низкоуровневых сетевых приложений права Администратора при работе под Windows 2000 и не способна в большинстве случаев перехватывать исходящие пакеты. Библиотека Windows Packet Capture Library не поддерживает Loopback Adapter.

Общим недостатком обоих вариантов реализации явлется то обстоятельство, что для отладки полноценного анализатора пакетов необходимо иметь как минимум два (а не один) компьютера, объединённых в локальную сеть. В случае отсутствия второго компьютера совершенно невозможно организовать отладочную атаку на проектируемую СОА для практически всех протоколов. Единственным (известным) исключением является протокол ICMP, реализованный с помощью библиотеки Windows Sockets v2.0. В этом случае возможно на одном и том же компьютере как генерировать отладочную атаку средствами протокола ICMP, так и перехватывать её. Все остальные протоколы (в случае использования только одного компьютера) на низком уровне позволяют (при использовании библиотеки Windows Sockets v2.0) лишь генерировать атаки, а перехватывать - только на высоком уровне (что практически не имеет смысла). И только применив второй компьютер (с библиотекой Windows Sockets v2.0), подключённый к первому по локальной сети, можно перехватывать атакующие пакеты на низком (а не на высоком) уровне.

Библиотека Windows Packet Capture Library [4] вообще не предполагает никаких вариантов одновременной работы на одном компьютере отладочного генератора атак вместе с системой обнаружения атак.

Теоретически можно попробовать обойти это принципиальное ограничение (требование наличия двух компьютеров, объединённых в локальную сеть) при помощи такого специализированного ПО, как Virtual PC (или VMWare для Linux) - программы, которая эмулирует несколько виртуальных компьютеров на одном. Однако подобная задача выходит за рамки данного дипломного проекта.

Другой аспект создания собственной СОА - это разработка и применение сигнатур атак. После создания низкоуровневого сетевого анализатора пакетов задача регистрации атак сводится к анализу полей входящих пакетов (IP) и их последовательности.

Для любой дипломной работы наибольший практический интерес представляет такой программный продукт, который может полноценно работать на одном компьютере (не требуя наличия нескольких компьютеров). Из этого краткого обзора средств реализации низкоуровневого сетевого программирования под ОС Windows видно, что единственным подходящим вариантом является клиент-серверная реализация системы отладочный генератор атак - система обнаружения атак на основе протокола ICMP, реализованного низкоуровневыми средствами библиотеки Windows Sockets v2.0. Только этот вариант из всех рассмотренных позволяет создать полноценную систему обнаружения атак, основанную на использовании протокола IP и ICMP. Ценность такой системы состоит в том, что впоследствии она может быть легко переделана под протоколы TCP и UDP (с подключением второго компьютера по локальной сети) из-за концептуального сходства формата полей протокола ICMP и протоколов TCP и UDP.

Библиотека Windows Sockets v2.0 [7] - это стандартное средство для программирования сетевых приложений для ОС MS Windows. Помимо стандартных и общеизвестных функций эта библиотека содержит также некоторые малоизвестные низкоуровневые возможности. Существуют некоторые удачные их описания [3] и примеры (см. программу Ping в [7]).

Для создания низкоуровнего сетевого ICMP-приложения необходимо ознакомиться в общих чертах с работой протокола IP [14], затем подробно изучить протокол IP [12] и протокол ICMP [13], а также изучить сетевые атаки на базе протокола ICMP [6].

Протокол ICMP - это служебный протокол, применяемый в основном для сообщений об ошибках и для настройки протоколов TCP и UDP. Он также применяется в известных утилитах Ping и Traceroute. Протокол ICMP - это протокол сетевого (третьего) уровня, также, как и протокол IP. Это проявляется тем, что для протокола ICMP не существует понятия порт и вложенное сообщение (в отличие от протоколов транспортного (четвёртого) уровня - TCP и UDP). Однако формат полей пакета концептуально тот же, что и для протоколов TCP и UDP - в пакете сначала идёт заголовок IP, затем - заголовок ICMP. ICMP-пакет не может нести полезное сообщение (в отличие от протоколов TCP и UDP), но зато он предусматривает поля тип и код, каждое из которых может принимать значения от 0 до 127. Многие комбинации полей тип и код имеют предопределённое значение [3]. Все ICMP-сообщения делятся