Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
amlsec — 基于AutomationML的工程数据的自动化安全风险识别 | Kitploit
工具/GitHubGitHub/sbaresearch/amlsec
漏洞分析SCADA/ICS安全论文与研究
GitHubsbaresearch/amlsec

amlsec

基于AutomationML的工程数据的自动化安全风险识别

查看仓库
301054年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

使用基于AutomationML的工程数据自动识别信息物理生产系统中的安全风险

该原型实现了以下两篇论文中提出的方法:

  1. Eckhart, M., Ekelhart, A., & Weippl, E. R. (2020). 使用基于AutomationML的工程数据自动识别安全风险. IEEE Transactions on Dependable and Secure Computing.
  2. Eckhart, M., Ekelhart, A., Biffl S., Lüder A., & Weippl, E. R. (2022). QualSec:面向信息物理生产系统的自动化质量驱动安全风险识别方法. IEEE Transactions on Industrial Informatics.

本质上,它基于AutomationML(AML)工件识别安全风险源(即威胁和漏洞)以及攻击后果的类型。风险识别过程的结果可用于生成信息物理攻击图,该图建模可能导致物理损害的多阶段网络攻击。此外,还识别了影响产品质量的级联效应和攻击后果。

安装

  1. 构建AML2OWL

此原型依赖于为ETFA 2019论文《基于双向翻译在AutomationML中解释OWL复杂类》(Hua和Hein撰写,arXiv:1906.04240)而分叉的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 - A 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标志运行原型,将创建以下修剪后的信息物理攻击图:

信息物理攻击图

集群

该原型使用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)。

致谢

作者感谢Yameng An提供了OntoPLC的初始版本。

下载工具