psg.mitigator.ru — это сервис анализа дампов сетевого трафика в целях выявления закономерностей (PCAP Signature Generator).
Сервис доступен клиентам Mitigator. Вопросы по доступу и предложения по развитию сервиса можно направлять через обращение в поддержку или telegram-бота.
Сервис используется как один из инструментов изучения легитимного трафика нового приложения, или для создания сигнатуры трафика атаки. В обоих случаях его применение значительно упрощает задачу настройки защиты от типовых атак.
В первую очередь необходимо выбрать дамп из списка на вкладке «Browser», нажав на его ID. Дамп может быть загружен непосредственно перед выбором или выбран из ранее загруженных.
После выбора файла с дампом можно задать фильтры и выбрать способ анализа.
После настройки фильтров и выбора режима нужно поставить обработку дампа в очередь, нажав кнопку «Добавить в очередь». Когда анализ закончится, в таблице «Результаты обработки» появится новая строка с результатами анализа. Нажатие на «UUID» открывает подробный отчет об анализе. Нажатие на «Архив» скачивает архив с графическими данными, если они были сформированы при анализе.
Если заданы фильтры, то будут обрабатываться только пакеты, соответствующие фильтрам. Это нужно, если дамп «загрязнен» трафиком других приложений, или необходимо проанализировать конкретный поток.
Доступна фильтрация по:
Доступно три способа анализа под условными названиями:
Анализирует L4 payload. Нужно указать параметры для построения дерева решений:
Решения — максимальная вложенность ветвления. Определяет глубину поиска в процессе построения дерева решений.
Тип решения — алгоритм построения дерева решений.
Вариативность — вариативность данных в пределах смещения для создания ветки. Максимальное число дочерних веток дерева решений.
Байты пакета — количество первых байт payload, которые будут анализироваться. Ограничение по количеству первых байт позволяет создать укороченные сигнатуры, например, для применения flex filter в JunOS. Уменьшает время анализа.
Отчет состоит из секций:
packets stats;
protocols stats;
распределение пакетов по протоколам в процентах.
packets payload len stats;
распределение пакетов по длине L4 payload. Абсолютное значение и процент от
всех пакетов, принятых в обработку.
[tcp, udp] [src, dst] ports stats;
Распределение пакетов по портам. Количество пакетов, процент от всех пакетов,
принятых в обработку, и процент от общего числа пакетов.
Выводит до 10 наиболее используемых портов среди пакетов, попавших в обработку.
дерево решений.
описание фильтрации по L4 payload в синтаксисе контрмеры REX.
Если активировать подсказки, то в отчет будет добавлены секции:
values to separate into branches
Показывает смещения L4 payload c вариативностью меньше указанной и присутствующее
в 100% обработанных пакетов. Если с заданной вариативностью не найдены кандидаты
на ветвление, но существует во всех пакетах по какому-то смещению количество
значений больше заданной вариативности, то сообщается минимальное значение для
нахождения хотя бы одной ветки.
another common values in processed payload
Показывает смещения L4 payload, которые содержат малоизменяемые значения (в более
90% пакетов, где доступно такое смещение, по нему один и тот же байт). Отображается
абсолютное количество пакетов и процент от общего количества пакетов для каждого
смещения. Смещения, содержащие малоизменяемые значения, но с небольшим количеством
пакетов (менее 90% от общего), не отображаются.
possible related values in processed payload
Выполняет поиск L4 payload значений, которые имеют одинаковое число повторений,
скорее всего они изменяются синхронно. Отображается абсолютное количество пакетов и
процент от общего количества обработанных пакетов для каждого набора связанных
значений. В расчет не берутся значения, которые не меняются и встречаются очень
редко (менее 5% от числа обработанных пакетов).
possible floating values in processed payload
Выполняет поиск L4 payload значений, которые плавают в небольшом диапазоне
смещений (8) и содержится во всех пакетах в рамках этого диапазона. Не учитываются
значения, которые не меняются. Если найдено несколько одинаковых значений с
пересекающимися диапазонами смещений, они объединяются.
На больших файлах анализ может занимать продолжительное время. Если с параметрами по умолчанию не выделилась сигнатура, то для клиентов может быть сложно интерпретировать подсказки и корректировать параметры поиска решения. Поэтому был сделан экспериментальный метод.
Анализирует L3/L4 заголовки и L4 payload.
Работает значительно быстрее «Классического режима», но не всегда выделяет шаблоны.
Можно задавать диапазон пакетов, которые будут подвергаться анализу, через задание значений в полях «От пакета» и «До пакета».
Для экспериментального режима можно активировать следующие чекбоксы:
Данный механизм различными способами формирует шаблоны для L4 payload.
Виды шаблонов:
Подробное описание шаблонов см. в разделе Отчет.
Пользователем настраиваются параметры:
Визуализация содержимого может быть полезна для понимания структуры трафика, так как позволяет визуально определить закономерности в нем. Дамп представляется в виде графического изображения, в котором каждая строка — L3/L4 данные пакета. Цветом обозначены значения байтов.
При выгрузке архива пользователь получает набор файлов визуализации дампа:
Название файла говорит о методе построения визуализации:
Пример визуализации color256_chrono_L4:
Пример визуализации gray256_sorted_L3_L4:
Механизм позволяет получить длиннограмму — изображение, показывающее распределение размера пакетов по их количеству на некотором временном интервале.
На вертикальной оси отложены временные интервалы от минимального до максимального времени захвата пакетов в микросекундах. Количество интервалов задается в поле «Количество шагов». На горизонтальной оси отмечены размеры пакетов в байтах. Цветом обозначается количество пакетов определенной длины на определенном временном интервале.
Размер точки на длиннограмме задается в пикселях через указание значений в полях «Масштаб по X» и «Масштаб по Y».
Аналогично визуализации chrono, если изображение повернуть на 90 градусов против часовой стрелки, то получится более привычное представление для спектограммы.
Отчет состоит из секций:
Summary;
Capture info;
Header Analysis;
Анализ часто встречающихся значений полей в заголовках IPv4 и транспортных
протоколов. Актуально, если атакующий не рандомизирует заголовки протоколов.
Также формируется таблица распределения флагов по количеству пакетов.
Значения показываются только если их доля в дампе 5 % и более.
Формируется список уникальных сочетаний n-tupple.
Анализ TLS;
Раздел формируется в отчете, если установлен чекбокс «Анализировать TLS».
Geo Analysis;
Раздел формируется в отчете, если установлен чекбокс «Анализировать GeoIP».
IP lists Analysis;
Анализ IP-адресов дампа по различным репутационным спискам. Раздел формируется в отчете,
если установлен чекбокс «Анализировать IP по спискам репутации».
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;
Из common submasks удаляются избыточные маски, например, aabb покрывается
aab и остается только aab.
Данный метод выделяет из PCAP для TLS трафика JA3-отпечатки. Результаты выдаются в CSV, чтобы их было удобно анализировать в других средствах, от Excel до Jupyter.
Отчет состоит из трех секций:
Summary;
Fingerprints;
Список уникальных отпечатков в формате загрузки в контрмеру ATLS. Список
отсортирован в порядке убывания количества отпечатков в дампе.
User-Agent Analysis;
Дополнительная секция, предназначенная для пользователя. Для каждого
уникального отпечатка: