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

第二位是DFDF位设为1时表明路由器不能

对该上层数据包分段如果一个上层数据包无法在

不分段的情况下进行转发则路由器会丢弃该上层

数据包并返回一个错误信息第三位是MF当路

由器对一个上层数据包分段则路由器会在最后一

个分段的IP包的包头中将MF位设为0其余IP包的

包头中将MF设为1

分段偏移量长度13比特Fragment Offset出现的一种攻击方法目前IT领域的计算机已经有

该字段对包含分段的上层数据包的IP包赋予序号

由于IP包在网络上传送的时候不一定能按顺序到

这个字段保证了目标路由器在接受到IP包之后

能够还原分段的上层数据包到某个包含分段的上挑战本文只对攻击方法做简单介绍

层数据包的IP包在传送时丢失则整个一系列包含

分段的上层数据包的IP包都会被要求重传

生存时间长度8比特IPTime to Live

进行传送时先会对该字段赋予某个特定的值

IP包经过每一个沿途的路由器的时候每个沿途的

路由器会将IP包的TTL值减少1如果TTL减少为0

则该IP包会被丢弃这个字段可以防止由于故障而

导致IP包在网络中不停被转发

协议长度8比特标识了上层所使Protocol

用的协议

头部校验长度16比特Header Checksum

由于IP包头是变长的所以提供一个头部校验来保

IP包头中信息的正确性

IP地址长度16Source 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

包头中有变长的可选部分

字段可以拆分成两个部分PrecedenceTOSTOS

61

技术探讨

TECHNICAL EXPLORATION

CHINA INSTRUMENTATION

20123

年 第

目的IP地址长度16Destination IP Address

比特标识了这个IP包的目的IP地址

可选项这是一个可变长的字段Options

度为032bit的整倍数最大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.30MAC地址它就可以向主机

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 SmurfICMP Flood的区别是利用更多的网

络发送请求从而使得对目标机器的请求能够短时

间内倍增

2.7 Ping of Death攻击

TCP/IP协议的特征之一是单个IP数据包能够被

分成更小的数据包进行发送当执行分段发送时

每个分段的IP数据包需要携带初始IP包的信息

图4 正常ARP的工作过程

其工作步骤主要为

ARP会在自己的ARP缓存表中寻找是否有1

目标IP地址如果找到了也就知道了目标MAC

直接把目标MAC地址写入帧里面发送即可

如果在ARP缓存表中没有找到目标IP2

主机10.10.10.5就会在网络上发送一个广播

10.10.10.30这表示向同一网段内的IP

所有主机发出这样的询问网络上其他主机并不

响应ARP询问只有此IP地址的主机接收到这个帧

才做出这样的回应我的IP10.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