这篇文章主要讲解了“怎么基于AutomationML工程数据自动识别安全风险”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么基于AutomationML工程数据自动识别安全风险”吧!
AMLsec是一款基于AutomationML工程数据的自动化安全风险识别工具,这个产品原型能够识别类似网络威胁或安全漏洞之类的安全风险源以及相关类型的网络入侵后果。风险识别过程的结果可用于生成网络物理攻击图,而这个攻击图将帮助广大研究人员模拟出安全威胁所可能导致物理损害的多级网络攻击。
首先,广大研究人员需要使用下列命令将该项目源码克隆至本地:
git clone https://github.com/sbaresearch/amlsec.git
接下来,我们还需要构建AML2OWL。这个原型基于AML和OWL之间的双向翻译数据实现,具体可以参考ETFA 2019的一篇报告《基于双向翻译的AutomationML中解释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
编译好AML2OWL之后,我们还需要配置AMLsec基目录。将该项目源码克隆至本地之后,将会创建一个应用程序基目录,具体取决于你选择的路径。我们需要将项目文件以及编译好的AML2OWL Jar文件(位于aml_owl/target/中)存放至amlsec-base-dir中。AMLsec基目录以及AML2OWL Jar文件的路径必须使用项目配置文件中的baseDir和amlToOwlProgram这两个参数来进行相应的设置。
然后,我们还需要配置好Apache Jena Fuseki。我们可以使用下列命令安装并启动Apache Jena Fuseki:
$ java -jar <path_to_apache-jena-fuseki-X.Y.Z>/fuseki-server.jar --update
最后,我们需要构建AMLsec。这里可以使用sbt来构建并启动应用程序:
$ sbt "runMain org.sba_research.worker.Main"
该工具的实现方法使用了一种通过AML库实现的语义信息映射机制。通过将这些AML安全扩展库导入到AML文件中,可以很容易地在工程项目中重用它们。
我们在下面这个案例研究中展示了该原型的功能。按原样运行该原型将生成知识库(可通过Fuseki访问),该知识库还包括风险识别过程的结果,以及以下经过删减的网络物理攻击图:
这个工具愿你修内功使用了Akka框架,并且能够在多个节点之间分配风险识别工作量。项目中已结成了Akka分布式Worker样例以作模板使用。接下来,我们可以按照下列方法使用多个节点来运行集群。
1、开启Cassandra:
$ sbt "runMain org.sba_research.worker.Main cassandra"
2、开启第一个种子节点:
$ sbt "runMain org.sba_research.worker.Main 2551"
3、开启一个前端节点:
$ sbt "runMain org.sba_research.worker.Main 3001"
4、开启一个Worker节点(第二个参数代表Worker参与者的数量,比如说3):
$ sbt "runMain org.sba_research.worker.Main 5001 3"
如果你分别在单独的设备上来运行这些结点的话,你将需要在配置文件中适配Akka的配置信息。
感谢各位的阅读,以上就是“怎么基于AutomationML工程数据自动识别安全风险”的内容了,经过本文的学习后,相信大家对怎么基于AutomationML工程数据自动识别安全风险这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。