2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00
2025-11-17 09:25:42 +03:00

ATT&CK Attack Chain Generator

Программный комплекс для формирования многоэтапных атак на основе базы знаний MITRE ATT&CK.

🚀 Возможности

  • Парсинг данных ATT&CK — автоматическая загрузка и структурирование данных из MITRE ATT&CK
  • Анализ атак — построение графов атак и анализ связей между TTPs
  • Симуляция атак — генерация сценариев атак и kill chains
  • Анализ рисков — оценка рисков и генерация рекомендаций по защите
  • Визуализация — интерактивные графы атак с помощью D3.js
  • Современный UI — веб-интерфейс на React + Material-UI
  • REST API — полнофункциональное API на FastAPI

🛠 Технологии

Backend

  • Python 3.11 — основной язык программирования
  • FastAPI — современный веб-фреймворк для API
  • SQLAlchemy — ORM для работы с базой данных
  • PostgreSQL — основная база данных
  • Redis — кэширование и очереди задач
  • NetworkX — работа с графами атак
  • mitreattack-python (>=3.0.0) — парсинг данных MITRE ATT&CK

Frontend

  • React 18 — библиотека для создания UI
  • TypeScript — типизированный JavaScript
  • Material-UI — компоненты пользовательского интерфейса
  • D3.js — визуализация графов атак
  • React Router — маршрутизация

Инфраструктура

  • Docker & Docker Compose — контейнеризация
  • Nginx — веб-сервер (опционально)

🚀 Быстрый старт

Требования

  • Docker и Docker Compose
  • Git

Установка и запуск

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

    git clone <repository-url>
    cd md_kurs
    
  2. Запустите систему:

    sudo docker-compose up --build -d
    
  3. Проверьте статус:

    sudo docker-compose ps
    
  4. Откройте приложение:

Инициализация данных

После первого запуска добавьте демонстрационные данные:

sudo docker-compose exec backend python demo_data.py

📊 Основные функции

1. Управление данными ATT&CK

  • Просмотр тактик, техник, подтехник
  • Фильтрация по доменам (enterprise, mobile, ics)
  • Поиск и навигация по данным
  • Статистика по объектам

2. Анализ атак

  • Построение графов атак
  • Визуализация связей между TTPs
  • Анализ уязвимостей
  • Поиск критических путей

3. Симуляция атак

  • Генерация сценариев атак (stealth, aggressive, persistent, opportunistic)
  • Создание kill chains
  • Анализ рисков
  • Рекомендации по защите

4. Визуализация

  • Интерактивные графы атак
  • D3.js визуализация
  • Материальный дизайн
  • Адаптивный интерфейс

🔧 API Endpoints

ATT&CK Data

  • GET /api/v1/attack/tactics — список тактик
  • GET /api/v1/attack/techniques — список техник
  • GET /api/v1/attack/stats — статистика
  • POST /api/v1/attack/update-data — обновление данных

Analysis

  • GET /api/v1/analysis/graph — построение графа
  • GET /api/v1/analysis/stats — статистика графа
  • GET /api/v1/analysis/tactics — тактики для анализа

Simulation

  • POST /api/v1/simulation/scenario — генерация сценария
  • POST /api/v1/simulation/killchain — генерация kill chain
  • POST /api/v1/simulation/risk-analysis — анализ риска
  • GET /api/v1/simulation/tactics — тактики для симуляции

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

md_kurs/
├── backend/                 # Backend приложение
│   ├── app/
│   │   ├── api/            # API маршруты
│   │   ├── core/           # Конфигурация и база данных
│   │   ├── models/         # Модели данных
│   │   └── services/       # Бизнес-логика
│   ├── Dockerfile
│   └── requirements.txt
├── frontend/               # Frontend приложение
│   ├── src/
│   │   ├── components/     # React компоненты
│   │   ├── pages/         # Страницы приложения
│   │   └── services/      # API сервисы
│   ├── Dockerfile
│   └── package.json
├── data/                   # Данные и скрипты
├── docker-compose.yml      # Конфигурация Docker
├── README.md
└── PROJECT_DOCUMENTATION.md

🧪 Тестирование

Тестирование API

# Проверка тактик
curl http://localhost:8000/api/v1/attack/tactics

# Генерация сценария
curl -X POST "http://localhost:8000/api/v1/simulation/scenario?scenario_type=stealth"

# Генерация kill chain
curl -X POST "http://localhost:8000/api/v1/simulation/killchain"

Локальная разработка

# Backend
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload

# Frontend
cd frontend
npm install
npm start

🔒 Безопасность

  • Валидация входных данных
  • Обработка ошибок
  • Логирование операций
  • Изоляция контейнеров

📈 Производительность

  • Кэширование в Redis
  • Индексы базы данных
  • Пагинация результатов
  • Асинхронная обработка

📚 Документация

Подробная документация доступна в файле PROJECT_DOCUMENTATION.md.

🤝 Вклад в проект

  1. Fork репозитория
  2. Создайте feature branch
  3. Внесите изменения
  4. Создайте Pull Request

📄 Лицензия

Проект распространяется под лицензией MIT.

📞 Контакты

🗺 Roadmap

v1.1.0

  • Поддержка дополнительных доменов ATT&CK
  • Улучшенная визуализация
  • Экспорт результатов
  • API для интеграции

v1.2.0

  • Машинное обучение для анализа
  • Автоматическое обновление данных
  • Расширенная аналитика
  • Мобильное приложение

v2.0.0

  • Микросервисная архитектура
  • Облачное развертывание
  • Масштабируемость
  • Enterprise функции
Description
No description provided
Readme 1 MiB
Languages
Python 90.6%
TypeScript 9.3%