
AutomationML 기반 엔지니어링 데이터를 사용한 자동화된 보안 위험 식별
이 프로토타입은 다음 두 논문에서 제시된 방법을 구현합니다.
기본적으로 AutomationML(AML) 아티팩트를 기반으로 보안 위험 소스(즉, 위협 및 취약점)와 공격 결과 유형을 식별합니다. 위험 식별 프로세스의 결과는 물리적 손상으로 이어질 수 있는 다단계 사이버 공격을 모델링하는 사이버-물리 공격 그래프를 생성하는 데 사용될 수 있습니다. 또한, 제품 품질에 영향을 미치는 공격의 연쇄 효과와 결과도 식별됩니다.
이 프로토타입은 Hua와 Hein의 ETFA 2019 논문 "Interpreting OWL Complex Classes in AutomationML based on Bidirectional Translation"을 위한 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 - Low Level Petri Net Analyzer를 설치해야 합니다.
마지막으로, 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에게 감사드립니다.