
AutomationMLベースのエンジニアリングデータを用いた自動セキュリティリスク識別
このプロトタイプは、以下の2つの発表論文で提示された手法を実装しています。
本質的に、これはAutomationML(AML)アーティファクトに基づいてセキュリティリスクソース(すなわち脅威と脆弱性)と攻撃結果のタイプを特定します。 リスク特定プロセスの結果は、物理的損傷に潜在的に至る多段階サイバー攻撃をモデル化するサイバーフィジカル攻撃グラフを生成するために使用できます。 さらに、製品品質に影響を与える攻撃の連鎖効果と結果が特定されます。
このプロトタイプは、HuaとHeinによるETFA 2019論文「双方向翻訳に基づくAutomationMLにおけるOWL複合クラスの解釈」のための AMLとOWL間の双方向翻訳の実装 のフォークされたバージョンに依存しています。
リポジトリ をクローンし、プロジェクトをコンパイルし、aml_owl のアプリケーションバンドルをアセンブルします:
$ cd aml_models
$ mvn clean compile install
$ cd ../aml_io
$ mvn clean compile install
$ cd ../aml_owl
$ mvn clean compile install assembly:single
このリポジトリをクローンし、アプリケーションベースディレクトリ(通常はユーザーのホームディレクトリに配置)を作成し、amlsec-base-dir にあるファイルとアセンブルされたAML2OWL JAR(aml_owl/target/ に配置)をそこに配置します。
AMLsecベースディレクトリとAML2OWL JARへのパスは、設定ファイル でそれぞれ baseDir と amlToOwlProgram キーを使用して設定する必要があります。
Apache Jena Fuseki をインストールして起動します:
$ java -jar <path_to_apache-jena-fuseki-X.Y.Z>/fuseki-server.jar --update
QualSecを実行したい場合は、LoLA - 低レベルペトリネット解析器 をインストールする必要があります。
最後に、sbt を使用してアプリケーションをビルドして起動します。
$ sbt "runMain org.sba_research.worker.Main -q"
フラグ -s と -q をそれぞれ使用して、AMLsecとQualSecを実行します。
実装された手法は、AMLライブラリによって実現されるセマンティック情報マッピングメカニズムを利用しています。 これらの AMLセキュリティ拡張ライブラリ および AML品質拡張ライブラリ は、AMLファイルにインポートすることでエンジニアリングプロジェクトで簡単に再利用できます。
繰り返しになりますが、IEEE TDSC論文で提示された手法のプロトタイプを実行する場合は、-s フラグを使用してください。
一方、-q フラグはIEEE TII論文で提示された手法に対応しています。
このプロトタイプの機能は、ケーススタディ(AMLsec、QualSec)で実証されています。 このプロトタイプをそのまま実行すると、リスク特定プロセスの結果とケーススタディの結果を含む知識ベース(Fuseki経由でアクセス可能)が生成されます。
さらに、デフォルトのケーススタディ と -s フラグでプロトタイプを実行すると、以下のプルーニングされたサイバーフィジカル攻撃グラフが作成されます:
このプロトタイプは、Akka フレームワークを利用しており、リスク特定のワークロードを複数のノードに分散できます。Akka分散ワーカーサンプル がテンプレートとして使用されました。
複数のノードでクラスターを実行するには(-q フラグの例):
$ sbt "runMain org.sba_research.worker.Main cassandra -q"
$ sbt "runMain org.sba_research.worker.Main 2551 -q"
$ sbt "runMain org.sba_research.worker.Main 3001 -q"
$ sbt "runMain org.sba_research.worker.Main 5001 3 -q"
ノードを別々のマシンで実行する場合は、設定ファイル のAkka設定を適応させる必要があります。
パフォーマンス評価中に得られた測定値とログファイルは、リクエストに応じて入手可能です。
このプロトタイプを研究で使用する場合は、IEEE TDSC 2020 または IEEE TII 2022 の論文を引用することをご検討ください。論文のBibTeXエントリ(TDSC、TII)を自由に使用してください。
著者らは、OntoPLC の初期バージョンを提供してくれたYameng Anに感謝します。