Привет!

Какие ассоциации возникают у вас при виде аббревиатуры NGFW?

Пропускная способность? Отказоустойчивый кластер? NAT, DNAT? А может, FRR и BGP Full View на пограничном МСЭ (да простят меня сетевые гуру)? Если что-то из вышеперечисленного, значит, вы чиловый парень-сетевик.

Постучимся в дверь к ибэшникам. «Товарищи безопасники, а у вас какие ассоциации?» Приказ ФСТЭК № 44, отечественное «железо», регламент внедрения и эксплуатации… Ой, не та дверь, это PaperSec. «Нормальный IPS, который не отъедает 80% аппаратных ресурсов», — слышим из конца коридора от инженера по сетевой безопасности.

Спасибо за тему для статьи, дружище!



Дорогой дневник, это первая записка инженера, и сейчас я расскажу про IPS в NGFW.

Разберемся, как она (система предотвращения вторжений) работает, чем отличается от потокового антивируса, хоть и использует сигнатуры, почему требует много вычислительных ресурсов, как и с помощью чего IPS протестировать и тонко настроить. 

Как работает IPS

Работает IPS в NGFW следующим образом: трафик проходит через NGFW, а IPS проверяет его своими сигнатурами, и если обнаружено совпадение, то выполняется действие, указанное в соответствующей сигнатуре.

Сигнатура — это уникальный набор характеристик, используемый для идентификации сетевых атак, вредоносной и нелегитимной активности.

Существует несколько систем обнаружения вторжений с открытым исходным кодом, наиболее известные — Snort и Suricata. Некоторые производители NGFW полностью заимствуют функциональность Snort или Suricata в своих решениях. Большинство вендоров все-таки разрабатывают свою IPS и используют в ней сигнатуры с синтаксисом из Snort или Suricata. Использование синтаксиса сигнатур из продуктов с открытым исходным кодом обусловлено удобством для аналитиков при написании своих сигнатур. Правильное написание IPS-сигнатур для выявления широкого спектра компьютерных атак называется экспертизой.

Вот пример сигнатуры:

#alert http any any -> any any (sid:10008548; rev:3; msg:"TOOLS [PTsecurity] Sliver C2 HTTP Polling (English)"; classtype:attack-feature; flow:established, from_server; http.header; content:"Content-Type|3A| text/plain|3B| charset=utf-8|0d 0a|"; nocase; content:!"Content-Encoding"; nocase; http.response_body; pcre:"/^(?:[A-Z]{2,20}\s?){40,}$/Q"; flowbits:isset, Sliver.HTTP.Encoders; threshold:type limit, track by_src, count 1, seconds 300; metadata:updated_at 2025_03_20; metadata:att_ck TA0011-T1071.001, attack_target client; reference:url,github.com/BishopFox/sliver;)

Ниже — ее подробное описание.

Общая информация

— SID (Signature ID): 10008548
— Ревизия (порядковый номер версии сигнатуры): 3
— Название: TOOLS [PTsecurity] Sliver C2 HTTP Polling (English)
— Тип класса: attack-feature (атакующая функциональность)
— Последнее обновление: 20 марта 2025 года

Основные условия срабатывания
1. Тип трафика: HTTP (любые порты, любые IP-адреса)
   http any any -> any any

2. Состояние соединения: установленное соединение, трафик от сервера
flow:established, from_server

3. HTTP-заголовки:
— Наличие регистронезависимого заголовка Content-Type: text/plain; charset=utf-8:
http.header; content:"Content-Type|3A| text/plain|3B| charset=utf-8|0d 0a|"; nocase;

— Отсутствие заголовка Content-Encoding:
content:!"Content-Encoding"; nocase;

4. Тело ответа: содержит последовательность из 40 или более слов, состоящих из 2–20 заглавных букв (с необязательными пробелами)
http.response_body; pcre:"/^(?:[A-Z]{2,20}\s?){40,}$/Q";

