Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Mobile-Intrusion-Detection-System — 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. | Kitploit
Strumenti/GitLabGitLab/yashubitra/mobile-intrusion-detection-system
Strumenti DifensiviSniffing e Analisi dei PacchettiSicurezza di ReteSicurezza MobileMachine LearningRilevamento IntrusioniRilevamento di AnomalieAnalisi dei Log

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitLab
yashubitra/mobile-intrusion-detection-system

Mobile-Intrusion-Detection-System

Vedi RepositorySito web
191 anno faNon ancora revisionato

Informazioni

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.

Condividi

Mobile Intrusion Detection System

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.

Indice

  • Funzionalità
  • Panoramica dell'architettura
  • Installazione e configurazione dell'ambiente
  • Utilizzo
    • Modalità Train
    • Modalità Predict
    • Modalità Dashboard
  • Fonti dei dati e riferimenti esterni
  • Conclusioni e sviluppi futuri
  • Riferimenti
  • Licenza

Funzionalità

  • Cattura dei flussi di rete: utilizza MITMProxy per catturare i flussi HTTP dai dispositivi mobili.
  • Elaborazione e archiviazione dei flussi: archivia le catture di flussi precedenti rinominando flows.mitm in flows_1.mitm per evitare sovrascritture, quindi elabora le nuove catture.
  • Feature Engineering: estrae, scala e vettorizza le feature (tramite TF-IDF) dai flussi catturati.
  • Rilevamento delle anomalie: addestra un modello autoencoder sui dati storici per apprendere il comportamento normale e segnalare i flussi anomali in base agli errori di ricostruzione.
  • Filtro whitelist: applica un filtro whitelist utilizzando dati provenienti da fonti come Majestic Million e Top 1M domains (Kaggle) per filtrare le anomalie benigne.
  • Modalità Predict: elabora i nuovi dati catturati, applica il modello addestrato e restituisce le anomalie insieme alle metriche.
  • Modalità Dashboard: fornisce una dashboard interattiva (realizzata con Streamlit e Plotly) per la visualizzazione e l'analisi dei risultati.

Panoramica dell'architettura

  1. Cattura e archiviazione dei flussi

    • MITMProxy cattura i flussi di rete dai dispositivi mobili.
    • Il file di cattura esistente (flows.mitm) viene rinominato in flows_1.mitm prima della nuova cattura per evitare sovrascritture.
    • I flussi catturati vengono quindi convertiti nei formati CSV e JSON.
  2. Feature Engineering

    • Le feature vengono estratte dai flussi elaborati.
    • I dati vengono scalati tramite uno scaler e vettorizzati tramite TF-IDF.
    • Le feature ingegnerizzate vengono salvate in un file CSV e utilizzate per l'addestramento e la previsione del modello.
  3. Addestramento e previsione del modello

    • Modalità Train: elabora i dati storici per addestrare il modello autoencoder. Gli artefatti del modello, come il modello addestrato e lo scaler, vengono salvati.
    • Modalità Predict: elabora i nuovi dati catturati, esegue le previsioni con il modello addestrato e applica il filtro whitelist per ridurre i falsi positivi.
  4. Visualizzazione e dashboard (opzionale)

    • Una dashboard interattiva mostra metriche come curve di loss, distribuzioni degli errori di ricostruzione, conteggi delle anomalie e altro ancora.

Installazione e configurazione dell'ambiente

  1. Clonare il repository

    git clone https://github.com/yourusername/Mobile-Intrusion-Detection-System.git
    cd Mobile-Intrusion-Detection-System
    
  2. Creare e attivare un ambiente virtuale

    python3 -m venv venv
    source venv/bin/activate
    
  3. Installare i pacchetti richiesti

    pip install tensorflow pandas numpy scikit-learn matplotlib plotly streamlit
    

Utilizzo

Modalità Train

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:

  • Elabora i flussi di rete catturati.
  • Archivia il file di cattura precedente (ovvero, flows.mitm viene rinominato in flows_1.mitm).
  • Genera e scala le feature.
  • Addestra il modello autoencoder e lo valuta.
  • Salva il modello, lo scaler e il riepilogo dell'esecuzione nella directory results/ (incluso run_log.json).

Modalità Predict

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:

  • Archivia il file flows_1.mitm corrente con un timestamp.
  • Elabora i nuovi flussi catturati e li converte nei formati CSV e JSON.
  • Copia il nuovo file CSV nella posizione prevista ed esegue il feature engineering.
  • Carica lo scaler e il modello addestrati.
  • Esegue le predizioni sui nuovi dati e applica il filtraggio tramite whitelist.
  • Restituisce i risultati delle predizioni e li salva nella directory results/ insieme a un run_log.json aggiornato.

Modalità Dashboard

Per visualizzare i risultati e le metriche di prestazione, esegui la modalità dashboard usando Streamlit:

./run_project.sh dashboard

La dashboard mostra:

  • Curve di loss di training e validazione.
  • Distribuzione degli errori di ricostruzione con la soglia impostata.
  • Conteggi di anomalie su più esecuzioni.
  • Confronto del numero di URL univoci prima e dopo il filtraggio tramite whitelist.
  • Ulteriori grafici interattivi e tabelle riepilogative per approfondimenti.

Fonti dei dati e riferimenti esterni

  • Dati della whitelist:
    • Majestic Million Report
    • Top 1M Domains Dataset (Kaggle)

Conclusioni e sviluppi futuri

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.

Riferimenti

  • Majestic Million Report
  • Top 1M Domains Dataset (Kaggle)
  • MITMProxy
  • TensorFlow
  • Scikit-Learn
  • Plotly
  • Streamlit

Licenza

Questo progetto è distribuito con licenza MIT. Consultare il file LICENSE per i dettagli.

Scarica lo strumento