Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/sbaresearch/amlsec
SchwachstellenanalyseSCADA/ICS-SicherheitPapers & Forschung
GitHubsbaresearch/amlsec

amlsec

Automatisierte Sicherheitsrisikoidentifikation mittels AutomationML-basierter Ingenieurdaten

Repository anzeigen
3010vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Automatisierte Sicherheitsrisikoidentifikation in cyber-physischen Produktionssystemen mithilfe von AutomationML-basierten Ingenieurdaten

Dieser Prototyp implementiert die Methoden, die in den folgenden zwei Publikationen vorgestellt werden:

  1. Eckhart, M., Ekelhart, A., & Weippl, E. R. (2020). Automated Security Risk Identification Using AutomationML-Based Engineering Data. IEEE Transactions on Dependable and Secure Computing.
  2. Eckhart, M., Ekelhart, A., Biffl S., Lüder A., & Weippl, E. R. (2022). QualSec: An Automated Quality-Driven Approach for Security Risk Identification in Cyber-Physical Production Systems. IEEE Transactions on Industrial Informatics.

Im Wesentlichen identifiziert es Sicherheitsrisikoquellen (d. h. Bedrohungen und Verwundbarkeiten) und Arten von Angriffsfolgen basierend auf AutomationML (AML)-Artefakten. Die Ergebnisse des Risikoidentifikationsprozesses können verwendet werden, um cyber-physische Angriffsgraphen zu generieren, die mehrstufige Cyberangriffe modellieren, die potenziell zu physischen Schäden führen. Darüber hinaus werden Kaskadeneffekte und Folgen von Angriffen identifiziert, die die Produktqualität beeinträchtigen.

Installation

  1. AML2OWL erstellen

Dieser Prototyp hängt von einer geforkten Version der Implementierung der bidirektionalen Übersetzung zwischen AML und OWL für das ETFA 2019 Paper "Interpreting OWL Complex Classes in AutomationML based on Bidirectional Translation" von Hua und Hein ab. Klonen Sie das Repository, kompilieren Sie die Projekte und erstellen Sie ein Anwendungsbundle von aml_owl:

root@kitploit:~
$ cd aml_models
$ mvn clean compile install
$ cd ../aml_io
$ mvn clean compile install
$ cd ../aml_owl
$ mvn clean compile install assembly:single
  1. AMLsec-Basisverzeichnis einrichten

Klonen Sie dieses Repository, erstellen Sie das Anwendungsbasisverzeichnis (normalerweise im Home-Verzeichnis des Benutzers) und legen Sie die Dateien aus amlsec-base-dir sowie die erstellte AML2OWL-JAR (befindet sich in aml_owl/target/) dort ab. Das AMLsec-Basisverzeichnis und der Pfad zur AML2OWL-JAR müssen in der Konfigurationsdatei mit den Schlüsseln baseDir bzw. amlToOwlProgram gesetzt werden.

  1. Apache Jena Fuseki einrichten

Installieren und starten Sie Apache Jena Fuseki:

root@kitploit:~
$ java -jar <path_to_apache-jena-fuseki-X.Y.Z>/fuseki-server.jar --update
  1. LoLA 2 installieren (gilt nur für QualSec)

Wenn Sie QualSec ausführen möchten, müssen Sie LoLA - A Low Level Petri Net Analyzer installieren.

  1. Anwendung erstellen und ausführen

Erstellen und starten Sie schließlich die App mit sbt.

root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main -q"

Verwenden Sie die Flags -s und -q, um AMLsec bzw. QualSec auszuführen.

Verwendung

Die implementierten Methoden nutzen einen semantischen Informationsabbildungsmechanismus, der mithilfe von AML-Bibliotheken realisiert wird. Diese AML-Sicherheitserweiterungsbibliotheken und AML-Qualitätserweiterungsbibliotheken können durch Importieren in AML-Dateien leicht in Engineering-Projekten wiederverwendet werden.

Wenn Sie den Prototyp der im IEEE TDSC-Paper vorgestellten Methode ausführen möchten, verwenden Sie das Flag -s. Das Flag -q entspricht hingegen der im IEEE TII-Paper vorgestellten Methode.

Die Fähigkeiten dieses Prototyps werden in Fallstudien demonstriert (AMLsec, QualSec). Das Ausführen dieses Prototyps wie besehen erzeugt die Wissensbasis (zugänglich über Fuseki), die auch die Ergebnisse des Risikoidentifikationsprozesses und die Ergebnisse der Fallstudie enthält.

Wenn Sie den Prototyp mit der Standard-Fallstudie und dem Flag -s ausführen, wird der folgende bereinigte cyber-physische Angriffsgraph erstellt:

Cyber-Physical Attack Graph

Cluster

Der Prototyp nutzt das Akka Framework und kann die Arbeitslast der Risikoidentifikation auf mehrere Knoten verteilen. Das Akka distributed workers sample wurde als Vorlage verwendet.

So führen Sie den Cluster mit mehreren Knoten aus (Beispiele mit Flag -q):

  1. Cassandra starten:
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main cassandra -q"
  1. Starten Sie den ersten Seed-Knoten:
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main 2551 -q"
  1. Starten Sie einen Front-End-Knoten:
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main 3001 -q"
  1. Starten Sie einen Worker-Knoten (der zweite Parameter gibt die Anzahl der Worker-Aktoren an, z. B. 3):
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main 5001 3 -q"

Wenn Sie die Knoten auf separaten Maschinen ausführen, müssen Sie die Akka-Einstellungen in der Konfigurationsdatei anpassen.

Leistungsbewertung

Die während der Leistungsbewertung gewonnenen Messungen und Logdateien sind auf Anfrage erhältlich.

Zitieren

Wenn Sie diesen Prototyp in Ihrer Forschung nutzen, erwägen Sie bitte, unsere IEEE TDSC 2020 oder IEEE TII 2022 Publikation zu zitieren. Sie können die BibTeX-Einträge der Papiere verwenden (TDSC, TII).

Danksagung

Die Autoren danken Yameng An für die Bereitstellung der ersten Version von OntoPLC.

Tool herunterladen