5. Флаг flowbits: должен быть установлен флаг Sliver.HTTP.Encoders
flowbits:isset, Sliver.HTTP.Encoders;

Дополнительные параметры
Порог срабатывания: не более 1 срабатывания от одного источника за 300 секунд
threshold:type limit, track by_src, count 1, seconds 300;

Тактика и техника атаки (MITRE ATT&CK):
— тактика: TA0011 — Command and Control
— техника: T1071.001 — Application Layer Protocol: Web Protocols
— цель атаки: клиент (client)

Анализ логики сигнатуры
Сигнатура ищет HTTP-ответы, которые:
— имеют plain-text содержимое без кодировки;
— содержат в теле ответа длинные последовательности заглавных слов (что характерно для закодированных или зашифрованных команд Sliver C2);
— требуют предварительного установления флага, что означает, что предыдущие шаги handshake уже были обнаружены.

Такое поведение типично для C2-фреймворков, которые используют HTTP-протокол для скрытого обмена данными между скомпрометированной системой и сервером злоумышленника.

Эта сигнатура в формате Suricata предназначена для обнаружения сетевой активности кросс-платформенного универсального фреймворка Sliver, используемого для динамической компиляции имплантов и разработанного в качестве альтернативы (с открытым исходным кодом) для Cobalt Strike.

А вот пример HTTP трафика, на который сработает наша сигнатура:

GET /bundle/bundle/app.js?q=2819b7413 HTTP/1.1
Host: 10.158.3.2
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4019.462 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: en-US,en;q=0.9
Cookie: AWSALBCORS=6653bcb1366c9410c0e122b604fc0ccc
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip
HTTP/1.1 200 OK
Date: Tue, 19 Sep 2023 19:30:30 GMT
Content-Length: 597
Content-Type: text/plain; charset=utf-8
BITTEREST THINGUMAJIG AUTOMATING AEROMETERS BOLL FIRETHORNS TIMIDITY ADROIT BOIL HOLOENZYME CHILIADAL SABERLIKE ALLOSTERIES INCIDENTALS TASKING UNFREED RIOJAS LESSENS CINEPHILE WEATHERGLASSES FOLD LANDLESSNESS BYLINES SATORIS SISSIES SUBOPTIMIZATION SUBMUCOSAL PEAKEDNESSES ANATOMICAL ANIMALIZED BIBLICISTS COUNTERMARCHING CYMA MITOCHONDRIAL ENSORCELLED BOUSED RECOMMENDING COLUMNEA COMPELLING VENTUROUSNESSES JILT OUTTELLS GANTRY BOMBARDMENT STULTIFICATIONS EGRESS REVERBERATION ARGILLITES CATCHWORDS REHEARSING OUTLIVED RATANIES DEERSTALKER DECAPITATES INARGUABLE MALODOROUS DROPSONDES TOLIDINES

При выполнении предварительного условия срабатывания сигнатуры по результатам анализа TCP-потока может быть произведено соответствующее действие. В нашем случае это alert.

Сигнатуры содержат одно из используемых в синтаксисе действий. Основные из них: 

  1. alert
    Генерирует предупреждение (alert) и записывает его в журнал.
    Используется для уведомления о подозрительной активности без блокировки трафика.

  2. drop
    Отбрасывает трафик, соответствующий сигнатуре. 
    Используется для предотвращения атак и блокировки вредоносного трафика.

  3. reject
    Блокирует трафик и отправляет уведомление об этом одному или обоим участникам сетевого взаимодействия (rejectsrc, rejectdst, rejectboth).

  4. quarantine (название зависит от вендора)
    Изолирует источник или получателя трафика. Это похоже на карантин в антивирусе.

Попутно разберемся, чем IPS отличается от потокового антивируса. Главное отличие — уровень модели OSI. IPS работает на 3-м (сетевом), 4-м (транспортном) и 7-м (прикладном) уровнях модели OSI. Потоковый антивирус работает только на 7-м (прикладном уровне). Еще одно отличие: IPS работает со всем сетевым трафиком, антивирус — только с файлами. При этом оба модуля безопасности могут использовать сигнатурный анализ для детектирования вредоносной активности, только сигнатуры в корне отличаются. С точки зрения обеспечения безопасности инфраструктуры целесообразнее использовать хостовой антивирус. Его применение не влияет на работу межсетевых экранов и не снижает пропускную способность сетевого оборудования. А максимальной защищенности от ВПО можно достичь посредством эшелонированной защиты, которая подразумевает использование хостового и потокового антивирусов и интеграцию межсетевого экрана с песочницей.

Синтаксис сигнатур из Suricata применяется во многих IPS-системах. Как правило, производители межсетевых экранов разрабатывают собственный IPS-движок, который использует сигнатуры с синтаксисом формата Suricata. Именно в сигнатуре задаются критерии поиска данных в сетевых пакетах, некоторые из которых обязательны:
— направление трафика (например, от клиента к серверу)
— протокол (TCP, UDP, HTTP и другие)
— действие и контент (то, что будет искаться в трафике).

Помимо критериев поиска, задаются параметры. К примеру, размер отступа и количество проверяемых байтов, то есть сколько байтов от начала пакета отступить и сколько после этого проверить. От используемых в IPS сигнатур напрямую зависит пропускная способность NGFW: при активации IPS она снижается в среднем на 65% (по результатам анализа даташитов нескольких отечественных и зарубежных вендоров (Positive Technologies, UserGate, IDECO, Palo Alto, Check Point)).

Почему активация IPS снижает производительность NGFW

Давайте разберемся, почему активация IPS значительно увеличивает потребление аппаратных ресурсов NGFW.

Начнем с того, что NGFW — это та самая коробка, которая должна обеспечивать защиту сети с минимальными задержками при обработке трафика. NGFW пропускает трафик, соответствующий определенным правилам. В зависимости от алгоритма обработки трафика (packet flow) IPS анализирует пакеты этих сессий. Анализ может быть полным или частичным и охватывать один или несколько пакетов в сессии. Для этого необходим глубокий разбор пакета с помощью технологии DPI (deep packet inspection — глубокий анализ пакетов). DPI разбирает каждый пакет на части согласно модели OSI и анализирует заголовки Ethernet (канальный уровень), IP (сетевой уровень), TCP/UDP (транспортный уровень) и данные, которые передаются на прикладном уровне с помощью протоколов HTTP, HTTPS, DNS, FTP и так далее. 

Далее IPS анализирует заголовки и данные с помощью сигнатур. Чем больше сигнатур принимает участие в анализе трафика и чем глубже анализ, тем больше аппаратных ресурсов потребляется для этих действий. Как правило, база IPS включает в себя от сотен до десятков тысяч уникальных сигнатур (стоит отметить, что количество сигнатур не всегда влияет на качество работы IPS), и при использовании их всех для анализа трафика пропускная способность межсетевого экрана нового поколения значительно проседает.

Несложно догадаться, что для оптимизации нагрузки на NGFW необходима тонкая настройка IPS, но об этом чуть позже.

Стоит отметить, что механизм детектирования и контроля приложений (Application control), который используется для формирования политик доступа, существенно увеличивает эффективность работы IPS движка. Application Control анализирует  метаданные и поведенческие характеристики приложений (например, сигнатуры протоколов, шаблоны HTTP-заголовков, TLS-фингерпринты), а не просто порты или IP-адреса. Это позволяет точнее определять, какое приложение генерирует трафик, даже если оно пытается маскироваться с использованием SSL/TLS (например, Skype over HTTPS или Telegram MTProto). IPS получает контекст о приложении и может применять более релевантные сигнатуры для детектирования атак, что существенно влияет на качество анализа.

