CN111756714B - 一种用于工控协议的流量重放式测试方法及测试引擎 - Google Patents
一种用于工控协议的流量重放式测试方法及测试引擎 Download PDFInfo
- Publication number
- CN111756714B CN111756714B CN202010540777.2A CN202010540777A CN111756714B CN 111756714 B CN111756714 B CN 111756714B CN 202010540777 A CN202010540777 A CN 202010540777A CN 111756714 B CN111756714 B CN 111756714B
- Authority
- CN
- China
- Prior art keywords
- flow
- industrial control
- packet
- replay
- test
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种用于工控协议的流量重放式测试方法,基于实际工控协议流量的传输,针对各类工控协议的各个原始流量包进行收集,并解析,按原始流量包、以及其所对应各个指定数据信息的形式存储于流量重放配置管理库中,然后在实际重放测试中,按目标工控设备所对应工控协议、以及测试设计方案要求,选择原始流量包进行编辑,进而实现对目标工控设备的重放测试;并以此构建测试引擎,通过各模块之间的协作,完成对目标工控设备的安全测试,整个技术方案能够个性化适用更多的工控协议,支持多类型工控流量包,整个测试执行过程,能够实现个性化设计,满足多样化的测试设计方案,有效提高了重放测试的应用效率。
Description
技术领域
本发明涉及一种用于工控协议的流量重放式测试方法及测试引擎,属于工控协议测试技术领域。
背景技术
流量重放是协议测试中的一种测试方法,该测试方法的流程是将已经获取到的真实流量进行解析,并生成新的同样流量数据发送给目标设备。这种测试方法使得目标设备被动接收已经接收过的数据包,可能会导致目标设备当前的逻辑状态混乱、敏感信息泄露等问题,因此采用流量重放方法进行协议测试的方式,实际上是模拟网络中的重放攻击。重放攻击者可以根据攻击目标,将目标设备已接收过的包重新发送,达到欺骗***的目的。重放攻击的产生可以是因为用户重复发起请求,也可以是因为请求被攻击者获取,然后重新发给服务器。重放攻击经常发生在身份认证过程,破坏认证的正确性,或者采用重放攻击的方式获取加密敏感数据。重放攻击是在网络攻击中经常发生的攻击方式之一,因此采用流量重放方式对协议设备进行攻击测试,能够有效暴露出协议设备在身份认证、信息传输中的安全漏洞,及时采取防御措施,提高协议设备的安全性。
重放攻击的基本原理是把之前窃听到的数据原封不动地重新发送给接收方,从而达到欺骗接收方***的目的。大部分情况下,网络上传输的数据是加密数据,窃听者并不知道数据的具体内容,但是如果知道这些数据的作用,比如知道这些数据是用来进行身份认证的,那么便可以在不知道数据内容的情况下,通过再次发送这些数据达到欺骗接收端的目的,然后继续下一步攻击。
重放攻击是互联网上经常采用的攻击方式,目前市面上比较流行的网络攻击测试平台Burp Suite是一款用于攻击WEB应用程序的集成平台,其中的Repeater部分可实现重放攻击,用户需要做基本的网络配置,Burp Suite实现网络流量监听并抓包,用户可选择特定数据做重放攻击。该工具是网络安全研究领域常用的工具,针对HTTP协议,提供了许多接口满足多种不同的攻击数据生成需求,并提供数据解码比对等工具箱方便使用。该工具主要是针对WEB应用程序的攻击平台。思博伦、BPS、IXIA等是国际上比较主流的测试仪产品,作为技术上比较成熟的网络测试仪产品,它们都在网络安全测试方面有自己独特的测试功能和使用界面设计,并且在各自的安全测试框架下开发流量重放测试功能,可供测试人员进一步研究和使用。但是这些测试仪产品对工控协议测试来说是不适用的,首先支持的协议种类比较少,测试深度不够,也缺乏定制扩展能力,不能满足实际的测试需求。
对于协议测试来说,尤其是工控协议,其流量特征与WEB应用流量有很大差别,不同的工控协议流量数据特征也完全不同,大部分协议设备厂商同步开发协议模拟器,模拟服务器客户端协议数据通信,有些可以支持通过开发脚本生成重放数据进行重放攻击测试,这种方式对测试人员要求就很高了,需要对工控协议本身非常熟悉才能进行相关测试。目前在协议测试领域,尚没有一款工控协议专用的工具平台可以针对不同的工控协议进行重放攻击测试,面对发展迅速的工业互联网技术,网络安全检测技术手段如何跟上工业互联网规模的发展是一个亟待解决的问题。
发明内容
本发明所要解决的技术问题是提供一种用于工控协议的流量重放式测试方法,设计采用协议模板应用方式,实现对原始协议流量的解析、管理,并生成重放流量,针对目标工控设备进行安全测试,能够有效提高重放测试的应用效率。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种用于工控协议的流量重放式测试方法,用于实现对目标工控设备的安全性测试,包括数据库构建方法与流量重放测试方法,其中,数据库构建方法包括如下步骤A至步骤C:
步骤A.针对各类工控协议应用下的传输流量进行收集,获得对应各类工控协议的各个原始流量包,然后进入步骤B;
步骤B.基于各类工控协议分别所对应的预设模板,分别针对各个原始流量包,应用相应工控协议所对应预设模板中配置的协议功能码,针对原始流量包进行解析,获得其中至少包括工控协议名称、流量功能码、源IP地址、目的IP地址、目的端口的各个指定数据信息,作为该原始流量包所对应的各个指定数据信息;进而获得各原始流量包分别所对应的各个指定数据信息,然后进入步骤C;
步骤C.将各个原始流量包、以及原始流量包所对应的各个指定数据信息,存储至预先构建的流量重放配置管理库中,获得流量重放配置管理库;
基于数据库构建方法所获得的流量重放配置管理库,流量重放测试方法包括如下步骤I至步骤III:
步骤I.针对目标工控设备,由流量重放配置管理库中选择符合目标工控设备所对应工控协议、以及测试设计方案中测试功能目的原始流量包,作为待测试流量包,然后进入步骤II;
步骤II.根据测试设计方案,针对待测试流量包进行编辑,修正其中的源IP地址,以及根据目标工控设备,修正其中目的IP地址、目的端口,更新待测试流量包,构成重放流量包,并按预设发包机制,将重放流量包发送至目标工控设备,然后进入步骤III;
步骤III.接收来自目标工控设备接收重放流量包的反馈流量包,并对反馈流量包进行解析,判断反馈流量包中的信息与重放流量包所对应的测试功能目标是否一致,是则表示目标工控设备存在该测试功能方面的漏洞,否则表示目标工控设备不存在该测试功能方面的漏洞。
作为本发明的一种优选技术方案:所述流量重放测试方法中:
步骤I.针对目标工控设备,由流量重放配置管理库中选择符合目标工控设备所对应工控协议、以及测试设计方案中测试功能目的各个原始流量包,作为各个待测试流量包,然后进入步骤II;
步骤II.根据测试设计方案,分别针对各个待测试流量包进行编辑,修正其中的源IP地址,以及根据目标工控设备,修正其中目的IP地址、目的端口,更新各个待测试流量包,并根据测试设计方案,组合各个待测试流量包,构成重放流量包,并按预设发包机制,将重放流量包发送至目标工控设备,然后进入步骤III。
作为本发明的一种优选技术方案:所述流量重放测试方法的步骤II中,针对待测试流量包进行编辑中,若待测试流量包中存在用于完整性与一致性的校验和字段,则针对该校验和字段重新计算,结合针对待测试流量包的其它编辑,更新待测试流量包。
作为本发明的一种优选技术方案:所述数据库构建方法的步骤B中,应用相应工控协议所对应预设模板中配置的协议功能码,针对原始流量包的解析中,还包括获得其中的流量速率;
所述流量重放测试方法的步骤II中,针对重放流量包,按照预设发包机制,以原始流量包的流量速率、或者预设流量重放配置速率,将重放流量包发送至目标工控设备。
作为本发明的一种优选技术方案:所述对应各类工控协议的各个原始流量包支持正常数据包、异常数据包、病毒流量库;
其中,正常数据包包含基于各种工控协议的工控设备正常控制、数据传输、配置变更的工控流量数据包文件;
异常数据包包含基于各种工控协议的工控设备的组态变更、高危指令、敏感操作、越界数据、超长超短包的异常工控流量数据包文件;
病毒流量库支持包括STUXNET震网、FLAME火焰、DUQU毒区、BlackEnergy、PLC蠕虫、PLC Rookit、勒索病毒多种变种样本的工业病毒。
作为本发明的一种优选技术方案:所述流量重放测试方法执行的过程中,统计目标工控设备接受报文的数量、协议比例、长度分布、指令种类、连接数各数据信息,并在流量重放测试方法执行结束后,针对所统计的各数据信息进行存储。
本发明所要解决的技术问题是提供一种用于工控协议的流量重放式测试方法的测试引擎,基于协议模板应用方式的设计,以各模块之间的协作,构建对原始协议流量的解析、管理,并生成重放流量的测试引擎整体方案,完成对目标工控设备的安全测试,能够有效提高重放测试的应用效率。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种用于工控协议的流量重放式测试方法的测试引擎,包括原始流量导入解析模块、重放流量生成与发送模块、反馈解析模块;其中,基于步骤A所获对应各类工控协议的各个原始流量包,原始流量导入解析模块用于执行所述步骤B至步骤C的操作;重放流量生成与发送模块用于执行所述流量重放测试方法中的步骤I至步骤II;反馈解析模块用于执行所述流量重放测试方法中的步骤III。
作为本发明的一种优选技术方案:还包括流量模板管理模块,流量模板管理模块针对所述流量重放测试方法中的步骤II,执行其中根据测试设计方案,组合各个待测试流量包,构成重放流量包的操作。
作为本发明的一种优选技术方案:所述流量模板管理模块还用于针对流量重放配置管理库,实现原始流量包的查询与检索。
本发明所述一种用于工控协议的流量重放式测试方法及测试引擎,采用以上技术方案与现有技术相比,具有以下技术效果:
本发明所设计用于工控协议的流量重放式测试方法,基于重放测试原理,针对工控协议流量进行个性化设计,基于实际工控协议流量的传输,针对各类工控协议的各个原始流量包进行收集,并解析,按原始流量包、以及其所对应各个指定数据信息的形式存储于流量重放配置管理库中,然后在实际重放测试中,按目标工控设备所对应工控协议、以及测试设计方案要求,选择原始流量包进行编辑,进而实现对目标工控设备的重放测试;并以此构建测试引擎,通过各模块之间的协作,完成对目标工控设备的安全测试,整个技术方案能够个性化适用更多的工控协议,支持多类型工控流量包,整个测试执行过程,能够实现个性化设计,满足多样化的测试设计方案,有效提高了重放测试的应用效率。
附图说明
图1是本发明所设计用于工控协议的流量重放式测试方法的流程示意图;
图2是本发明所设计用于工控协议的流量重放式测试方法的测试引擎中流量模板管理模块的界面示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明所设计一种用于工控协议的流量重放式测试方法,用于实现对目标工控设备的安全性测试,包括数据库构建方法与流量重放测试方法,实际应用当中,如图1所示,按如下步骤A至步骤C,执行数据库构建方法。
步骤A.针对各类工控协议应用下的传输流量进行收集,获得对应各类工控协议的各个原始流量包,然后进入步骤B。
实际应用当中,对应各类工控协议的各个原始流量包支持正常数据包、异常数据包、病毒流量库。
其中,正常数据包包含基于各种工控协议的工控设备正常控制、数据传输、配置变更的工控流量数据包(pcap)文件。
异常数据包包含基于各种工控协议的工控设备的组态变更、高危指令、敏感操作、越界数据、超长超短包的异常工控流量数据包(pcap)文件。
病毒流量库支持包括STUXNET震网、FLAME火焰、DUQU毒区、BlackEnergy、PLC蠕虫(PLC-Blaster)、PLC Rookit、勒索病毒多种变种样本的工业病毒,如此设计便于进行病毒感染过程、工控特种木马外联行为等的测试。
步骤B.基于各类工控协议分别所对应的预设模板,分别针对各个原始流量包,应用相应工控协议所对应预设模板中配置的协议功能码,针对原始流量包进行解析,获得其中至少包括工控协议名称、流量功能码、源IP地址、目的IP地址、目的端口、流量速率的各个指定数据信息,作为该原始流量包所对应的各个指定数据信息;进而获得各原始流量包分别所对应的各个指定数据信息,然后进入步骤C。
步骤C.将各个原始流量包、以及原始流量包所对应的各个指定数据信息,存储至预先构建的流量重放配置管理库中,获得流量重放配置管理库。
实际应用当中,流量重放配置管理库设计字段如下表1所示。
字段名 | 字段内容 | 字段类型 | 备注 |
_id | 自增ID | ObjectId | —— |
packet_name | 包名称 | Array | —— |
packet_size | 包大小 | String | —— |
packet_num | 包数量 | String | —— |
packet_desc | 描述 | String | —— |
packet_position | 位置 | String | —— |
editor | 编辑者 | String | —— |
type | 类型 | String | —— |
time | 时间 | DateTime | —— |
表1
基于数据库构建方法所获得的流量重放配置管理库,实际应用当中,如图1所示,按如下步骤I至步骤III,执行流量重放测试方法。
步骤I.针对目标工控设备,由流量重放配置管理库中选择符合目标工控设备所对应工控协议、以及测试设计方案中测试功能目的原始流量包,作为待测试流量包,然后进入步骤II。
步骤II.根据测试设计方案,针对待测试流量包进行编辑,修正其中的源IP地址,以及根据目标工控设备,修正其中目的IP地址、目的端口,更新待测试流量包,构成重放流量包,并按照预设发包机制,以原始流量包的流量速率、或者预设流量重放配置速率,将重放流量包发送至目标工控设备,然后进入步骤III。
步骤III.接收来自目标工控设备接收重放流量包的反馈流量包,并对反馈流量包进行解析,判断反馈流量包中的信息与重放流量包所对应的测试功能目标是否一致,是则表示目标工控设备存在该测试功能方面的漏洞,否则表示目标工控设备不存在该测试功能方面的漏洞。
实际应用当中,所述流量重放测试方法中,还涉及通过与目标工控设备之间的多次流量交互,实现安全测试,实际应用中即如下步骤I至步骤III的执行。
步骤I.针对目标工控设备,由流量重放配置管理库中选择符合目标工控设备所对应工控协议、以及测试设计方案中测试功能目的各个原始流量包,作为各个待测试流量包,然后进入步骤II。
步骤II.根据测试设计方案,分别针对各个待测试流量包进行编辑,修正其中的源IP地址,以及根据目标工控设备,修正其中目的IP地址、目的端口,更新各个待测试流量包,并根据测试设计方案,组合各个待测试流量包,构成重放流量包,并按照预设发包机制,以原始流量包的流量速率、或者预设流量重放配置速率,将重放流量包发送至目标工控设备,然后进入步骤III。
步骤III.接收来自目标工控设备接收重放流量包的反馈流量包,并对反馈流量包进行解析,判断反馈流量包中的信息与重放流量包所对应的测试功能目标是否一致,是则表示目标工控设备存在该测试功能方面的漏洞,否则表示目标工控设备不存在该测试功能方面的漏洞。
在上述的流量重放测试方法中,不论是单个重放流量包对目标工控设备的重放测试,还是多个重放流量包对目标工控设备的重放测试,在步骤II针对待测试流量包进行的编辑中,若待测试流量包中存在用于完整性与一致性的校验和字段,则针对该校验和字段重新计算,结合针对待测试流量包的其它编辑,更新待测试流量包。
实际应用在流量重放测试方法执行的过程中,统计目标工控设备接受报文的数量、协议比例、长度分布、指令种类、连接数各数据信息,并在流量重放测试方法执行结束后,针对所统计的各数据信息进行存储。
针对上述所设计用于工控协议的流量重放式测试方法的技术方案,本发明进一步设计了基于此的测试引擎,实际应用当中,具体包括原始流量导入解析模块、重放流量生成与发送模块、反馈解析模块;对于上述所设计的数据库构建方法与流量重放测试方法,实际应用当中,基于步骤A所获对应各类工控协议的各个原始流量包,原始流量导入解析模块用于执行所述步骤B至步骤C的操作;其中,原始流量导入解析模块实现各个原始流量包的导入解析,原始流量包导入后进行解析,获得各个指定数据信息,并按照相应工控协议所对应的预设模板,存储在***指定的目录下管理。实际应用当中,原始流量导入解析模块设计不仅支持单文件的导入,也支持多文件的导入,在导入配置文件中列出文件路径即可。导入成功后将相应的各个指定数据信息,比如:协议名称、流量包名称、流量包大小、包含的数据帧个数等信息存储在流量重放配置库中。
重放流量生成与发送模块用于执行所述流量重放测试方法中的步骤I至步骤II;反馈解析模块用于执行所述流量重放测试方法中的步骤III。
实际应用当中,用户可以通过重放流量生成与发送模块选择一个或多个原始流量包,也可以选择合成流量包进行流量重放,同时支持对每个流量包设置重放次数,一次重放的流量包最大可以达到超过1G。重放流量生成与发送模块根据用户选定在流量包获取流量数据帧并进行自动编辑,自动修改源IP地址、目的IP地址、目的端口,为保证流量测试的有效性,对数据帧中可能带有的完整性和一致性校验和字段进行识别并重新计算。
重放流量的发包采用多种发包机制,支持按照配置的速率发包并保证发包速率的稳定。支持线速发包,在1000Mbps网络中,64字节报文可发到1000Mbps或1442800pps;512字节报文可发到1000Mbps或1442800pps;1024字节报文可发到1000Mbps或1442800pps,在10Gbps网络中可以达到10Gbps线速。在流量重放测试任务执行过程中,测试引擎支持相应的统计接口,统计信息包括:接受报文的数量、协议比例、长度分布、指令种类、连接数等,并在结束任务后将统计信息存储在数据库中。
实际应用当中,在原始流量导入解析模块、重放流量生成与发送模块、反馈解析模块设计的基础上,还加入了流量模板管理模块,流量模板管理模块针对所述流量重放测试方法中的步骤II,执行其中根据测试设计方案,组合各个待测试流量包,构成重放流量包的操作;此外,流量模板管理模块还用于针对流量重放配置管理库,实现原始流量包的查询与检索。
流量模板管理模块在实际应用当中,如图2所示,提供了丰富的用户界面操作功能对导入的原始流量进行管理使用,实现测试用户对导入流量包的常用查询、检索等功能,该模块提供的可视化合成功能,支持将若干个原始流量包合成一个新的流量包,并与原始流量包一起统一管理,测试用户可根据重放攻击测试的需求合成所需要的流量包。
并且在实际应用当中,上述所设计的测试引擎可以基于现有技术的工控协议专用的协议测试平台进行实施应用,在设计应用上述原始流量导入解析模块、流量模板管理模块、重放流量生成与发送模块的同时,反馈解析模块的实现可以直接应用工控协议专用的协议测试平台上的反馈解析功能,并实现步骤III中对反馈流量包的接收、解析、以及实现对目标工控设备是否存在该测试功能方面漏洞的应用。
本发明所设计一种用于工控协议的流量重放式测试方法,在实际应用当中,原始流量导入解析模块拥有如下特征:
a)支持采用协议模板应用解析流量包,支持60多种协议模板;
b)支持三种流量包类型:正常数据包、异常数据包、病毒流量包;
c)支持一次导入一个或多个流量包,配置文件列出导入的文件路径;
d)支持流量包信息统计,包括:包名称、包大小、包含数据帧数量等;
e)支持更新重放流量模板配置库信息。
流量模板管理模块拥有如下特征:
a)支持流量包按名称查询;
b)支持流量包导入;
c)支持流量包合成。
重放流量生成与发送模块拥有如下特征:
a)支持网口编辑,发包选择;
b)按指定速率发包并保持报文速率的稳定性;
c)支持线速发包;
d)支持最大超过1G文件的流量重放;
e)支持流量重放报文统计:接收报文数量、协议比例、长度分布、指令种类、连接数等。
流量重放测试是一种攻击性测试,理论上说并不一定需要测试人员完全了解流量数据的每一个数据帧含义,但是原始流量越真实有效、测试人员对流量数据的功能和意义越清楚,实际测试应用的有效性就会越高。本发明应用协议模板对原始流量包进行解析并统一存储管理,确保重放流量的有效性,同时流量模板管理模块提供了丰富的管理功能实现对原始流量的查询、检索、合成等可视化功能,使得测试人员能够根据测试目标生成所需要的重放流量。
本发明设计一种用于工控协议的流量重放式测试方法及测试引擎,弥补了国内协议测试领域缺乏工控协议专用重放攻击测试平台的现状;实际应用当中,基于一个工控协议专用的工业互联网协议测试平台,该测试平台提供了可扩展的协议流量测试、渗透测试、攻击测试、压力测试等集中测试环境,实现工控协议及工控设备的一致性、功能、性能、安全性测试等功能,覆盖60余种主流工控协议。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (9)
1.一种用于工控协议的流量重放式测试方法,用于实现对目标工控设备的安全性测试,其特征在于,包括数据库构建方法与流量重放测试方法,其中,数据库构建方法包括如下步骤A至步骤C:
步骤A.针对各类工控协议应用下的传输流量进行收集,获得对应各类工控协议的各个原始流量包,然后进入步骤B;
步骤B.基于各类工控协议分别所对应的预设模板,分别针对各个原始流量包,应用相应工控协议所对应预设模板中配置的协议功能码,针对原始流量包进行解析,获得其中至少包括工控协议名称、流量功能码、源IP地址、目的IP地址、目的端口的各个指定数据信息,作为该原始流量包所对应的各个指定数据信息;进而获得各原始流量包分别所对应的各个指定数据信息,然后进入步骤C;
步骤C.将各个原始流量包、以及原始流量包所对应的各个指定数据信息,存储至预先构建的流量重放配置管理库中,获得流量重放配置管理库;
基于数据库构建方法所获得的流量重放配置管理库,流量重放测试方法包括如下步骤I至步骤III:
步骤I.针对目标工控设备,由流量重放配置管理库中选择符合目标工控设备所对应工控协议、以及测试设计方案中测试功能目的原始流量包,作为待测试流量包,然后进入步骤II;
步骤II.根据测试设计方案,针对待测试流量包进行编辑,修正其中的源IP地址,以及根据目标工控设备,修正其中目的IP地址、目的端口,更新待测试流量包,构成重放流量包,并按预设发包机制,将重放流量包发送至目标工控设备,然后进入步骤III;
步骤III.接收来自目标工控设备接收重放流量包的反馈流量包,并对反馈流量包进行解析,判断反馈流量包中的信息与重放流量包所对应的测试功能目标是否一致,是则表示目标工控设备存在该测试功能方面的漏洞,否则表示目标工控设备不存在该测试功能方面的漏洞。
2.根据权利要求1所述一种用于工控协议的流量重放式测试方法,其特征在于:所述流量重放测试方法中:
步骤I.针对目标工控设备,由流量重放配置管理库中选择符合目标工控设备所对应工控协议、以及测试设计方案中测试功能目的各个原始流量包,作为各个待测试流量包,然后进入步骤II;
步骤II.根据测试设计方案,分别针对各个待测试流量包进行编辑,修正其中的源IP地址,以及根据目标工控设备,修正其中目的IP地址、目的端口,更新各个待测试流量包,并根据测试设计方案,组合各个待测试流量包,构成重放流量包,并按预设发包机制,将重放流量包发送至目标工控设备,然后进入步骤III。
3.根据权利要求1或2所述一种用于工控协议的流量重放式测试方法,其特征在于:所述流量重放测试方法的步骤II中,针对待测试流量包进行编辑中,若待测试流量包中存在用于完整性与一致性的校验和字段,则针对该校验和字段重新计算,结合针对待测试流量包的其它编辑,更新待测试流量包。
4.根据权利要求1或2所述一种用于工控协议的流量重放式测试方法,其特征在于:所述数据库构建方法的步骤B中,应用相应工控协议所对应预设模板中配置的协议功能码,针对原始流量包的解析中,还包括获得其中的流量速率;
所述流量重放测试方法的步骤II中,针对重放流量包,按照预设发包机制,以原始流量包的流量速率、或者预设流量重放配置速率,将重放流量包发送至目标工控设备。
5.根据权利要求1或2所述一种用于工控协议的流量重放式测试方法,其特征在于:所述对应各类工控协议的各个原始流量包支持正常数据包、异常数据包、病毒流量库;
其中,正常数据包包含基于各种工控协议的工控设备正常控制、数据传输、配置变更的工控流量数据包文件;
异常数据包包含基于各种工控协议的工控设备的组态变更、高危指令、敏感操作、越界数据、超长超短包的异常工控流量数据包文件;
病毒流量库支持包括STUXNET震网、FLAME火焰、DUQU毒区、BlackEnergy、PLC蠕虫、PLCRookit、勒索病毒多种变种样本的工业病毒。
6.根据权利要求1或2所述一种用于工控协议的流量重放式测试方法,其特征在于:所述流量重放测试方法执行的过程中,统计目标工控设备接受报文的数量、协议比例、长度分布、指令种类、连接数各数据信息,并在流量重放测试方法执行结束后,针对所统计的各数据信息进行存储。
7.一种执行权利要求1至6中任意一项所述用于工控协议的流量重放式测试方法的测试引擎,其特征在于:包括原始流量导入解析模块、重放流量生成与发送模块、反馈解析模块;其中,基于步骤A所获对应各类工控协议的各个原始流量包,原始流量导入解析模块用于执行所述步骤B至步骤C的操作;重放流量生成与发送模块用于执行所述流量重放测试方法中的步骤I至步骤II;反馈解析模块用于执行所述流量重放测试方法中的步骤III。
8.根据权利要求7所述一种用于工控协议的流量重放式测试方法的测试引擎,其特征在于:还包括流量模板管理模块,流量模板管理模块针对所述流量重放测试方法中的步骤II,执行其中根据测试设计方案,组合各个待测试流量包,构成重放流量包的操作。
9.根据权利要求8所述一种用于工控协议的流量重放式测试方法的测试引擎,其特征在于:所述流量模板管理模块还用于针对流量重放配置管理库,实现原始流量包的查询与检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540777.2A CN111756714B (zh) | 2020-06-15 | 2020-06-15 | 一种用于工控协议的流量重放式测试方法及测试引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540777.2A CN111756714B (zh) | 2020-06-15 | 2020-06-15 | 一种用于工控协议的流量重放式测试方法及测试引擎 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756714A CN111756714A (zh) | 2020-10-09 |
CN111756714B true CN111756714B (zh) | 2022-05-20 |
Family
ID=72676047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010540777.2A Active CN111756714B (zh) | 2020-06-15 | 2020-06-15 | 一种用于工控协议的流量重放式测试方法及测试引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756714B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383444A (zh) * | 2020-10-21 | 2021-02-19 | 北京威努特技术有限公司 | 工控网络设备性能测试装置和方法 |
CN112835792B (zh) * | 2021-01-27 | 2023-03-03 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种压力测试***及方法 |
CN112714047B (zh) * | 2021-03-29 | 2021-06-29 | 北京网测科技有限公司 | 基于工控协议流量的测试方法、装置、设备及存储介质 |
CN113259257B (zh) * | 2021-06-21 | 2021-10-19 | 南京赛宁信息技术有限公司 | 网络靶场中自定义速率分布的背景流量发生方法与装置 |
CN114244723A (zh) * | 2021-09-29 | 2022-03-25 | 浙江国利网安科技有限公司 | 一种服务流量模拟方法、装置和服务流量模拟器 |
CN114157461B (zh) * | 2021-11-22 | 2023-08-01 | 绿盟科技集团股份有限公司 | 工控协议数据流处理方法、装置、设备及存储介质 |
CN114666253A (zh) * | 2022-03-09 | 2022-06-24 | 成都安恒信息技术有限公司 | 一种基于数据包解析软件及测试应用的方法及*** |
CN115550231A (zh) * | 2022-03-31 | 2022-12-30 | 许昌开普检测研究院股份有限公司 | 一种基于配置文件的多协议测试平台及其测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656874A (zh) * | 2017-11-07 | 2018-02-02 | 中国银行股份有限公司 | 一种接口测试方法、装置、模拟挡板及*** |
CN109474607A (zh) * | 2018-12-06 | 2019-03-15 | 连云港杰瑞深软科技有限公司 | 一种工业控制网络安全保护监测*** |
CN109802929A (zh) * | 2017-11-17 | 2019-05-24 | 厦门雅迅网络股份有限公司 | 基于双***的客户端程序升级方法及计算机可读存储介质 |
CN110505111A (zh) * | 2019-07-09 | 2019-11-26 | 杭州电子科技大学 | 基于流量重放的工控协议模糊测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009837B2 (en) * | 2010-07-01 | 2015-04-14 | Onapsis S.R.L. | Automated security assessment of business-critical systems and applications |
-
2020
- 2020-06-15 CN CN202010540777.2A patent/CN111756714B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656874A (zh) * | 2017-11-07 | 2018-02-02 | 中国银行股份有限公司 | 一种接口测试方法、装置、模拟挡板及*** |
CN109802929A (zh) * | 2017-11-17 | 2019-05-24 | 厦门雅迅网络股份有限公司 | 基于双***的客户端程序升级方法及计算机可读存储介质 |
CN109474607A (zh) * | 2018-12-06 | 2019-03-15 | 连云港杰瑞深软科技有限公司 | 一种工业控制网络安全保护监测*** |
CN110505111A (zh) * | 2019-07-09 | 2019-11-26 | 杭州电子科技大学 | 基于流量重放的工控协议模糊测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111756714A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756714B (zh) | 一种用于工控协议的流量重放式测试方法及测试引擎 | |
US10387656B2 (en) | Integrated interactive application security testing | |
Duchêne et al. | State of the art of network protocol reverse engineering tools | |
US10560354B2 (en) | End-to-end, in situ packet enrichment for network analytics | |
CN112866244B (zh) | 基于虚拟网络环境的网络流量沙箱检测方法 | |
US10824549B1 (en) | System and method for regression testing of an application programming interface | |
CN112347485A (zh) | 多引擎获取漏洞并自动化渗透的处理方法 | |
CN104182681B (zh) | 基于hook的iOS***关键行为检测装置和方法 | |
CN108965037A (zh) | 安全测试数据的获取和审计分析方法及装置 | |
CN104156481A (zh) | 基于动态链接库注入的Android加密通信检测装置和方法 | |
EP3433782B1 (en) | Integrated interactive application security testing | |
US20170353492A1 (en) | In-band asymmetric protocol simulator | |
Hofer-Schmitz et al. | Towards formal methods of IoT application layer protocols | |
Parker et al. | Some testing tools for TCP implementors | |
Fang et al. | Ics3fuzzer: A framework for discovering protocol implementation bugs in ics supervisory software by fuzzing | |
CN108351941A (zh) | 分析装置、分析方法、以及分析程序 | |
Conti et al. | Icspot: A high-interaction honeypot for industrial control systems | |
Gokhale et al. | Industrial control systems honeypot: A formal analysis of conpot | |
CN113347184A (zh) | 网络流量安全检测引擎的测试方法、装置、设备及介质 | |
US11496502B2 (en) | Method and apparatus for generating attack string | |
CN109347696B (zh) | 一种基于分级变异的网络协议模糊测试方法 | |
CN107145342A (zh) | 应用的渠道信息的处理方法和装置 | |
Gallenstein | Integration of the network and application layers of automatically-configured programmable logic controller honeypots | |
Gajrani et al. | sPECTRA: a Precise framEwork for analyzing CrypTographic vulneRabilities in Android apps | |
von der Assen | DDoSGrid 2.0: Integrating and Providing Visualizations for the European DDoS Clearing House |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |