Г.А. Остапенко Е.Ю. Дмитриева
ЛОГИКО-ЛИНГВИСТИЧЕСКИЕ
МОДЕЛИ АТАК НА КОМПЬЮТЕРНЫЕ СИСТЕМЫ
Учебное пособие
ГОУВПО «Воронежский государственный
технический университет»
Г.А. Остапенко Е.Ю. Дмитриева
ЛОГИКО-ЛИНГВИСТИЧЕСКИЕ
МОДЕЛИ АТАК НА КОМПЬЮТЕРНЫЕ
СИСТЕМЫ
Утверждено Редакционно-издательским советом
университета в качестве учебного пособия
УДК 621.05
Остапенко Г.А. Логико-лингвистические модели атак на компьютерные системы: учеб. пособие/ Г.А. Остапенко, Е.Ю. Дмитриева. Воронеж: ГОУВПО «Воронежский государственный технический университет», 2008. 311с
В учебном пособии рассмотрены процессы атаки «перехват трафика» на информационно-телекоммуникационные системы. Исследованы алгоритмы работы парольной защиты ОС Windows и ОС Unix. Описаны методы и средства по противодействию атакам реализующим сканирование портов. Исследованы методы анализа сетевого трафика сети Интернет, рассмотрены протоколы передачи данных FTP,TELNET.
Издание соответствует требованиям Государственного образовательного стандарта высшего профессионального образования по направлению 090100 "Информационная безопасность", специальностям 090102 "Компьютерная безопасность", 090105 "Комплексное обеспечение информационной безопасности автоматизированных систем" и 090106 "Информационная безопасность телекоммуникационных систем", дисциплине «Компьютерные преступления». Для студентов очной формы обучения.
Учебное пособие подготовлено в электронном виде в текстовом редакторе MS WORD и содержится в файле ЛЛМАКС.doc
Табл. 11. Ил.119. Библиогр.: 63 назв.
Научный редактор д-р техн. наук, проф. А.Г. Остапенко
Рецензенты: Межрегиональный центр «Инфозащита»(ген. директор С.В. Кудрявцев);
канд. техн. наук, доц. Е.И. Воробьева
© Остапенко Г.А., Дмитриева Е.Ю., 2008
©
СОДЕРЖАНИЕ
Введение…………………………………….……………....…….8
1. Подбор паролей…………………………………….…….…..26
1.1. Общие понятия парольной защиты………………...…..26
1.1.1. Парольная система………………………………….…26
1.1.2. Методы подбора паролей………………………….….27
1.1.3. Методы количественной оценки стойкости паролей.30
1.2. Парольная защита операционных систем……………..34
1.2.1. Подбор паролей в ОС Windows NT…………………..34
1.2.1.1. База данных учетных записей пользователей……..34
1.2.1.2. Хранение паролей пользователей………….………35
1.2.1.3. Использование пароля………………………….…...36
1.2.1.4. Возможные атаки на базу данных SAM…………...36
1.2.2. Подбор паролей в ОС UNIX………….………………38
1.3. Классификация и принцип работы программного обес
пече ния для подбора паролей…………………………40
1.3.1. Подбор паролей в OC Windows………………………40
1.3.2. Подбор паролей в OC UNIX………………..………...60
1.3.3. Подбор паролей документов MS Office……………...63
1.3.4. Подбор паролей в архивах ZIP, RAR и ARJ…………65
1.3.5. Подбор паролей PDF документов……………………75
1.4. Противодействие подбору паролей……………………77
1.4.1. Требования к паролю……………………………….....77
1.4.2. Правила назначения/изменения паролей…………….78
1.4.3. Требования к генерации паролей…………………….82
1.4.4. Хранение пароля пользователем……………………..87
1.4.5. Хранение паролей компьютерной системой…….…..89
1.4.6. Противодействие попыткам подбора паролей………90
1.4.7. Защита OC Windows NT и OC Unix от подбора паро
лей…………………………………………………..….93
2. Атаки реализующие сканирование портов…………………97
2.1. Особенности протоколов, используемых при
сканировании портов……………………………………97
2.1.1. Протокол UDP……………………………………........97
2.1.2. Протокол TCP…………………...………………...…..99
2.1.2.1. Функции протокола TCP………………..…………..99
2.1.2.2. Базовая передача данных………………………….100
2.1.2.3. Разделение каналов………………………………..101
2.1.2.4. Управление соединениями………………………..101
2.1.2.5. Заголовок ТСР-сегмента…………………………..103
2.1.2.6. Состояния соединения…………………………….107
2.2. Основные методы, применяемые при сканировании
портов………………………………………………..…110
2.2.1. Методы сканирования TCP-портов………………...110
2.2.1.1. Методы открытого сканирования………………...110
2.2.1.1.1. Метод ICMP-сканирования………………………..110
2.2.1.1.2. Сканирование TCP-портов функцией connect()..…112
2.2.1.1.3. Сканирование TCP-портов флагом SYN……….…114
2.2.1.1.4. Сканирование TCP-портов флагом FIN…………..116
2.2.1.1.5. Сканирование с использованием IP-
фрагментации…………………………………...…119
2.2.1.1.6. Сканирование TCP-портов методом reverse-
ident……………………………………………...122
2.2.1.1.7. Сканирование Xmas………………………….…124
2.2.1.1.8. Null сканирование……………………………….125
2.2.1.2. Методы "невидимого" удаленного сканирова
ния…………………………………………………..126
2.2.1.2.1. Скрытая атака по FTP…………………………...126
2.2.1.2.2. Сканирование через proxy-сервер………………128
2.2.1.2.3. Скрытное сканирование портов через системы с
уязвимой генерацией IP ID…………………...…129
2.2.1.2.3.1. Исторические предпосылки…………………...129
2.2.1.2.3.2. Описание базового метода IP ID сканирова
ния….………………………………………...…130
2.2.1.2.3.3. Исследование правил и обход брандмауэра при
сканировании…………………………………..131
2.2.1.2.3.4. Сканирование машин с приватными адреса
ми…………………………………………….…132
2.2.1.2.3.5. Использование IP ID при сканирование UDP
сервисов за брандмауэром…………………….132
2.2.1.2.3.6. "2 в степени" (2^) сканирование и временные
особенности сканирования……………………134
2.2.2. Методы сканирования UDP-портов………………...136
2.2.2.1. Сканирование UDP-портов проверкой
ICMP-сообщения «Портнедостижим»……………136
2.2.2.2. Сканирование UDP-портов с использованием
функций recvfrom() и write()…...………………….137
2.3. Анализ реализации атаки с помощью программных
средств………………………………..................................138
2.3.1. Сканирование портов в ОС семейства
Windows…………………………………………........138
2.3.2. Сканирование портов в ОС семейства Unix……….148
2.4. Защита от сканирования портов………………………148
3. Анализ сетевого трафика…………………………..……….152
3.1. Анализ сетевого трафика сети Internet……………….152
3.1.1. Ложные ARP-ответы………………………………...152
3.1.2. Навязывание ложного маршрутизатора……………156
3.1.3. Атака при конфигурировании хоста………………..160
3.1.4. Атака на протоколы маршрутизации……………….161
3.2. Протокол TELNET……………………………………162
3.2.1.Протокол FTP………………………………………...163
3.2.2. Программа анализатор сетевого трафика (синфир).166
3.2.3. Принцип работы сниффира……………………........167
3.3. Методы противодействия сниффирам……………….182
3.3.1.Протокол SSL…………………………………………182
3.3.2. Протокол SKIP…………………………………….…184
3.3.3 Устройство обеспечения безопасности локальной сети
SKIPBridge…………………………………………….185
4. Внедрение ложного доверенного объекта…………..……187
4.1. Особенности атаки «Внедрение ложного
доверенного объекта»…………………………...…….187
4.2. Внедрение ложного объекта путем использования
недостатков алгоритмов удаленного поиска……………189
4.2.1. ARP-spoofing………………………………………....189
4.2.1.1. Протокол ARP и алгоритм его работы……...…....189
4.2.1.2. Техника выполнения ARP-spoofing…...……...…..198
4.2.1.3. Методы обнаружения………………...……...…….205
4.2.1.4. Методы противодействия…………………………207
4.2.2. DNS-spoofing…………………………………………212
4.2.2.1. Принцип работы Domain Name System…………..212
4.2.2.2. Внедрение DNS-сервера путем перехвата DNS-
запроса……………………………………………...219
4.2.2.3. «Шторм» ложных DNS ответов на атакуемый
хост.…………………………………………………222
4.2.2.4. Перехват DNS-запроса или создание направленного
«шторма» ложных DNS-ответов непосредственно
на атакуемый DNS-сервер……………………...…226
4.2.2.5. Обнаружение и защита от внедрения
ложного DNS-сервера……………………….…….230
4.3. Внедрение ложного объекта путем навязывания ложно-
го маршрута…………………………………………….241
4.3.1. Навязывание хосту ложного маршрута с
использованием протокола ICMP……….……….…241
4.3.1.1. Протокол ICMP……………………………….……241
4.3.1.2. Внедрение ложного доверенного объекта путем
навязывания ложного маршрута с помощью
протокола ICMP…………………………………....245
4.3.1.3. Обнаружение и методы противодейст
вия…………………………………………………..248
5. Отказ в обслуживании………………………………….…..249
5.1. Модель DoS атаки………………………………...……249
5.1.1. Отказ в обслуживании (DoS) …………...…………..250
5.1.2. Распределенный отказ в обслуживании (DDoS) ….252
5.2.1. ICMP-flooding и Smurf……………………………….253
5.2.1.1. Описание утилиты для реализации ICMP-флуда и
атаки Smurf………………………………………....253
5.2.1.2. Реализация атаки ICMP-flooding, на основе
отправки ICMP-пакетов………………………..….255
5.2.1.3. Реализация атаки Smurf…………………………....262
5.2.2. UDP-storm и Fraggle…………...……………………..264
5.2.3. Низкоскоростные DOS-атаки……………………….266
5.2.3.1. Механизм таймаута TCP-стека………………...….267
5.2.3.2. Моделирование и реализация атаки………..…….270
5.2.3.2.1. Минимальная скорость DoS-атаки……………..276
5.2.3.3. Многопоточность и синхронизация потоков……278
5.2.3.4. RTT-фильтрация………………….….…………….279
5.2.3.5. Атаки в сети интернет……………………………..282
5.2.4. SYN атака………………………………………...…..284
5.2.5. Teardrop……………………………………………….289
5.3. Анализ средств и методов сетевой защиты.………….291
5.3.1. Настройка TCP/IP стека……………………………..292
5.3.2. SYN cookies…………………………………………..294
5.3.3. SynAttackProtect………………………….……….….295
5.3.4. Межсетевые экраны (FireWall)……….…………….297
5.3.5. Системы обнаружения атак (IDS)………….…… …297
5.3.6. Система Sink Holes………………………………..…299
Заключение…………………………………….…………….....303
Список литературы……………………………………..……...305
Компьютерные пароли – важный атрибут сегодняшних дней, и большинство пользователей ПК имеют большое количество учетных записей с разными, или потенциально разными паролями доступа. Утечка паролей может приводить к незначительным последствиям, связанным с невозможностью получить доступ к аккуанту на форуме, так и к проблемам в масштабе корпорации, когда возникают сбои при покупке или продаже продукции.
В связи с высокими темпами компьютеризации, вопрос безопасности в компьютерных системах стоит необычайно остро. Внедрение компьютеров в повседневную жизнь человека проходит большими темпами. При положительной стороне данного прогресса, существуют и свои негативные последствия. Информация не является такой недоступной, как некоторое время назад. Технология Интернет позволила получать необходимую информацию в очень короткие сроки. Очень часто имеющаяся на компьютере информация на порядок, а то и более превышает стоимость самого устройства. И страшна, как правило, не столько потеря самой информации (например, по причине выхода из строя жесткого диска), сколько утрата ею конфиденциальности.
Сегодня на подавляющем большинстве компьютеров парольная защита является основным средством аутентификации пользователей, которая не удовлетворяет современным тенденциям информационной безопасности из-за так называемого человеческого фактора. Надежность парольной аутентификации полностью зависит от того, какое ключевое слово выбрал себе пользователь и как он его хранит [51].
Данная проблема действительно весьма серьезна и может привести к утечке коммерческой информации. Самым надежным способом защиты, является переход на любую систему строгой аутентификации с использованием смарт-карт, USB-токенов или биометрических сканеров. Однако в небольших компаниях зачастую не хватает финансовых возможностей для вложения в информационную безопасность. Другой вариант - усиление надежности парольной защиты путем контроля качества используемых сотрудниками фирмы ключевых слов.
В ОС Windows администратор, настраивая политику безопасности, может указать некоторые требования к качеству паролей пользователей, например, их минимальную длину. Однако эти возможности очень сильно ограничены. Например, с их помощью никак нельзя проконтролировать "осмысленность" используемых выражений. Поэтому лучшим контролем качества паролей служит только их аудит.
В настоящее время существует огромное количество утилит, позволяющих зашифровать информацию, но парадоксальность ситуации заключается в том, что практически для каждого типа паролей, создаваемых теми или иными приложениями, существует немало программ, позволяющих подобрать эти пароли. Причем если ранее подобные утилиты создавались хакерами, то сегодня этим занимаются крупные компании, а сами утилиты продаются за большие деньги. Утилиты для подбора паролей можно условно разделить на два класса: многоцелевые программные пакеты, позволяющие подбирать пароли к различным типам файлов (Web-приложение, электронная почта, ICQ-клиент), и специализированные утилиты, которые ориентированы на подбор паролей к файлам, созданным каким-либо одним приложением. Фактически многоцелевые программные пакеты представляют собой сборник отдельных утилит. Иногда такие пакеты предусматривают использование единой программной оболочки для доступа к отдельным утилитам.
Предотвращение нарушения конфиденциальности информации в настоящее время одна из приоритетных задач разработки систем защиты информации. В том числе паролирование является одним из ключевых элементов в данной системе защиты. Поэтому угроза подбора пароля на сегодняшний день является очень актуальной и будет рассмотрена в первой главе данного проекта. Данная глава состоит из четырех частей. В первой части рассматриваются общие понятия парольной защиты, парольная система, методы подбора паролей и методы количественной оценки стойкости паролей. Во второй части описывается парольная защита операционных систем ОС Windows и ОС Unix [56]. Подробно рассматривается принцип работы базы данных учетных записей пользователей, метод аутентификации, способ хранения и использования паролей, а также перечисляются возможные атаки на базу данных SAM. В третьей части приведена подробная классификация и принцип работы программного обеспечения для подбора паролей. Проанализированы актуальные на сегодняшний день программные утилиты для подбора паролей в ОС Windows и ОС Unix, документов MS Office, архиваторов ZIP, RAR и ARJ и PDF документов. В четвертой части уделено внимание противодействию подбора паролей. Перечислены требования к паролю, требования к генерации, методов хранения и правилам назначения/изменения паролей. Рассмотрены стандартные средства парольной защиты операционных систем Window и Unix. Подробно описано противодействие попыткам подбора паролей.