Multipurpose Analyzer
Анализирует L3/L4 заголовки и L4 payload.
Можно задавать диапазон пакетов, которые будут подвергаться анализу, через задание значений в полях Starting with и Ending with.
Если задан произвольный BPF-фильтр, то другие фильтры не применяются.
Для данного механизма можно активировать следующие чекбоксы:
- Interactive — вместо текстового формируется интерактивный HTML-отчет;
- Generate signatures — добавить в отчет шаблоны для L4 payload (см. Сигнатуры);
- Merge packets larger then — оптимизировать процесс обработки дампов;
- Visualization of content — позволяет визуально определить закономерности в трафике (см. Визуализация содержимого);
- Sampling — для построения визуализации используются только пакеты,
кратные заданному значению.
Например, если указано
5
, то для визуализации будет выбран каждый пятый пакет. В режиме auto значение семплирования определяется механизмом таким образом, чтобы равномерно разместить захваченные пакеты на изображении максимальной высоты 200000 пикселей; - Generate length-o-gramm — сформировать длиннограмму (см. Длиннограмма);
- External IP lists — добавить в отчет анализ по внешним репутационным спискам;
- Custom IP lists — добавить в отчет анализ по дополнительным репутационным спискам;
- SS IP lists — добавить в отчет анализ по репутационным спискам с сервера статистики;
- Matched IPs — добавить в отчет IP-адреса, по которым обнаружено вхождение хотя бы в один из выбранных репутационных списков;
- Src IP from pcap — отображать в отчете список уникальных src_ip из анализируемого .pcap;
- Analyze TLS — добавить в отчет анализ TLS сообщений;
- Analyze DNS — добавить в отчет анализ DNS пакетов;
- Analyze GeoIP — добавить в отчет анализ по GeoIP базам.
Сигнатуры
Данный механизм различными способами формирует шаблоны для L4 payload.
Виды шаблонов:
- Patterns per payload lengths;
- Variable-Offset Patterns;
- Fixed Byte Mask;
- Common Submask;
- Merged Submask;
- Bloom filter signatures.
Подробное описание шаблонов см. в разделе Отчет.
Пользователем настраиваются параметры:
- Min pattern length — минимальное кол-во байт, которое описывает шаблон;
- Max pattern length — максимальное кол-во байт, которое описывает шаблон;
- Min pattern coverage — доля пакетов, которую должен покрывать выделенный шаблон. Например значение 0.2 означает долю в 20%;
- Bytes in packets — длина анализируемого L4 payload от его начала;
- Chunk size — размер элементарной последовательности для фильтра Блума в байтах;
- Chunk stride — количество общих байтов между двумя ближайшими чанками;
- Similarity measure — пороговое число общих единиц между двумя фильтрами Блума для определения похожести пакетов;
- Time limit — максимальное время в секундах, которое система затратит на обработку фильтров Блума.
Визуализация содержимого
Визуализация содержимого может быть полезна для понимания структуры трафика, так как позволяет визуально определить закономерности в нем. Дамп представляется в виде графического изображения, в котором каждая строка — L3/L4 данные пакета. Цветом обозначены значения байтов. Построенная в ходе анализа визуализация может быть скачана в виде архива при нажатии на иконку с файлом или просмотрена в браузере при нажатии на иконку с гистограммой.
При выгрузке архива пользователь получает набор файлов визуализации дампа:
- sampling#_gray256_sorted_L4.png;
- sampling#_gray256_sorted_L3_L4.png;
- sampling#_gray256_chrono_L4.png;
- sampling#_gray256_chrono_L3_L4.png;
- sampling#_color256_sorted_L4.png;
- sampling#_color256_sorted_L3_L4.png;
- sampling#_color256_chrono_L4.png;
- sampling#_color256_chrono_L3_L4.png.
Название файла говорит о методе построения визуализации:
- sampling# — показывает значение семплирования, заданное пользователем или автоматически определенное механизмом визуализации;
- sorted — пакеты выстроены по возрастанию размера payload;
- chrono — пакеты выстроены в том же порядке, в котором они захвачены в дампе (т.о. если изображение повернуть на 90 градусов против часовой стрелки, то получится классическое представление временных графиков);
- L4 — только для L4 payload;
- L3_L4 — L3 headers + L4 headers + L4 payload;
- gray — представление в оттенках серого (близкие значения байт визуально отличаются незначительно);
- color — представление в цвете (близкие значения байт хорошо визуально различимы).
Пример визуализации color256_chrono_L4: Пример визуализации gray256_sorted_L3_L4:
При просмотре в браузере удобно переключаться между различными методами построения визуализации. Слева отображаются четыре варианта изображений с сортировкой по времени захвата, справа — четыре варианта с сортировкой по возрастанию размера payload. Область представления разделена на две части, в левой находится экран визуализации, в правой — карта визуализации. Кнопками управления можно изменять масштаб отображения и скорость прокрутки. Рядом с кнопками управления отображаются координаты курсора и значение на изображении в указанной точке.
Длиннограмма
Механизм позволяет получить длиннограмму — изображение, показывающее распределение размера пакетов по их количеству на некотором временном интервале.
На вертикальной оси отложены временные интервалы от минимального до максимального
времени захвата пакетов в микросекундах.
Количество интервалов задается в поле Number of steps
.
На горизонтальной оси отмечены размеры пакетов в байтах.
Цветом обозначается количество пакетов определенной длины на определенном временном
интервале.
Размер точки на длиннограмме задается в пикселях через указание значений в полях
X-scale
и Y-scale
.
Аналогично визуализации chrono, если изображение повернуть на 90 градусов против часовой стрелки, то получится более привычное представление для спектограммы.
Отчет
Отчет может формироваться как текстовый файл или как интерактивная HTML-страница, если установлен чекбокс Interactive. Содержание отчета не зависит от формы представления, но интерактивная версия имеет ряд преимуществ и удобнее в использовании, поэтому описание отчета строится на ней.
Отчет состоит из вкладок, информация на которых сгруппирована по категориям. Вкладки отображаются в отчете только при наличии данных. Каждая вкладка дополнительно разделена на секции, каждая из которых может быть свернута. В отдельных секциях предусмотрена фильтрация по значениям, экспорт таблиц в CSV, вывод топа значений.
Вкладки и секции отчета:
Summary
- Packets total — количество пакетов в дампе;
- Capture begin — дата и время начала захвата;
- Capture end — дата и время окончания захвата;
- Capture duration — продолжительность захвата.
Опционально на отдельных вкладках в отчете могут присутствовать:
- TLS packets — количество TLS пакетов в дампе;
- TLS ClientHello packets — количество сообщений ClientHello в TLS-пакетах пакетах;
- DTLS packets — количество DTLS пакетов в дампе;
- DTLS ClientHello packets — количество сообщений ClientHello в DTLS-пакетах пакетах;
- DNS packets — количество DNS пакетов в дампе.
Header
Анализ часто встречающихся значений полей в заголовках IPv4 и транспортных протоколов. Актуально, если атакующий не рандомизирует заголовки протоколов. Значения отображаются, только если доля пакетов определенного протокола в дампе 5 % и более. Показывается распределение фрагментированных пакетов с ненулевым значением смещения в IP заголовке и количество уникальных ненулевых смещений.
NaF – (Not a fragment) пакет не является фрагментом;
Dtf – (Don't fragment) запрет фрагментации;
IsF – (Is a fragment) пакет является фрагментом;
FF– (First fragment) признак первого фрагмента;
LF– (Last fragment) признак последнего фрагмента.
Также формируются таблицы распределения TCP-флагов по количеству пакетов.
Формируется распределение по уникальным сочетаниям n-tuple.
Signatures
Раздел формируется в отчете, если установлен чекбокс Generate signatures.
-
Patterns per payload lengths. Часто наблюдаемые шаблоны для пакетов с наиболее часто встречающейся длиной.
-
Variable-Offset Patterns. Часто наблюдаемые шаблоны в payload с переменным смещением.
-
Fixed Byte Mask. Смещения, по которым значение байта фиксировано, набор таких смещений и значений по ним образует маску.
-
Common Submask. Среди масок ищутся похожие (50% совпадения регулярных выражений), и из них выделяется общая часть.
-
Merged Submask. Merged Submask образуются путем удаления избыточности из common submasks, например, aabb покрывается aab.
GeoIP
Раздел формируется в отчете, если установлен чекбокс Analyze GeoIP.
-
Geo for each IP. Для IP-адресов загруженного дампа отображается соответствие стране, городу, номеру и имени автономной системы. Доступна фильтрация по всем полям таблицы.
-
Country by packet count. Распределение стран по количеству пакетов.
-
Country by IP count. Распределение стран по количеству IP-адресов отправителей.
-
ASN by packet count. Распределение автономных систем по количеству пакетов.
-
ASN by IP count. Распределение автономных систем по количеству IP-адресов отправителей.
IP Lists
Раздел формируется в отчете, если установлены чекбоксы, отвечающие за анализ по репутационным спискам. Доступна фильтрация по именам списков, с использованием регулярных выражений, реализованная через 2 поля ввода: Show и Hide.
-
IP lists analysis. В секции приводится список всех IP-адресов, по которым обнаружено вхождение в репутационные списки. Затем вхождение по каждому списку c указанием названия списка и количества вхождений.
-
Custom IP lists analysis. В секции приводится список всех IP-адресов, по которым обнаружено вхождение в дополнительные репутационные списки. Затем вхождение по каждому списку c указанием названия списка и количества вхождений.
-
SS lists analysis. В секции приводится список всех IP-адресов, по которым обнаружено вхождение в репутационные списки с сервиса аналитики. Затем вхождение по каждому списку c указанием названия списка и количества вхождений.
-
Matched IPs. В секции приводятся списки IP-адресов, по которым обнаружено вхождение хотя бы в один из предыдущих репутационных списков.
TLS
Раздел формируется в отчете, если установлен чекбокс Analyze TLS.
-
TLS content type. Распределение сообщений TLS по количеству пакетов.
-
TLS length. Распределение по длине TLS-пакетов.
-
TLS version. Распределение по версии TLS.
-
TLS ClientHello number of unique cipher suits. Количество уникальных cipher suits в сообщениях ClientHello.
-
TLS ClientHello unique cipher suits. Перечень уникальных cipher suits.
-
TLS ClientHello cipher suits (by sets). Распределение ClientHello по сочетанию наборов cipher suits.
-
TLS ClientHello number of unique extension. Количество уникальных extensions.
-
TLS ClientHello unique extensions. Перечень уникальных extensions.
-
TLS ClientHello extensions (by sets). Распределение ClientHello по сочетанию наборов extensions.
Аналогичная статистика приводится по DTLS поверх UDP.
-
DTLS content type. Распределение сообщений DTLS по количеству пакетов.
-
DTLS length. Распределение по длине DTLS-пакетов.
-
DTLS version. Распределение по версии DTLS.
-
DTLS ClientHello number of unique cipher suits. Количество уникальных cipher suits в сообщениях ClientHello.
-
DTLS ClientHello unique cipher suits. Перечень уникальных cipher suits.
-
DTLS ClientHello cipher suits (by sets). Распределение ClientHello по сочетанию наборов cipher suits.
DNS
Раздел формируется в отчете, если установлен чекбокс Analyze DNS.
Данные в отчете сгруппированы тройками, каждая из которых содержит имя домена, класс и тип query. Процент пакетов в каждой категории берется от общего числа DNS-пакетов в дампе. Для отображения тройки в отчете нужно чтобы количество DNS-пакетов одного набора превышало 5% порог от числа DNS-пакетов категории.
-
DNS UDP query. Распределение DNS-пакетов c типом сообщения query, отправленных по UDP.
-
DNS UDP response. Распределение DNS-пакетов c типом сообщения response, отправленных по UDP и относящихся к разделу questions.
-
DNS TCP query. Распределение DNS-пакетов c типом сообщения query, отправленных по TCP.
-
DNS TCP response. Распределение DNS-пакетов c типом сообщения response, отправленных по TCP и относящихся к разделу questions.