Skip to content

fracabu/generate-dataset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Cyber Anomaly Shield

Python 3.9 Streamlit scikit-learn License: MIT

Un sistema avanzato di rilevamento anomalie per la sicurezza informatica, che utilizza machine learning per identificare pattern sospetti nel traffico HTTP.

📊 Dataset originale

Questo progetto utilizza un dataset originale creato artificialmente per l'analisi della sicurezza informatica e il rilevamento delle anomalie.

Link al Dataset

Per il progetto è stato utilizzato il dataset che ho sviluppato personalmente è che è pubblico su Kaggle HTTP Log Anomaly Detection disponibile su Kaggle.

  • Versione: 1.0
  • Dimensione: 10,000 record
  • Formato: CSV

Caratteristiche del Dataset:

Feature Descrizione Tipo
Timestamp Data e ora di ogni log Datetime
IP_Address Indirizzi IP simulati String
Request_Type GET, POST, PUT, DELETE String
Status_Code Codici di risposta HTTP Integer
Anomaly_Flag Flag per anomalie (1=anomalia, 0=normale) Binary
User_Agent Identificazione browser/dispositivo String
Session_ID ID sessione simulati Integer
Location Localizzazione geografica String

🚀 Features dell'Applicazione

1. Dashboard Interattivo

  • Monitoraggio Real-time
    • Metriche chiave di sicurezza
    • Visualizzazioni interattive
    • Trend temporali
  • Analisi Statistica
    • Distribuzione delle richieste
    • Pattern di traffico
    • Hot-spot di anomalie

2. Training del Modello

  • Opzioni Multiple di Modelli
    • Random Forest
    • Isolation Forest
    • Modello Ibrido
  • Configurazione Parametri
    • Dimensione test set
    • Iperparametri
    • Bilanciamento classi
  • Metriche di Performance
    • Accuracy, Precision, Recall
    • Matrice di confusione
    • Curve ROC/PR

3. Rilevamento Live

  • Analisi in Tempo Reale
    • Valutazione immediata
    • Score di rischio
    • Alert configurabili
  • Visualizzazione Risultati
    • Grafici interattivi
    • Indicatori di rischio
    • Dettagli anomalie

🛠️ Installazione

Prerequisiti

  • Python 3.9+
  • pip
  • Git

Setup

  1. Clone del repository:
git clone [url-repository]
cd cybersecurity-anomaly-detector
  1. Creazione dell'ambiente virtuale:
python -m venv venv

# Windows
venv\Scripts\activate

# Linux/Mac
source venv/bin/activate
  1. Installazione dipendenze:
pip install -r requirements.txt

💻 Utilizzo

Avvio Applicazione

streamlit run streamlit_app/app.py

Esempi di Utilizzo

  1. Dashboard

    • Visualizza metriche in tempo reale
    • Analizza trend temporali
    • Esporta report
  2. Training

    • Seleziona modello
    • Configura parametri
    • Valuta performance
  3. Detection

    • Inserisci parametri richiesta
    • Analizza risultati
    • Configura alert

📁 Struttura del Progetto

cybersecurity-anomaly-detector/
├── data/
│   ├── raw/                  # Dataset originali
│   └── processed/            # Dataset processati
├── output/
│   ├── models/              # Modelli salvati
│   ├── plots/              # Grafici generati
│   └── metrics/            # Metriche di performance
├── scripts/
│   ├── 01_generate_dataset.py
│   ├── 02_data_exploration.py
│   └── ...
├── src/
│   ├── features/           # Feature engineering
│   ├── models/            # Implementazioni modelli
│   └── utils/             # Utility functions
├── streamlit_app/
│   ├── app.py            # Main app
│   └── components/       # Componenti UI
├── static/
│   ├── css/
│   └── images/
├── tests/                # Unit tests
├── requirements.txt
└── README.md

🤝 Contributing

Le contribuzioni sono benvenute! Per contribuire:

  1. Fork del repository
  2. Crea un branch feature (git checkout -b feature/AmazingFeature)
  3. Commit dei cambiamenti (git commit -m 'Add AmazingFeature')
  4. Push al branch (git push origin feature/AmazingFeature)
  5. Apri una Pull Request

Linee Guida

  • Segui PEP 8
  • Aggiungi test per nuove feature
  • Aggiorna la documentazione
  • Mantieni il codice pulito e commentato

📄 License

Distribuito sotto licenza MIT. Vedi LICENSE.md per maggiori informazioni.

✨ Acknowledgments

  • Dataset creato e messo a disposizione su Kaggle
  • Ispirato da reali log di sicurezza HTTP
  • Grazie alla community di sicurezza informatica

📧 Contatti

[Il tuo Nome] - @tuotwitter - email@example.com

Project Link: https://github.com/username/repo

📚 Documentazione Aggiuntiva

Releases

No releases published

Packages

No packages published

Languages