Экспериментальный способ анализа

Анализирует L3/L4 заголовки и L4 payload.
Работает значительно быстрее «Классического режима», но не всегда выделяет
шаблоны.
Можно задавать диапазон пакетов, которые будут подвергаться анализу, через
задание значений в полях «От пакета» и «До пакета».
Для экспериментального режима можно активировать следующие чекбоксы:
- «Получить сигнатуры» — добавить в отчет шаблоны для L4 payload
(см. Сигнатуры);
- «Объединить пакеты бóльших длин» — оптимизировать процесс обработки
дампов;
- «Визуализация содержимого» — позволяет визуально определить закономерности
в трафике (см. Визуализация содержимого);
- «Семплирование» — для построения визуализации используются только пакеты,
кратные заданному значению. Например, если указано «5», то для визуалиазции
будет выбран каждый пятый пакет. В режиме «автоматически» значение семплирования
определяется механизмом таким образом, чтобы равномерно разместить захваченные
пакеты на изображении максимальной высоты 200000 пикселей;
- «Анализировать TLS» — добавить в отчет анализ TLS сообщений;
- «Анализировать DNS» — добавить в отчет анализ DNS пакетов;
- «Анализировать GeoIP» — добавить в отчет анализ по GeoIP базам;
- «Анализировать IP по спискам репутации» — добавить в отчет анализ по
репутационным спискам;
- «Получить длиннограмму» — сформировать длиннограмму (см. Длиннограмма).
Сигнатуры
Данный механизм различными способами формирует шаблоны для L4 payload.
Виды шаблонов:
- Patterns per payload lengths;
- Variable-Offset Patterns;
- Fixed Byte Mask;
- Common Submask;
- Merged Submask;
- Bloom filter signatures.
Подробное описание шаблонов см. в разделе Отчет.
Пользователем настраиваются параметры:
- «Мин. длина шаблона» — минимальное кол-во байт, которое описывает шаблон;
- «Макс. длина шаблона» — максимальное кол-во байт, которое описывает шаблон;
- «Мин. покрытие» — доля пакетов, которую должен покрывать выделенный шаблон.
Например значение 0.2 означает долю в 20%. Применяется для Variable-Offset
Patterns, Patterns per payload lengths;
- «Байты пакета» — длина анализируемого L4 payload от его начала;
- «Размер чанка» — размер элементарной последовательности для фильтра Блума в байтах;
- «Страйд чанка» — количество общих байтов между двумя ближайшими чанками;
- «Мера близости» — пороговое число общих единиц между двумя фильтрами Блума для
определения похожести пакетов;
- «Время обработки» — максимальное время в секундах, которое система затратит на
обработку фильтров Блума.
Визуализация содержимого
Визуализация содержимого может быть полезна для понимания структуры трафика, так
как позволяет визуально определить закономерности в нем.
Дамп представляется в виде графического изображения, в котором
каждая строка — 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:

Длиннограмма
Механизм позволяет получить длиннограмму — изображение, показывающее
распределение размера пакетов по их количеству на некотором временном интервале.
На вертикальной оси отложены временные интервалы от минимального до максимального времени
захвата пакетов в микросекундах. Количество интервалов задается в поле «Количество шагов».
На горизонтальной оси отмечены размеры пакетов в байтах.
Цветом обозначается количество пакетов определенной длины на определенном временном
интервале.
Размер точки на длиннограмме задается в пикселях через указание значений в полях
«Масштаб по X» и «Масштаб по Y».

