Альтернативный способ создания блока TCB основан на необходимости нахождения в потоке данных пакетов c комбинацией флажков SYN + ACK. Из-за того что у злоумышленника практически нет возможности заставить адресуемую сеть выслать ему пакет с установленным флажком ACK, система обнаружения вторжения может определить, какой хост является клиентом, а какой – сервером. Но система обнаружения вторжения может быть обманута при отслеживании многих соединений несуществующих хостов (атаки типа отказа в обслуживании DoS). Кроме того, пакеты с установленными флажками SYN + ACK могут быть легко фальсифицированы. Для этого совсем не обязательно наличие заключительного пакета с установленным флажком ACK от хоста-отправителя. Перед тем как положиться на этот способ создания блока TCB, следует предпринять дополнительные меры предосторожности.
Обычно лучшей линией поведения является комбинация названных способов. При этом должны быть учтены сильные стороны каждого из описанных способов и одновременно предпринята попытка устранить их слабые места.
Повторная сборка потока
Ряд проблем повторной сборки потока данных, передаваемого по протоколу TCP, сильно напоминает проблемы сборки фрагментированных данных протокола IP. К получателю сегменты TCP могут поступать в произвольном порядке, который может не совпадать с последовательностью передачи сегментов. Сегменты могут перекрываться друг с другом, в потоке возможно появление избыточных сегментов. Для гарантии отсутствия десинхронизации в передаваемых данных система обнаружения вторжения при контроле порядковых номеров каждого соединения должна предпринять специальные меры предосторожности (при перегрузке сетевого оборудования это трудно гарантировать).
Если не знать особенностей реализации стека протоколов TCP/IP в операционной системе хоста-адресата, то серьезную сложность представляет интерпретация его возможного поведения. В случае поступления избыточных TCP-сегментов некоторые хосты могут сохранять первый поступивший сегмент, в то время как другие могут отказаться от него, предпочитая иметь дело с сегментом, поступившим последним.
Если система обнаружения вторжения надеется поддерживать последовательное представление оцениваемого трафика, то она должна постоянно отслеживать для каждого соединения сообщаемые размеры окон. Для обеспечения максимальной производительности часто это значение подстраивается во время сессии. Если система обнаружения вторжения не сможет отслеживать размер TCP-окна, то это может привести к возникновению уязвимости и легко реализуемой злоумышленником атаки вставки. Злоумышленник просто посылает адресату данные с избыточным размером окна, а хост-получатель игнорирует получаемые пакеты, если размер окна не соответствует его ожиданиям.
Искажение блока TCB
Для исключения успешной атаки типа отказа в обслуживании (атаки типа DoS) в системе обнаружения вторжения должна быть реализована правильная «сборка мусора». При этом возможны некоторые проблемы. Соединение может быть завершено в любое время, как с уведомлением, так и без него. Некоторые системы могут не требовать присылки им сегментов RST в правильной последовательности. Протокол управляющих сообщений в сети Интернет (ICMP) может даже завершить соединение. Большинство хостов может считать сообщение протокола ICMP о недостижимости адресата сигналом для завершения сессии. Если система обнаружения вторжения не знает эту особенность, то она может десинхронизироваться и не сможет отслеживать новое соединение с подобными параметрами.
Почти не подвергается сомнению необходимость некоторого тайм-аута для любого установленного соединения. Он позволяет предотвратить некоторые логические ошибки, в конечном счете вызванные расходом памяти. Кроме того, отсутствие тайм-аута может привести к успешной реализации уже рассмотренных атак. Большинство хостов не используют для всех соединений сообщений, подтверждающих их активность. Это ставит систему обнаружения вторжения в невыгодное положение, когда злоумышленник может позволить себе выжидать столько, сколько ему потребуется, возможно, провоцируя при этом систему обнаружения вторжения на более активную «сборку мусора» (путем установления большого числа новых соединений). В случае успеха у злоумышленника появится возможность скрытно осуществить любую атаку, никак себя не обнаруживая.
Использование программ fragrouter и congestant
Читать дальше
Конец ознакомительного отрывка
Купить книгу