Чтение онлайн

на главную

Жанры

Защита от хакеров корпоративных сетей

авторов Коллектив

Шрифт:

Синхронизация 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).

Поделиться:
Популярные книги

На границе тучи ходят хмуро...

Кулаков Алексей Иванович
1. Александр Агренев
Фантастика:
альтернативная история
9.28
рейтинг книги
На границе тучи ходят хмуро...

Энфис. Книга 1

Кронос Александр
1. Эрра
Фантастика:
боевая фантастика
рпг
5.70
рейтинг книги
Энфис. Книга 1

Я – Орк. Том 4

Лисицин Евгений
4. Я — Орк
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 4

Совок-8

Агарев Вадим
8. Совок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Совок-8

Я снова не князь! Книга XVII

Дрейк Сириус
17. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я снова не князь! Книга XVII

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Огненный князь 6

Машуков Тимур
6. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 6

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Цеховик. Книга 1. Отрицание

Ромов Дмитрий
1. Цеховик
Фантастика:
попаданцы
альтернативная история
5.75
рейтинг книги
Цеховик. Книга 1. Отрицание

Безымянный раб

Зыков Виталий Валерьевич
1. Дорога домой
Фантастика:
фэнтези
9.31
рейтинг книги
Безымянный раб

Матабар. II

Клеванский Кирилл Сергеевич
2. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар. II

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Первый пользователь. Книга 3

Сластин Артем
3. Первый пользователь
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Первый пользователь. Книга 3