2015-08-20 2 views
0

Я новичок в системе обнаружения вторжений. Из того, что я знаю, кажется, что соответствие шаблонов (например, PCRE в Snort) соответствует только совпадениям поиска в пакете.Может ли соответствие шаблонов проходить через TCP-пакеты?

Может ли образец сопоставления проходить через пакеты?

На практике, люди заботятся о шаблонах перекрестных пакетов?

+0

Как это связано с [tag: pattern-matching]? Вы имели в виду [tag: pattern-признание]? – zero323

+0

, но вы не можете удержать пакеты, потому что где-то вниз по временной шкале вы хотите сопоставить пакет 5, где пакет 50! = Пакет 4, который содержит '[0-9] +^&', поэтому позволяет сопоставить книгу через следующие 200 пакетов. вы можете увидеть проблему cant you – gwillie

ответ

1

Если вы делаете повторную сборку потока (которая должна быть включена по умолчанию в стандартном snort.conf), то да. Это называется псевдопакет (или повторно собранный пакет), который snort строит из нескольких пакетов и повторно собирает. Вы можете прочитать об этой функциональности и конфигурации для нее here. Это, вероятно, самая важная часть snort (и самая дорогая), без повторной сборки потока многие промахи будут пропущены. Без повторной сборки snort будет только проверять необработанные пакеты. Например:

TCP-пакет содержит 2000 байт данных, MTU в сети - 1500, поэтому этот пакет необходимо разбить на отдельные отправленные пакеты. Скажем, 1400 байт отправляются в пакете 1, а остальные 600 байтов в пакете 2. Если в этом пакете есть эксплойт, а контент, который ищет фырканье, содержится в байтах 1360-1500, тогда фырканье будет пропустить эксплойт и не будет предупреждать , С повторной сборкой потока snort будет собирать пакет:

Скажите, что у вас есть правило snort, которое ищет контент «ЭТО - ЭКСПЛУАТАЦИЯ».

Сырое пакет 1: .... данные ... это
Сырое пакет 2: Exploit .... данные ...

Без потока повторной сборки фырканье пропустит этот подвиг. С потоком повторной сборки фырканье восстановит пакет псевдо и он будет работать содержание правила против этого, поэтому он будет видеть:

Псевдо пакетов: ... данные ... ЭТО ИСПОЛЬЗОВАТЬ ... данные ...

И правило будет соответствовать.

+0

Спасибо! Я ценю ваше подробное объяснение. Поскольку я знаю, что TCP-пакеты выходят из строя (верьте мне), (1) означает ли это, что Snort может только проверять, что пакеты были заказаны до сих пор? (2) Также это предотвращает параллельную обработку пакетов? – JackWM

+1

Это очень сложно в Snort. Но, чтобы сказать это очень просто, Snort проверит сырые пакеты по мере их поступления, а также поставит их в очередь для повторной сборки до тех пор, пока не будет достаточно, чтобы скрыть до обнаружения (в основном до тех пор, пока он не получит ACK с другой стороны). Затем он сбрасывается на обнаружение и проверяет собранный пакет. Таким образом, пакеты заказов не будут иметь значения до тех пор, пока они в конечном итоге видят их всех и ACK с другой стороны. Если он видит эксплойт в необработанном пакете, он будет черным списком сеанса, если он увидит шаблон в псевдопакете и находится в режиме pre-ack, он сбросит ACK и черный список. – johnjg12

Смежные вопросы