2023年11月30日发(作者:)
技术探讨
TECHNICAL EXPLORATION
CHINA INSTRUMENTATION
20123
年 第期
工业控制系统的常见攻击
The General Attacks and How to Protect the ICS
王玉敏
(机械工业仪器仪表综合技术经济研究所,
北京 100055)
摘 要:
分析信息安全成为工业控制领域新热点的
1 信息安全成为工控领域的新热点
基于计算机技术和工业级网络的工业控制系
统已经历时十几年工业控制系统也由以前的专用
。
协议专用设备以及与外部世界分离并独立的网络
、
系统发展为融合了现今IT领域商用的标准协议如
,,
微软视窗操作系统和以太网TCP/IP技术通用设备
,
等在降低成本的同时也提高了网络性能此外为了
。,
提高系统的运行效率更有效地管理生产资源组
,,
织企业或公司越来越多地对其控制系统和商业系
、
统采用直接通信的方式进行信息的互递以太网和
。
TCP/IP技术的使用提供了新的工业控制系统的能
力诸如
,:
通过联网的智能设备提高了系统综合应用1
()
能力
;
使用嵌入式WEB服务器进行远程访问2
;()
采用无线连接通信3
;()
可以对系统或设备进行远程维护4
;()
自动化的软件管理5
;()
分布式控制6
;()
与商用系统进行信息的即时访问如了解7
,()
库存情况生产过程发货收货采购等
、、、、。
正是因为工业控制系统直接使用标准的协议
,
提高了工控系统的能力但引起的严重问题是以
,,
往只在办公和商用电脑中才会出现的漏洞也同样出
现在工控系统中虽然已经发现的恶意软件基本都
。
集中在办公或商用电脑
,
但是由于现在工控系统也
逐渐越来越多地使用同样的技术那么因为企业内
,
部松散的信息安全管理政策外部承包商直接访问
,
原因并对利用进行的常见攻击类型做以
,
IP
简单介绍
。
关键词:
工业控制系统欺骗
TCP/IP ARP
Abstract:
It's included why the security becomes
the hot topic in the industrial automation domain,
and the simple introduction of how to use IP to
attack the network.
Key words:
Industrial control system
TCP/IP ARP spoofing
60
中国仪器仪表
CHINA INSTRUMENTATION
20123
年 第期
TECHNICAL EXPLORATION
技术探讨
系统或者由于网络接口无安全防护措施等内部或目前不太使用而Precedence则用于QOS"Quality
,。(
外部漏洞都能造成工控系统受到攻击
。
对控制系统攻击的主要目的一般是
:
通过阻塞或延迟信息流从而破坏生产过程1
;()
毁坏设备禁用设备或使设备停机以达到2
、()
影响生产或环境的目的
;
()
3修改或禁用安全系统故意造成对人员的
伤害或伤亡
。
到目前为止控制系统所遭受的攻击绝大部分标记长度3比特该字段第一位不使Flag
,。():
源于企业级系统与因特网的直接连接以及可信任的
第三方图1为工业控制系统攻击表统计这一统计
。。
数据也在不断的变化中
。
of Service"中文名为"服务质量"应用
,)。
IP包总长长度16比特以字节Total Length
。():
为单位计算的IP包的长度所以包括头部和数据
(),
IP包最大长度65
535字节
。
标识符长度16比特该字段和标Identifier
,():
记和分段偏移量字段联合使用对大的上层数据包
,
进行分段操作fragment
。()
用第二位是DF位DF位设为1时表明路由器不能
。,
对该上层数据包分段如果一个上层数据包无法在
。
不分段的情况下进行转发则路由器会丢弃该上层
,
数据包并返回一个错误信息第三位是MF位当路
。,
由器对一个上层数据包分段则路由器会在最后一
,
个分段的IP包的包头中将MF位设为0其余IP包的
,
包头中将MF设为1
。
分段偏移量长度13比特Fragment Offset出现的一种攻击方法目前IT领域的计算机已经有
,():
该字段对包含分段的上层数据包的IP包赋予序号
。
由于IP包在网络上传送的时候不一定能按顺序到
达这个字段保证了目标路由器在接受到IP包之后
,
能够还原分段的上层数据包到某个包含分段的上挑战本文只对攻击方法做简单介绍
。
层数据包的IP包在传送时丢失则整个一系列包含
,
分段的上层数据包的IP包都会被要求重传
。
生存时间长度8比特当IP包Time to Live
。():
进行传送时先会对该字段赋予某个特定的值当
,。
IP包经过每一个沿途的路由器的时候每个沿途的
,
路由器会将IP包的TTL值减少1如果TTL减少为0
。,
则该IP包会被丢弃这个字段可以防止由于故障而
。
导致IP包在网络中不停被转发
。
协议长度8比特标识了上层所使Protocol
。():
用的协议
。
头部校验长度16比特Header Checksum
,():
由于IP包头是变长的所以提供一个头部校验来保
,
证IP包头中信息的正确性
。
源IP地址长度16比Source IP Addresses服务类型长度8比特这个Type of Service
():
特标识了这个IP包的源IP地址
。。
2 常见攻击方法
下面介绍的几种攻击方法在IT领域已经出现
,
比如IP欺骗这是在上世纪90年代就时间非常长
,,
,
了很好的预防措施以免遭到这类攻击但是由于工
,
业控制系统的自身特点又不能完全采用IT惯用的
,
预防措施因而这对工业控制系统来说的确是一个
,
。。
2.1 IP欺骗
IP欺骗技术是指一种获取对计算机未经许可
的访问技术即攻击者通过伪IP地址向计算机发送
,
信息并显示该信息来自于真实主机
,。
IP头的格式见表1IP协议主要用于因特网上的
。
数据通信数据的IP头中包含了从源地址到目的地
,
址传输数据所需要的信息
。
版本号Version长度4比特标识目前采用
(),:
的IP协议的版本号一般的值为0100IPv6IPv4
,(),
的值0110
()。
IP包头长度长度4比特这Header Length
。():
个字段的作用是为了描述IP包头的长度
,
因为在IP
包头中有变长的可选部分
。
。():
字段可以拆分成两个部分Precedence和TOSTOS
:。
61
技术探讨
TECHNICAL EXPLORATION
CHINA INSTRUMENTATION
20123
年 第期
目的IP地址长度16Destination IP Address
():
比特标识了这个IP包的目的IP地址
。。
可选项这是一个可变长的字段长Options
,():
度为0或32bit的整倍数最大320bit如果不足则填
,,
充到满
。
填充因为IP包头长度Header Padding
(():
Length部分的单位为32bit所以IP包头的长度必
),
须为32bit的整数倍因此在可选项后面IP协议会攻击者达到其非法访问通信双方保密信息的目的
。,,。
填充若干个0以达到32bit的整数倍
,。
表1 IP头的格式
版本号头部长度服务类型总长度
(4位)(4位)(8位)(16位)
标识符标志分段偏移量
(16位)(3位)(13位)
校验和生存时间TTL协议
(16位)(8位)(8位)
序列号但一旦序列号被破解数据就很容易被发
。,
送到目标机器上
。
又称为 3Man In the Middle Attack
():
Connection Hijacking其具体含义是指攻击者从中
。
截取两个主机之间的合法通信信息并在双方不知
,
道的情况下删除或更改由一方发送给另一方的信
,
息内容如此通过伪造原发送方或接收方的身份
。,,
Connection Hijacking 为TCP通信开发了一种不同
步状态即当接收到的数据包序列号与所期望的序
,
列号不一致时这种连接称为不同步TCP层可能删
,。
除也可能缓冲数据包这主要取决于接收到的序列
,
号实际值当两台主机充分达到不同步状态它们将
。,
互相删除/忽略来自对方的数据包这时攻击者便
。,
趁机导入序列号正确的伪造数据包其中的通信信
,
息可能作过修改或添加该过程中攻击者一直位
。,
于主机双方通信路径上使其可以复制双方发送的
,
数据包该类攻击关键在于建立不同步状态
。。
需要注意的是IP欺骗技术不支持匿名因特
,
网访问超出简单扩散之外的任何一种伪技术相
。
对而言都是很高级的并用于特定的情形中如
,,
EvasionConnection Hijacking为防止网络中的IP
、。
欺骗行为目前通常采取以下措施
,:
避免使用源地址认证采用加密认证系统1
,。()
()
2将机器配置为拒绝由局部地址网络发送
来的数据包
。
在边界路由器上执行进3
、,
出过滤并通过
()
访问控制表以阻止下游接口上的私人 IP 地址
。
2.2 服务拒绝攻击DoS
()
目前大部分的攻击都属于拒绝服务DoS攻
()
击只是表现的形式采用的途径不同但原理都是
,,
攻击者以极大的通信量冲击网络使得网络可用带
,
宽和资源在较短的时间内消耗殆尽为达到最有效
。
的攻击效果攻击者伪造一个源IP地址使得他人很
,
难追踪和终止DoS当有多个通信失败的主机也加入
。
攻击者行列中并且群体发送伪通信量时很难立即
,,
源IP地址(32位)
目的IP地址(32位)
选项(如果有)填充位
IP欺骗其目的一般为伪造身份或者获取针对
IP/MAC的特权此方法也被广泛用作DOS攻击
。,
这样可以掩盖攻击系统的真实身份例如TCP SYN
。
Flood攻击来源于一个欺骗性的IP地址它是利用
,
TCP三次握手会话对服务器进行颠覆的又一种攻击
方式一个IP地址欺骗攻击者可以通过手动修改地
。
址或者运行一个实施地址欺骗的程序来假冒一个
合法地址
。
IP欺骗导致的攻击类型有多种主要包括
,:
Non-Blind Spoofing当攻击者与其目标1
:()
处在同一子网可以看到数据包序列和确认
(“”)
中时容易发生这种攻击攻击者可避开任何认证
,。
标准而建立新的连接方法是在本机上攻击者通
,,
过非法行为破坏掉目标对象已建连接的数据流再
,
基于正确的序列号和确认号重新建立新的连接
。
Blind Spoofing当不能从外部获得序列2
:()
号和确认号时容易发生这种攻击攻击者向目标机
,。
器上发送数据包以对其序列号进行取样这种方
,,
法在过去是可行的但现在大多数操作系统采用
,,
随机序列号这就使得攻击者们很难准确预测目标
,
62
中国仪器仪表
CHINA INSTRUMENTATION
20123
年 第期
TECHNICAL EXPLORATION
技术探讨
阻止这些流量攻击者可以通过表2的步骤完成
。。
表2 服务拒绝步骤
步骤描述
1冲击系统或网络
2拒绝系统或网络间的通信
3降低网络或系统数据传输速率并使得其影响正常生产过程
4
造成系统死机,因为没有自动重启功能,因而这比冲击系
统的危害更严重,使得生产过程无限期停止
次握手建立正常连接占用并耗费系统资源使得
,,
提供TCP服务的主机系统无法正常工作由于TCP
。
SYN Flood是通过网络底层对服务器进行攻击的
,
它可以在任意改变自己的网络地址的同时不容易
,
被网络上的其他设备所识别见图2
,。
攻击者快速发
送SYN请求
服务拒绝攻击的类型主要为以下几种
:
2.3 TCP SYN Flood攻击
TCP SYN Flood是一种常见而且有效的远程
,
拒绝服务攻击方式Denial of Service
。()
正常的TCP三次握手过程为首先客户端向服务
端发送SYN连接请求这时TCP SYN标志置位
。。
客户端告诉服务端序列号区域合法需要检查客
,。
户端在TCP报头的序列号区中插入自己的ISN服
。
务端收到该TCP分段后在第二步以自己的ISN回应
,
同时确认收到客户端的第一个SYN标志置位
(),
TCP分段在第三步中客户端确ACK标志置位
,()。
认收到服务端的ISN到此为止建ACK标志置位
()。
立完整的TCP连接开始全双工模式的数据传输过
,
程见图1
。。
合法的用户
S
Y
N
A
C
K
资源配置
N
S
Y
S
Y
N
N
S
Y
A
C
K
资源配置
S
Y
N
N
K
A
C
资源配置
S
Y
S
Y
N
无资源
无回复
S
Y
N
无资源
无回复
S
Y
N
准备握手
图2 TCP SYN Flood图
S
Y
N
K
A
C
2.4 Land 攻击
land 攻击是一种使用相同的源和目的主机及端
握手完成
A
C
K
口发送数据包到某台机器的攻击结果通常使存在
。
漏洞的机器崩溃
。
在Land攻击中一个特别打造的SYN包中的
,
源地址和目标地址都被设置成某一个服务器地址
,
这时将导致接受服务器向它自己的地址发送SYN-
ACK消息结果这个地址又发回ACK消息并创建一
,
个空连接每一个这样的连接都将保留直到超时
,。
对Land攻击反应不同许多UNIX系统将崩溃而
,,
Windows NT 会变得极其缓慢大约持续5min
()。
图1 TCP正常的三次握手
工业控制系统的资源有一定限制一旦资源被
,
耗尽那么其他所有的请求都被抛弃日前在用的
,。
一些比较老的工业控制系统在这方面的漏洞比新
的操作系统要多虽然新的操作系统在资源管理上
,
不太容易出现资源耗尽的情况但是这些漏洞仍然
,
存在TCP SYN Flood通过一定的操作破坏TCP三
。
63
技术探讨
TECHNICAL EXPLORATION
CHINA INSTRUMENTATION
20123
年 第期
这样的攻击见图3
。
SYN源:10.205.30.40
目的地:10.205.30.40
SYN源:10.205.30.40
目的地:10.205.30.40
SYN源:10.205.30.40
目的地:10.205.30.40
是00.1A.2B.3C.4D.5E这样主机10.10.10.5就知
”,。
道了主机10.10.10.30的MAC地址它就可以向主机
,
10.10.10.30发送信息了两主机还同时都更新了自己
。
的ARP缓存表下次两个主机发送信息时直接从各
,,
自的ARP缓存表里查找就可以了
。
10.205.30.4010.205.30.40
ARP攻击就是通过伪造MAC地址实现
ARP欺
骗攻击者只要持续不断地发出伪造的ARP响应包
,
就能更改目标主机ARP缓存中的MAC条目造成网
,
络中断或中间人攻击ARP攻击主要是存在于局域
。
网网络中局域网中若有一台机器感染ARP木马
,,
则感染该ARP木马的系统将会试图通过ARP欺
“
骗手段截获所在网络内其他计算机的通信信息
”,
并因此造成网内其他计算机的通信故障见图5是属于链路层的协议在以太网中的数据帧从一个
。。,
ARP缓冲区表ARP缓冲区表
IP
MAC
10.10.10.30
03.03.03.03.03.03
IP
MAC
10.10.10.20
03.03.03.03.03.03
图3 land攻击图
2.5 ARP欺骗
地址解析协议是用于OSI七层模型中的ARP
()
第二层协议用于将计算机的网络地址IP地址32
,(
位转化为物理地址ARP协议MAC地址48位
)()。
主机到达网内的另一台主机是根据48位的以太网地
址来确定接口的而不是根据32MAC硬件地址
,()
位的IP地址见图4
,。
10.10.10.10
10.10.10.20
10.10.10.5
谁IP是:10.10.10.30?
ARP缓冲区更新
我的IP是10.10.10.30
10.10.10.30
MAC是
00.1A.2B.3C.4D.5E
10.10.10.40
IP:10.10.10.20
MAC:02.02.02.02.02.02
IP:10.10.10.30
MAC:01.01.01.01.01.01
IP:10.10.10.15
MAC:03.03.03.03.03.03
图5 ARP欺骗攻击
2.6 ICMP Smurf攻击
基于互联网控制信息包的Smurf攻击ICMP
()
是一种强力的拒绝服务攻击方法主要利用的是IP
,
协议的直接广播特性攻击者伪造目标IP地址利
。,
用扩大器在网络上广播ICMP响应请求PING命
(
令目标主机因为大量回复请求而耗尽资源从
),。
而使得合法的用户不能正常访问该服务器见图6
。。
ICMP Smurf与ICMP Flood的区别是利用更多的网
络发送请求从而使得对目标机器的请求能够短时
,
间内倍增
。
2.7 Ping of Death攻击
TCP/IP协议的特征之一是单个IP数据包能够被
分成更小的数据包进行发送当执行分段发送时
。,
每个分段的IP数据包需要携带初始IP包的信息该
,
图4 正常ARP的工作过程
其工作步骤主要为
:
ARP会在自己的ARP缓存表中寻找是否有1
()
目标IP地址如果找到了也就知道了目标MAC地
。,
址直接把目标MAC地址写入帧里面发送即可
,。
如果在ARP缓存表中没有找到目标IP地2
()
址主机10.10.10.5就会在网络上发送一个广播
,,
10.10.10.30这表示向同一网段内的谁IP是
?“:”,
所有主机发出这样的询问网络上其他主机并不
,
响应ARP询问只有此IP地址的主机接收到这个帧
,
时才做出这样的回应我的IP是10.10.10.30MAC
,:“
64
中国仪器仪表
CHINA INSTRUMENTATION
20123
年 第期
TECHNICAL EXPLORATION
技术探讨
ICMP 广播
目标机器
因资源耗
尽而不能
影响所有
请求
量信息插入到分段的报文中那么在分段的报文重
。
新组装回原报文时会生成空的或溢出的段从而造
,
成系统瘫痪见图9
。。
Fragment2
Fragment1
发送欺骗包到扩大器
扩大器
PingPing
20 Bytes200 Bytes
Fragment1
IP Header
Data
图6 ICMP Smurf攻击
Offset=0
Length=720
More Fragments=1
20 Bytes00 Bytes
Fragment2
IP Header
2
Data
信息保存在IP头的分段偏移里的字段里更详细信
。
息见表1的标志位的解释
。
Ping of Death攻击是发送ICMP响应请求发送
,
多个分段数据使系统在接收到全部分段并重组报
,
文时总的长度超过了系统允许的最大数据包字节
,
导致内存溢出这时主机就会出现内存分配错误而
,
导致TCP/IP堆栈崩溃导致死机见图7
,。。
最大包尺寸
FragmentFragmentPing
FragmentFragmentFragment
Offset=800
Length=550
More Fragments=0
图9 Teardrop攻击
3 总结
以上介绍的是针对IP的一些常见的攻击方式
,
而且在传统IT系统上已经有了相应的安全防范措
施但是由于工业自动化控制系统与传统IT系统的
,
不同再加上以前的工控系统的孤岛方式运行并没
,,
有针对信息安全采取相关的除物理隔离之外的防御
措施因而在两个网络不断深入融合及信息的实时
,
共享上这些介绍还是有一些必要的
,。
工业控制系统的信息安全成为近年来关区别是使用的UDP数据包尺寸不一样在UDP
注的焦点攻击工业控制系统的病毒被称为
,
该病毒是世界上首个专门针对工STUXNET
“”,
业控制系统编写的破坏性病毒STUXNET的攻击
,
事件的发生更说明了即使是物理隔离的专用的局域复ICMP目标不可达报文到不可能到达的IP欺骗地
网也并非牢不可破同时也说明包括工业控制系址如果有足够的UDP报文发送到目标系统的所有
,,
统在内的专用软件系统也是可以被攻击的端口导致目标系统死机见图8
,。
工业控制网络早已在工业企业中应用多年目
,
前在电力钢铁化工等大型企业中工业以太网
、、,,
DCS系统SCADA系统等技术早已应用到工业领域
,
的控制系统级和现场网络级做好这些系统的信息
,
安全防范才能保障生产正常运行以免引起灾难性
,
的后果
。
作者简介:王玉敏高级工程师任职于机械工业仪器仪表
,,
综合技术经济研究所标准与检测中心主要负责工业自动化
,
与控制系统信息安全标准研究
。
图7 Ping of Death攻击
2.8 UDP Flood攻击
UDP Flood攻击与ICMP Flooding比较相似
,
。
Flood攻击中攻击者发送UDP报文到目标系统的
,
随机端口当目标系统收到UDP报文时会检查是
,,
否有应用正在监听该端口如果没有应用那么它回
,,
。
,。。
UOP port 768
UOP port 61
UOP port 388
UOP port 456
UOP port 2045
UOP port 88
UOP port 45UOP port 92
UOP port 161
UOP port 761
UOP port 32768
U
OP port 444
图8 UDP Flood攻击
2.9 Teardrop攻击
Teardrop攻击的最初目的是使系统死机或崩
溃也是分段攻击最常用的方法它是将错误的偏移
,。
65


发布评论