
Ein grafisches Sicherheitsanalyse-Tool für IoT-Netzwerke
Archivhinweis - Nach Abschluss meines Forschungsstudiums wurde das Repository archiviert.
ASTo hat einen bedeutenden Einfluss auf meine Forschung gehabt. Ich möchte allen meinen Dank aussprechen, die dazu beigetragen haben, es besser zu machen.
Dies ist jedoch nicht das Ende. Die aktive Entwicklung wird auf dem Repository von CyberLens's fortgesetzt. Bitte melden Sie Probleme und Funktionswünsche dort.
ASTo ist ein Sicherheitsanalysetool für IoT-Netzwerke. Es wurde entwickelt, um das Sicherheitsframework Apparatus zu unterstützen. ASTo basiert auf electron und cytoscape.js. Die Symbole werden von Googles Material Design bereitgestellt.
Die Anwendung befindet sich in der Alpha-Phase. Der Fokus liegt derzeit darauf, die Kernfunktionalität der Anwendung zu verbessern und weitere Funktionen einzuführen, um die Beta-Phase zu erreichen.
Einige Screenshots




ASTo verfügt über eine Befehlszeilenkonsole in der unteren rechten Ecke der App. Sie erhalten den Fokus auf die Konsole durch Drücken der Tastenkombination cmd + l für macOS und ctrl + l für Windows/Linux. Wenn Sie help eingeben, wird eine Liste der Konsolenoptionen angezeigt.
Die Konsole kann verwendet werden, um nach bestimmten Objekten im Graphen zu suchen oder Operationen auszuführen. Rohtext wird als Sucheingabe verwendet. Wenn Sie beispielsweise device eingeben, hebt ASTo alle Knoten im Graphen hervor, die das Wort device als Attribut haben.
Allen Konsolenbefehlen muss ein : vorangestellt werden. Zum Beispiel führt die Eingabe von :insights die Sicherheitserkenntnisfunktionen aus. Andererseits führt die Eingabe von insights (ohne :) eine Suchoperation auf den Graphelementen mit dem Schlüsselwort insights durch.
ASTo unterstützt ein helles und ein dunkles Farbschema. Die Farbschemata basieren auf Atoms One Dark und One Light. Um zwischen den Schemata zu wechseln, verwenden Sie den Umschaltknopf in der unteren linken Ecke.
Um dieses Repository zu klonen und auszuführen, müssen Git und Node.js auf Ihrem Computer installiert sein. Um die App herunterzuladen und zu installieren, geben Sie Folgendes in Ihr Terminal ein:
# Clone dieses Repository
git clone https://github.com/Or3stis/apparatus.git
# Navigiere in das Repository
cd apparatus
# Installiere Abhängigkeiten
npm install
Verschiedene Betriebsmodi der App.
# Um die App im Standardmodus auszuführen
npm start
# Um die App im Entwicklermodus auszuführen
npm run dev
# Um die App als Binärdatei zu erstellen
npm run dist
Da sich die App noch in der Prototyp-Phase befindet, ist es am besten, mit den neuesten Commits auf dem Laufenden zu bleiben. Geben Sie dazu vor dem Start der App Folgendes ein:
# im Verzeichnis apparatus
# auf den neuesten Stand aktualisieren
git pull
Sobald die App startet, werden Sie im ersten Fenster (Startbildschirm) aufgefordert, auszuwählen, welche Modellierungsphase Sie verwenden möchten. Nachdem Sie eine Phase ausgewählt haben, werden Ihnen drei Optionen angezeigt. Die erste ist, einen neuen Graphen zu erstellen. Die zweite Option ist, einen vorhandenen Graphen zu laden. Die dritte Option ist die Debug-App, die einen Standardgraphen lädt, der zu Debugging-Zwecken verwendet wird.
Einige Beispielgraphen finden Sie im Ordner sample.
- Hinweis zur Leistung. Wenn Sie einen Graphen mit mehr als tausend Knoten rendern, können Sie je nach Hardware einige Leistungsprobleme feststellen. Der Grund dafür ist, dass die standardmäßige Beschriftungsdarstellung von Knoten und Kanten in ASTo recht aufwendig ist. Das Rendern von Beschriftungen auf Knoten und Kanten zusammen mit Richtungspfeilen ist CPU-intensiv. Um die Leistung zu verbessern, können Sie die Beschriftungen und die Richtungspfeile ausblenden, indem Sie die label-Taste drücken.
Weitere Informationen zu Cytoscapes Leistungsoptimierungen finden Sie unter diesem Link.
Die Software sammelt keinerlei personenbezogene Daten.
Der einzige Netzwerkvorgang, den die Anwendung durchführt, ist, wenn der Schwachstellenidentifikationsprozess verwendet wird. Die Schwachstellenidentifikation sendet eine Netzwerkanfrage an 'https://cve.circl.lu/api/search/' (kann in den Einstellungen geändert werden), die eigene Analysen durchführt.
Wenn Sie zum Projekt beitragen möchten, ist das großartig 😃. Schauen Sie sich den Leitfaden zum Mitwirken an. Die Anwendung wird auf macOS entwickelt. Das bedeutet, dass neue Commits möglicherweise breaking changes auf anderen Plattformen einführen. Insbesondere Commits, die den Zugriff auf das Dateisystem betreffen. Wenn etwas nicht funktioniert, zögern Sie nicht, ein Issue zu erstellen.
Wenn Sie erfahren möchten, wie die App funktioniert, besuchen Sie das Wiki.
Sie können die geplanten Funktionen des Projekts in der Roadmap einsehen.
Ein Dankeschön an @NOMNUDS und @nickarg, die das dringend benötigte Feedback unter Windows geben.