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 пакетов в дампе.

Анализ часто встречающихся значений полей в заголовках 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.