CN113364808B - 工控防火墙测试方法、装置、设备及存储介质 - Google Patents

工控防火墙测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113364808B
CN113364808B CN202110738822.XA CN202110738822A CN113364808B CN 113364808 B CN113364808 B CN 113364808B CN 202110738822 A CN202110738822 A CN 202110738822A CN 113364808 B CN113364808 B CN 113364808B
Authority
CN
China
Prior art keywords
data packet
packet
candidate data
candidate
sending
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
Application number
CN202110738822.XA
Other languages
English (en)
Other versions
CN113364808A (zh
Inventor
柯志成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202110738822.XA priority Critical patent/CN113364808B/zh
Publication of CN113364808A publication Critical patent/CN113364808A/zh
Application granted granted Critical
Publication of CN113364808B publication Critical patent/CN113364808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

本公开实施例涉及一种工控防火墙的测试方法、装置、设备及存储介质。方法包括:获取当前抓包文件中携带应用层载荷的多个候选数据包,提取每个候选数据包的载荷数据和五元组信息;根据预设的改包策略对载荷数据改包,生成与多个候选数据包对应的多个目标数据包;根据五元组信息确定每个目标数据包的发送端设备和接收端设备,并根据发送端设备经过工控防火墙向接收端设备发送对应的目标数据包;获取在发送对应的目标数据包时目标数据包的收发反馈参量值,并根据收发反馈参数值获取工控防火墙测试结果。本公开实施例实现了自动化改包,提高了数据包生成效率和多样性,提高了测试工控防火墙的可靠性,为提高工控防火墙性能提供了技术支撑。

Description

工控防火墙测试方法、装置、设备及存储介质
技术领域
本公开涉及网络安全技术领域,尤其涉及一种工控防火墙测试方法、装置、设备及存储介质。
背景技术
通常应用于工业控制网络环境中的防火墙称为工业防火墙或工控防火墙。针对一些基于传输控制协议(Transmission Control Protocol,TCP)或国际互联协议(InternetProtocol,IP)的工控报文,工控防火墙会对报文进行深度的解析以及处理。工控防火墙的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,对保障数据安全具有重要意义,因此,对工控防火墙的性能测试也十分重要。
相关技术中,为了测试经过工控防火墙的数据包载荷是否能被防火墙正确解析,现阶段的测试方案是提供对应的模拟软件,通过用户接收用户在该模拟软件上的触发操作实现数据包的发送,根据工控防火墙对工控报文的解析实现对工控防火墙的测试。
然而,上述工控防火墙的测试方法,依赖于用户手动点击生成数据包,导致数据包生成效率较低,另外,用户手动点击的功能有限,导致数据包的多样性不足,从而,对工控防火墙的测试不准确。
发明内容
为了解决上述技术问题或者至少部分的解决上述技术问题,本公开提供了一种工控防火墙测试方法、装置、设备及存储介质。
第一方面,本公开提供了一种工控防火墙测试方法,所述方法包括:
获取当前抓包文件中携带应用层载荷的多个候选数据包,提取每个候选数据包的载荷数据和五元组信息;
根据预设的改包策略对所述载荷数据改包,生成与所述多个候选数据包对应的多个目标数据包;
根据所述五元组信息确定每个所述目标数据包的发送端设备和接收端设备,并根据所述发送端设备经过工控防火墙向所述接收端设备发送对应的目标数据包;
获取在发送所述对应的目标数据包时所述目标数据包的收发反馈参量值,并根据所述收发反馈参量值获取所述工控防火墙测试结果。
一种可选的实施方式中,所述获取当前抓包文件中携带应用层载荷的多个候选数据包,包括:
识别所述当前抓包文件中所有数据包的数据包后缀;
确定所述数据包后缀为预设后缀的数据包为所述候选数据包。
一种可选的实施方式中,所述根据预设的改包策略对所述载荷数据改包,生成与所述多个候选数据包对应的多个目标数据包,包括:
判断每个候选数据包是否满足预设的改包条件;
若所述候选数据包中的第一候选数据包满足所述改包条件,则根据预设的配置信息确定所述第一候选数据包的待修改字段;
生成与所述第一候选数据包对应的改包字段,并将所述待修改字段替换为所述改包字段,以获取与所述第一候选数据包对应的目标数据包。
一种可选的实施方式中,在所述判断每个所述候选数据包是否满足预设的改包条件之后,还包括:
若所述候选数据包中的第二候选数据包不满足所述改包条件,则确定所述第二候选数据包为对应的目标数据包。
一种可选的实施方式中,所述根据预设的配置信息确定所述第一候选数据包的待修改字段,包括:
获取所述第一候选数据包在预设字节位置的字节内容;
查询预设的配置信息获取与所述字节内容对应的待修改字段。
一种可选的实施方式中,所述生成与所述第一候选数据包对应的改包字段,包括:
获取所述第一候选数据包对应的随机字符串;
将所述随机字符串转换为字节格式以获取所述改包字段。
一种可选的实施方式中,所述根据所述发送端设备经过工控防火墙向所述接收端设备发送对应的目标数据包,包括:
根据所述五元组信息对应的套接字发送所述对应的目标数据包。
一种可选的实施方式中,所述获取在发送所述对应的目标数据包时所述目标数据包的收发反馈参量值,并根据所述收发反馈参量值获取所述工控防火墙测试结果,包括:
获取所述发送端设备的发送时间和所述接收端设备的接收时间;
计算所述接收时间和所述发送时间的时间差值,确定所述时间差值为所述收发反馈参量值;
当所述多个目标数据包对应的至少一个所述时间差值均值小于预设时间阈值时,确定所述工控防火墙测试结果为测试通过。
第二方面,本公开还提供了一种工控防火墙测试的装置,所述装置包括:
第一获取模块,用于获取当前抓包文件中携带应用层载荷的多个候选数据包,提取每个所述候选数据包的载荷数据和五元组信息;
改包模块,用于根据预设的改包策略对所述载荷数据改包,生成与所述多个候选数据包对应的多个目标数据包;
发送模块,用于根据所述五元组信息确定每个所述目标数据包的发送端设备和接收端设备,并根据所述发送端设备经过工控防火墙向所述接收端设备发送对应的目标数据包;
第二获取模块,用于获取在发送所述对应的目标数据包时所述目标数据包的收发反馈参量值,并根据所述收发反馈参量值获取所述工控防火墙测试结果。
第三方面,本公开提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的方法。
第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的工控防火墙测试方法,实现了自动化改包,提高了数据包生成效率和多样性,通过多样化的数据包提高了测试工控防火墙的可靠性,为提高工控防火墙性能提供了技术支撑。
附图说明
此处的附图被并入说明书中并构成说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种工控防火墙测试方法的流程示意图;
图2为本公开实施例提供的一种数据包重放的流程示意图;
图3为本公开实施例提供的一种工控防火墙测试方法的可能的实现的功能模块图;
图4为本公开实施例提供的一种改包方法的流程示意图;
图5为本公开实施例提供的一种确定待修改字段的示意图;
图6为本公开实施例提供的另一种确定待修改字段的示意图;
图7为本公开实施例提供的一种根据收发反馈参量值获取工控防火墙测试结果的流程示意图;
图8为本公开实施例提供的一种工控防火墙测试装置的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特点和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1为本公开实施例提供的一种工控防火墙测试方法的流程示意图。该方法可以由工控防火墙测试装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。
如图1所示,该工控防火墙测试方法可以包括:
步骤101,获取当前抓包文件中携带应用层载荷的多个候选数据包,提取每个候选数据包的载荷数据和五元组信息;
在实际执行过程中,客户端和服务器通信交互会产生大量的数据包,因此,在本实施例中,通过抓包工具等抓取多个数据包生成当前抓包文件。其中,通过抓包工具可以抓取预设时间段内的所有数据包生成对应的当前抓包文件,也可以通过抓包工具抓包时,统计抓包的数量,当抓包数量大于一定值后对抓包的数据包生成当前抓包文件。
正如上所说的,本实施例中是针对基于TCP/IP等工控协议的报文进行解析的工控防火墙进行测试,即工控防火墙着重处理的就是报文应用层数据,而抓包文件中的数据包可能包括非工控协议的数据包,因此,对抓包文件去噪处理,将携带应用层载荷的数据包作为参与后续测试的候选数据包,其中,应用层载荷的数据包多为基于TCP/IP等工控协议的数据包。
需要说明的是,在不同的应用场景中,获取当前抓包文件中携带应用层载荷的多个候选数据包的方式不同:
在一些可能的实施例中,由于携带应用层载荷的数据包相对于不携带应用层载荷的数据包的数据包后缀不同,因此,可以基于数据包后缀筛选出对应的候选数据包。即识别当前抓包文件中所有数据包的数据包后缀,确定数据包后缀为预设后缀的数据包为候选数据包,其中,预设后缀可以是“.cap”、“.pcap”等应用层载荷的数据包的后缀。
在另一些可能的实施例中,携带应用层载荷数据包和其他没有携带应用层载荷的数据包,由于发送协议不同,因此,与协议对应的标志位可能不同,从而,可以根据数据包中与发送协议对应标志位的值确定携带应用层载荷的候选数据包。
进一步地,在本实施例中,由于工控防火墙在工作时,接收到的数据包可能是客户端发送到服务器的,也有可能是服务器发送到客户端的,而数据报文的发送端和接收端可以通过五元组信息得到,其中,五元组信息包括源IP地址、目的IP地址、源端口、目的端口和传输层协议,其中,源IP地址对应于发送端,目的IP地址对应于接收端,因此,为了便于后续改包后的数据包的发送真实性,在本实施例中,提取每个候选数据包的载荷数据和五元组信息,以便于根据五元组信息确定后续改包的数据包的发送端和接收端。
步骤102,根据预设的改包策略对载荷数据改包,生成与多个候选数据包对应的多个目标数据包;
在本公开一些实施例中,为了提高数据包的多样性,从而覆盖更多的功能,提高工控防火墙的测试全面性,对获取到的候选数据包改包生成多个候选数据包对应的多个目标数据包,由此,扩展了数据包的多样性。
需要说明的是,通过对载荷数据改包的改包策略,在不同的应用场景中可以不同,任意扩展候选数据包多样性的改包方式都应该属于上述改包策略,本实施例不作限制,为了便于理解,本实施例中将会在后续实施例中示例说明,在此不再赘述。
步骤103,根据五元组信息确定每个目标数据包的发送端设备和接收端设备,并根据发送端设备经过工控防火墙向接收端设备发送对应的目标数据包;
正如以上所提到的,五元组信息可以作为一条传输方向的判断依据。例如,五元组信息中的源IP地址为1.1.1.1:1111,目的IP地址为2.2.2.2:2222,传输协议为TCP的数据包,若第一次出现,则记该数据包为一个正向连接(通常为客户端到服务器,也可以为服务器到客户端)。当出现源IP地址为2.2.2.2:2222,目的IP地址为1.1.1.1:1111,协议为TCP的数据包时,记该数据包为前面连接的反向数据包。在发送数据包时,正向数据包由发送端设备发出,反向数据包由接收端设备发出。
由此,在本公开一些实施例中,根据五元组信息确定每个目标数据包的发送端设备和接收端设备,可以根据发送端设备经过工控防火墙向接收端设备发送对应的目标数据包,由于发送端设备和接收端设备来源于抓包文件中原始候选数据包的五元组信息,因此,有可能出现正向的传输,也有可能存在反向的传输,进一步提高了传输的真实性。
在本公开一些实施例中,发送端设备和接收端设备传输连接时,为了避免构建三次握手连接等导致的发送效率较低的问题,还可以直接获取五元组信息对应的套接字,其中,套接字封装了数据链路层、网络层以及传输层的通信建立,因此,直接复用五元组信息对应的套接字在传输层发送对应的目标数据包即可,而无需重新构建传输连接。
步骤104,获取在发送对应的目标数据包时目标数据包的收发反馈参量值,并根据收发反馈参量值获取工控防火墙测试结果。
在本公开一些实施例中,收发反馈参量值代表的是工控防火墙的防护性能参量,可以根据收发反馈参量值获取工控防火墙的测试结果。可以理解地,收发反馈参量值可以是任意一个能够代表工控防火墙性能的参数,在不同的应用场景下,参数可以不同。例如,数据包收发时间差、内存增加值、合法数据包的丢包率、同一个数据包的来回时间差等。
由此,本公开实施例的工控防火墙测试方法,对携带应用层载荷的多个候选数据包改包,生成多个目标数据包,扩展了数据包的多样性,提高了工控防火墙的测试全面性,并且,由于改包是建立在原始的候选数据包基础上,因此,改包后的数据包相当于实现了候选数据包的改包重放,当经过多次循环改包后,除了可以测试工控防火墙的解析能力,还可以实现测试工控防火墙对重放攻击的处理功能。
举例而言,如图2所示,图2为本公开实施例提供的一种数据包重放的流程示意图。
在本公开一些实施例中,根据用户在模拟软件上的操作等,向工控防火墙发送大量的数据包进行工控防火墙的测试,这里的测试可以来理解为第一次测试,进而,在本实施例中,对大量的数据包抓包,获取当前抓包文件中携带应用层载荷的多个候选数据包后,对多个候选数据包进行第一次改包生成多个候选数据包对应的多个目标数据包1,根据发送端设备经过工控防火墙向接收端设备发送对应的目标数据包1,完成第一次重放,对于同一个抓包的重放,可以对里面每一个含有应用层载荷的数据针对性地做不同修改。以此类推,可以进行多次的循环改包,从而实现测试工控防火墙对重放攻击的处理功能,由此,对一些攻击场景中,攻击者通过不断发送攻击报文,形成一种慢速攻击,可能会导致被攻击主机出现内存溢出等异常的情况,也实现了工控防火墙的有关解析能力的测试。
当然,在本公开的一个实施例中,由于改包是在已传输的候选数据包的基础上进行的,因此,为了提高测试效率,除了上述可以复用套接字段之外,还可以将上述改包后的目标数据包信息等进行存储,测试的时候直接读取存储的目标数据包信息,无需实时改包。
下面以一种防护墙测试方法的可能的实现的功能模块的组合进行说明,图3为本公开实施例提供的一种工控防火墙测试方法的可能的实现的功能模块图。如图3所示,
该功能模块的组合包括提取模块,存储模块,发包模块三大模块。其中提取模块主要用于提取多个候选数据包,以及对多个候选数据包改包生成改包后的目标数据包。
存储模块,用于存储改包的有关配置信息,比如,五元组信息,比如,套接字端,比如,改包策略对应的改包数据等,存储模块提供发送目标数据包的有关配置信息,无需实时配置,提高了发包效率。
发包模块,用于获取存储模块存储的发包的配置信息,并在发包过程中全局调度配置等。
继续参照图3,在本实施例中,提取模块还包括读取模块和改包模块;读取模块读取一个抓包文件,对抓包文件进行筛选;改包模块从读取模块中获得经过筛选的候选数据包,并根据用户配置修改报文后传递给存储模块;存储模块将改包策略对应的改包数据等作为配置存储起来,供发包模块使用;发包模块还包括全局控制模块、服务端模块、客户端模块和统计模块;全局控制模块获取存储模块存储的发包配置,并在发包过程中全局调度配置,让服务端和客户端知道发送的目标数据包以及响应结果(是否发送成功等);服务端模块在发包前建立服务端监听客户端的请求;客户端模块根据全局控制模块新建客户端连接服务端发送报文,其中,全局控制模块为了模拟真实的发包场景,即需要接收端设备在收到包后才能回包,全局控制模块作为“中间人”根据对应的五元组信息等对目标数据包的发送方向和发送时间进行控制,模拟真实的发包场景,进一步提高了工控防火墙的测试可靠性;统计模块记录收发反馈参量值,以便于根据该收发反馈参量值获取工控防火墙的测试结果。
其中,提取模块和存储模块将抓包文件解析并存储为数据库数据,省去每次发包时从抓包文件获取数据载荷并改包的时间,提高了发包的效率。发包模块将发包的步骤细分到了服务端和客户端,使得重放的报文更像真实场景产生的,也将更容易通过工控防火墙对于连接的检测。全局控制模块在发包时收集响应信息,便于调度客户端与服务端的发包工作以及做结果的统计。
根据本公开实施例的工控防火墙测试方法,获取当前抓包文件中携带应用层载荷的多个候选数据包,提取每个候选数据包的载荷数据和五元组信息,根据预设的改包策略对载荷数据改包,生成与多个候选数据包对应的多个目标数据包,进而,根据五元组信息确定每个目标数据包的发送端设备和接收端设备,并根据发送端设备经过工控防火墙向接收端设备发送对应的目标数据包,获取在发送对应的目标数据包时目标数据包的收发反馈参量值,并根据收发反馈参数值获取工控防火墙测试结果。实现了自动化改包及包重放的功能,提高了数据包的多样性,使得在工控防火墙的测试中可以测试出更多具有潜在威胁的报文,同时提高了测试效率。
下面示例性说明如何根据预设的改包策略对载荷数据改包。
图4为本公开实施例提供的一种改包方法的流程示意图。
如图4所示,针对步骤102,可以包括以下步骤:
步骤401,判断每个候选数据包是否满足预设的改包条件;
在本公开一些实施例中,可以对所有的候选数据包进行改包,也可以为了进一步提高改包效率,预设改包条件,只对满足预设改包条件的数据包进行改包。
可以理解地,预设的改包条件可以有多种,具体实施方式本实施例不作限制,例如以下两种方式:
方式一,将候选数据包进行排序,将特定的序列号对应的候选数据包进行改包。例如特定的序列号可以是尾数为偶数的序列号,当候选数据包的序列号尾数为偶数时,则满足预设的改包条件。
方式二,确定候选数据包的最后一个字节的数值,当该数值处于预设的数值范围内时,将该候选数据包进行改包。例如预设的数值范围可以为0~5,当候选数据包的最后一个字节的数值在0~5之间,则满足预设的改包条件。
步骤402,若候选数据包中的第一候选数据包满足改包条件,则根据预设的配置信息确定第一候选数据包的待修改字段;
在本公开一些实施例中,满足预设改包条件的候选数据包为第一候选数据包,不满足预设改包条件的候选数据包为第二候选数据包。对于不满足预设改包条件的第二候选数据包,则确定第二候选数据包为对应的目标数据包。
对于满足预设条件的第一候选数据包,则根据预设的配置信息确定第一候选数据包的待修改字段,其中,预设的配置信息用于指示第一候选数据包中需改包的字段是哪些。
在一些可能的实施例中,配置信息中预先存储有字节内容和待修改字段的对应关系,为了确定当前第一候选数据包对应的待修改字段的字节内容,在本实施例中,预先确定第一候选数据包的预设字节位置的字节内容,该预设字节位置可以对应于一个字节,也可以对应于多个字节,对应于多个字节时,多个字节可以连续排列,也可以不连续排列。
进而,获取第一候选数据包在预设字节位置的字节内容后,查询预设的配置信息以获取与字节内容对应的待修改字段。这里需要强调的是,待修改字段的字节数和预设字节位置的字节数可以相同,也可以不同。
举例而言,如图5所示,图5为本公开实施例提供的一种确定待修改字段的示意图,当预设字节位置为第7个字节时,获取第一候选数据包在第7个字节的字节内容为“a”,进而,查询预设的配置信息以获取与“a”对应的待修改字段为“b”。
在另一些可能的实施例中,预设的配置信息包括第一候选数据包对应的待修改字节的二维坐标,即将第一候选数据包处理为二维形式后,将对应待修改字节的二维坐标确定为待修改字段。
举例而言,如图6所示,图6为本公开实施例提供的另一种确定待修改字段的示意图,预设的配置信息包括第一候选数据包对应的X行Y列到M行N列的数据将被修改(图中灰色填充部分),则第一候选数据包为I时,I配合wireshark的报文解析处理为每行16列的二维矩阵的形式,则将X行Y列在该二维矩阵的坐标转换为数组下标:[X,Y]=>(X-1)*16+Y需要修改的待修改字段为[(M-1)*16+N-((X-1)*16+Y)+1]的字节对应的字段(图中灰色填充部分)。
步骤403,生成与第一候选数据包对应的改包字段,并将待修改字段替换为改包字段,以获取与第一候选数据包对应的目标数据包。
在本公开一些实施例中,在确定第一候选数据包的待修改字段后,生成与第一候选数据包对应的改包字段,由此,实现了将第一候选数据包中的待修改字段替换为了改包字段,获取了改包后的目标数据包。
举例而言,以上述图5所示的场景为例,直接将对应待修改字段替换为改包字段。
当然,在一些可能的实施例中,也可以在删除了待修改字段后,在任意指定位置加入改包字段,该指定位置可以为一个也可以为多个。
比如,可以在删除了待修改字段,将第一候选数据包的剩余字节按照预设的步长拆分为多个字段,可根据场景需要任意划分,本实施例在此不作限制。将改包字段拆分为多个改包子字段,依次在每个字段的首部或者尾部加入多个改包子字段中的一个改包字段,最后对所有的字段拼接得到修改后的目标数据包。
举例而言,以上述图6所示的场景为例,在确定X行Y列到M行N列的数据将被删除后,假如确定的改包字段为字节数组V(包括V1、V2、V3等),则继续参照图6,删除X行Y列到M行N列的数据后,根据修改位置将第一候选数据包分割成A个字节数组[Array1,Array2,Array3,……]后,在每个字节数组后加入字节数组V中的一个字节数据并拼接,得到最后的目标数据包为[Array1,V1,Array2,V2,Array3,……]。
另外,在本实施例中,改包字段的生成方式有很多种,例如指定长度随机字符串或指定数据类型的随机数字,指定后自动转换为字节进行报文填补或修改。以指定长度随机字符串为例,包括以下步骤:获取第一候选数据包对应的随机字符串;将随机字符串转换为字节格式以获取改包字段。
根据本公开实施例的工控防火墙的测试方法,可以根据改包策略对候选数据包灵活改包,进一步保证了改包后的目标数据包的多样性,提高了工控防火墙测试的可靠性。
为了便于本领域的技术人员更加清楚的了解,如何根据收发反馈参量值获取工控防火墙测试结果,下面示例说明。
在本公开的一个实施例中,图7为本公开实施例提供的一种根据收发反馈参量值获取工控防火墙测试结果的流程示意图。如图7所示,包括以下步骤:
步骤701,获取发送端设备的发送时间和接收端设备的接收时间;
在本实施例中,发送端设备的发送时间和接收端设备的接收时间可由上述提到的全局控制模块获取。
步骤702,计算接收时间和发送时间的时间差值,确定时间差值为收发反馈参量值;
应当理解的是,对于可以正常发送的目标数据包而言,若是其时间差值过长,则表明工控防火墙的解析速度较慢,性能不满足需求,因此,在本实施例中,可以将时间差值作为收发反馈参量值。
步骤703,当多个目标数据包对应的至少一个时间差值均值小于预设时间阈值时,确定工控防火墙测试结果为测试通过。
在本实施例中,当目标数据包发送后,获取目标数据包从发送端设备发送时的时间和接收端设备接收时的时间,然后计算接收时间和发送时间的时间差值,确定其时间差值为收发反馈参量值。可以预设一个时间阈值,当多个目标数据包对应的至少一个时间差值均值小于预设时间阈值时,则确定工控防火墙的测试结果为测试通过。
例如,预设时间阈值可以为1秒,当目标数据包的接收时间和发送时间的时间差值为0.8秒时,小于预设的时间阈值,则确定工控防火墙的测试结果为测试通过。
在本公开的另一个实施例中,考虑到对于一些不合法的数据报文,应当确定其是否被工控防火墙成功拦截。
比如,对于会导致接收端设备的内存明显提高的目标数据包,对应的收发反馈参数值为内存增加值。
在本实施例中获取接收端设备接收到目标数据包后的内存增加值,若是该内存增加值大于预设阈值,则表明工控防火墙没有成功过滤掉导致内存会溢出的非法目标数据包,从而,确定工控防火墙测试不通过。
在又一些可能的实施例中,考虑到若是工控防火墙的解析性能稳定,其对目标数据包的收发时间应该是大致相同的,从而,在本实施例中,获取目标数据包正向发送(发送端设备发送到接收端设备)的第一时间,以及目标数据包反向(对应的接收端设备发送到发送端设备)发送的第二时间,计算第一时间和第二时间的时间差值,若是该时间差值的绝度值大于预设时间阈值,则表明工控防火墙测试不通过,否则认为测试通过。
根据本公开实施例的工控防火墙的测试方法,在不同的应用场景中,可以根据不同的收发反馈参量值,来确定工控防火墙测试结果是否通过,提高了测试灵活性。
根据本公开的实施例,本公开还提供了一种工控防火墙测试装置。
图8为本公开实施例提供的一种工控防火墙测试装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。
如图8所示,该工控防火墙测试装置800可以包括:
第一获取模块801,用于获取当前抓包文件中携带应用层载荷的多个候选数据包,提取每个所述候选数据部的载荷数据和五元组信息;
改包模块802,用于根据预设的改包策略对所述载荷数据改包,生成与所述多个候选数据包对应的多个目标数据包;
发送模块803,用于根据所述五元组信息确定每个所述目标数据包的发送端设备和接收端设备,并根据所述发送端设备经过工控防火墙向所述接收端设备发送对应的目标数据包;
第二获取模块804,用于获取在发送所述对应的目标数据包时所述目标数据包的收发反馈参量值,并根据所述收发反馈参量值获取所述工控防火墙测试结果。
本公开实施例所提供的工控防火墙测试装置可执行本公开任意实施例所提供的工控防火墙测试方法,具备执行方法相应的功能模块和有益效果。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的工控防火墙测试方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开任意实施例所提供的工控防火墙测试方法。
本公开实施例还提供了一种电子设备,该电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种工控防火墙的测试方法,其特征在于,包括以下步骤:
获取当前抓包文件中携带应用层载荷的多个候选数据包,提取每个所述候选数据包的载荷数据和五元组信息;
判断每个所述候选数据包是否满足预设的改包条件;
若所述候选数据包中的第一候选数据包满足所述改包条件,则根据预设的配置信息确定所述第一候选数据包的待修改字段;其中,所述预设的配置信息包括所述第一候选数据包对应的待修改字节的二维坐标,所述二维坐标包括行坐标和列坐标;
生成与所述第一候选数据包对应的改包字段,并将所述待修改字段替换为所述改包字段,以获取与所述第一候选数据包对应的目标数据包;或者,删除所述第一候选数据包中的待修改字段,将所述第一候选数据包的剩余字节按照预设步长拆分为多个剩余子字段,将改包字段拆分为多个改包子字段,将所述剩余子字段和所述改包子字段进行拼接,获得目标数据包;
根据所述五元组信息确定每个所述目标数据包的发送端设备和接收端设备,并根据所述五元组信息对应的套接字发送所述对应的目标数据包;
获取在发送所述对应的目标数据包时所述目标数据包的收发反馈参量值,并根据所述收发反馈参数值获取所述工控防火墙测试结果;其中,所述收发反馈参量值包括:数据包收发时间差、内存增加值、合法数据包的丢包率、同一个数据包的来回时间差中的至少一个。
2.如权利要求1所述的方法,其特征在于,所述获取当前抓包文件中携带应用层载荷的多个候选数据包,包括:
识别所述当前抓包文件中所有数据包的数据包后缀;
确定所述数据包后缀为预设后缀的数据包为所述候选数据包。
3.如权利要求1所述的方法,其特征在于,在所述判断每个所述候选数据包是否满足预设的改包条件之后,还包括:
若所述候选数据包中的第二候选数据包不满足所述改包条件,则确定所述第二候选数据包为对应的目标数据包。
4.如权利要求1所述的方法,其特征在于,所述根据预设的配置信息确定所述第一候选数据包的待修改字段,包括:
获取所述第一候选数据包在预设字节位置的字节内容;
查询预设的配置信息获取与所述字节内容对应的待修改字段。
5.如权利要求1所述的方法,其特征在于,所述生成与所述第一候选数据包对应的改包字段,包括:
获取所述第一候选数据包对应的随机字符串;
将所述随机字符串转换为字节格式以获取所述改包字段。
6.如权利要求1所述的方法,其特征在于,所述获取在发送所述对应的目标数据包时所述目标数据包的收发反馈参量值,并根据所述收发反馈参量值获取所述工控防火墙测试结果,包括:
获取所述发送端设备的发送时间和所述接收端设备的接收时间;
计算所述接收时间和所述发送时间的时间差值,确定所述时间差值为所述收发反馈参量值;
当所述多个目标数据包对应的至少一个所述时间差值均值小于预设时间阈值时,确定所述工控防火墙测试结果为测试通过。
7.一种工控防火墙测试装置,其特征在于,所述装置包括:
第一获取模块,用于获取当前抓包文件中携带应用层载荷的多个数据包,提取每个所述候选数据包的载荷数据和五元组信息;
判断模块,用于判断每个所述候选数据包是否满足预设的改包条件;
第一处理模块,用于若所述候选数据包中的第一候选数据包满足所述改包条件,则根据预设的配置信息确定所述第一候选数据包的待修改字段;其中,所述预设的配置信息包括所述第一候选数据包对应的待修改字节的二维坐标,所述二维坐标包括行坐标和列坐标;
第二处理模块,用于生成与所述第一候选数据包对应的改包字段,并将所述待修改字段替换为所述改包字段,以获取与所述第一候选数据包对应的目标数据包;或者,删除所述第一候选数据包中的待修改字段,将所述第一候选数据包的剩余字节按照预设步长拆分为多个剩余子字段,将改包字段拆分为多个改包子字段,将所述剩余子字段和所述改包子字段进行拼接,获得目标数据包;
发送模块,用于根据所述五元组信息确定每个所述目标数据包的发送端设备和接收端设备,并根据所述五元组信息对应的套接字发送所述对应的目标数据包;
第二获取模块,用于获取在发送所述对应的目标数据包时所述目标数据包的收发反馈参量值,并根据所述收发反馈参量值获取所述工控防火墙测试结果;其中,所述收发反馈参量值包括:数据包收发时间差、内存增加值、合法数据包的丢包率、同一个数据包的来回时间差中的至少一个。
8.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-6中任一所述的工控防火墙的测试方法。
CN202110738822.XA 2021-06-30 2021-06-30 工控防火墙测试方法、装置、设备及存储介质 Active CN113364808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110738822.XA CN113364808B (zh) 2021-06-30 2021-06-30 工控防火墙测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110738822.XA CN113364808B (zh) 2021-06-30 2021-06-30 工控防火墙测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113364808A CN113364808A (zh) 2021-09-07
CN113364808B true CN113364808B (zh) 2022-09-16

Family

ID=77537452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110738822.XA Active CN113364808B (zh) 2021-06-30 2021-06-30 工控防火墙测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113364808B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717205A (zh) * 2015-02-04 2015-06-17 上海展湾信息科技有限公司 基于报文重构的工控防火墙控制方法
CN110830330A (zh) * 2019-12-06 2020-02-21 浙江中控技术股份有限公司 一种防火墙测试方法、装置及系统
CN111914262A (zh) * 2020-08-12 2020-11-10 中国工商银行股份有限公司 测试方法、装置、系统、电子设备及存储介质
CN112363879A (zh) * 2020-11-20 2021-02-12 上海连尚网络科技有限公司 缓存服务器性能测试方法、装置、设备和介质
CN112714138A (zh) * 2021-03-29 2021-04-27 北京网测科技有限公司 基于攻击流量的测试方法、装置、设备及存储介质
CN112714047A (zh) * 2021-03-29 2021-04-27 北京网测科技有限公司 基于工控协议流量的测试方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111199146B (zh) * 2020-01-10 2023-09-26 深圳前海环融联易信息科技服务有限公司 测试报告生成方法、装置、计算机设备及存储介质
CN111967059A (zh) * 2020-08-11 2020-11-20 广东堡塔安全技术有限公司 一种网站防篡改方法、系统及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717205A (zh) * 2015-02-04 2015-06-17 上海展湾信息科技有限公司 基于报文重构的工控防火墙控制方法
CN110830330A (zh) * 2019-12-06 2020-02-21 浙江中控技术股份有限公司 一种防火墙测试方法、装置及系统
CN111914262A (zh) * 2020-08-12 2020-11-10 中国工商银行股份有限公司 测试方法、装置、系统、电子设备及存储介质
CN112363879A (zh) * 2020-11-20 2021-02-12 上海连尚网络科技有限公司 缓存服务器性能测试方法、装置、设备和介质
CN112714138A (zh) * 2021-03-29 2021-04-27 北京网测科技有限公司 基于攻击流量的测试方法、装置、设备及存储介质
CN112714047A (zh) * 2021-03-29 2021-04-27 北京网测科技有限公司 基于工控协议流量的测试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113364808A (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
US20100095370A1 (en) Selective packet capturing method and apparatus using kernel probe
CN111211980B (zh) 传输链路管理方法、装置、电子设备及存储介质
CN108241580B (zh) 客户端程序的测试方法及终端
CN107634964B (zh) 一种针对waf的测试方法及装置
CN110245273B (zh) 一种获取app业务特征库的方法及相应的装置
CN111176941B (zh) 一种数据处理的方法、装置和存储介质
CN111800412A (zh) 高级可持续威胁溯源方法、系统、计算机设备及存储介质
CN113810408B (zh) 网络攻击组织的探测方法、装置、设备及可读存储介质
CN110740144B (zh) 确定攻击目标的方法、装置、设备及存储介质
CN108011898B (zh) 漏洞检测方法、装置、计算机设备和存储介质
CN106972983B (zh) 网络接口的自动化测试装置及方法
CN111641589A (zh) 高级可持续威胁检测方法、系统、计算机以及存储介质
JP3937341B2 (ja) 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム
CN113364808B (zh) 工控防火墙测试方法、装置、设备及存储介质
CN107222332A (zh) 测试方法、装置、系统及机器可读存储介质
CN114500348B (zh) 一种cdn网关测试方法及系统
CN107948022B (zh) 一种对等网络流量的识别方法及识别装置
CN112699000A (zh) 数据处理方法、装置、可读存储介质和电子设备
CN113760753B (zh) 基于灰盒模糊技术的quic协议测试方法
CN112380105A (zh) 日志收集方法、装置、系统、设备、存储介质及插件
CN114363059A (zh) 一种攻击识别方法、装置及相关设备
CN107918737B (zh) 压力测试数据的传输方法、装置及系统
KR100912806B1 (ko) 인터넷 트래픽으로부터 특정 인터넷 응용 프로그램시그너춰를 추출하는 장치 및 방법.
CN111541675A (zh) 一种基于白名单的网络安全防护方法、装置及设备
US20140331321A1 (en) Building filter through utilization of automated generation of regular expression

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