
NetFlow и IPFIX – это протоколы для сбора и анализа сетевого трафика, используемые для мониторинга, обеспечения безопасности и оптимизации работы сети. Они позволяют собирать метаданные о передаваемых пакетах и анализировать их для выявления аномалий, диагностики проблем и повышения эффективности сети.
Про диагностику и повышение эффективности сети написано немало, поэтому в этой статье я хочу рассмотреть основные поля IPFIX(но аналогичные поля есть и у Netflow и других x-Flow ) и как можно их использовать в реальной практике на благо информационной безопасности.
Поля, связанные с IP-адресами и портами
Эти поля помогают определить, какие узлы взаимодействуют в сети, и могут использоваться для выявления подозрительной активности.
sourceIPv4Address (IPFIX ID 8) – IP-адрес источника.
destinationIPv4Address (IPFIX ID 12) – IP-адрес назначения.
sourceIPv6Address (IPFIX ID 27) – IP-адрес источника (IPv6).
destinationIPv6Address (IPFIX ID 28) – IP-адрес назначения (IPv6).
sourceTransportPort (IPFIX ID 7) – порт источника (TCP/UDP).
destinationTransportPort (IPFIX ID 11) – порт назначения (TCP/UDP).
protocolIdentifier (IPFIX ID 4) – номер протокола (например, TCP = 6, UDP = 17, ICMP = 1).
Использование:
1. Выявление подозрительных соединений и вредоносного трафика
С помощью IPFIX можно анализировать сетевой трафик на предмет подозрительных соединений и вредоносной активности. Под этим подразумеваются:
Определение необычных соединений – выявление трафика с неизвестных или редко используемых IP-адресов, нестандартных портов, внезапного увеличения количества соединений с определёнными узлами.
Анализ аномального поведения – например, если устройство начинает отправлять большое количество данных на неизвестный IP (возможный индикатор утечки данных или командно-контрольного сервера).
Выявление сканирования сети – хакеры часто сканируют сеть, отправляя множество небольших пакетов на разные IP-адреса или порты, чтобы найти уязвимые сервисы.
Обнаружение DDoS-атак – если внезапно фиксируется огромный поток трафика на один адрес или порт, это может указывать на распределённую атаку отказа в обслуживании.
Фильтрация подозрительных протоколов – например, неожиданный трафик по Telnet или SMB может свидетельствовать о попытках несанкционированного доступа.
Собранные данные можно использовать в SIEM-системах для корреляции событий, построения моделей нормального поведения и автоматического оповещения о возможных угрозах.
2. Поиск ботов и DDoS атак
Боты — это автоматизированные программы, которые могут быть использованы для атак, массового сбора данных или создания фальшивых действий в сети. Сетевой трафик от ботов часто имеет отличительные характеристики, которые можно выявить с помощью анализа NetFlow/IPFIX:
Нестандартные источники трафика: Боты могут использовать большое количество IP-адресов для маскировки своей активности. Анализируя поля с IP-адресами и портами, можно выявить аномальное количество подключений с новых или незнакомых адресов.
Скорость запросов: Боты могут генерировать запросы быстрее, чем обычные пользователи. Это приводит к большому числу небольших пакетов (поля packetDeltaCount и octetDeltaCount могут помочь обнаружить такие аномалии).
Потоки с одинаковыми характеристиками: Боты могут инициировать связи с одинаковыми или очень схожими характеристиками (например, одни и те же порты и протоколы), что выделяется на фоне нормального трафика.
Частые запросы на один сервер или порт: Боты могут атаковать один и тот же сервер или порт, что можно обнаружить через destinationTransportPort и destinationIPv4Address.
Поиск DDoS-атак
DDoS (распределенная атака отказа в обслуживании) — это атака, направленная на перегрузку сервера или сети огромным количеством запросов. Для их обнаружения можно использовать следующие признаки:
Массированный трафик на один адрес или порт: В случае DDoS атаки трафик концентрируется на одном сервере или порте, что можно увидеть через поля destinationIPv4Address, destinationTransportPort и общий объём переданных данных (octetDeltaCount).
Снижение производительности из-за большого количества пакетов: Из-за огромного потока пакетов с разных источников может наблюдаться затруднение в обработке запросов. Это можно определить, проанализировав продолжительность соединений и объём переданных данных.
Высокая частота соединений: При DDoS атаке с помощью множества ботов могут происходить массовые подключения к определённому серверу в краткие промежутки времени. Это будет видно через поля flowStartMilliseconds и flowEndMilliseconds.
Аномальные паттерны флагов TCP: При DDoS атаке часто наблюдается аномальная активность с флагами TCP, такими как SYN-флуды, что можно отслеживать через поле tcpFlags.
Таким образом, можно отслеживать активность, которая может быть связана с ботами и DDoS-атаками, через детальный анализ трафика по ключевым признакам, таким как аномальные источники, порты, частота запросов и флаги TCP.
3. Анализ активности пользователей и сервисов.
Поля, связанные с трафиком и временем
Эти параметры позволяют анализировать объем передаваемых данных и временные характеристики соединений.
octetDeltaCount (IPFIX ID 1) – количество переданных байтов в потоке.
packetDeltaCount (IPFIX ID 2) – количество переданных пакетов.
flowStartMilliseconds (IPFIX ID 152) – время начала потока (в миллисекундах).
flowEndMilliseconds (IPFIX ID 153) – время завершения потока (в миллисекундах).
flowDurationMilliseconds (IPFIX ID 154) – продолжительность потока.
Использование:
Выявление аномального трафика (всплески активности, резкие изменения объемов данных).
Анализ нагрузки на сеть.
Определение узких мест в инфраструктуре.
Поля, связанные с сетевыми устройствами
Эти поля позволяют определить маршруты трафика и взаимодействие между сетевыми узлами.
ingressInterface (IPFIX ID 10) – входной интерфейс на маршрутизаторе или коммутаторе.
egressInterface (IPFIX ID 14) – выходной интерфейс.
bgpSourceAsNumber (IPFIX ID 16) – автономная система (AS) источника.
bgpDestinationAsNumber (IPFIX ID 17) – автономная система (AS) назначения.
nextHopIPv4Address (IPFIX ID 15) – следующий маршрутизатор в пути пакета.
Использование:
Анализ маршрутов трафика и оптимизация маршрутизации.
Выявление проблем в сетевой топологии.
Анализ BGP-маршрутов и их изменений.
Поля, связанные с сетевой безопасностью
Эти данные помогают в обнаружении атак, анализе подозрительного трафика и расследовании инцидентов.
tcpFlags (IPFIX ID 6) – флаги TCP (SYN, ACK, FIN, RST и т. д.).
icmpTypeCodeIPv4 (IPFIX ID 32) – тип и код ICMP-сообщений.
flowEndReason (IPFIX ID 136) – причина завершения потока (например, по таймауту, завершено FIN или RST).
Использование:
1. Выявление попыток сканирования сети и атак
Выявление попыток сканирования сети и атак (например, TCP SYN flood, порт-сканирование) сводится к анализу специфических сетевых характеристик и паттернов трафика:
TCP SYN flood – атака, при которой злоумышленник отправляет большое количество SYN-пакетов, не завершая трехстороннее рукопожатие TCP, что приводит к исчерпанию ресурсов сервера.
Как обнаружить?
Высокий объем входящих SYN-пакетов (tcpFlags = SYN), но мало установленных соединений.
Аномально большое число открытых потоков с одним и тем же IP.
Короткие по времени соединения (flowDurationMilliseconds).
Порт-сканирование – злоумышленники перебирают порты на одном или нескольких узлах, выявляя открытые сервисы.
Как обнаружить?
Один источник инициирует множество соединений к разным портам (destinationTransportPort).
Короткие сессии с малым объемом переданных данных (octetDeltaCount).
Высокая частота соединений за короткое время (flowStartMilliseconds).
Использование IPFIX позволяет оперативно выявлять такие атаки и применять автоматизированные меры защиты
2. Поиск источников DDoS атак
Поиск источников DDoS-атак требует анализа потока данных для выявления аномального поведения. Основные техники включают:
Анализ IP-адресов источников
Определение IP-адресов, генерирующих наибольший объем трафика (sourceIPv4Address).
Идентификация множества источников, отправляющих запросы на один и тот же узел (характерно для ботнетов).
Выявление аномалий в трафике
Резкие скачки трафика (octetDeltaCount).
Необычно высокая частота запросов (packetDeltaCount).
Короткие потоки с большим числом соединений (flowDurationMilliseconds).
Определение типа атаки
SYN flood: Высокий процент незавершенных соединений (tcpFlags = SYN).
UDP flood: Большой объем трафика на один порт (destinationTransportPort).
HTTP flood: Повторяющиеся HTTP-запросы (applicationId = HTTP).
Используя данные IPFIX, можно не только выявить атакующие узлы, но и применять автоматизированные меры защиты, такие как блокировка IP-адресов или маршрутизация вредоносного трафика.
3. Детекция аномального поведения пользователей и сервисов.
Поля, связанные с приложениями и DPI
Также IPFIX поддерживает анализ трафика на уровне приложений.
applicationId (IPFIX ID 95) – идентификатор приложения (например, HTTP, DNS, TLS).
httpHost (расширенное поле) – доменное имя запрашиваемого ресурса.
tlsVersion (расширенное поле) – версия используемого TLS.
Использование:
1. Обнаружение теневых ИТ (shadow IT)
Обнаружение теневого IT (Shadow IT) позволяет выявлять несанкционированные сервисы и приложения, которые используются внутри корпоративной сети без одобрения ИТ/ИБ-отдела.
1. Анализ IP-адресов и доменов
Используя поля destinationIPv4Address и destinationTransportPort, можно определить подключения к неизвестным или запрещенным облачным сервисам (например, Dropbox, Google Drive, VPN).
Поле applicationId в IPFIX помогает определить категории приложений (например, социальные сети, потоковое видео, мессенджеры).
Анализ DNS-запросов (httpHost, dnsQueryName) позволяет выявлять обращения к подозрительным или неизвестным доменам.
2. Выявление нестандартных портов и протоколов
Поле protocolIdentifier помогает обнаружить использование нежелательных протоколов, таких как P2P или нестандартные VPN.
Необычная активность на портах (destinationTransportPort), которые не должны использоваться в корпоративной сети, может свидетельствовать о наличии обходных решений.
3. Детекция аномального поведения в трафике
Высокий объем переданных данных (octetDeltaCount) может указывать на выгрузку файлов в облачные хранилища.
Длительные соединения (flowStartMilliseconds, flowEndMilliseconds) могут быть признаком работы теневых сервисов.
Необычно большое количество коротких соединений с разными IP-адресами может указывать на использование динамических прокси-сервисов.
4. Сравнение с политиками безопасности
Сопоставление собранных данных с белыми списками разрешенных приложений позволяет быстро находить отклонения.
Интеграция с SIEM-системами помогает автоматизировать обнаружение теневого IT и реагирование на угрозы.
Использование IPFIX дает возможность обнаруживать несанкционированные сервисы внутри инфраструктуры, снижая риски утечек данных и несанкционированного использования сети.
2. Контроль использования корпоративных приложений.
3. Выявление аномального поведения в сети (например, необычные DNS-запросы, нестандартные TLS-соединения).
Как использовать собранные данные
После сбора данных с помощью NetFlow/IPFIX их можно анализировать с помощью различных инструментов(тут не претендую на последнюю инстанцию и поэтому приглашаю в комменты обсудить списки ниже):
Open-Source решения:
nprobe
ntopng
ElastiFlow
GoFlow
Коммерческие решения:
Cisco StealthwatchSolarWinds NetFlow Traffic AnalyzerFlowmonRiverbed
Все ушли в 22 году и никого официально не осталось.
Заключение
Таким образом, кроме того, что IPFIX(а также Netflow и другие реализации Flow) позволяют собирать детальные сведения о сетевом трафике, они также позволяют обеспечивать кибербезопасность с помощью анализа сетевого трафика. А если сюда добавить еще AI/ML (как минимум для behavioral analysis) - это будет полноценный NTA, который не будет требовать огромного количества железа для обработки большого объема трафика. Или нет?