Легко создавайте модель машинного обучения

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

Это экспериментальный проект; мы используем его в Deepfence, чтобы оценить, насколько эффективно мы можем обучить модель машинного обучения различать разные типы потоков трафика.

Вы можете собрать и установить FlowMeter с GitHub: https://github.com/deepfence/FlowMeter.

Почему сетевая наблюдаемость?

Наблюдаемость за сетью является важной частью наблюдения за безопасностью во время выполнения. Это необходимо для понимания более широкого контекста событий безопасности и обеспечивает жизненно важный вклад в моделирование атак с использованием методологии MITRE ATT&CK.

Наблюдение на хосте (и в контейнере) предоставляет индикаторы компрометации — аномалии, которые могут указывать на то, что злоумышленник получил определенное влияние на цель. Это ключевые сигналы для современных решений для наблюдения за безопасностью, но сами по себе индикаторы компрометации не могут полностью рассказать о поведении при атаке и могут появиться слишком поздно, чтобы упреждающе отреагировать на атаку.

Эффективная сетевая наблюдаемость обеспечивает индикаторы атаки, включая разведку, целевое вооружение, боковое распространение и эксфильтрацию. Они обеспечивают важный контекст для атакующего поведения, описывая как методы, которые предшествуют попытке использования, так и последующие (обнаружение, боковое перемещение, командование и контроль, эксфильтрация).

Например, в эксплойте log4j почти все начальные сигналы являются сетевыми. Первоначальный JNDI-разведчик против нескольких рабочих нагрузок, запрос JNDI, который затем инициирует исходящий запрос (маяк) к слушателю злоумышленника, последующий запрос, который извлекает класс Java для запуска… все они основаны на сети и не могут быть идентифицированы on-line. -только методы хоста. Первым сигналом, который вы получаете от наблюдения на хосте, может быть установка в файловой системе комплекта эксплойтов (например, криптомайнера).

Какую роль может сыграть расходомер?

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

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

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

Ранние показания

Ранние показания расходомера многообещающие. Мы обучили движок машинного обучения FlowMeter контролируемым образом, используя несколько общедоступных наборов данных, чтобы различать безопасные и злонамеренные перехваты трафика. Первые результаты представлены в проекте README и проиллюстрированы ниже:

Вы можете поэкспериментировать с FlowMeter самостоятельно, используя как общедоступные наборы данных, указанные в README, так и собственные захваты пакетов, полученные с помощью PacketStreamer или других инструментов pcap.

Мы будем рады любым отзывам, дополнениям и предложениям. Пожалуйста, начните с репозитория FlowMeter GitHub.