Security Monitor - Система мониторинга безопасности
Система мониторинга событий в контейнеризованных средах для обнаружения бесфайловых атак на уровне ядра операционной системы с интеграцией MITRE ATT&CK.
🚀 Возможности
- eBPF мониторинг - сбор событий в реальном времени на уровне ядра
- MITRE ATT&CK интеграция - полная база данных тактик и техник (835+ техник)
- Автоматическая классификация - сопоставление событий с MITRE техниками
- Wazuh интеграция - отправка событий в SIEM систему
- Обработка событий - структурирование, обогащение и детекция аномалий
📁 Структура проекта
├── app/ # MITRE ATT&CK модули
│ ├── core/ # База данных SQLAlchemy
│ ├── models/ # Модели данных MITRE
│ └── services/ # Парсеры STIX данных
├── config/ # Конфигурационные файлы
├── data/ # База данных и STIX файлы
├── docs/ # Документация
├── ebpf/ # eBPF программы
├── logs/ # Логи системы
├── reports/ # Отчеты и документация
├── scripts/ # Скрипты управления
├── src/ # Основной код системы
└── tests/ # Тесты
🛠️ Установка
Требования
- Python 3.12+
- Linux с поддержкой eBPF
- BCC (Berkeley Packet Capture) для eBPF
Быстрая установка
# Клонирование репозитория
git clone <repository-url>
cd security-monitor
# Установка зависимостей
sudo apt update
sudo apt install python3-pip python3-venv python3.12-venv
# Создание виртуального окружения
python3 -m venv venv
source venv/bin/activate
# Установка Python пакетов
pip install -r requirements.txt
# Установка BCC (для eBPF)
sudo apt install python3-bpfcc
🚀 Запуск
1. Инициализация данных MITRE ATT&CK
# Загрузка полной базы данных MITRE ATT&CK
python scripts/load_mitre_attack_data.py --domain enterprise
# Проверка загруженных данных
python scripts/load_mitre_attack_data.py --verify-only
2. Запуск системы мониторинга
# Тестовый режим (без eBPF)
python src/main.py --test
# Продакшн режим (требует root)
sudo python src/main.py
📊 Статистика MITRE ATT&CK
- 14 тактик - полное покрытие enterprise домена
- 835 техник - детальная классификация атак
- 479 подтехник - специфичные методы атак
- 268 мер противодействия - рекомендации по защите
- 187 групп - известные APT группы
- 787 программного обеспечения - вредоносные инструменты
- 52 кампании - реальные атаки
🔧 Конфигурация
Основные настройки в config/config.yaml:
# eBPF настройки
ebpf:
enabled: true
program_path: "ebpf/syscall_monitor.c"
# MITRE ATT&CK настройки
mitre:
enabled: true
database_path: "data/mitre_attack.db"
mapping_file: "config/mitre_mapping.json"
# Wazuh интеграция
wazuh:
enabled: true
syslog_host: "localhost"
syslog_port: 514
🧪 Тестирование
# Запуск всех тестов
pytest tests/
# Запуск конкретного теста
pytest tests/test_ebpf_monitor.py -v
# Покрытие кода
pytest --cov=src tests/
📈 Мониторинг
Система создает следующие логи:
logs/security_monitor.log- основные события системыlogs/mitre_attack_loader.log- загрузка MITRE данныхlogs/wazuh_test.log- тестирование Wazuh интеграции
🔍 Классификация событий
Система автоматически сопоставляет события с MITRE техниками:
- T1059 - Command and Scripting Interpreter
- T1071 - Application Layer Protocol
- T1055 - Process Injection
- T1083 - File and Directory Discovery
- И многие другие...
📚 Документация
🤝 Вклад в проект
- Форкните репозиторий
- Создайте ветку для новой функции
- Внесите изменения
- Добавьте тесты
- Создайте Pull Request
📄 Лицензия
MIT License - см. файл LICENSE для деталей.
🆘 Поддержка
При возникновении проблем:
- Проверьте логи в папке
logs/ - Убедитесь, что BCC установлен корректно
- Проверьте права доступа для eBPF
- Создайте Issue в репозитории
🎯 Roadmap
- Поддержка mobile и ICS доменов MITRE ATT&CK
- Машинное обучение для детекции аномалий
- Веб-интерфейс для мониторинга
- Интеграция с другими SIEM системами
- Поддержка Windows eBPF
Разработано для дипломной работы по теме:
"Разработка подсистемы мониторинга событий в контейнеризованных средах для обнаружения бесфайловых атак на уровне ядра операционной системы"
Description
Languages
Python
98%
C
0.9%
C++
0.6%
Cython
0.3%