Какая логика работы NGFW при достижении пиковой нагрузки? — это важный вопрос, который задают себе многие администраторы средств защиты. Некоторые производители межсетевых экранов целенаправленно реализовывают отключение IPS при достижении предела по потреблению CPU. Это позволяет обеспечить доступность сервисов инфраструктуры, но одновременно с этим открывает возможность реализации простого вектора атаки. Злоумышленник может легко добиться загрузки NGFW на максимум посредством продуманной DDoS-атаки. И после того как IPS на NGFW отключится, атакующий может беспрепятственно атаковать защищаемый сервис. Именно поэтому разработчики PT NGFW реализовали логику работы межсетевого экрана следующего поколения, которая обеспечивает гарантированное отражение атак движком IPS. PT NGFW при достижении предельного потребления CPU  не отключает IPS проверку на действующих соединениях, а перестает открывать новые. Это позволяет обеспечить гарантированный уровень защищенности инфраструктуры.

Как протестировать качество детекта с нагрузкой и без нее

- Я знаю, как активировать IPS, которая почти не будет снижать производительность, — шепчет ибэшник. Давайте послушаем его…

И молвит он: «Если сигнатуры не будут глубоко анализировать пакеты, тогда и производительность почти не просядет». И он прав. 

Существует IPS, которая почти не просаживает производительность NGFW. В этой IPS все сигнатуры не производят глубокого анализа трафика. Только вот ценность ее умножена на 0. IPS должна блокировать вредоносную активность, и для этого необходимо наличие сигнатур разной сложности, которые будут использовать множество критериев для анализа сетевой активности. Возникает вопрос: «Как протестировать качество детектирования в IPS?» Для этого применяются различные техники и инструменты. Их можно разделить на две категории: ручной анализ и анализ с помощью специального ПО.

Ручной подразумевает самостоятельное использование различных инструментов (фреймворков, утилит) для создания потенциально зловредного трафика. Простые примеры — развертывание заведомо уязвимого сервера (honeypot) и его атака с помощью фреймворка Metasploit или создание ICMP-туннеля при помощи утилиты icmptunnel. Плюсы этого метода: возможность тонкой настройки уязвимых узлов для качественной эмуляции сервисов реальной инфраструктуры, точная верификация результатов (атака либо успешна, либо отражена при помощи IPS), возможность анализа результатов применения компенсирующих мер для исключения вектора атаки (харденинг, обновление). Минусы: внушительная продолжительность и сложность проведения тестирования.

Тестирование качества работы IPS с помощью специального ПО производится с использованием сканеров безопасности или генераторов трафика с возможностью эмуляции атак.

Сначала про сканеры. Этот метод похож на ручное тестирование, только вместо использования утилит для эмуляции атак используется сканер уязвимостей. Стоит упомянуть, что деятельность потенциального злоумышленника для облегчения понимания делится на этапы. Эти этапы описаны в матрице MITRE ATT&CK. 

Как правило, продвинутые сканеры позволяют производить комплексный анализ защищенности доступных сетевых сегментов посредством эмуляции разного рода потенциальной зловредной активности. Но если проецировать деятельность сканера на матрицу, то из всех возможных этапов сканеры способны эмулировать активность этапа разведки. А именно они умеют сканировать сеть, чтобы собрать информацию по доступным IP-адресам, портам и сервисам.

С другой стороны, если рассматривать все этапы атаки, которые описаны в матрице MITRE ATT&CK, то необходимо учитывать, что IPS способна выявлять и отражать далеко не все тактики, техники и процедуры, которые способен воспроизвести сканер уязвимостей. 

Так­тика — это то, чего хочет достичь злоумышленник в ходе атаки.

Тех­ника — метод, которым зло­умыш­ленник дос­тига­ет цели или пос­тавлен­ной задачи, и то, какие исполь­зует инс­тру­мен­ты, код, эксплойты, ути­литы и так далее.

Про­цеду­ра — порядок, как эта тех­ника выпол­няет­ся. Нап­ример: вре­донос­ная прог­рамма, исполь­зуя PowerShell, ска­чива­ет пей­лоад, который, в свою оче­редь, заг­ружа­ет Cobalt Strike для попыт­ки запус­ка на уда­лен­ных узлах.

Для верификации полученных данных потребуется хорошо разобраться, какие именно действия сканера обнаружила или не обнаружила IPS и почему. Плюсы: простота выполнения, возможность анализа результатов применения компенсирующих мер для исключения вектора атаки (харденинг, обновление), быстрота выполнения. Минусы: сложность верификации результатов тестирования.

Теперь про генераторы трафика. На ум моментально приходит IXIA с возможностью автоматической эмуляции широкого спектра атак. Обоснования использования этого решения — это вечно тлеющая тема для холиваров профессионального сообщества сетевых инженеров.

IXIA есть у многих вендоров NGFW. Тестирование IPS в составе межсетевого экрана с помощью этого генератора происходит следующим образом. NGFW подключается к генератору двумя интерфейсами. Запускается генерация трафика, в котором присутствуют так называемые страйки. Страйки — это наборы атак, собранные по определенным критериям (актуальность, привязка к сервису, рейтинг CVS эксплуатируемой уязвимости). При тестировании нужно стремиться, чтобы критерии набора атак максимально пересекались с сервисами, используемыми в реальной инфраструктуре. Иными словами, не стоит тестировать IPS на отражение атак, которые никогда не будут реализованы в вашей инфраструктуре.

Результат тестирования, как правило, фигурирует в документации и представляет собой численный показатель. Он показывает процент отраженных атак от общего числа отправленных (catch rate).

Естественно, чем ближе catch rate к 100%, тем лучше. 

Чтобы добиться высокого результата в тестировании IPS с помощью IXIA, необязательно идти честным путем. Можно написать набор сигнатур, использование которого при тестировании обеспечит высокий процент покрытия. Вот только качество этих сигнатур будет оставлять желать лучшего. Несомненно, все атаки будут отражены. Но в реальном трафике куда больше полезных данных, чем атак. К сожалению, большинство пользователей NGFW недостаточно компетентны для составления качественных ПМИ и проверки качества IPS/IDS с использованием реальных атак и инструментов. Именно поэтому синтетические тесты остаются единственным мерилом качества. Возможно, регуляторам стоит разработать универсальную методологию, которой можно будет пользоваться как небольшим, так и крупным компаниям при проведении оценки эффективности NGFW, но это уже другая история… 

Если некачественно написанная сигнатура будет отражать атаки, но при этом блокировать полезный трафик или существенно замедлять работу межсетевого экрана, то администратор NGFW ее выключит, чтобы не мешала. А это в свою очередь снизит уровень стойкости инфраструктуры к атакам. Написание сигнатур для IPS, это зона ответственности вендора. Именно поэтому ответственные производители межсетевых экранов имеют собственные экспертные центры, аналитики которых участвуют в расследованиях реальных атак. Это позволяет вендору писать качественные сигнатуры для IPS, которые позволяют эффективно использовать межсетевой экран для блокирования вредоносного трафика и отражения различных атак.

- Окей, понятно, а какой из этих методов выбрать нам? — спрашивают сотрудники ИБ. Пару лет назад этим вопросом задавался и я в процессе пилотирования нескольких отечественных NGFW. Тогда я так и не нашел ответ. А сейчас я его знаю.

Думаю, ни для кого не секрет, что ИБ бывает реальная (формирование требований и задач по результатам оценки рисков реализации недопустимых событий) и организационная (прямолинейное выполнение требований руководящих документов). И та и та важна, и та и та нужна. Целенаправленно пропустим письменные размышления о регламентных требованиях к IPS. Про это есть мем:

Реальная ИБ должна показывать реальный результат. Значит, и тестирование IPS должно быть максимально приближено к использованию в реальной инфраструктуре, которую и днем, и ночью пытаются взломать злоумышленники.

