[工控安全][翻译]西门子PLC设备中主控芯片逆向分析初探

西门子PLC设备中主控芯片和固件逆向分析初探

mailto: [email protected]

【未经同意禁止转载】

写在前面的,针对设备S7-1211C,S7-1212C等西门子S7-1200系列PLC。

众所周知,西门子1200系列PLC设备,参考西门子官网的选型手册,可知

S7-200/S7-300系列PLC设备拆机后的PCB照片可参考这里http://www.elecfans.com/d/605265.html

由PLC配件供应链展开攻击向量。

前言

本博客之前一系列文章介绍了若干对硬件直接逆向工程研究的方法。它涵盖了使用适当方法对未知ASIC的引脚排列进行初步的逆向工程分析的方法。至于上文说到的本次攻击由PLC配件供应链开始,这是因为大量获取西门子PLC产品样品拿来研究的金钱代价很大,如果我们能从供应链上拿到我们要研究的配件,比如PCB主板、主控芯片,而不是购买整机,这样研究的成本就会大幅下降。

在本次研究过程中,广泛调研了西门子S7-1200系列PLC设备的主控芯片,尤其关注最新的v4版本。新系列中的芯片(v4)和旧系列的芯片(v1和v3.0之间)超过60%的引脚被识别出来。作为一种新奇事物,芯片架构和新系列大约70%的引脚也可以进行逆向工程。使用内部元件的精确识别允许我们使用JTAG调试芯片 并在运行时检查内部寄存器。

其他供应商的产品中也有类似的设备,我们认为本文提出的方法也同样适用于这类产品。然而,我们没有在这项研究中测试其他供应商的类似产品。

过去,电子学和计算机科学界的人们在嵌入式设备领域展示了极大的创造力。

很早之前,网络论坛和博客上就已经展示了黑客如何对路由器,AP无线访问接入点甚至示波器的硬件和固件进行修改。在这些逆向工程过程中,黑客们大多公开了一些文档。这些有信息和经验价值连城,尤其是在使用昂贵或稀有设备时。

经验丰富的具有硬件和固件知识的逆向工程师可以毫无问题地剖析包含已知原件(和可用数据表)的未加固产品。但是最大敌人还是没有任何标识的的黑盒 ASIC,这些ASIC在互联网上是不可能找到的相关信息的 - 如果有的话,也只是无关痛痒的信息。这些 ASIC很少成为真正的完全定制的,它们主要是用标准单元创建的定制SoC芯片。由于设计的重复使用节省了大量的开发时间并且可以加速出货,因此大多数创建此类定制解决方案的供应商使用其存储库中的一组基本现有模块。这个事实有助于确定未知ASIC芯片中的许多内部结构!

此外,此类信息可用于构建硬件后门。

熟悉你的研究对象

一个完全未工控主控芯片型号的例子是西门子S7-1200系列PLC,它是市场领导者西门子的产品。该嵌入式设备用于许多不同的工业应用中以用于控制目的。除工业接口外,该PLC单体还具有以太网端口,在更新较新的固件版本(v3.0及更高版本如v4)后还可以作为网络服务器。

我们选择这种特定设备进行研究,只是因为它使用广泛。

快速浏览S7-1212C 的印刷电路板(PCB),可以看到以太网PHY,闪存芯片,RTC,石英和其他电子元件。它使用的主控芯片SoC标有其原产国“JAPAN”和“MB87M2230”作为标识,芯片还有一些其他未知含义的标识符。由于这种 PLC 整机价格太昂贵 ,不能仅仅为了娱乐而破坏它的主板,因此需要一种成本更低廉的研究方法。

在互联网上搜索此 SoC 并没有发现很多结果。但是,在中国的网购平台淘宝网上发现几十家声称供应这种芯片的店铺。这一发现非常重要,因为具有相同未知芯片的多个不同设备通常是进行逆向工程的理想起点。(类似于采用控制变量法来进行差量化研究,分别寻找共性和差异两部分,设计对照试验可以相互对比验证某些Yes or No类型的猜想)。

在汕头发现了供应链漏洞

来自汕头(中国的一个城市)卖家的设备似乎是某种评估板。出售这种板块表明供应链泄漏。 西门子 PLC的 SoC 也位于设备上,这很有趣。这些电路板的标价为10¥(2018年3月:~1.3欧元),与S7-1212C(约260欧元)相比非常便宜。在要求五件之后,卖家提供了每件95¥/ 12€,这仍然比原来的PLC便宜 。

详细内容稍后奉上。

猜你喜欢

转载自www.cnblogs.com/bianmu-dadan/p/10849094.html