Sharkticon est un système de détection d'intrusion.
Sa spécificité est d'utiliser un système de détection d'anomalies et du machine learning, notamment l'architecture des transformateurs.
En effet, actuellement les IDS (système de détection d'intrusion) les plus connus utilisent une base de données de signatures d'attaques pour détecter les attaques.
Un problème se pose évidemment si ces systèmes sont confrontés à de nouvelles attaques. Ce n’est pas le cas de notre IDS, capable de détecter des attaques qu’il n’a jamais vues grâce à la détection d’anomalies.
Voir ci-dessous un schéma de l'architecture actuelle
Notre logiciel se compose de deux parties.
Une première fenêtre de configuration qui vous demandera le nombre de paquets que vous souhaitez voir sur le graphique
puis à l'avenir le ou les protocoles sur lesquels vous souhaitez axer l'analyse
Ensuite un temps de chargement aura lieu le temps de l'entraînement du modèle sur votre réseau,
alors un graphique en temps réel s'affichera où vous pourrez voir la stabilité de votre réseau.
Si une anomalie est détectée, elle sera affichée et enregistrée dans les fichiers journaux.
Voici la liste des protocoles supportés :
Protocoles | Opérationnel |
---|---|
HTTP | ✔️ |
UDP | |
TCP |
git clone https://github.com/PoCInnovation/Sharkticon.git
cd Sharkticon
pip3 install -r requirements.txt
python3 Sharkticon
Si vous utilisez la CLI, vous aurez moins d'informations
mais l'essentiel comme les alertes sera disponible.
Sharkticon utilise Wireshark pour récupérer le flux réseau. est ensuite traité par un script python pour le restituer au format de notre modèle.
Pour notre modèle, nous utilisons l'architecture des transformateurs, étant l'état de l'art en PNL, nous l'avons adaptée et utilisée dans notre projet. C'est pourquoi nous nous sommes concentrés sur le protocole HTTP qui est plus verbeux et donc où les transformers exploitent au mieux ses qualités.
Notre modèle fait une prédiction du prochain paquet à partir des précédents, nous utilisons ensuite notre algorithme de détection d'anomalies pour détecter si le paquet est malveillant, si X paquets sont malveillants dans un laps de temps Y alors nous déclenchons une alerte.
Notre logiciel est divisé en deux parties principales, la formation et l'analyse. Voici la liste des fonctionnalités
Caractéristiques | Description |
---|---|
Entraînement | Tout d'abord, le logiciel propose d'entraîner le modèle de votre flux réseau |
Analyser les réseaux | Ensuite, le modèle analysera votre réseau en affichant un graphique qui vous montrera la stabilité de votre réseau |
Détection des anomalies | Les prédictions de paquets seront traitées par notre algorithme de détection d'anomalies, une alerte sera affichée si une anomalie est détectée |
Gestionnaire de journaux | Toutes vos alertes seront regroupées dans un dossier log avec la date et l'heure de l'anomalie |