CN105871620B - 一种网络空间工业控制设备快速检测识别方法 - Google Patents
一种网络空间工业控制设备快速检测识别方法 Download PDFInfo
- Publication number
- CN105871620B CN105871620B CN201610294214.3A CN201610294214A CN105871620B CN 105871620 B CN105871620 B CN 105871620B CN 201610294214 A CN201610294214 A CN 201610294214A CN 105871620 B CN105871620 B CN 105871620B
- Authority
- CN
- China
- Prior art keywords
- address
- industrial control
- field
- protocol
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000001514 detection method Methods 0.000 title claims abstract description 34
- 239000000523 sample Substances 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 8
- 108010066082 tartrate-sensitive acid phosphatase Proteins 0.000 claims description 2
- 238000011161 development Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种网络空间工业控制设备快速检测识别方法。本方法为:1)探测器将带有SYN字段的网络传输层TCP探测包发送到IPv4地址空间的每一IP地址,如果有IP地址回复,则将该IP地址加入候选集合;2)探测器将该候选集合中的每一IP地址序列作为一候选目的IP地址,分别发送带有工业控制S7协议字段的探测包和带有工业控制Modbus协议字段的探测包,如果该目的IP地址返回带有工业控制S7协议字段的反馈,则将该目的IP地址标识为运行S7协议的工业控制设备,如果返回带有工业控制Modbus协议字段的反馈,则将该目的IP地址标识为运行Modbus的工业控制设备。本发明大大提高了设备识别效率。
Description
技术领域
本发明涉及一种快速网络空间工业控制设备检测方法,属于计算机网络和物联网领域。
背景技术
物联网是我国战略性新兴产业的重要组成部分,引领了继计算机、互联网和移动通信之后的新一轮信息技术革命,是未来科技竞争的制高点和产业升级的重要驱动力,是加速推进工业化、信息化融合的催化剂。物联网不仅和国民经济建设、社会发展息息相关,也是提高人民生活质量和水平的驱动力,是我国创新驱动发展战略的重要体现。保证物联网安全,也就是保障国家基础设施的安全建设。
物理实体设备出现在网络空间,包括网络摄像头,工业控制设备,智能家电,智能手机,路由器,打印机等设备。网络空间的物理设备将自身暴露在公共区域,既推动了社会的发展,工业4.0,智能楼宇,普适计算,办公自动化等等,也带来了安全与隐私问题。物理实体设备,自身存在的漏洞,易被黑客攻击,那么依赖于这些物理设备的实体将会出现灾难性的问题,如工厂停产或错误操控结果造成的实体设施毁坏,引起社会危机和经济损失。另外物理实体设备也会获取、处理、传输隐私数据,如果没有防范措施则会导致隐私的泄露,也会引起社会危机和经济损失。网络空间上的物联网设备的快速发现,可以帮助相关业务企业***提高安全审计的效率,为物联网***安全防御的科研工作提供技术支持,为国家***门提供安全态势分析。
现有的网络空间工业控制设备搜索主要存在以下几个缺陷。首先,整个IPv4的网络空间,包括40亿的地址空间,导致在如此巨大的空间内搜索工业控制设备,会消耗数年的时间,这对于国家基础设施的安全保障来说是不现实的。其次,工业控制设备种类繁多,现有的方法无法知道具体工业控制设备的型号。
本发明提出了两阶段过程的网络空间工业控制设备快速发现算法。在第一阶段,利用带有SYN字段的TCP数据包,进行工业控制设备的候选集选取,在数据探测包的发送的随机化、快速性和无状态的优势下,可以加快候选集合的发现速度;在第二阶段,提出了Modbus(MODBUS TCP implementation guide,http://www.modbus.org/docs/)和S7(SIMATIC,https://simple.wikipedia.org/wiki/SIMATIC)两种工业控制协议发现的特殊字段,可以在候选集合上快速识别工业控制设备。
发明内容
针对已有工作的不足,本发明提出了一种基于两阶段过程的网络空间工业控制设备快速检测识别方法。如图1所示,本方法包括两个阶段。在第一阶段,将带有SYN字段的网络传输层TCP探测包发送到IPv4地址空间的每一个IP地址,如果有IP地址回复,那么就将该IP地址加入候选集合,否则跳过这个IP地址。发送TCP探测包,遵守三个条件,无状态性,随机化发送和高速发送。在第二个阶段,候选集合中的IP地址序列作为工业控制设备识别的输入,对每一个候选单元,分别发送带有工业控制S7协议字段的探测包,带有工业控制Modbus协议字段的探测包,如果该IP地址返回带有工业控制S7协议字段的反馈,那么则标识为运行S7协议的工业控制设备,如果返回带有工业控制Modbus协议字段的反馈,则标识为运行Modbus协议的工业控制设备,否则就剔除该IP地址。
本方法的基于两阶段过程的工业控制设备快速发现算法,其主要步骤(如图1所示)包括:
1.第一阶段,候选集合的快速发现,包括探测包发送的三个特性,无状态性、随机化和快速性;
2.第二阶段,带有工业控制协议S7协议字段的探测包,识别工业控制设备;
3.第二阶段,带有工业控制协议Modbus协议字段的探测包,识别工业控制设备。
1.第一阶段,候选集合的快速发现,包括探测包发送的三个特性,无状态性、随机化和快速性。
IPv4具有40亿个地址空间,本方法对每一个IP地址,都发送一个网络层带有SYN字段的TCP探测包。其中探测包没有填充任何数据,这样可以有效减少网络带宽的要求。探测包的包头,其IP目的地址为IPv4地址空间的每一地址,源地址是探测器也就是自身所处的主机位置,并且带有SYN字段,其余包头字段保持默认字段。如果目的IP地址返回带有ACK字段的数据包,那么就将其加入到候选集合,否则跳过该IP地址。其中的三个特性,无状态性、随机化和快速性在下文描述。
无状态特性:
每个探测包采用网络传输层的TCP包。传统的TCP协议需要源IP地址和目的IP地址建立三次握手协议,才能进行下一个阶段。然后,本方法考虑到整个IPv4巨大的空间,建立三次握手协议会消耗时间,从而使得探测时间大大增强。本方法提出,仅仅发送带有SYN字段的TCP包,其中SYN包是TCP握手协议最后一步,如果收到该TCP探测包的IP地址符合候选集合要求,那么它会返回数据包,否则就跳过。本方法采用无状态特征,可以大大加快设备发现速度。
随机化发送:
网络空间IPv4地址,是以32字节,以“*.*.201.22”格式。本方法提出采用随机化发送给不同的IP地址,而不是采用顺序的方式进行分发。本方法首先将IPv4的地址空间,采用一个32字节的LONG型变量存储地址(即采用一个32字节的LONG型变量存储地址存储IPv4地址空间的每一地址,其中每一地址对应一LONG型变量),并存储在一个列表中;然后每一个LONG变量,采用随机化函数Random变换成另一个LONG变量,再转换为IP地址进行发送。通过转换成另一个变量可以达到地址随机化的目的,输入到随机化函数的是存储原始IP地址的LONG变量,随机化函数的输出是另一个随机化后的LONG变量;通过利用这种方式可以保证映射的唯一性,原始的顺序的IP地址转换为随机的且不重复的IP地址。
快速特性:
本方法,为了加快网络空间上工业控制设备的发现速度,提出了发送探测包的速度逼近当前网络环境的上传带宽。本方法的探测速度如以下所示:
其中,Byte()描述探测包的大小,Bandwith是描述当前网络环境的上传带宽;然后以当前网络速度speed随机发送带SYN字段的TCP探测包。因此,本方法采用最大的发包速度。
2.第二阶段,带有工业控制协议S7的特殊字段的探测包,识别工业控制设备
在步骤1中,我们获得了候选集合。阶段二,将候选集合作为输入,对每一个IP地址,发送带有工业控制协议S7的特殊字段的探测包,如果得到反馈,那么就将该IP地址标识为运行S7协议的工业控制设备。具体过程如图2所示。
首先对每一个候选单元(即候选集合中的候选IP地址),进行三次握手建立完整的TCP连接。然后发送带有COTPDST_TSAP字段的包头的探测包,如果候选单元反馈了带有COTP字段的数据包,那么说明探测器已经通过了S7协议认证过程,否则说明探测器不能确定,是没有通过S7设备的认证还是候选单元不是S7设备。探测器探测数次后,如果一直没有过认证,那么就删除该候选单元,如果通过认证。探测器会发送工业控制S7协议的请求,如果得到反馈,探测器表示这个IP地址为运行工业控制S7协议的设备。
3.第二阶段,带有工业控制协议Modbus的特殊字段的探测包,识别工业控制设备
在步骤1中,我们获得了候选集合。阶段二,将候选集合作为输入,对每一个IP地址,发送带有工业控制协议Modbus的特殊字段的探测包,如果得到反馈,那么就将该IP地址标识为运行Modbus协议的工业控制设备。具体过程如图3所示。
首先对每一个候选单元,进行三次握手建立完整的TCP连接。然后发送带有Modbus协议(其他字段值为默认,Func字段指定为43、90等)字段的包头的探测包。其中工业控制协议Modbus没有具体的认证过程。向Modbus工业控制设备发送带Func字段的探测包,如果目标工控设备响应了该探测包,那么该设备会返回相应的设备名和类型。探测器会选择性的发送带有Func字段的探测包,例如常规的Func43字段和Func90字段等。如果都没有得到反馈,那么就删除该候选单元,否则将该IP地址添加为Modbus工业控制设备的标识。
与现有技术相比,本发明的积极效果为:
(1)可以快速地在40亿的网络空间上,发现工业控制设备;
(2)可以识别两种工业控制设备,包括运行S7协议的工业控制设备和Modbus协议的工业控制设备。
附图说明
图1为两阶段过程的网络空间工业控制设备发现示意图;
图2为识别工业控制S7协议的设备的流程图;
图3为识别工业控制协议Modbus的设备的流程图。
具体实施方式
基于两阶段过程的网络空间工业控制设备快速发现算法的***设计,下面我们描述具体的实现细节。
a)探测器首先将探测空间IP地址加入到探测列表中
b)在(a)后,对探测列表中的每一个IP地址进行随机数处理得到新的IP列表。
c)在(b)后,给每一个IP地址发送带有SYN字段的TCP探测包。
d)在(c)后,如果目的地址反馈了探测器,那么将该IP地址加入到候选集合。
e)在(d)在候选集合内,顺序选择单元,以此建立完整的TCP连接,发送工业控制协议S7COTP字段的数据包。
f)在(e)后,尝试数次,如果得到反馈,根据反馈标识工业控制设备,否则删除该IP地址。
g)在(d)在候选集合内,顺序选择单元,以此建立完整的TCP连接,发送工业控制协议Modbus带有Func字段的数据包。
h)在(g)后,尝试数次不同的Func字段的探测包,如果得到反馈,根据反馈标识工业控制设备,否则删除该IP地址。
i)在(f)和(h)输出列表为网络空间的工业控制设备。
Claims (6)
1.一种网络空间工业控制设备快速检测识别方法,其步骤为:
1)探测器将带有SYN字段的网络传输层TCP探测包发送到IPv4地址空间的每一IP地址,如果有IP地址回复,则将该IP地址加入候选集合;
2)探测器将该候选集合中的每一IP地址序列作为一候选目的IP地址,分别发送带有工业控制S7协议字段的探测包和带有工业控制Modbus协议字段的探测包,如果该目的IP地址返回带有工业控制S7协议字段的反馈,则将该目的IP地址标识为运行S7协议的工业控制设备,如果返回带有工业控制Modbus协议字段的反馈,则将该目的IP地址标识为运行Modbus的工业控制设备;其中,
识别出运行工业控制S7协议的工业控制设备的方法为:首先对每一候选目的IP地址,探测器与该目的IP地址进行三次握手建立完整的TCP连接;然后发送包头带有COTP DST_TSAP字段的探测包,如果该目的IP地址反馈了带有COTP字段的数据包,探测器发送工业控制S7协议的请求,如果得到反馈,则将该目的IP地址标识为运行工业控制S7协议的工业控制设备;
识别出运行工业控制Modbus协议的工业控制设备的方法为:首先对每一候选目的IP地址,探测器与该目的IP地址进行三次握手建立完整的TCP连接;然后发送包头带有Modbus协议Func字段的探测包,如果该目的IP地址返回相应的设备名和类型,则将该目的IP地址标识为运行工业控制Modbus协议的工业控制设备。
2.如权利要求1所述的方法,其特征在于,步骤1)中,将带有SYN字段的网络传输层TCP探测包发送到IPv4地址空间的每一IP地址的方法为:实时探测当前网络速度speed,然后以当前网络速度speed随机发送带SYN字段的网络传输层TCP探测包。
3.如权利要求2所述的方法,其特征在于,所述当前网络速度其中Byte(packet)为网络传输层TCP探测包的大小,Bandwith为当前网络环境的上传带宽。
4.如权利要求1或2所述的方法,其特征在于,步骤1)中,将带有SYN字段的网络传输层TCP探测包发送到IPv4地址空间的每一IP地址的方法为:首先采用一个32字节的LONG型变量存储地址存储IPv4地址空间的每一地址;然后对每一LONG型变量,采用随机化函数Random将其变换成另一个LONG变量,再转换为IP地址进行发送。
5.如权利要求4所述的方法,其特征在于,步骤1)中,如果有IP地址返回带有ACK字段的数据包,则将该IP地址加入到该候选集合。
6.如权利要求1所述的方法,其特征在于,带有工业控制S7协议字段的探测包为工业控制协议S7带有COTP字段的数据包;带有工业控制Modbus协议字段的探测包为工业控制协议Modbus带有Func字段的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610294214.3A CN105871620B (zh) | 2016-05-05 | 2016-05-05 | 一种网络空间工业控制设备快速检测识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610294214.3A CN105871620B (zh) | 2016-05-05 | 2016-05-05 | 一种网络空间工业控制设备快速检测识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105871620A CN105871620A (zh) | 2016-08-17 |
CN105871620B true CN105871620B (zh) | 2019-04-16 |
Family
ID=56630422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610294214.3A Active CN105871620B (zh) | 2016-05-05 | 2016-05-05 | 一种网络空间工业控制设备快速检测识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871620B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713449A (zh) * | 2016-12-21 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种快速识别联网工控设备的方法 |
CN107395573A (zh) * | 2017-06-30 | 2017-11-24 | 北京航空航天大学 | 一种工业控制***的探测方法及装置 |
CN109413104A (zh) * | 2018-12-11 | 2019-03-01 | 中国电子科技网络信息安全有限公司 | 一种无状态tcp网络扫描方法 |
CN111766788A (zh) * | 2020-06-01 | 2020-10-13 | 珠海格力电器股份有限公司 | 智能家居控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036886A (zh) * | 2012-12-19 | 2013-04-10 | 珠海市鸿瑞软件技术有限公司 | 工业控制网络安全防护方法 |
CN103716420A (zh) * | 2014-01-03 | 2014-04-09 | 西南大学 | Modbus ASCII从站自动获取站地址方法及从站 |
CN105204487A (zh) * | 2014-12-26 | 2015-12-30 | 北京邮电大学 | 基于通信模型的工业控制***的入侵检测方法及*** |
CN105553973A (zh) * | 2015-12-14 | 2016-05-04 | 中国电子信息产业集团有限公司第六研究所 | 一种探测工控设备异常的***与方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140157405A1 (en) * | 2012-12-04 | 2014-06-05 | Bill Joll | Cyber Behavior Analysis and Detection Method, System and Architecture |
-
2016
- 2016-05-05 CN CN201610294214.3A patent/CN105871620B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036886A (zh) * | 2012-12-19 | 2013-04-10 | 珠海市鸿瑞软件技术有限公司 | 工业控制网络安全防护方法 |
CN103716420A (zh) * | 2014-01-03 | 2014-04-09 | 西南大学 | Modbus ASCII从站自动获取站地址方法及从站 |
CN105204487A (zh) * | 2014-12-26 | 2015-12-30 | 北京邮电大学 | 基于通信模型的工业控制***的入侵检测方法及*** |
CN105553973A (zh) * | 2015-12-14 | 2016-05-04 | 中国电子信息产业集团有限公司第六研究所 | 一种探测工控设备异常的***与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105871620A (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105871620B (zh) | 一种网络空间工业控制设备快速检测识别方法 | |
US10812524B2 (en) | Method, and devices for defending distributed denial of service attack | |
CN105704091B (zh) | 一种基于ssh协议的会话解析方法及*** | |
CN111133427B (zh) | 生成和分析网络配置文件数据 | |
CN102098272B (zh) | 一种协议识别的方法、装置和*** | |
US20150289301A1 (en) | Terminal matching method, terminal and system | |
CN112261094B (zh) | 一种报文处理方法及代理服务器 | |
US10587515B2 (en) | Stateless information centric forwarding using dynamic filters | |
CN103997489A (zh) | 一种识别DDoS僵尸网络通信协议的方法及装置 | |
CN110740144B (zh) | 确定攻击目标的方法、装置、设备及存储介质 | |
CN107181605B (zh) | 报文检测方法及***、内容提取装置、流量匹配装置 | |
CN102946385B (zh) | 一种防止伪造释放报文进行攻击的方法和设备 | |
CN111147524B (zh) | 报文发送端的识别方法、装置和计算机可读存储介质 | |
CN110909030B (zh) | 一种信息处理方法及服务器集群 | |
CN110474922B (zh) | 一种通信方法、pc***及接入控制路由器 | |
WO2016008212A1 (zh) | 一种终端及检测终端数据交互的安全性的方法、存储介质 | |
CN105120454A (zh) | 信息传输方法、联网接入方法及相应的终端 | |
JP5035410B2 (ja) | アドレス検索方法およびパケット処理装置 | |
CN102123153B (zh) | IPv4与IPv6双栈主机的认证方法、装置及*** | |
CN104660636A (zh) | 点对点应用识别处理方法和装置 | |
CN106797315B (zh) | 控制设备 | |
CN115865457A (zh) | 一种网络攻击行为的识别方法、服务器及介质 | |
CN106789666B (zh) | 一种确定转换后端口的方法和装置 | |
US10015179B2 (en) | Interrogating malware | |
Castiglione et al. | Device tracking in private networks via napt log analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |