近期,有研究人员发现了西门子SIMATIC S7-1200可编程逻辑控制器(PLC)的新漏洞,可让攻击者在存在漏洞的设备上执行任意代码。
该漏洞和西门子SIMATIC S7-1200可编程逻辑控制器(PLC)中一个未被文本记录的功能有关,是由来自德国Ruhr Bochum大学的Ali Abbasi、Tobias Scharnowski和Thorsten Holz组成的研究小组发现的。
该漏洞被标记为CVE-2019-13945,严重性为中等,CVSS评分为6.8。根据目前的情况,这个漏洞利用难度较大,需要攻击者对西门子SIMATIC S7-1200所使用的操作系统有深入的了解。
西门子S7通常被认为是工业最安全的控制器之一,它被用于发电厂、信号灯、水泵、建筑控制、生产线、航空系统和许多其他关键基础设施。
研究人员重点分析了在西门子SIMATIC S7-1200 PLC上实现的固件完整性验证流程。
该机制会在系统启动时触发,并涉及存储在单独SPI闪存中的bootloader代码。研究人员发现,自2013年以来,bootloader代码中就存在一种无文档记录的硬件访问模式。
根据安全报告的说法,在S7-1200 CPU的制造过程中加入一种访问模式,方便研发人员进行功能诊断。而要使用此隐藏功能需要在启动过程中对UART接口(通用异步收发传输器)进行物理访问。西门子(Siemens)发布的一份安全警告称,目前西门子正在研究可行的解决方案,并已提供了某些缓解措施。
虽然这种访问模式是为了方便诊断调试,但攻击者可以借此控制设备(在物理接触的情况下)。
攻击者可以在加载PLC固件之前,通过UART接口在启动过程中发送一个特殊的命令来访问设备。并最终在启动过程中实现任意命令执行。
研究人员已开发了一个PoC,可利用PLC的固件更新功能将恶意数据写入闪存芯片。
今年3月,研究人员已向西门子报告了这一漏洞,厂商正在进行修复。
而对于产品用户来说,目前西门子的建议主要以防范、缓解为主:
确保物理访问的安全性使用Defense-in-Depth研究人员表示将在12月伦敦举行的安全会议上公布他们的研究结果。