- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Защита от хакеров корпоративных сетей - Коллектив авторов
Шрифт:
Интервал:
Закладка:
Синхронизация TCP
Известен ряд атак на чисто IP-соединения. Когда начинают анализировать уровни, расположенные над IP-протоколом, то присущая им дополнительная сложность и предъявляемые к ним требования способствуют возникновению новых проблем синхронизации. В настоящее время в большинстве систем обнаружения вторжения реализовано исследование «всех состояний» TCP.
Для исследования «всех состояний» необходим ряд конструкторских решений идентификации потока соединений во время исследования передаваемых по протоколу TCP данных. Система обнаружения вторжения должна обладать всеми возможностями для реконструирования потока данных точно таким же способом, как и хост-адресат. Если системе обнаружения вторжения не предоставить подобной возможности, то злоумышленник сможет избежать обнаружения. Информация о состоянии TCP-сессии хранится в структуре, которая известна под названием блок управления TCP (TCB – TCP Control Block). Для каждой сессии, контролируемой сетевой системой обнаружения вторжения, нужен свой блок TCB. В нем хранится разнообразная информация, например сведения об отправителе и получателе данных, порядковые номера и текущее состояние. Птасек (Ptacek) и Невшам (Newsham) указали на три возможных направления атаки на систему обнаружения вторжения:
• создание блока TCB;
• повторная сборка потока;
• искажение блока TCB.
Для идентификации новых сессий, контроля открытых соединений и определения соответствующих моментов прекращения контроля системе обнаружения вторжения следовало бы принять участие в каждом из этих трех процессов.
Создание блока TCB
Осознание того, каким образом можно начать контролировать соединение, приводит к пониманию некоторых интересных проблем. Следует ли сетевой системе обнаружения вторжения в момент построения блока TCB контролировать установку соединения по протоколу TCP? Может ли сетевая система обнаружения вторжения эффективно создать блок TCB для соединения, на которое она не получила пакет с флажком SYN (это касается соединений, которые были активны еще до начала контроля)?
Любому способу создания блока TCB сопутствуют свои уникальные проблемы. Желательно, чтобы у системы обнаружения вторжения была возможность контролировать соединения, для которых трехэтапное установление связи (3WH – Three-Way Handshake) было выполнено еще до начала контроля. Если не предоставить такой возможности системе обнаружения вторжения, то злоумышленник сможет установить соединение и сколь угодно долго выжидать благоприятного для него момента, например когда система обнаружения вторжения будет перезагружена и не сможет проследить за уже установленным соединением.
Для создания блока TCB можно использовать только пакеты с установленным флажком ACK. Этот способ известен как синхронизация на данных (synching on data). Он характеризуется дополнительными преимуществами идентификации сессий, для которых не был проанализирован трехэтапный процесс установления связи. Реализация рассматриваемого случая неминуемо столкнется с рядом препятствий. Одно из них состоит в том, что система обнаружения вторжения, даже проанализировав большой объем данных, не сможет различить пакеты, которые передаются вне рамок установленных соединений. Другой проблемой является то, что синхронизация на данных диктует необходимость проверки порядковых номеров. У злоумышленника может появиться возможность десинхронизации системы обнаружения вторжения путем фальсификации ошибочных данных перед попыткой атаки.
Альтернативный способ создания блока TCB основан на необходимости нахождения в потоке данных пакетов c комбинацией флажков SYN + ACK. Из-за того что у злоумышленника практически нет возможности заставить адресуемую сеть выслать ему пакет с установленным флажком ACK, система обнаружения вторжения может определить, какой хост является клиентом, а какой – сервером. Но система обнаружения вторжения может быть обманута при отслеживании многих соединений несуществующих хостов (атаки типа отказа в обслуживании DoS). Кроме того, пакеты с установленными флажками SYN + ACK могут быть легко фальсифицированы. Для этого совсем не обязательно наличие заключительного пакета с установленным флажком ACK от хоста-отправителя. Перед тем как положиться на этот способ создания блока TCB, следует предпринять дополнительные меры предосторожности.
Обычно лучшей линией поведения является комбинация названных способов. При этом должны быть учтены сильные стороны каждого из описанных способов и одновременно предпринята попытка устранить их слабые места.
Повторная сборка потока
Ряд проблем повторной сборки потока данных, передаваемого по протоколу TCP, сильно напоминает проблемы сборки фрагментированных данных протокола IP. К получателю сегменты TCP могут поступать в произвольном порядке, который может не совпадать с последовательностью передачи сегментов. Сегменты могут перекрываться друг с другом, в потоке возможно появление избыточных сегментов. Для гарантии отсутствия десинхронизации в передаваемых данных система обнаружения вторжения при контроле порядковых номеров каждого соединения должна предпринять специальные меры предосторожности (при перегрузке сетевого оборудования это трудно гарантировать).
Если не знать особенностей реализации стека протоколов TCP/IP в операционной системе хоста-адресата, то серьезную сложность представляет интерпретация его возможного поведения. В случае поступления избыточных TCP-сегментов некоторые хосты могут сохранять первый поступивший сегмент, в то время как другие могут отказаться от него, предпочитая иметь дело с сегментом, поступившим последним.
Если система обнаружения вторжения надеется поддерживать последовательное представление оцениваемого трафика, то она должна постоянно отслеживать для каждого соединения сообщаемые размеры окон. Для обеспечения максимальной производительности часто это значение подстраивается во время сессии. Если система обнаружения вторжения не сможет отслеживать размер TCP-окна, то это может привести к возникновению уязвимости и легко реализуемой злоумышленником атаки вставки. Злоумышленник просто посылает адресату данные с избыточным размером окна, а хост-получатель игнорирует получаемые пакеты, если размер окна не соответствует его ожиданиям.
Искажение блока TCB
Для исключения успешной атаки типа отказа в обслуживании (атаки типа DoS) в системе обнаружения вторжения должна быть реализована правильная «сборка мусора». При этом возможны некоторые проблемы. Соединение может быть завершено в любое время, как с уведомлением, так и без него. Некоторые системы могут не требовать присылки им сегментов RST в правильной последовательности. Протокол управляющих сообщений в сети Интернет (ICMP) может даже завершить соединение. Большинство хостов может считать сообщение протокола ICMP о недостижимости адресата сигналом для завершения сессии. Если система обнаружения вторжения не знает эту особенность, то она может десинхронизироваться и не сможет отслеживать новое соединение с подобными параметрами.
Почти не подвергается сомнению необходимость некоторого тайм-аута для любого установленного соединения. Он позволяет предотвратить некоторые логические ошибки, в конечном счете вызванные расходом памяти. Кроме того, отсутствие тайм-аута может привести к успешной реализации уже рассмотренных атак. Большинство хостов не используют для всех соединений сообщений, подтверждающих их активность. Это ставит систему обнаружения вторжения в невыгодное положение, когда злоумышленник может позволить себе выжидать столько, сколько ему потребуется, возможно, провоцируя при этом систему обнаружения вторжения на более активную «сборку мусора» (путем установления большого числа новых соединений). В случае успеха у злоумышленника появится возможность скрытно осуществить любую атаку, никак себя не обнаруживая.
Использование программ fragrouter и congestant
Теоретических знаний недостаточно для оценки производительности средств обеспечения безопасности. Снова и снова видно, как многие производители не учитывают предупреждение исследовательского сообщества. В сентябре 1999 года фирма Dug Song выпустила программу fragrouter, для того чтобы проиллюстрировать присущие сетевым системам обнаружения вторжения уязвимости (www.monkey.org/~dugsong/fragrouter-1.6.tar.gz). Преимущество программы fragrouter заключается в том, что она позволяет без всяких изменений использовать те же самые инструментальные средства и программы использования уязвимостей, что и злоумышленники. Оправдывая свое название, программа fragrouter реализует функции одной из разновидности фрагментированного маршрутизатора. Программа реализует большинство атак, описанных в статье Птасека (Ptacek) и Невшама (Newsham).
Программа congestant является другим заслуживающим упоминания инструментальным средством, в котором реализовано ряд способов модификации пакетов, затрудняющих работу системы обнаружения вторжения. Ее автор называет себя «horizon». Впервые программа описана в его работе «Победа над сетевыми анализаторами сети и системами обнаружения вторжения» (Defeating Sniffers and Intrusion Detection Systems), которая была опубликована в декабре 1998 года (www.phrack.org/show.php?p=54&a=10). В отличие от предыдущей программы, программа congestant реализована в виде разделяемой библиотеки или патча к ядру операционной системы OpenBSD. Читатель может использовать программы fragrouter и congestant совместно, исследуя слабые стороны используемой им системы обнаружения вторжения.