Stuxnet病毒是怎样“入侵”PLC的?

时间:2023-03-20作者:佚名

1.如何选择需要感染的plc。

Stuxnet会根据目标系统的特点,使用不同的代码来感染PLC。一个感染的序列包括了许多PLC模块(代码模块和数据模块),用以注入PLC来改 变目标PLC的行为。这个威胁包括了三个感染序列。其中两个非常相似,功能也相同,我们将其命名为序列A和B。第三个序列我们命名为序列C。 Stuxnet 通过验证“指纹”来判断系统是否为计划攻击的目标。它会检查:PLC种类/家族:只有CPU6ES7-417和6ES7-315-2 会被感染。系统数据模块:SDB会被解析;根据他们包含的数据,感染进程会选择A,B或其它感染方式开始行动。当解析SDB时,代码会搜索这两个值是否存 在--7050hand9500h;然后根据这两个数值的出现次数,选择序列A或B中的一种来感染PLC。代码还会在SDB模块的50h子集中搜索字节序 2CCB0001,这个字节序反映了通信处理器CP342-5(用作Profibus-DP)是否存在。而选择序列C进行感染的条件则由其他因素构成。

2.感染方法。

Stuxnet使用“代码插入”的感染方式。当Stuxnet感染OB1时,它会执行以下行为:增加原始模块的大小;在模块开头写入恶意代码;在恶意 代码后插入原始的OB1代码。Stuxnet也会用类似于感染OB1的方式感染OB35。它会用自身来取代标准的协同处理器DP_RECV代码块,然后在 Profibus(一个标准的用作分布式I/O的工业网络总线)中挂钩网络通信。利用A/B方法的感染步骤如下:检查PLC类型;该类型必须为S7 /315-2;检查SDB模块,判断应该写入序列A或B中的哪一个;找到DP_RECV,将其复制到FC1869,并用Stuxnet嵌入的一个恶意拷贝 将其取代;在序列中写入恶意模块(总共20个),由Stuxnet嵌入;感染OB1,令恶意代码可以在新的周期开始时执行;感染OB35,它将扮演“看门 狗”的角色。

3.感染代码。

被注入OB1功能的代码是用来感染序列A和B的。这些序列包含了以下模块:代码块:FC1865至FC1874,FC1876至FC1880(注 意:FC1869并非Stuxnet的一部分,而是PLC的DP_RECV模块的一个拷贝);数据模块:DB888至DB891。序列A和B用 DP_RECV挂钩模块来拦截Profibus中的数据包,并根据在这些模块中找到的数值,来构造其他的数据包并发送出去。这由一个复杂的状态机控制(状 态机被建立在上面提到的FC模块中)。这个状态机可部分受控于数据块DB890中的DLL。在某些条件下,序列C会被写入一个PLC。这个序列比A和B包 含更多的模块:FC6055至FC6084;DB8062,DB8063;DB8061,DB8064至DB8070(在运行中产生)。序列C主要为了将 I/O信息读写入PLC的内存文件映射的I/O区域,以及外围设备的I/O。程序A/B的控制流如下图所示,在之前的Step7编辑器的截图中也有部分显 示(数据模块FC1873)

4.RootkitStuxnetPLCrootkit代码全部藏身于假冒的s7otbxdx.dll中。

为了不被PLC所检测到,它至少需要应付以下情况:对自己的恶意数据模块的读请求;对受感染模块(OB1,OB35,DP_RECV)的读请求;可能 覆盖Stuxnet自身代码的写请求。Stuxnet包含了监测和拦截这些请求的代码,它会修改这些请求以保证Stuxnet的PLC代码不会被发现或被 破坏。下面列出了几个Stuxnet用被挂钩的导出命令来应付这些情况的例子:s7blk_read:监测读请求,而后Stuxnet会返回:真实请求的 DP_RECV(保存为FV1869);错误信息,如果读请求会涉及到它的恶意模块;OB1或OB35的干净版本的拷贝s7blk_write:监测关于 OB1/OB35的写请求,以保证他们的新版本也会被感染。s7blk_findfirst/s7blk_findnext:这些例程被用于枚举PLC中 的模块。恶意模块会被自动跳过。s7blk_delete:监测对模块的“删除”操作。如上文所述,Stuxnet是一个非常复杂的威胁,而其中的PLC 感染代码令问题更加难以解决。