Заслуживает внимания тестирование средств защиты в ходе киберучений. Он позволяет комплексно оценить эффект от потенциального внедрения СЗИ, применения компенсирующих мер и харденинга. Сейчас все больше и больше компаний выходят на багбаунти для непрерывной проверки качества экспертизы в используемых СЗИ и компетенций команды реагирования на инциденты ИБ. И несмотря на это, серебряной пули при тестировании IPS не существует. Итоговая программа испытаний должна быть составлена с учетом поставленных задач, имеющихся компетенций и возможностей, а проделанная работа должна быть полной и прозрачной, без недосказанностей. 

Перейдем от тестирования к эксплуатации. Думаю, ни для кого не будет сюрпризом следующее: если что-то мешает, это сначала выключают, а потом про это забывают. Такое часто отражает судьбу IPS. И это грустно!

Давайте разберемся, как использовать IPS и при этом «не оглядываться назад в темном переулке». Стоит учитывать, что логика обработки трафика с помощью IPS у каждого вендора своя. Можно выделить две основных.

  1. Трафик проверяется только теми сигнатурами, которые включены в набор, подключенный к правилу, пропускающему трафик.

    В этом случае администратор NGFW вынужден тщательно формировать список сигнатур, применяемый к выбранному трафику, и анализировать влияние после применения изменений.

  2. Трафик проверяется всеми сигнатурами вне зависимости от того, какой именно набор сигнатур подключен к правилу, пропускающему трафик.

    Трафик будет проверяться всеми имеющимися сигнатурами., а действия с трафиком и отображение событий будут выполняться только по сигнатурам, которые помещены в набор. Эта логика удобна для администраторов, потому что им не приходится волноваться на тему утилизации аппаратных ресурсов межсетевого экрана при формировании набора сигнатур. Именно такой принцип работы IPS реализован в PT NGFW. 

И в первом, и во втором случаях важно учитывать, что сигнатуры периодически обновляются. И может возникнуть ситуация, когда после очередного обновления увеличивается потребление аппаратных ресурсов межсетевого экрана, потому что новые или измененные при обновлении сигнатуры написаны некачественно. Но такого может и не быть —  это зависит от компетенций поставщика экспертизы.

Рассмотрим ситуацию, когда сетевая инфраструктура не статична. Постоянно появляются новые сервисы, для них нарезаются подсети и доступы. Как убедиться в том, что активированный IPS на новую подсеть не добьет перегретый межсетевой экран? Как оказалось, все гениальное просто.

Некоторые компании зеркалируют весь трафик с интерфейсов с помощью ответвителей и зашифрованный трафик — непосредственно с NGFW через сетевой брокер в NTA-систему, как на рисунке ниже. Важная особенность такого метода — необходимость исключения шифрованного трафика с помощью сетевого брокера.

Такая схема позволяет предварительно подробно проанализировать трафик новых сетевых сегментов, выявить срабатывающие сигнатуры и принять решение, какие из них обязательно добавить в IPS к соответствующему правилу на NGFW. 

Альтернативный метод (без использования NTA-системы) — первоначальное использование полного набора сигнатур в режиме alert с последующим изменением режима на блокирующий (drop, reject) тех сигнатур, которые не срабатывают на легитимную активность. 

Использование IPS на межсетевом экране для анализа трафика критически важных сетевых сегментов существенно повышает защищенность инфраструктуры организации. При этом использование гранулярных политик доступа с фильтрацией по геолокации, TCP- и UDP- портам, приложениям и пользователям позволяет уменьшить поверхность потенциальной атаки и усложнить злоумышленнику продвижение в инфраструктуре. 

Межсетевой экран следующего поколения — это неотъемлемый компонент эффективной сетевой архитектуры для сетевых инженеров и один из инструментов реагирования на хакерские атаки для специалистов ИБ. 

Выбирайте и используйте свой межсетевой правильно! Запомните: вас повысят, а кому-то потом с этим NGFW работать!

До встречи в следующих заметках инженера!

 

Комментарии (0)