西门子PLC中的一个新漏洞可能让黑客远程运行恶意代码
西门子于周五发布了固件更新,以解决SIMATIC S7-1200和S7-1500可编程逻辑控制器(PLC)中的一个严重漏洞,恶意参与者可利用该漏洞远程访问内存的受保护区域,并实现不受限制且未被检测到的代码执行,研究人员称之为攻击者的“圣杯”
内存保护绕过漏洞,跟踪如下:CVE-2020-15782(CVSS分数:8.1),由操作技术安全公司Claroty通过逆向工程发现,MC7/MC7+字节码语言用于在微处理器中执行PLC程序。没有证据表明这种弱点在野外被滥用。
在西门子发布的一份建议中,这家德国工业自动化公司表示,通过网络访问TCP端口102的未经验证的远程攻击者可能会向受保护的内存区域写入任意数据和代码,或读取敏感数据,从而发起进一步的攻击。
Claroty研究员Tal Keren说:“在工业控制系统(如可编程逻辑控制器)上实现本机代码执行是一个最终目标,相对而言,只有少数高级攻击者实现了这一目标。”。“这些复杂的系统有许多内存保护,为了让攻击者不仅运行自己选择的代码,而且不被发现,必须对这些保护设置障碍。”
这一新缺陷不仅允许对手在西门子S7 PLC上执行本机代码,而且这种复杂的远程攻击还通过逃离用户沙箱,将任意数据和代码直接写入受保护的内存区域,避免了底层操作系统或任何诊断软件的检测。
然而,Claroty指出,攻击将需要对PLC的网络访问以及“PLC下载权限”在破解PLC的原生沙箱时,该公司表示,它能够将恶意内核级程序注入操作系统,从而允许远程代码执行。
这远远不是第一次在西门子PLC上实现未经授权的代码执行。2010年,臭名昭著的Stuxnet蠕虫利用Windows中的多个缺陷,通过修改西门子PLC上用于网络间谍和秘密破坏的代码,对工业控制系统重新编程。
然后在2019年,研究人员展示了一种称为“Rogue7”的新攻击类型,该攻击利用其专有S7通信协议中的漏洞,“创建一个可伪装为TIA的恶意工程站,并向PLC注入任何有利于攻击者的信息。”
西门子“强烈”建议用户更新至最新版本,以降低风险。该公司表示,它还将进行进一步的更新,并敦促客户对尚未提供更新的产品采取应对措施和解决办法。