相关阅读

月薪9000电工接的线,老板看后非常生气,直接开除!

老板给电工派了一个活,就是一个简单的接线,完事后老板检查,直接把电工骂了一顿,然后直接开除!朋友们老板做错了吗? 让我们一起看看各位同行是怎么看的吧! 电工A 这个得从几个方...
2024-09-10
月薪9000电工接的线,老板看后非常生气,直接开除!

导体壳静电平衡与唯一性定理

  1. 导体壳静电(píng)衡时的基本性质   一个壳内无带电体的导体壳,不管是由于自身带电还是在外电场中,静电(píng)衡时都具有以下基本性质:   (1)导体壳的内表面上处处无电...
2023-06-27
导体壳静电平衡与唯一性定理

最新水电安装精确定位的标准做法,走起!

一、楼面、梁、墙柱内电线管预埋 (正确) A1.墙板内水电安装图纸深化 a.进行墙板水电图纸深化; b.深化精确到每个底盒内线管位置、管径大小、数量; (正确) A2.水电线管精确定位...
2023-06-11

运放加三极管的恒流源电路

电流镜是模拟集成电路中普遍存在的一种标准部件,它也出现在一些数字电路中。在传统的电压模式运算放大器设计中,电流镜用来产生偏置电流和作为有源负载。电流镜电路主要的作...
2023-07-03
运放加三极管的恒流源电路

傻傻分不清电路?专业电气学姐为你全方面解读(十一)

        关于复杂电路的求解,前两次所讲的支路电流法和网孔电流法都是关于电流的,那么,有没有利用电压来列方程求解的呢?显然是有的,那就是 节点电位法 ,又称 结点电压...
2023-06-27
傻傻分不清电路?专业电气学姐为你全方面解读(十一)

热销商品

国标TRVV高柔性拖链电缆2—48芯0.3 0.5 1 1.5 2.5平方耐弯折软线

国标TRVV高柔性拖链电缆,专为满足严苛工况下的动态传输需求而设计。该电缆具有2至48芯多种配置,适用于0.3、0.5、1.5、2.5平方等多种截面积选择,灵活满足不同设备的...
¥ 1.24

定做定制各类密封条三元乙丙橡胶硅胶PVC防火阻燃EVA氯丁石墨丁晴

本公司专业定做各类定制密封条,涵盖三元乙丙橡胶(EPDM)、硅胶、PVC、EVA、氯丁橡胶、丁腈橡胶及石墨复合等多种材质,满足不同行业对密封、防水、隔音、隔热及防火阻燃...
¥ 1

直销配电箱暗插销铰链门轴CL225插销带螺丝固定铁皮柜弹簧铁铰链

CL225插销式暗铰链专为配电箱、铁皮柜等金属柜体设计,采用优质冷轧钢板经冲压成型,表面镀锌处理,防腐耐用。其内置弹簧结构,确保柜门开合顺畅、自动复位,提升使用便捷...
¥ 0.06

浇铸抛光螺纹钢扭矩扳手 镀锌双头延长杆扳手多功能工具 开口扳手

这款多功能工具集浇铸抛光螺纹钢扭矩扳手、镀锌双头延长杆扳手与开口扳手于一体,采用优质合金钢精密浇铸并经抛光处理,表面镀锌防锈,耐用性强。其双头设计适配多种规...
¥ 0.6

橡胶包边条 U型橡胶条橡胶防撞条卡槽橡胶钢板卡条玻璃嵌条密封条

橡胶包边条、U型橡胶条、橡胶防撞条、卡槽橡胶条、钢板卡条及玻璃嵌条密封条,是一类广泛应用于门窗、家具、机械设备及汽车等领域的密封与防护配件。采用优质橡胶(...
¥ 0.7

网站栏目