Автор работы: Пользователь скрыл имя, 17 Сентября 2011 в 20:38, дипломная работа
В современном мире происходит стремительное развитие компьютерной техники и компьютерных технологий. Важное место среди них занимают технологии вычислительных и информационных сетей. Создание и развитие Internet и World Wide Web привело к новому этапу развития информационного общества. Но, с другой стороны, развитие современных сетевых информационных технологий привело к росту числа компьютерных преступлений и связанных с ними хищений информации, а также материальных потерь.
1. Введение 8
2. Задача сетевой защиты и методы её решения 10
2. 1. Брандмауэр 10
2. 2. Фильтры пакетов – простые и кумулятивные 11
2. 3. Прокси-брандмауэры и сервера уровня соединения 13
2. 4. Шлюзы приложений и сервера прикладного уровня 14
2. 5. Системы обнаружения компьютерных атак (СОА) 15
2. 6. Классификация систем обнаружения атак (СОА) 17
2. 7. Варианты реакций на обнаруженную атаку 19
2. 8. Характеристики средств сетевой защиты 21
2. 9. Выводы 25
3. Постановка задачи 27
3. 1. Концепция программного средства 27
3. 2. Сетевое программирование под OC Windows 28
3. 3. Атакующие воздействия для программного средства 31
3. 3. 1. Атака Smurf 31
3. 3. 2. Атака Tribe Flood Network 33
3. 3. 3. Атака WinFreeze 34
3. 3. 4. Атака ICMP Flood 36
4. Модель системы 37
4. 1. Схема взаимодействия модулей системы 44
4. 2. Описание модулей 46
4. 3. Описание программных элементов 47
5. Сведения о реализации 62
6. Экспериментальная часть 64
7. Разработка документации 73
7. 1. Техническое задание 73
7.2. Руководство оператора 76
8. Бизнес-план 78
8. 2. Характеристика ПП 78
8. 3. Исследование и анализ рынка 80
8. 4. Производственный план 82
График безубыточности 96
9. Безопасность и экологичность проекта 97
9. 1. Введение 98
9. 2. Характеристика производственного помещения 99
9. 3. Производственная санитария 100
9. 4. Электробезопасность 101
9. 5. Пожаробезопасность 102
9. 6. Контроль над электромагнитным излучением 104
9. 7. Освещение 107
9. 8. Вентиляция 108
9. 9. Контроль шума 110
9. 10. Эргономичность 111
9. 11. Вывод 113
10. Заключение 114
11. Список литературы 115
Приложение 116
Файл http_plugin.cpp 116
Файл Packet.cpp 128
Файл Packet.h 130
Файл Raw_send.cpp 132
Файл http_conf.inf 137
Файл http_client.htm 137
Файл http_icmp_form.htm 138
Файл http_icmp_reply.htm 139
Файл http_attack_form.htm 140
Файл http_attack_reply.htm 142
Файл Packet.cpp 142
Файл Packet.h 142
Файл pop3_conf.inf 142
Файл pop3_main.cpp 143
Вот еще
одна причина, по которой следует
запретить вхождение извне
Атака
Tribe Flood Network (TFN) является еще одной атакой
отказа в обслуживании, в которой используются
ICMP-сообщения (рис. 2). В отличие от атаки
Smurf, организуемой с одного компьютера
с применением одной сети для ее распространения,
атака TFN использует большое количество
распределенных хостов. Эти хосты часто
называют хостами-демонами. Поэтому термин
распределенная атака отказа в обслуживании
(DDoS) наиболее точно определяет использование
нескольких рассредоточенных в Internet хостов
для совместного осуществления атаки.
Рис. 2. Схема атаки Tribe Flood Network
Для проведения этой атаки требуется установка программы на ведущем компьютере - "мастере" TFN и на нескольких агентах— хостах-демонах TFN. Как правило, в качестве хостов-демонов используются скомпрометированные компьютеры. Мастер TFN дает хостам-демонам команду на атаку (часто одновременную) избранной цели. Взаимодействие между мастером и хостами-демонами осуществляется с помощью эхо-ответов ICMP. Демоны TFN могут организовать UDP-наводнение, SYN-наводнение, наводнение эхо-запросами ICMP или атаку Smurf.
Мастер информирует хосты-демоны о начале атаки с помощью эхо-ответов ICMP. При этом тип атаки определяется по значению поля идентификации в ICMP-заголовке эхо-ответа. В области данных такого эхо-ответа передаются необходимые аргументы.
Почему
для организации атаки вместо
эхо-запросов применяются эхо-ответы?
Дело в том, что на многих узлах
в целях обеспечения
Одновременное использование нескольких распределенных хостов для наводнения пакетами избранной цели позволит провести успешную атаку отказа в обслуживании против хоста или сети. Чтобы получить более подробную информацию об атаке TFN, зайдите на сайт www.cert.org и обратитесь к отчету об инциденте IN-99-07.
Атака WinFreeze, по существу, заставляет избранный компьютер атаковать самого себя.
router > victim.com: icmp: redirect 243.148.16.61 to host victim.com
router > victim.com: icmp: redirect 110.161.152.156 to host victim.com
router > victim.com: icmp: redirect 245.211.87.115 to host victim.com
router > victim.com: icmp: redirect 49.130.233.15 to host victim.com
router > victim.com: icmp: redirect 149.161.236.104 to host victim.com
router > victim.com: icmp: redirect 48.35.126.189 to host victim.com
router > victim.com: icmp: redirect 207.172.122.197 to host victim.com
router > victim.com: icmp: redirect 113.27.175.38 to host victim.com
router
> victim.com: icmp: redirect 114.102.175.168 to host victim.com
С помощью ICMP-сообщения redirect хост-отправитель уведомляется о выборе для доставки сообщения неоптимального маршрутизатора и о необходимости добавить адрес оптимального маршрутизатора в таблицу маршрутизации. При наводнении этими ICMP-сообщениями о перенаправлении атака WinFreeze может вызвать отказ в обслуживании уязвимого хоста, работающего под управлением Windows NT. Атака выполняется в сети атакуемого компьютера, а ICMP-сообщения приходят от имени маршрутизатора этой сети. При получении массы сообщений redirect атакованный хост пытается внести изменения в таблицу маршрутизации, и ресурсы центрального процессора в основном тратятся на обработку поступающих пакетов.
В этом примере маршрутизатор router заставляет хост victim.com перенаправить отправляемые им (хостом) пакеты на самого себя. В результате при попытке внести многочисленные изменения в таблицу маршрутизации хост victim. com может не справиться с другими возложенными на него задачами.
Атака ICMP Flood представляет из себя лавинное затопление ICMP-пакетами. Как правило, обычные ICMP-пакеты поступают в локальную сеть извне не быстрее, чем один пакет в минуту. Непрерывное же поступление большого количества пакетов будет означать, скорее всего, атаку лавинным затоплением.
Это может привести к полной блокировке работы сервера.
Система обнаружения атак (СОА) представляет из себя клиент-серверную пару приложений – отладочный генератор атак (клиент) и, собственно, система обнаружения атак (сервер). Обе программы являются консольными Win32-приложениями на базе библиотеки Windows Sockets v2.0. Кроме того, предусмотрена система удалённого управления и администрирования клиентом на базе протокола HTTP и многопоточной структуры клиента. Это значит, что клиент запускает дополнительную нить (тред), в которой работает соответствующий HTTP-сервер, который и даёт возможность УДАЛЁННО и ДИНАМИЧЕСКИ администрировать и управлять им.
HTTP-сервер даёт возможность выбрать ручной и автоматический режимы генерации сетевых атак, а также динамически, во время работы программы, выбирать и проводить одну из предопределённых атак.
Также
реализована система
Рис. 3.
Диаграмма задач, решаемых системой
На рисунке 4 приведена диаграмма классов и их взаимодействия.
Рис. 4.
Диаграмма классов и их взаимодействия
На рисунке 5
приведена блок-схема
Клиент raw_send.exe
Возникновение временной нити при HTTP-запросе
Получение параметров
от HTTP-клиента
Создание пакетов
Создание «сырого»
сокета
Отправка пакета на сервер
Вывод на экран содержимого пакета
Рис. 5.
Блок-схема алгоритма генерирования атак
На рисунке 6 приведена блок-схема алгоритма
обнаружения атак.
Сервер raw_recv.exe
Запуск сервера
Определение пути к файлу
Загрузка библиотеки сокетов
Запуск нити
с POP3-сервером
Создание и привязка «сырого» сокета
Приём ICMP-пакетов
Вывод на экран
содержимого пакета
Проверка на атаку
Нет
Формирование сообщения об атаке
Получение сообщения
об атаке по электронной почте
Рис. 6. Блок-схема алгоритма обнаружения атак.
На рисунке 7 приведена блок-схема алгоритма извещения об атаках.
Клиент raw_send.exe
Создание конфигурационного
объекта
Создание диспетчерского
сокета
Переход в режим ожидания подключения
Приём подключения
Создание временной
нити
Завершение подключения
Закрытие временной
нити
Закрытие сервера
Рис. 7.
Блок-схема алгоритма извещения об атаках.
На рисунке 8
приведена блок-схема
Сервер raw_recv.exe
Создание виртуального сокета
Открытие файла отчёта
Ответ клиенту на его подключение
Переход к режиму транзакций
Приём сообщения
Обработка сообщения
Проверка сообщений Да Отправка сообщения
в почтовом ящике
Нет
Отправление ответа
Закрытие сервера
Рис. 8. Блок-схема алгоритма управления атаками.
Вся
программная система
Основные модули поделены между клиентом и сервером: и клиент, и сервер имеют по 2 основных модуля. И сервер, и клиент являются многопоточными приложениями, точнее, они содержат по 2 нити, при этом в каждой нити функционирует один основной модуль. Главная нить клиента (та, которая образуется при запуске) содержит HTTP-сервер, который порождает вспомогательную нить при начале каждого HTTP-подключения и закрывает её при его окончании – это стандартный приём для одновременной работы с множеством клиентов. Вспомогательная нить получает от пользователя параметры нужных последовательностей ICMP-пакетов и отправляет эти последовательности на сервер.
Главная нить сервера содержит модуль обнаружения атак, который и является ядром всей системы и сутью дипломной работы. Атаки – это в данном случае просто определённые последовательности ICMP-пакетов с определёнными значениями полей пакетов IP и ICMP. Едва ли существует какой-либо принципиально иной способ обнаружения атак. Вся сложность состоит в том, чтобы наиболее точно сформулировать правила, по которым будет выноситься решение о том, атака это или нет.
Вспомогательная нить сервера содержит POP3-сервер электронной почты, который стартует в начале работы сервера и даёт возможность получить сообщения об атаке при помощи программы MS Outlook Express. Когда главная нить сервера обнаруживает атаку, она формирует в почтовом ящике сервера соответствующее сообщение, откуда его забирает вспомогательная нить при взаимодействии с программой MS Outlook Express.