Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
amlsec — AutomationML 기반 엔지니어링 데이터를 사용한 자동화된 보안 위험 식별 | Kitploit
도구/GitHubGitHub/sbaresearch/amlsec
Vulnerability AnalysisSCADA/ICS SecurityPapers & Research
GitHubsbaresearch/amlsec

amlsec

AutomationML 기반 엔지니어링 데이터를 사용한 자동화된 보안 위험 식별

저장소 보기
30104년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

AutomationML 기반 엔지니어링 데이터를 활용한 사이버-물리 생산 시스템의 자동화된 보안 위험 식별

이 프로토타입은 다음 두 논문에서 제시된 방법을 구현합니다.

  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.

기본적으로 AutomationML(AML) 아티팩트를 기반으로 보안 위험 소스(즉, 위협 및 취약점)와 공격 결과 유형을 식별합니다. 위험 식별 프로세스의 결과는 물리적 손상으로 이어질 수 있는 다단계 사이버 공격을 모델링하는 사이버-물리 공격 그래프를 생성하는 데 사용될 수 있습니다. 또한, 제품 품질에 영향을 미치는 공격의 연쇄 효과와 결과도 식별됩니다.

설치

  1. AML2OWL 빌드

이 프로토타입은 Hua와 Hein의 ETFA 2019 논문 "Interpreting OWL Complex Classes in AutomationML based on Bidirectional Translation"을 위한 AML과 OWL 간 양방향 변환 구현의 포크된 버전에 의존합니다. 저장소를 클론하고, 프로젝트를 컴파일한 후 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 기본 디렉토리 설정

이 저장소를 클론하고, 애플리케이션 기본 디렉토리(일반적으로 사용자 홈 디렉토리에 위치)를 생성한 후 amlsec-base-dir에 있는 파일과 조립된 AML2OWL JAR(aml_owl/target/에 위치)를 해당 디렉토리에 배치하십시오. AMLsec 기본 디렉토리와 AML2OWL JAR 경로는 구성 파일에서 각각 baseDir 및 amlToOwlProgram 키를 사용하여 설정해야 합니다.

  1. Apache Jena Fuseki 설정

Apache Jena Fuseki를 설치하고 시작하십시오:

root@kitploit:~
$ java -jar <path_to_apache-jena-fuseki-X.Y.Z>/fuseki-server.jar --update
  1. LoLA 2 설치 (QualSec에만 해당)

QualSec을 실행하려면 LoLA - Low Level Petri Net Analyzer를 설치해야 합니다.

  1. 애플리케이션 빌드 및 실행

마지막으로, sbt를 사용하여 앱을 빌드하고 시작하십시오.

root@kitploit:~
$ 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 플래그를 사용하여 프로토타입을 실행하면 다음과 같은 가지치기된 사이버-물리 공격 그래프가 생성됩니다:

Cyber-Physical Attack Graph

클러스터

이 프로토타입은 Akka 프레임워크를 활용하며 여러 노드에 위험 식별 작업을 분산할 수 있습니다. 템플릿으로 Akka 분산 워커 샘플이 사용되었습니다.

여러 노드로 클러스터를 실행하려면(-q 플래그 예시):

  1. Cassandra 시작:
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main cassandra -q"
  1. 첫 번째 시드 노드 시작:
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main 2551 -q"
  1. 프론트엔드 노드 시작:
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main 3001 -q"
  1. 워커 노드 시작 (두 번째 매개변수는 워커 액터 수, 예: 3):
root@kitploit:~
$ sbt "runMain org.sba_research.worker.Main 5001 3 -q"

노드를 별도의 머신에서 실행하는 경우 구성 파일에서 Akka 설정을 조정해야 합니다.

성능 평가

성능 평가 중에 얻은 측정값과 로그 파일은 요청 시 제공됩니다.

인용 방법

이 프로토타입을 연구에 사용하는 경우, IEEE TDSC 2020 또는 IEEE TII 2022 논문을 인용해 주시기 바랍니다. 논문의 BibTeX 항목(TDSC, TII)을 자유롭게 사용하십시오.

감사의 말

저자들은 OntoPLC의 초기 버전을 제공한 Yameng An에게 감사드립니다.

도구 다운로드