引言
本文章结合作者在工控攻击以及协议分析方面的研究,对工控攻击类型进行分析。
当前接入互联网的PLC越来越多,暴露的攻击路径也越来越多,导致其更加容易遭受到攻击。本文主要对PLC的攻击进行简要的分析研究,为之后的安全防御措施的提出提供理论基础。
一、攻击类别
本文主要将针对PLC的攻击分为如下四种类型
扫描、探测攻击
DDos
payload inject
中间人攻击
二、攻击阐述
2.1 扫描、探测攻击
攻击目的:通过设备扫描的方式获取某一网段内PLC分布情况以及PLC的设备信息
威胁分析:该类型攻击调用的功能码威胁程度低,并不会影响PLC设备状态;攻击持续时间短,仅在攻击者发起扫描阶段有效
攻击种类:nmap扫描、shodan等物联网搜索引擎扫描以及第三方扫描脚本等
攻击示例:为更好理解该类攻击,我们针对PLC设备进行攻击复现,具体效果如下
2.2 DDos攻击
攻击目的:耗尽PLC的资源,比如网络带宽、CPU计算资源等,从而使得PLC对正常的请求无法及时作出回应
威胁分析:攻击方式简单、粗暴,对技术要求低,容易实现,会破坏PLC的正常运行;持续时间长,占用PLC资源
攻击种类:功能码QueryFlooding、pingfloodDDos、synfloodDDos
攻击示例:下图为针对modbus协议的queryFlooding攻击,从图中可看出这一类攻击采用短期内发送大量的modbus读状态数据包
2.3 payload注入攻击
攻击目的:注入代码或数据影响PLC的正常运行,甚至获取系统控制权
威胁分析:攻击方式较为复杂,对技术要求高,会破坏系统的控制逻辑
攻击种类:攻击种类本文主要阐述如下两种
控制逻辑攻击
其中控制逻辑攻击主要对PLC的控制逻辑代码进行控制,破坏控制逻辑。
攻击示例:PLC inject[1]、SABOT[3]、CLIK[4]
PLC inject
文献[1]中开发的PLC inject工具,对PLC注入篡改后的控制逻辑,使得PLC跳到攻击者指定的功能块。攻击过程如下:
1、下载PLC组态OB1,在组态开始执行前加入CALL指令,调用恶意功能块FC666;
2、启动SNMP扫描器,获取本地IP地址及子网;
3、计算IP地址,建立UDP连接;
4、发送/接收SNMP数据包;
5、保存回复数据包到DB中;
6、断开连接。
SABOT
在没有PLC如何与设备连接/工作的先验知识下对PLC发起payload注入攻击。攻击过程如下:
1、攻击者将对作业行为的理解写入规约,规约包括工厂设备声明及一系列时间逻辑属性;
2、SABOT从PLC中下载控制逻辑字节码,并反编译为逻辑模型;
3、使用模型检查设备与控制逻辑变量之间的映射;
4、将恶意代码映射成可在PLC上运行的实例
CLIK
自动在目标PLC中引入恶意逻辑。攻击过程如下:
1、攻陷PLC安全措施并偷取控制逻辑;
2、反编译下载的控制逻辑并注入恶意逻辑代码;
3、将受感染的二进制数据传回PLC;
4、隐藏恶意逻辑。
上图展现了具体的攻击阶段,主要分为三个阶段,首先是窃取控制逻辑代码数据,并在窃取后进行反编译,最后注入恶意控制逻辑。
PLC blaster
对PLC进行蠕虫式攻击,在感染后可以自行传播,攻击过程如下:
1、尝试建立与S7PLC的连接;
2、若建立连接,检查其是否被感染;
3、若未建立连接或已被感染,尝试其他PLC;
4、若未被感染,停止PLC,下装PLC程序;
5、重启PLC
蠕虫代码执行过程
固件攻击
其中固件攻击主要是破坏固件,PLC固件的一个缺陷是信任其内在的固件验证机制,导致异常的固件无法被检查,攻击过程如下:
1、下载固件,逆向分析固件,确定各个参数的寄存器地址,匹配已知的设备功能;
2、修改固件;
3、对固件进行重新打包,并下载到PLC中。
PLC的固件与控制逻辑的关系可从下图看出
威胁性分析:
PLC等嵌入式设备使用固件作为操作系统,使得PLC固件通常功能齐全,并提供各种服务,包括通过web服务器进行远程管理。
很多PLC允许远程固件更新,为攻击者提供了一种攻击路径。
固件偏向底层,遭受攻击危害较大。
固件获取:从供应商网站下载固件更新包,并从中提取固件映像;使用PLC主处理器的JTAG接口从PLC的存储器中提取固件映像
为更好理解固件攻击,我们展示出下图,从下图可以看出攻击者的攻击路径,攻击者在修改固件后,会产生对底层系统的恶意控制,会给操作人员错误的响应,产生类似于中间人攻击的效果。
而固件的种类可分为基本固件与闪存固件
中间人攻击
攻击目的:在上位机与下位机间对数据包进行修改,重放,欺骗系统管理者。
威胁分析:会干扰PLC的正常运行;错误的数据包也会导致管理人员作出错误决定,该攻击行为常伴随在APT攻击中
由于该类攻击具有欺骗性,常被用来隐藏PLC真实状态,震网病毒也使用了该类攻击。
总结
当前PLC漏洞较多,也面临着很多的攻击风险,为此本文对针对PLC的常用攻击类型进行了罗列,希望大家可以对PLC攻击有一个完善、初步的了解。不完善之处,还请多多谅解。
参考文献
[1]KlickJ, Lau S, Marzin D, et al. Internet-facing PLCs-a new back orifice[J]. BlackhatUSA, 2015.
[2]Spenneberg R, Brüggemann M, Schwartke H. Plc-blaster: A worm living solely inthe plc[J]. Black Hat Asia, Marina Bay Sands, Singapore, 2016.
[3]McLaughlin S, McDaniel P. SABOT:specification-based payload generation for programmable logic control-lers[C]//Proceedings of the 2012 ACMconference on Computer and communications security. ACM, 2012: 439-449.
[4]Kalle S, Ameen N, Yoo H, et al. CLIK on PLCs! AttackingControl Logic with Decompilation and Virtual PLC[C]//Binary AnalysisResearch (BAR) Workshop, Network and Distributed System Security Symposium(NDSS). 2019.
来源:freebuf.com 2020-07-02 21:46:03 by: 等待未来66大顺
请登录后发表评论
注册