Skip to content

EkaterinaVZ/hackathon_2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Межгалактический Хакатон 2022image

Кейс от компании УЦСБ "Обнаружение атак на завод по очистке воды"

Задача Хакатона - разработать модель, которая будет обнаруживать цифровые и физические атаки на оборудование промышленного предприятия

Состав команды:

  • Екатерина Жериборова
  • Инесса Бабий
  • Алексей Подлягин
  • Виталий Бадин
  • София Морий

Сделаем воду чистой и улучшим экологию!

Описание кейса:

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

...................................................................................................................................................................

Описание данных:

  • Данные подготовлены Сингапурским университетом c помощью стенда для безопасной очистки воды (Secure Water Treatment, SWaT), который является уменьшенным вариантом реального завода
  • Сбор данных проходил в течение 11 дней:
    • Первые семь дней стенд эксплуатировался в штатном режиме без атак и отказов
    • В последующие 4 дня были предприняты кибератаки и физические атаки без прекращения сбора данных
  • Всего за 4 дня было осуществлено 36 киберфизических атак
  • По результатам работы стенда были собраны следующие данные по состоянию оборудования, показателям технологического процесса и состоянию сетевого трафика:
    • 1 датасет с состоянием оборудования и показателями работы системы при нормальной эксплуатации,
    • 1 датасет с состоянием оборудования и показателями работы системы при работе во время атак,
    • пул датасетов по состоянию сетевого графика за весь период эксплуатации
  • Атаки в датасетах с параметрами состояния оборудования и работы системы размечены вручную

Ссылка на данные:

https://docs.google.com/spreadsheets/d/18BYm7zwvKvA4xdLsWgrWxNwYt4ttGcUJ/edit?usp=sharing&ouid=107820610279677769796&rtpof=true&sd=true

Описание модели

Работу над кейсом проводили с использованием следующих методов машинного обучения:

  • Метод проверки 1 - Обучение моделей по размеченным данным (обучение с учителем):
    • KNeighborsClassifier()
    • DecisionTreeClassifier()
    • RandomForestClassifier()
    • MLPClassifier(max_iter=500)
    • GaussianNB()
    • LinearDiscriminantAnalysis()
    • LinearDiscriminantAnalysis(solver='svd')
    • QuadraticDiscriminantAnalysis()
    • SVC()
    • LogisticRegression()
  • Метод проверки 2 - Модель обнаружения аномалий (обучение без учителя):
    • PyOD

Настройка гиперпараметров проводились с помощью GridSearchCV. В целях продолжения эксперимента планируется применить случайный поиск/подбор CV гиперпараметров и с помощью optuna

Выводы

По методу 1 (обучение с учителем):

  • из 10 моделей обучения 3 показали наибольшую эффективность
  • параметр время не оказывает никакого влияния на результаты доли правильных ответов (Accuracy)
  • не всегда автоматический подбор гиперапараметров приводит к лучшим результатам
  • лучшая модель DecisionTreeClassifier accuracy 0.999

По методу 2 (обучение без учителя):

  • на результаты обучения сильно влияет качество подбора гиперпараметров
  • применение нейронных сетей могут дать хорошие результаты в части поиска аномалий
  • результаты accuracy 0.95, precision 0.85

Используемые материалы

  • https://habr.com/ru/post/588320/
  • Anomaly Detection by Auto Encoder (Deep Learning) in PyOD | Step-by-step Data Science (h1ros.github.io)
  • Обнаружение аномалий с помощью автоэнкодеров Made Easy (machinelearningmastery.ru)
  • Библиотека pyod - yzhao062/pyod: A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection) (github.com)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published