Un sistema avanzato di rilevamento anomalie per la sicurezza informatica, che utilizza machine learning per identificare pattern sospetti nel traffico HTTP.
Questo progetto utilizza un dataset originale creato artificialmente per l'analisi della sicurezza informatica e il rilevamento delle anomalie.
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
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 |
- Monitoraggio Real-time
- Metriche chiave di sicurezza
- Visualizzazioni interattive
- Trend temporali
- Analisi Statistica
- Distribuzione delle richieste
- Pattern di traffico
- Hot-spot di anomalie
- 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
- Analisi in Tempo Reale
- Valutazione immediata
- Score di rischio
- Alert configurabili
- Visualizzazione Risultati
- Grafici interattivi
- Indicatori di rischio
- Dettagli anomalie
- Python 3.9+
- pip
- Git
- Clone del repository:
git clone [url-repository]
cd cybersecurity-anomaly-detector
- Creazione dell'ambiente virtuale:
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
- Installazione dipendenze:
pip install -r requirements.txt
streamlit run streamlit_app/app.py
-
Dashboard
- Visualizza metriche in tempo reale
- Analizza trend temporali
- Esporta report
-
Training
- Seleziona modello
- Configura parametri
- Valuta performance
-
Detection
- Inserisci parametri richiesta
- Analizza risultati
- Configura alert
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
Le contribuzioni sono benvenute! Per contribuire:
- Fork del repository
- Crea un branch feature (
git checkout -b feature/AmazingFeature
) - Commit dei cambiamenti (
git commit -m 'Add AmazingFeature'
) - Push al branch (
git push origin feature/AmazingFeature
) - Apri una Pull Request
- Segui PEP 8
- Aggiungi test per nuove feature
- Aggiorna la documentazione
- Mantieni il codice pulito e commentato
Distribuito sotto licenza MIT. Vedi LICENSE.md
per maggiori informazioni.
- Dataset creato e messo a disposizione su Kaggle
- Ispirato da reali log di sicurezza HTTP
- Grazie alla community di sicurezza informatica
[Il tuo Nome] - @tuotwitter - email@example.com
Project Link: https://github.com/username/repo