Skip to content
cybersexpPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Система анализа и реагирования на угрозы безопасности

Инструмент для обнаружения и анализа потенциальных угроз безопасности в сетевых логах и через интеграцию с API VirusTotal.

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

  • 📂 Сбор данных из сетевых логов и API VirusTotal
  • 🔍 Анализ угроз - выявление подозрительной активности и уязвимостей
  • ⚡ Реагирование - автоматическая блокировка IP и отправка уведомлений
  • 📊 Визуализация - графики и диаграммы результатов анализа
  • 📋 Отчетность - JSON и CSV отчеты с детальной информацией

📋 Требования

  • Python 3.8+
  • Зависимости: requests, pandas, matplotlib, seaborn

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

1. Установка зависимостей

pip install requests pandas matplotlib seaborn

2. Генерирование логов демонстрации

python security_tool.py -g

3. Запуск анализа

# Простой анализ
python security_tool.py

# С проверкой в VirusTotal
python security_tool.py -k <ваш_ключ_virustotal>

# С отправкой в Telegram
python security_tool.py -t bot_token:chat_id

# Все вместе
python security_tool.py -g -k <ключ_VT> -t <ключ_TG>

📖 Использование

Основные опции командной строки

-k, --virustotal-key KEY     API ключ VirusTotal для проверки IP
-t, --telegram-key KEY       Telegram ключ в формате bot_token:chat_id
-g, --generate-logs          Генерировать новые логи демонстрации
-l, --log-file FILE          Путь к файлу логов (по умолчанию: logs/network_events.json)
-v, --verbose                Подробный вывод
-h, --help                   Справка

Примеры

Базовое использование:

python security_tool.py

С генерацией новых логов:

python security_tool.py -g

С проверкой в VirusTotal (требуется API ключ):

python security_tool.py -k <ваш_ключ_virustotal>

С отправкой уведомлений в Telegram:

python security_tool.py -t 1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg

Полная версия:

python security_tool.py -g -k <ваш_ключ_virustotal> -t bot_token:chat_id -v

📊 Архитектура

Компоненты системы

  1. log_generator.py - Генератор примеров логов сетевых событий
  2. data_collector.py - Сбор данных из логов и API VirusTotal
  3. threat_analyzer.py - Анализ и классификация угроз
  4. threat_responder.py - Реагирование на обнаруженные угрозы
  5. report_generator.py - Формирование отчетов и графиков

Поток данных

Логи → Сбор данных → Анализ → Реагирование → Отчет
                ↓
          API VirusTotal

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

.
├── security_tool.py          # Главный скрипт
├── src/
│   ├── __init__.py
│   ├── log_generator.py      # Генератор логов
│   ├── data_collector.py     # Сбор данных
│   ├── threat_analyzer.py    # Анализ угроз
│   ├── threat_responder.py   # Реагирование на угрозы
│   └── report_generator.py   # Генератор отчетов
├── logs/                      # Директория с логами
│   └── network_events.json
├── reports/                   # Директория с отчетами и графиками
│   ├── security_report_*.json
│   ├── threats_*.csv
│   ├── severity_distribution_*.png
│   ├── threat_types_*.png
│   ├── top_risky_ips_*.png
│   └── risk_gauge_*.png
└── README.md                  # Этот файл

🔌 Интеграция с VirusTotal

Получение API ключа

  1. Зарегистрируйтесь на https://www.virustotal.com/
  2. Перейдите в раздел Account → API key
  3. Скопируйте ваш API ключ
  4. Используйте при запуске: python security_tool.py -k ваш_ключ

Что проверяется

  • IP адреса на предмет известных вредоносных активностей
  • Статистика подозрительных и вредоносных обнаружений

💬 Интеграция с Telegram

Настройка бота

  1. Создайте бота в Telegram через @BotFather
  2. Получите chat_id (отправьте сообщение боту и проверьте логи)
  3. Используйте при запуске: python security_tool.py -t bot_token:chat_id

Формат ключа

bot_token:chat_id

Пример:

1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg:987654321

📊 Вывод анализа

Типы обнаруженных угроз

  1. Подозрительный IP - IP с множеством событий или высокой серьезностью
  2. Паттерн атаки - Часто повторяющиеся типы атак

Уровни серьезности

  • 🔴 Критический (critical) - Требует немедленного действия
  • 🟠 Высокий (high) - Требует скорого рассмотрения
  • 🟡 Средний (medium) - Требует мониторинга
  • 🟢 Низкий (low) - Информационный

⚙️ Реагирование на угрозы

Автоматические действия

  • Критические угрозы: Имитация блокировки IP + уведомление в консоль и Telegram (если доступен)
  • Высокие угрозы: Имитация блокировки IP + уведомление в консоль
  • Средние угрозы: Только логирование

Примечание

В текущей версии реагирование реализовано как имитация (для демонстрации логики). В боевой системе вместо имитации будут реальные действия (блокировка в firewall, отправка писем администратору и т.д.).

📈 Графики и отчеты

Система создает следующие визуализации:

  1. severity_distribution_*.png - Распределение угроз по уровню серьезности (столбчатая диаграмма)
  2. threat_types_*.png - Распределение типов угроз (круговая диаграмма)
  3. top_risky_ips_*.png - Топ 5 рискованных IP адресов (горизонтальная диаграмма)
  4. risk_gauge_*.png - Шкала общего риска сети (0-100%)

📝 Форматы отчетов

JSON отчет

{
  "report_timestamp": "2024-01-01T10:00:00",
  "summary": {
    "total_threats_detected": 5,
    "network_risk_score": 65.5,
    "severity_breakdown": {...}
  },
  "threat_details": [...],
  "response_actions": {...},
  "analysis": {...}
}

CSV отчет

Табличный формат с колонками:

  • Угроза
  • Тип
  • Событий
  • Серьезность
  • Уровень угрозы
  • Обнаружено

📧 JSON структура логов

{
  "timestamp": "2024-01-01T12:00:00",
  "src_ip": "192.168.1.100",
  "dst_ip": "10.0.0.50",
  "src_port": 12345,
  "dst_port": 443,
  "protocol": "HTTPS",
  "severity": "high",
  "alert_type": "SQL Injection",
  "details": "Обнаружен подозрительный трафик: SQL Injection"
}

🐛 Решение проблем

Ошибка при импорте модулей

ModuleNotFoundError: No module named 'requests'

Решение: Установите зависимости

pip install requests pandas matplotlib seaborn

Ошибка 401 при проверке в VirusTotal

API VirusTotal вернул код 401

Решение: Проверьте правильность API ключа

Логи не найдены

Файл логов не найден: logs/network_events.json

Решение: Используйте флаг -g для генерирования логов

python security_tool.py -g

📄 Лицензия

MIT License - свободное использование в образовательных и коммерческих целях

📞 Поддержка

Если у вас возникли вопросы или проблемы, проверьте:

  1. Установлены ли все зависимости
  2. Правильны ли ключи API (если используются)
  3. Существует ли файл с логами
  4. Используется ли Python 3.8+

Версия: 1.0
Последнее обновление: Март 2026
Автор: Security Analysis Team

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages