
Multivariater statistischer Netzwerküberwachungssensor, der Anomalien mittels PCA-basierter Verfahren erkennt, indem er leichtgewichtige Statistiken von hierarchischen Netzwerkgeräten für skalierbare Eindringungserkennung aggregiert.
MSNM-S (Multivariate Statistical Network Monitoring-Sensor) zeigt die praktische Eignung der in PCA-MSNM und Hierarchical PCA-MSNM vorgestellten Ansätze. Der erste Ansatz stellt die MSNM-Methode und eine neue multivariate statistische Methodik zur Netzwerkanomalieerkennung vor, während der zweite den ersten in hierarchischen und strukturierten Netzwerksystemen vorschlägt. Die Hauptidee hinter diesen Arbeiten ist die Verwendung multivariater statistischer Techniken, um nützliche Informationen in Form von zwei Statistiken zu generieren. Diese leichten Informationen gelangen von niedrigeren zu höheren Ebenen einer Netzwerkhierarchie. Auf diese Weise erhält der Wurzelsensor (z. B. ein Border-Router) alle statistischen Informationen und kann seine eigenen Statistiken (Q, D) berechnen. Durch die Überprüfung dieser Statistiken kann ein Sicherheitsanalyst feststellen, ob anomale Ereignisse auftreten, wenn einige der Statistikwerte über bestimmten Kontrollgrenzen liegen.
[See details at https://journals.sagepub.com/doi/full/10.1177/1550147720921309]
MSNM-S ist als extrem skalierbar und aseptisch konzipiert, da nur zwei Parameter zwischen den Ebenen oder Geräten im überwachten Netzwerk oder System gesendet werden. Darüber hinaus ist der MSNMSensor in der Lage, mehrere und heterogene Datenquellen auf jedem überwachten Gerät zu verwalten, dank des Feature-Engineering-Ansatzes von FCParser (Feature as a Counter Parser).
MSNSensor läuft mit Python 3 und wurde erfolgreich auf Ubuntu ab Version 16.04 getestet. Außerdem müssen die folgenden Abhängigkeiten installiert werden.
Die Erstellung einer Python-Ausführungsumgebung ist wahrscheinlich der bessere Weg, die Anwendung auszuführen. Daher empfehle ich, eine solche zu erstellen, bevor die Abhängigkeiten installiert werden. Eine Anaconda-Umgebung kann Ihnen helfen, und wenn Sie sich dafür entscheiden, führen Sie die folgenden Befehle aus:
$ conda create -n msnm-dev python=3.7
$ conda activate msnm-dev
Durch Ausführen des vorherigen Befehls wird alles Notwendige installiert.
(msnm-dev) $ pip install -r requirements.txt
Bitte beachten Sie die Anweisungen unter examples oder laden Sie die vorkonfigurierte VM unter MSNM-S-UBUNTU herunter. Wir empfehlen Ihnen, die VM zu verwenden. Denken Sie daran, das Repository zu pullen, um das MSNM-S-Projekt zu aktualisieren. Im Folgenden sehen Sie die notwendigen Schritte, um das vorkonfigurierte Experiment in der VM auszuführen:
Ausführen der MSNM-Ss (Backend)
Öffnen Sie ein Terminalfenster und aktivieren Sie den Netflow-Daemon und den Collector.
$ cd ~/msnm-sensor/scripts/netflow/
$ sudo ./activateNetflow.sh (pass: msnm1234)
Warten Sie 5 Minuten, um Netflow-Datensätze zu erhalten. Führen Sie die MSNM-Ss im Beispiel example/scenario_4 aus und setzen Sie sie ein:
$ cd ~/msnm-sensor/scripts/
$ conda activate py27
$ ./start_experiment.sh ../examples/scenario_4/
$ ps -ef | grep msnmsensor (nur um zu überprüfen, ob alle vier MSNM-Ss laufen)
$ tail -500f ~/msnm-sensor/examples/scenario_4/borderRouter/logs/msnm.log (eine weitere Möglichkeit zu sehen, wie der MSNM-S funktioniert. Ersetzen Sie den Namen des MSNM-S, wenn Sie die anderen sehen möchten.)
Ausführen des Dashboards (Frontend):
Öffnen Sie ein neues Terminalfenster.
$ cd ~/msnm-sensor/dashboard/
$ conda activate msnm-dashboard
$ ln -s ../examples examples
$ python manage.py runserver
Navigieren Sie zu http://localhost:8000