针对信息系统的攻击方法,如感染病毒、DoS等,一般对工业控制系统也可以造成影响,但由于控制系统等特殊性,还有一些针对控制系统等专用的攻击方法,本文对这些针对工业控制系统的专用的网络攻击方法进行简单的介绍。
要想实施对控制系统局域网的攻击,首先需要接入工业控制系统局域网,其次还要了解其控制的生产过程,最后通过控制系统特有的攻击方法进行攻击。
要想实施针对工业控制系统的攻击,攻击者要先通过多种手段获取控制系统局域网的访问权。可以通过以下技术手段获取访问权:
通用网络架构,如采用以太网或TCP/IP架构的控制系统可采用此方法
拨号访问RTU,RTU一般具有网络连接,如果能够访问RTU则可以获取控制系统网络的访问权
供应商支持,通过供应商的远程维护升级功能获取访问权
IT通信设备
公司VPN
数据库连接
配置不当的防火墙
端到端组件连接
要对生产过程进行攻击并达到预期的攻击效果,要了解生产过程的细节,其中包括生产过程的整体流程、各步骤的功能、不同步骤之间的关系等信息。攻击者还要了解生产过程的控制系统以及控制逻辑,目标控制系统由哪些组件组成、各组件的功能和作用、硬件型号、软件(固件)版本、控制逻辑等信息。尤其需要关注数据采集服务器、数据库服务器和人机交互系统HMI的信息。
针对工业控制系统的特有攻击方法主要有以下几种:
直接发送控制指令
控制HMI界面
篡改数据库
中间人攻击
控制生产过程最简单的方法是直接向控制设备发送指令。大多数PLC、协议转换器或现场控制设备缺乏基本的认证功能,某些工业控制系统的通信协议也缺乏认证和访问控制功能,使得它们会接受所有格式正确的命令。攻击者只要向控制单元发送符合协议规约要求的格式的指令即可达到攻击目的。
另一种有效的攻击方式是将操作员的HMI控制台屏幕界面导出给攻击者(如上图所示),攻击者通过远程操控HMI界面实现攻击目的。可以用Microsoft Windows系统、Unix系统或Linux系统中现成的工具实现此功能。如果攻击者不能进行屏幕伪装,现场操作员可以看到一个”幽灵鼠标”在屏幕上点击。采用这种攻击方法攻击者只能进行操作员权限范围内的操作。
在一些(但不是全部)供应商的控制系统中,某些操作是从数据库中获取指令的,篡改数据库中的数据可以在控制系统上执行任意的操作。
如果攻击者充分了解目标使用的控制协议,则可以在控制系统中执行中间人攻击。攻击者可以修改传输中的数据包,可以实现对操作员HMI界面的欺骗,实现对控制系统的全面控制。通过在指令流中插入指令,攻击者可以发出任意的或者特定的指令,通过修改返回数据,操作员可以看到一个修改过的监控页面。
*本文原创作者:xu5eii,本文属于FreeBuf原创奖励计划,未经许可禁止转载