Применение технологий искусственного интеллекта и машинного обучения для поиска угроз информационной безопасности

Автоматизация аналитической деятельности для поиска фактов несанкционированного доступа

ML
AI
R
Threat Hunt
Cyber Threat Intelligence
Author

i2z1@ddslab.ru

Published

March 9, 2024

2-4 часа в неделю, 8 семестр

Что нам нужно

  1. Знания об используемых методах для решения типовых задач кластеризации, классификакации и регрессии и их применении для решения практических задач.
  2. Инфраструктура подготовки и предобработки данных, навыки приготовления данных для их последующего использования при построении моделей машинного обучения, а также самостоятельно – в виде отдельного аналитического продукта.
  3. Умения правильно использовать алгоритмы машинного обучения и контролировать их результаты.
  4. Навыки использования созданных моделей машинного обучения для решения практических задач поиска угроз информационной безопасности.

Темы

Тема 1. Общее понятие машинного обучения. Типовые подходы. Актуальные проблемы информационной безопасности, решаемые с помощью машинного обучения.

На основе исходных данных и правильных ответов мы генерируем правила их вывода.

“Автоматизация действий, которые мы ассоциируем с целовеческим мышлением, т.е. таких действий, как принятие решений, решение задач, обучение” – R.Bellman

“Искусство создания машин, которые выполняют функции, требующие интеллектуальности при их выполнении людьми” – R.Kurzweil

“Наука о том, как научить компьютеры делать то, в чем люди в настоящее время их превосходят” – E.Rich and K.Knight Artificial Intelligence. McGraw-Hill, New-York,

Современные алгоритмы и средства автоматизации аналитической деятельности.

  1. Автоматизация анализа событий (логов) для выявления нарушителей ИБ (Threat Hunting)
  2. Статический (SAST) и динамический анализ (DAST) программного обеспечения для выяления недекларированных возможностей
  3. Прогнозирование нагрузки на отдельные сервисы и прогнозирование сбоев и отказов технических систем в целом.

Подробнее об этом – здесь

Тема 2. Инфраструктура больших данных: Arrow, Clickhouse. Облачные технологии анализа данных Yandex Managed Service for ClickHouse.

https://arrow.apache.org/ – подсистема (библиотека) высокопроизводительных вычислений с большими данными (BigData)

BigData – размер данных превышает объем оперативной памяти.

Альтернативными популярными системами организации вычислений с большими данными являются:

  • Apache Spark
  • Hadoop

What is Apache Arrow?

Apache Arrow is a software development platform for building high performance applications that process and transport large data sets. It is designed to both improve the performance of analytical algorithms and the efficiency of moving data from one system (or programming language to another).

Особенности:

  1. колоночное хранение в памяти
  2. возможность обработки единого объекта в памяти различными обработчиками (аналитическими системами, СУБД)
  3. реализации под большое множество языков программирования

Колоночная аналитическая СУБД (OLAP) с открытым кодом, позволяющая выполнять аналитические запросы в режиме реального времени на структурированных больших данных.

Online analytical processing – технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных.

  1. Использование Arrow из языка R
  2. R for Data Science – использование Arrow
  3. Блог Clickhouse – примеры использования Clickhouse для решения практических задач, в том числе для созданием SIEM систем, а также Machine Learning.

Тема 3. Инфраструктура больших данных: DuckDB. Облачные технологии анализа данных Yandex Object Storage, Yandex Query.

SQLite на стероидах

Высокопроизводительная аналитическая (OLAP) cистема управления базами данных (СУБД), ориентированная на простоту развертывания, использования, поддержку работы с большими данными при ограниченных ресурсах, с поддержкой языка запросов SQL.

S3 или Simple Storage Service – сервис, где хранятся данные большого объема. По сути, современный потомок протокола FTP, разработанный компанией Amazon. Может работать как по одноименному протоколу S3, так и по HTTPS. Подробнее смотрите по ссылке

Yandex Object Storage – сервис хранения файлов и обеспечения доступа к ним по протоколам S3 и HTTPS.

Сервис аналитики данных, позволяющий выполнять аналитические и потоковые запросы в режиме реального времени к структурированным и частично структурированным данным с помощью YQL — диалекта SQL.

Yandex Query позволяет анализировать данные, которые хранятся в Yandex Object Storage в виде JSON, CSV, TSV, Parquet и других форматах файлов.

Тема 4. Облачные технологии анализа данных: Yandex Compute Cloud, развертывание Rstudio Workbench для подготовки и анализа данных.

Тема 5. Экосистема машинного обучения Tidymodels. Алгоритмы классического обучения с учителем.

Тема 6. Экосистема машинного обучения Tidymodels. Оценка качества моделей. Метрики классификации и регрессии, подбор гиперпараметров.

Тема 7. Экосистема машинного обучения Tidymodels. Применение нейросетевых алгоритмов.

Тема 8. Автоматизация деятельности по поиску угроз ИБ. Решение практических задач ИБ при помощи машинного обучения. Развертывание моделей машинногоо обучения.

Дополнительные материалы к занятиям

  1. Data Mining Tools for Malware Detection
  2. Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Enterprise Tactics
  3. The Matrix has you: обзор проектов, использующих MITRE ATT&CK
  4. Cyber Wardog Lab by Roberto Rodriguez
  5. Data Driven Security

Материалы к практическим занятиям

  1. План отчета
  2. Шпаргалка по Docker
  3. Требования к оформлению

Yandex Query

  1. Что это такое
  2. Ближайший аналог от Amazon – AWS Athena
  3. Прежде чем проводить анализ данных, их надо где-то накапливать и хранить. Мы будем использовать универсальное масштабируемое облачное объектное хранилище– Yandex Object Storage. Архитектурно, оно схоже с хранилищами Amazon S3, а также Minio.

Ключевое понятие в Object Storage – бакет (bucket) – аналог каталога в файловой системе.

  1. Сам анализ проводится при помощи диадекта языка SQL – YQL (Yandex Query Language)

Yandex Datalens

  1. Что это такое

Ближайшие аналоги – Microsoft Power BI, Tableau

Локальное развертывание Datalens

Datalens – открытый программный продукт, и, при желании, Вы можете развернуть его локально, у себя на компьютере. Само программное обеспечение можно найти здесь – https://datalens.tech/.

  1. Неплохие практические примеры можно посмотреть здесь.

Результаты проверки практических заданий

https://i2z1.quarto.pub/checklab/

Список используемого ПО и сервисов

  1. Yandex Cloud
  2. Docker
  3. OpenCTI (через docker)
  4. Интерпретатор R 4.2
  5. RStudio Desktop
  6. пакеты R:
    • tidyverse
    • vroom
    • iptools

Data Science

  1. Схема знаний современных аналитических средств

Обработка больших данных

Данные можно считать большими (BigData) когда они не помещаются в оперативную память Вашего компьютера.

В зависимости от характеристик Вашего компьютера, Вы можете достаточно скоро встретиться с ситуацией, когда память (ОЗУ, она же RAM) исчерпана.

Для решения этой проблемы можно рассмотреть следующие направления:

  1. Использование СУБД, например, Clickhouse от Yandex.
  2. Использование подхода lazy-loading для данных:
  3. Аренда виртуальной машины – например Yandex.Cloud. Учитывая продолжительность данного курса, аренда высокопроизводительной машины на время выполнения задания потребует от Вас затрат сравнимых со стоимостью чашки кофе (и не из Starbucks!). При этом, Вы получите хороший опыт и удовольствие от мощной высокопроизводительной техники. Главное – не забывайте выключать виртуальную машину, когда не занимаетесь решением задач.