YKatser / FraudDetection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cyber-attacks detection

Решение представляет собой приложение для обработки сетевых данных, логов и другой информации о текущем и предыдущих соединениях с целью поиска и классификации на 5 основных классов (normal, dos, u2r, r2l, probe).

Data

  1. Наборы данных;
  2. Типы тренировочных атак;
  3. Схема данных набора данных в машино-читаемой форме;
  4. Полный набор данных для обучения;
  5. Набор данных для тестирования.

Решенные задачи

  1. Обнаружить атаки в тестовой выборке и классифицировать их;
  2. Построить статистику по выявленным атакам, процентные соотношения между атаками;
  3. Продемонстрировать работу разработанного модуля на реальных данных.

1. Обнаружение атак в тестовой выборке

Данная задача решается на известном датасете NSL-KDD. Существует большое число работ (включая обзоры), посвященных решению задачи обнаружения кибер-атак на датасетах NSL-KDD и KDD Cup 1999:

Была проведена предварительная обработка данных:

  1. Масштабирование (Z-нормализация);
  2. Преобразование категориальных признаков;
  3. Приведение вектора ответов к 5 классам кибер-атак.

Задача была решена для двух случаев:

  1. Обнаружение кибер-атак (бинарная классификация);
  2. Классификация кибер-атак (многоклассовая классификация).

Также было учтено изменение распределение классов между трейном и тестом.

Задача бинарной классификации

Данную задачу можно интерпретировать как задачу обнаружения кибер-атак. В качестве бейзлайнового алгоритма Машинного обучения используется случайный лес.

Результаты:

  • Точность на тестовой выборке: 0.8123.
  • Время выполнения расчета для 22544 строк логов (тестовая выборка): 0:00:00.116.

Задача многоклассовой классификации

Данную задачу можно интерпретировать как задачу распознавания конкретных типов кибер-атак. В качестве бейзлайнового алгоритма Машинного обучения используется случайный лес.

Результаты:

  • Точность на тестовой выборке: 0.7758.
  • Время выполнения расчета для 22544 строк логов (тестовая выборка): 0:00:00.115.

2. Задача расчета и визуализации статистики

Задача решается с помощью средств анализа и визуализации данных python. Пример представлен в презентации.

3. Демонстрация работы модуля распознования и классификации кибер-атак

Демонстрация реализована в веб-приложении.

Необходимо загрузить файл из датасета Kyoto University Benchmark Data либо ввести данные вручную.

About


Languages

Language:Jupyter Notebook 98.7%Language:Python 1.3%