攻击者只需在键盘上敲上几下,一座化工厂就会“轰”地一声爆炸崩塌。很幸运,这只是在黑客电影中发生的事情。
研究人员在本届的Defcon上发布了“漏洞化工处理框架”工具,你可以利用它黑掉一个化工厂(仿真模型)。安全从业者可从中学习如何发现来自网络空间的物理攻击。
首先,无论是攻击者还是防护人员,都需要具备计算机及工控方面的知识。再者,入侵化工厂还需要了解物理学、化学和工程学,“漏洞化工处理框架”会帮助那些不了解IT之外的其它知识的黑客学习这些学科。成功入侵后,黑客可以帮助对手公司恶意竞争,或者直接进行勒索。
该工具由欧洲非盈利组织European Network for Cyber Security的资深安全顾问玛丽娜·科罗托菲尔(Marina Krotofil)和西雅图安全评估公司IOActive的首席安全顾问杰森·拉森(Jason Larsen)两人协力开发。通过网络攻击影响物理世界里的生产过程比人们想象中要复杂很多,其中包括许多阶段:开始时需要背景知识,逃逸时则需要伪造脚印迷惑网络诊断专家,然而两位黑客在DefCon 23大会上展示了一次完整的攻击过程,目标是模拟的乙酸乙烯酯单体生产工厂。
要将网络层面上的攻击落实到物理层面上的步骤十分复杂,攻击者需要首先获取传感器的度数,操控发送到控制器的参数,最后将指令发送到执行设备上。大多数攻击者对完整的流程一无所知,也不知道如何去操控。例如,如果攻击者远程操纵了阀门之类的设备,这会如何影响反应堆的温度呢?要理解操纵的效果,攻击者必须了解攻击目标的物理结构。这需要了解大量的基础知识,见下图。
“如果只是让设备过载,只可能导致系统启动紧急停机机制,并打开压力安全阀。”
网络-物理攻击的步骤
一次成功的攻击需要几个必要步骤,其中一些可以并行,另一些需要重复。
访问阶段类似于最传统的黑客入侵,而损害阶段对攻击者而言是最陌生的,因为该阶段需要黑客具备设施工作原理的知识,以全方面了解各种可能性。
发现阶段对破坏性和侦查性的攻击都有帮助。黑客需要该阶段学习目标设施的工程文档,了解让化学储罐过热、导致紧急停机的知识细节。侦查性的间谍黑客行为可能止步于此阶段。
控制阶段非常复杂,攻击者需要了解目标的动态行为,以及其工作流程中的每个细节。“控制阶段的主要工作是将所有可输入量与物理世界中的操作映射起来。”黑客使用的必须是实时生产数据,这也是安全人员最有机会注意到黑客的阶段。
黑客通过逃逸过程将攻击嫁祸给其他人,比如将其伪装成维修人员犯的一个大错误。研究人员写道:在传统的黑客攻击中,黑客的目标之一是不被发现。然而对于大多数物理攻击而言,这并不是一个可选项。如果一件设备损坏,或者工厂的盈利能力降低,会有调查人员介入。攻击者会改变现实世界中的状况,其后果不能只是通过删除日志文件清除。总地来看,黑客操纵过程和日志,创造伪造的诊断足迹,使调查人员得出错误的结论,让他们将攻击归咎于操作错误或设备故障,而不是网络入侵。
网络-物理攻击的三种类别
试图造成物理损害的攻击可以通过两种方式实现:设备过载,比如Stuxnet的第二个版本表现出的行为;违反安全限制,研究者们在爱达荷国家实验室(Idaho National Labs)里通过这种方式摧毁了一台发电机。
试图破坏生产的攻击会改变产品质量和生产率,进一步影响产品价格,增加运作成本和维护成本。
试图破坏合规性的攻击可能导致公司被罚款,或者在公众间产生负面印象。由于这类攻击会导致环境破坏和致命事故,它造成的间接损害是最大的。其它后果:造成环境污染,破坏商业合约。
漏洞化工处理框架
科罗托菲尔和拉森演示了一场针对乙酸乙烯酯单体化工厂的模拟攻击,主要展示了攻击者在达成目的之前可能会走的一些弯路。研究这些必经的障碍,可以让安全人员了解系统设计过程中的缺陷,并对物理过程增加额外控制,应对网络攻击。
化工厂是演示的极佳案例。两位研究者开发了漏洞化工处理框架(Damn Vulnerable Chemical Process,DVCP),这是首款面向网络-物理领域的开源实验框架,它可以让人们学到如何将成功的网络攻击发展为成功的网络-物理攻击,对于单一攻击案例和复杂攻击的模拟效果都不错。它结合了两个模型:Tennessee Eastmann(TE)和乙酸乙烯酯单体(Vinyl Acetate Monomer,VAM)。这两个模型都能在GitHub上找到。
以下是漏洞化工处理框架的两张截图:
如果钻研这个课题会让你感到头疼,你可能想要从更基本的地方开始。幸运的是,拉森也在Black Hat大会上发布了《远程物理伤害101:面向基本业务的攻击》。拉森表示:攻击软件常被人们描述成“计算中的小谬误”,攻击物理生产过程则是“物理现象的小谬误”。攻击者很多时候需要深入的知识,但这本小册子中的知识也足够用在很多攻击场景中了。
原文地址:http://www.aqniu.com/news/9580.html