Сервис анализа дампов psg.mitigator.ru

psg.mitigator.ru — это сервис анализа дампов сетевого трафика в целях выявления закономерностей (PCAP Signature Generator).

Сервис доступен клиентам Mitigator´а по запросу в поддержку.

Сервис используется как один из инструментов изучения легитимного трафика нового приложения или для создания сигнатуры трафика атаки. После загрузки файла с дампом можно задать фильтры и выбрать способ анализа.

Создание сигнатуры в момент конкретной атаки для может оказаться достаточно эффективным. Если легитимный трафик поддается шаблонизации, то можно разрешить прохождение пакетов только по сигнатурам, что помогает от типовых атак. В обоих случаях сервис значительно упрощает задачу настройки защиты.

Фильтры

Если заданы фильтры, то будут обрабатываться только указанные пакеты. Это нужно, если дамп «загрязнен» трафиком других приложений, или необходимо проанализировать конкретный поток.

Доступна фильтрация по:

  • protocol (tcp, udp, icmp);
  • src IP;
  • src port;
  • dst IP;
  • dst port;
  • BPF. Произвольный фильтр, синтаксис tcpdump.

Методы анализа

Доступно три способа анализа под условными названиями:

  • Классический;
  • Экспериментальный;
  • TLS.

Классический

Анализирует L4 payload. Нужно указать параметры для построения дерева решений:

  • Вариативность — максимальная вариативность данных в пределах смещения для создания ветки.

  • Решения — максимальная вложенность ветвления.

  • Тип решения — алгоритм построения дерева решений.

    • Поиск первого подходящего решения;
    • поиск всех возможных решений в рамках заданной вариативности и максимального уровня вложенности;
    • обход по веткам минимальной длины вне зависимости от полноты решения.
  • Байты пакета — количество первых байт payload, которые будут анализироваться. Ограничение по количеству первых байт позволяет создать укороченные сигнатуры, например, для применения flex filter в JunOS.

Отчет состоит из секций:

  • packets stats;

    • totally — всего пакетов загружено из PCAP-файла;
    • filtered — количество пакетов, исключенных из обработки;
    • processed — количество пакетов, по которым собрана статистика.
  • 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) и содержится во всех пакетах в рамках этого диапазона. Не учитываются значения, которые не меняются. Если найдено несколько одинаковых значений с пересекающимися диапазонами смещений, они объединяются.

На больших файлах анализ может занимать продолжительное время. Если с параметрами по умолчанию не выделилась сигнатура, то для клиентов может быть сложно интерпретировать подсказки и корректировать параметры поиска решения. Поэтому был сделан экспериментальный метод.

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

Анализирует L4 payload. Частично заголовки.

Можно указать количество анализируемых первых байт. Работает значительно быстрее «Классического режима», но не всегда оптимально описывает маски.

Отчет состоит из секций:

  • Summary;

  • Header Analysis;
    Анализируются часто встречающиеся значения полей в заголовках IPv4 и TCP. Актуально, если атакующий не рандомизирует заголовки протоколов.

Следующие секции отражают последовательное упрощение регулярных выражений, описывающих L4 payload пакетов:

  • Fixed Byte Mask;
    Фиксированные байты в пакетах. Ищутся по группам пакетов каждой длины с учетом условий, сколько первых байт анализировать и объединять ли более длинные пакеты в одну группу. Если у пакетов разной длины получается одна маска, эти группы объединяются.

  • Common Submask;
    Среди масок ищутся похожие (50% совпадения регулярных выражений), и из них выделяется общая часть.

  • Merged Submask;
    Из common submasks удаляются избыточные маски, например, aabb покрывается aab и остается только aab.

TLS

Данный метод выделяет из PCAP для TLS трафика JA3-отпечатки. Результаты выдаются в CSV, чтобы их было удобно анализировать в других средствах, от Excel до Jupyter. Отчет состоит из трех секций:

  • Summary;

    • Packets total — количество пакетов в дампе;
    • Packets filtered — количество проанализированных пакетов;
    • ClientHello — количество найденных ClientHello;
    • Fingerprints — количество уникальных отпечатков.
  • Fingerprints;
    Список уникальных отпечатков в формате загрузки в контрмеру ATLS. Список отсортирован в порядке убывания количества отпечатков в дампе.

  • User-Agent Analysis;
    Дополнительная секция, предназначенная для пользователя. Для каждого уникального отпечатка:

    • Count, сколько раз найден отпечаток в дампе;
    • MD5 Hash, для поиска информации во внешних источниках;
    • Possible User-Agent, подсказка по User-Agent.