
Autoencoder profondo non supervisionato che segnala traffico mobile anomalo: oltre 25.000 flussi HTTP/HTTPS intercettati da un dispositivo iOS reale con mitmproxy, ottimizzazione della soglia che ha ridotto i flussi segnalati da 1.100 a 103 e una dashboard di monitoraggio Streamlit.
Questo progetto implementa un Mobile Intrusion Detection System che elabora il traffico di rete catturato dai dispositivi mobili, esegue feature engineering e utilizza un modello di deep learning basato su autoencoder per rilevare flussi di rete anomali. Vengono utilizzati threat intelligence esterni e dati di whitelist per ridurre i falsi positivi e migliorare l'accuratezza del rilevamento.
flows.mitm in flows_1.mitm per evitare sovrascritture, quindi elabora le nuove catture.Cattura e archiviazione dei flussi
flows.mitm) viene rinominato in flows_1.mitm prima della nuova cattura per evitare sovrascritture.Feature Engineering
Addestramento e previsione del modello
Visualizzazione e dashboard (opzionale)
Clonare il repository
git clone https://github.com/yourusername/Mobile-Intrusion-Detection-System.git
cd Mobile-Intrusion-Detection-System
Creare e attivare un ambiente virtuale
python3 -m venv venv
source venv/bin/activate
Installare i pacchetti richiesti
pip install tensorflow pandas numpy scikit-learn matplotlib plotly streamlit
Esegui la pipeline di addestramento per elaborare i dati storici, eseguire il feature engineering e addestrare il modello autoencoder:
./run_project.sh train
Questo comando esegue i seguenti passaggi:
Prima di eseguire la predizione, il file flows_1.mitm esistente viene archiviato (con un timestamp) per preservare i dati di cattura precedenti. Successivamente, vengono catturati ed elaborati nuovi flussi:
./run_project.sh predict
Questo comando esegue i seguenti passaggi:
Per visualizzare i risultati e le metriche di prestazione, esegui la modalità dashboard usando Streamlit:
./run_project.sh dashboard
La dashboard mostra:
Il Mobile Intrusion Detection System dimostra un'efficace elaborazione dei dati di flusso di rete provenienti da dispositivi mobili e sfrutta un approccio basato su autoencoder per il rilevamento delle anomalie. L'integrazione del filtraggio tramite whitelist riduce significativamente i falsi positivi; tuttavia, la fase di predizione ha evidenziato delle criticità, in particolare nel distinguere i flussi benigni legati alle ricerche Google da attività realmente malevole. Ciò indica che è necessario un ulteriore affinamento della logica di rilevamento delle anomalie, soprattutto all'interno della fase di filtraggio tramite whitelist. Gli sviluppi futuri si concentreranno sul miglioramento degli algoritmi di filtraggio, sull'integrazione di ulteriori fonti di threat intelligence e sull'ampliamento delle funzionalità della dashboard per ottenere approfondimenti più dettagliati.
Questo progetto è distribuito con licenza MIT. Consultare il file LICENSE per i dettagli.