研究人员为可编程逻辑控制器构建未检测的rootkit
研究人员对工业可编程逻辑控制器(PLC)设计了一种新的恶意软件攻击,该攻击利用微处理器中的建筑缺点并绕过电流检测机制。
该攻击更改了构成PLC使用的接口的输入/输出引脚的配置,以与传感器,阀门和电机等其他设备通信。PLC是专门的嵌入式计算机,用于控制和监控工厂,电站,煤气炼油厂,公用事业和其他工业设备的物理过程。
袭击事件将于周四在伦敦的黑帽欧洲安全会议上展示,由Ali Abbasi是Twente大学的分布式和嵌入式系统安全集团的博士候选人,位于荷兰大学,A和Majid Hashemi,A Quarkslab的研发工程师,基于巴黎的网络安全公司。
I / O攻击的一个版本称为引脚配置,涉及使用恶意代码,将I / O引脚的配置从输出切换到输入,或者在没有PLC的SO或程序的情况下。
例如,取出PLC的情况,该PLC连接到阀门,并且能够通过将信号发送到I / O引脚CONPD作为输出来打开或关闭它。相同的PLC还通过将CONPD作为输入的另一个引脚从传感器接收压力读数。在PLC上运行的程序,称为PLC逻辑 - 监视器的读数,并自动打开阀门在需要时释放压力。
被攻击者注入PLC的恶意代码可以将输出引脚重新加为输入,防止PLC逻辑写入其并打开阀门。它还可以将输入引脚重新加入输出并将虚拟数据写入其中。结果将是PLC将报告监控软件,即它打开阀门,并且由于攻击者现在提供的错误读数 - 当实际上它有时它没有。
基本问题是,在PLC等嵌入式设备上使用的芯片(SOC)上的系统中没有硬件中断,因此在尝试将PIN重新编辑为输入时,操作系统将从处理器中没有错误,根据Abbasi。这意味着PLC逻辑在运行时环境中运行,不会崩溃,并将继续采取行动,好像操作成功,因为在OS虚拟内存中,一切都会好看。
“这是这里的核心问题,”阿巴西说。“似乎没有SoC供应商已经考虑了PIN配置反馈,这对于其他嵌入式系统来说可能并不重要,但对于PLC,其主要操作与I / O具有I / O,这变得超级重要性,可能导致问题。”
ABBASI和HASHEMI在rootkit中实现了攻击技术,该技术用作可加载的内核模块(LKM)。这允许它们绕过现有的基于主机的入侵检测和控制流程完整性,如Doppelganger和AutoScopy Jr所以嵌入式系统。
“我们攻击的新颖性在于操纵物理过程的事实,我们没有修改PLC逻辑指令或固件,”研究人员在纸质中说。“可以在不利用传统功能挂钩技术的情况下实现这一点,并通过将整个恶意代码放在动态内存中。”
实现rootkit作为LKM的缺点 - 基本上是一个驱动程序 - 部署它需要root权限。因此,研究人员还开发了一种使用PLC运行时的现有功能来重新调用PIN的攻击的版本,并且可以通过利用任何内存损坏漏洞来实现此变体,该漏洞允许将恶意代码直接加载到动态内存中。
另一种攻击技术针对引脚多路复用的特征,除了GPIO(通用输入/输出)之外还允许使用不同的接口模式的相同引脚。PIN的功能可以在运行时再次重新分配,并且没有反馈告诉操作系统发生了一些反馈。
“让”让你说“使用PIN连接到电机并通过CPU内的脉冲宽度调制(PWM)控制器进行管理,”Abbasi表示。“在攻击中,我们所做的是多路复用引脚并将其功能更改为其他东西,但CPU不会告诉内存管理单元(MMU),将虚拟地址转换为物理地址,该物理地址对应于物理地址该引脚不再可用。MMU将继续写信给它,CPU将忽略请求,但赢得了“T回报任何错误,这是”疯狂的,因为PLC仍将认为电机可访问。“
根据Abbasi的说法,我们很快就会在疯狂地看到这些类型的I / O攻击,因为目前有更简单的方法来危及PLC。然而,随着供应商以更好的内置安全性构建下一代PLC,重要的是要记住固件和逻辑操作不是黑客可用的唯一攻击选项。
此外,它不仅是I / O攻击的PLC,而且是I / O操作的所有嵌入式设备,例如汽车或智能电子设备(IED)中使用的电子控制单元(ECU)在电力行业。
在他们的论文中,研究人员提出了两种研究方向,用于检测I / O攻击的新技术。他们计划使用这些作为未来工作的基础。