本文讲的是不触发警报的PLC攻击方法公布,研究人员发现黑客攻击新方法,恶意攻击者可在不被检测到的情况下,破坏并操纵可编程逻辑控制器(PLC)管理的物理过程。
该攻击方法于11月3号在黑帽欧洲2016安全大会上被公布,发布人是荷兰特温特大学分布式与嵌入式系统安全小组博士研究生阿里·阿巴斯,和法国Quarkslab研发工程师马吉德·哈舍米。
PLC是用于控制和监视工业环境中物理过程的设备。过去,安全专家们就演示过数种场景下PLC软件和固件中漏洞可带来的风险,他们甚至展示了攻击者开发蠕虫在PLC间传播的方法。
但是,阿巴斯和哈舍米发现的这种后漏洞利用攻击方法,甚至不用对PLC固件或逻辑做任何更改,只需要操作一下设备的输入输出(I/O),就能使攻击者不触发任何警报地控制PLC。
PLC可接收和传输多种电子电气信号。通常来自于传感器的输入信号,用于控制电机、阀门或继电器的输出信号,都接入到被称为片上系统(SoC)的集成电路输入输出引脚上。SoC的引脚控制器可以配置引脚模式(比如,设置成输入或输出),还可以配置引脚复用,也就是通过开关切换让引脚具备多种用途。
专家发现,侵入了PLC的攻击者可不被检测地篡改输入输出,且通过人机界面(HMI)进行进程控制的操作员也丝毫注意不到。
阿巴斯和哈舍米发现了两种引脚控制攻击方法。其一,是修改引脚配置,允许PLC上恶意软件将引脚状态从输入变成输出或者相反。其二,引脚复用,与第一种方法类似,只不过修改的是同一根引脚的功用。
这会导致由PLC控制的系统表现异常(例如:在该开启的时候未开启阀门调节压力)。攻击者还可获取系统控制权(例如:任意关闭或开启阀门)。
但是,PLC操作系统和用户却不会收到任何警告,因为I/O引脚值在虚拟I/O寄存器中表现很正常。此种攻击的另一大优势,是可绕过基于主机的入侵检测系统,比如 Autoscopy Jr. 和Doppelganger。
攻击者可通过需要目标系统root权限的rootkit来实现该方法,但不用root权限一样可以实现。后者权限是PLC运行时,通过远程代码执行漏洞获得。
两种攻击都可引发拒绝服务(DoS)条件,以及控制该PLC连接的物理过程。但是,专家指出,非root权限版本的攻击更高效,尤其是从性能角度看,不过,这种方法也的精确度稍差。
两位研究员在论文中说:“我们这种攻击的创新性在于,我们不用修改PLC逻辑指令或固件,就可以操纵物理过程。我们瞄准的是固件和PLC和I/O之间的互动。这里面没有利用到任何传统函数钩子技术,也不用将整个恶意代码载入动态内存(rootkit版本),因而可以绕过 Autoscopy Jr. 和Doppelganger之类的检测机制。另外,攻击导致PLC固件认为与I/O互动良好,但其实I/O与PLC过程之间的连接已被操纵。”
研究人员没有透露受影响厂商名称,但基于PLC通常使用的几种CPU架构,他们认为大多数厂商都受到影响。厂商已被告知此种攻击方法,但他们是否计划在近期解决该问题还尚未可知。
阿巴斯和哈舍米指出,PLC还有很多比他们揭露的漏洞更容易被利用的缺陷,尤其是攻击者拥有设备root权限的情况下。不过,易被利用的缺陷也更容易修复,这就让恶意攻击者倾向于使用不那么明显的安全漏洞,比如阿巴斯和哈舍米发现的这个。
两位专家称,他们的目的就是提起关注,说服厂商设计更加安全的产品。他们的论文里还包含了检测此类攻击的一系列方法建议。