Недавно в протокол TCP было добавлено несколько новых опций. Эти опции описаны в документе RFC 1323 «Добавление новых возможностей в протокол TCP для улучшения его производительности (TCP Extensions for High Performance)», который был подготовлен В. Джекобсоном (V. Jacobson), Р. Браденом (R. Braden) и Д. Борманом (D. Borman). Помимо прочего, в документе описан предназначенный для защиты от быстрого исчерпания порядковых номеров механизм PAWS (Protection Against Wrapped Sequence) и опции для пакетов с отсутствующим флажком SYN, которые содержат новые флажки опций. Это означает, что если система обнаружения вторжения не знает, каким образом система-адресат обрабатывает пакеты с пропущенным флажком SYN, содержащие дополнительные опции, то существуют многочисленные дополнительные возможности для вставки и уклонения. Адресуемая система может отклонять эту более новую форму протокола TCP, в то время как система обнаружения вторжения – нет. Возможна также и обратная ситуация. PAWS является механизмом, при помощи которого система связывает временной штамп с каждым TCP-сегментом. Если хост-адресат получит сегмент с временным штампом, значение которого меньше внутренней пороговой величины, то он будет пропущен. Снова и снова можно увидеть сложности, присущие поступающим по линии связи данным по протоколу TCP. Это объясняется простой недостаточностью передаваемой по линии связи информации состояния для получения точного представления о возможном поведении хоста-адресата.
Синхронизация 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). Он характеризуется дополнительными преимуществами идентификации сессий, для которых не был проанализирован трехэтапный процесс установления связи. Реализация рассматриваемого случая неминуемо столкнется с рядом препятствий. Одно из них состоит в том, что система обнаружения вторжения, даже проанализировав большой объем данных, не сможет различить пакеты, которые передаются вне рамок установленных соединений. Другой проблемой является то, что синхронизация на данных диктует необходимость проверки порядковых номеров. У злоумышленника может появиться возможность десинхронизации системы обнаружения вторжения путем фальсификации ошибочных данных перед попыткой атаки.
Читать дальше
Конец ознакомительного отрывка
Купить книгу