Аналогично визуализации chrono, если изображение повернуть на 90 градусов против
часовой стрелки, то получится более привычное представление для спектограммы.
Отчет
Отчет состоит из секций:
-
Summary; 
- Packets — количество пакетов в дампе;
- File — путь к файлу с дампом;
- Treat large lengths as one — признак объединения пакетов наибольших длин.
-
Capture info; 
- Capture begin — дата и время начала захвата;
- Capture end — дата и время окончания захвата;
- Capture duration — продолжительность захвата.
-
Header Analysis; 
Анализ часто встречающихся значений полей в заголовках IPv4 и транспортных
протоколов. Актуально, если атакующий не рандомизирует заголовки протоколов.
Значения показываются только если доля пакетов определенного протокола в дампе
5 % и более.
Показывается распределение фрагментированных пакетов с ненулевым значением
смещения в IP заголовке и количество уникальных ненулевых смещений.
Также формируется таблица распределения TCP-флагов по количеству пакетов.
В поле IPv4 frag status формируется распределение по флагам фрагментации в
синтаксисе ACL.
NaF – (Not a fragment) пакет не является фрагментом;
Dtf – (Don't fragment) запрет фрагментации;
IsF – (Is a fragment) пакет является фрагментом;
FF – (First fragment) признак первого фрагмента;
LF – (Last fragment) признак последнего фрагмента.
Формируется список уникальных сочетаний n-tupple.

-
Анализ TLS;
Раздел формируется в отчете, если установлен чекбокс «Анализировать TLS».
- Number of TLS packets — число TLS пакетов в дампе;
- TLS content type — распределение сообщений TLS по количеству пакетов;
- TLS length — распределение по длине TLS-пакетов;
- TLS version — распределение по версии TLS;
- Number of TLS ClientHello — количество сообщений ClientHello;
- 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 extensions — количество уникальных
extensions;
- TLS ClientHello unique extensions — перечень уникальных extensions;
- TLS ClientHello extensions (by sets) — распределение ClientHello по
сочетанию наборов extensions.
Также в отчете отображается статистика по DTLS поверх UDP.
- Number of DTLS packets — число DTLS пакетов в дампе;
- DTLS content type — распределение сообщений DTLS по количеству пакетов;
- DTLS length — распределение по длине DTLS-пакетов;
- DTLS version — распределение по версии DTLS;
- Number of DTLS ClientHello — количество сообщений ClientHello;
- 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 Analysis;
Раздел формируется в отчете, если установлен чекбокс «Анализировать DNS».
Данные в отчете сгруппированы тройками, каждая из которых содержит имя домена,
класс и тип query. Процент пакетов в каждой категории берется от общего числа
DNS-пакетов в дампе. Для отображения тройки в отчете нужно чтобы количество
DNS-пакетов одного набора превышало 5% порог от числа DNS-пакетов категории.
- Number of DNS packets — количество 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.
-
Geo Analysis; 
Раздел формируется в отчете, если установлен чекбокс «Анализировать GeoIP».
- TOP IPv4 src address — топ IP-адресов по частоте их появления в дампе.
Для каждого адреса указываются страна, город, название и номер автономной системы;
- Country by packets — распределение стран по количеству пакетов;
- Country by IPv4 count — распределение стран по количеству IP-адресов отправителей;
- AS by packets — распределение автономных систем по количеству пакетов;
- AS by IPv4 count — распределение автономных систем по количеству IP-адресов отправителей.
-
IP lists Analysis; 
Анализ IP-адресов дампа по различным репутационным спискам. Раздел формируется в отчете,
если установлен чекбокс «Анализировать IP по спискам репутации».
- All addresses — количество IP-адресов, по которым обнаружено вхождение в репутационные
списки;
- Category — тип списка, в котором обнаружено вхождение.
-
TCP SYN; 
Статистика по TCP заголовкам для SYN пакетов.
-
TCP SYN+ACK;
Статистика по TCP заголовкам для SYN+ACK пакетов аналогична статистике для SYN пакетов.
-
Patterns per payload lengths; 
Часто наблюдаемые шаблоны для пакетов с наиболее часто встречающейся
длиной.
-
Variable-Offset Patterns; 
Часто наблюдаемые шаблоны в payload с переменным смещением.
-
Fixed Byte Mask; 
Смещения, по которым значение байта фиксировано,
набор таких смещений и значений по ним образуем маску.
-
Common Submask; 
Среди масок ищутся похожие (50% совпадения регулярных выражений), и из
них выделяется общая часть.
-
Merged Submask; 
Merged Submask образуются путем удаления избыточности из common submasks, например,
aabb покрывается aab и остается только aab.
-
Bloom filter signatures; 
Список сигнатур для похожих пакетов, которые обнаружены при помощи фильтров
Блума.
- Number of packets in processing — количество пакетов, среди которых выбирались похожие;
- Variable-Offset Patterns via Bloom filter — Variable-Offset Patterns для похожих пакетов;
- Fixed Byte Masks via Bloom filter — Fixed Byte Mask для похожих пакетов;
- Common Submasks via Bloom filter — Common Submask для похожих пакетов;
- Merged Submasks via Bloom filter — Merged Submask для похожих пакетов.