Skip to content

romanshablio/cybersecurity_analysis

Repository files navigation

cybersecurity_analysis

Данный репозиторий является учебным. В рамках данного репозитория будут исследоваться киберугрозы и будет произведена попытка обучения нейронной сети для выявления инцидентов информационной безопасности.

В данной работе используются следующие библиотеки:

tensorflow - Построение и обучение нейросети pandas, numpy - Предобработка и анализ табличных дан-ных matplotlib, seaborn - Визуализация результатов scikit-learn - Разделение выборки, метрики качества kagglehub - Загрузка датасета с платформы Kaggle

Работа содержит

Global_Cybersecurity_Threats_2015-2024.csv - набор данных, на котором обучатся нейросеть main.py содержит начальную стадию разработки нейросети. Она пока ничего не умеет. first_itteration.ipynb - первый прототип на ноутбуке, который начал обучаться и давать результаты. second_itteration.ipynb - содержит продолжение первого прототипа, на основании main.py. Содержит улучшенниие результатов обучения и дополнительные модули. impovment_itteration.ipynb - содержит продолжение второй иттерации обучения нейросети на основании метода Random Forest. Которрый в свою очередь показывает наиболее лучшие результаты по сравнению с предыдущими моделями.

Анализ глобальных киберугроз и классификация инцидентов

Этот проект представляет собой практическое исследование в области кибербезопасности, направленное на анализ инцидентов информационной безопасности с использованием методов машинного обучения. Исследование основано на датасете Global Cybersecurity Threats 2015–2024, размещённом на платформе Kaggle.

Цель проекта

Разработать и сравнить два подхода к классификации инцидентов кибербезопасности:

  • Нейросетевой метод (PyTorch): построение многослойной полносвязной сети для многоклассовой классификации.
  • Классический метод (Random Forest): ансамблевый алгоритм на табличных данных.

Структура проекта

├── data/
│   └── Global_Cybersecurity_Threats_2015-2024.csv
├── notebook.ipynb         # Jupyter-ноутбук с исследованием
├── README.md              # Описание проекта
├── requirements.txt       # Зависимости (можно сгенерировать через pip freeze)
└── reports/
    ├── confusion_matrix_rf.png
    └── pca_visualization.png

Метрики качества

Сравнение моделей по точности (accuracy) и полноте (recall) показало: • Нейросеть не справляется с разделением классов (accuracy ~13–20%) • Random Forest показывает более стабильные предсказания, задействуя все классы

Пример вывода классификации

Классификационный отчёт: precision recall f1-score support 0 0.33 0.27 0.30 149 1 0.34 0.30 0.32 148 2 0.28 0.35 0.31 138 3 0.41 0.45 0.43 165 accuracy 0.34 600

Запуск проекта

1.	Клонируйте репозиторий:

git clone https://github.com/username/cyberthreat-classifier.git cd cyberthreat-classifier

2.	Установите зависимости:

pip install -r requirements.txt

3.	Запустите Jupyter Notebook:

jupyter notebook

Источники данных

•	Kaggle dataset: Global Cybersecurity Threats 2015–2024

Автор

Шаблий Роман Кафедра информационных систем Московский университет им. С.Ю. Витте, 2025

About

Данный репозиторий является учебным. В рамках данного репозитория будут исследоваться киберугрозы и будет произведена попытка обучения нейронной сети для выявления инцидентов информационной безопасности.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors