一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

针对通讯卡件防护能力的测试方法、系统、设备及介质与流程

2022-03-26 13:55:05 来源:中国专利 TAG:


1.本发明涉及防护能力测试技术领域,尤其涉及一种针对通讯卡件防护能力的测试方法、系统、设备及介质。


背景技术:

2.工业自动化控制系统处于通讯稳定性要求,通常要求网络环境为封闭网络,且只有内部数据传输,不允许出现太多杂包,因此通常不对网络攻击进行防护。现阶段由于较多现场出现勒索病毒等传播能力很强的病毒,内部网络中存在大量异常数据包,导致控制器无法响应正常通讯或出现错误动作。因此需要对很多不同种类通讯卡件进行补充测试,确认其对工业网络常见攻击的防护能力。
3.由于通常测试通讯卡件人员对于网络攻击不熟悉,需要学习相关攻击测试方法并重新设计实现,时间成本较高,不利于测试效率的提升,对于模拟工业通讯网络中常见异常网络攻击场景有较高需求。现有方案中,倾向于工业网络中的漏洞挖掘,忽视对于网络攻击测试工具的易用性需求。


技术实现要素:

4.(一)要解决的技术问题
5.鉴于现有技术的上述缺点、不足,本发明提供一种针对通讯卡件防护能力的测试方法、系统、设备及介质,其解决了现有通讯卡件测试不方便、测试方案移植性低且对测试人员能力要求过高的技术问题。
6.(二)技术方案
7.为了达到上述目的,本发明采用的主要技术方案包括:
8.第一方面,本发明实施例提供一种针对通讯卡件应对工业网络攻击防护能力的测试方法,包括:
9.获取用户输入的配置信息和攻击模式选择信息,并整合为字典;
10.基于所述字典,构建攻击数据包;
11.依据所述字典确定攻击对象、攻击种类以及攻击延时,以对每一个攻击对象发送对应的攻击数据包。
12.可选地,所述配置信息包括:源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击模块的攻击延时以及攻击频率;所述攻击模式选择信息包括:一键攻击模式或预选攻击模式。
13.可选地,获取用户输入的配置信息和攻击模式选择信息,并整合为字典包括:
14.获取用户输入的源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击模块的攻击延时以及各个攻击模块的攻击频率;
15.获取用户输入的攻击模式选择信息;
16.将所述源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击
模块的攻击延时、各个攻击模块的攻击频率以及攻击模式选择信息整合形成字典。
17.可选地,基于所述字典,构建攻击数据包包括:
18.依据所述字典,利用scapy库函数遍历执行所有被选中的攻击模块;
19.在选中的攻击模块中,基于所述字典信息并结合scapy库,依据预设的攻击数据包特定格式,设定攻击数据包的mac、ip信息、icmp/tcp/udp包头以及数据负载。
20.可选地,依据所述字典确定攻击对象、攻击种类以及攻击延时,以对每一个攻击对象发送对应的攻击数据包包括:
21.处理所述字典中所述攻击模式选择信息,获取所述字典中的攻击对象、攻击种类以及攻击延时;
22.依据所述攻击延时,逐次利用scapy库函数对每一个攻击对象发送对应的攻击数据包。每个攻击模块都会依据字典中设置确定延时时间,ps:并不是攻击模块1和攻击模块2的延时,而是攻击模块1内部发送每个攻击包的延时。
23.可选地,对每一个攻击对象发送对应的攻击数据包之后,还包括:
24.在发送操作完成预设次数后,判断攻击对象的网口是否可以正常响应,并实时获取执行结果和当前网口状态;
25.当所有被选中的攻击模块完成一次攻击后,记录所有被选中的攻击模块的执行结果和攻击网口状态。
26.可选地,所述攻击数据包包括:mac、ip、协议层的dos攻击包,arpspoof攻击包,land攻击包,teardropg攻击包,fraggle攻击包,超大icmp攻击包,ip端口扫描攻击包以及udp数据包重放。
27.第二方面,本发明实施例提供一种针对通讯卡件应对工业网络攻击防护能力的测试系统,包括:
28.界面交互模块,用于获取用户输入的配置信息和攻击模式选择信息,且还设置有信息输入框、攻击延时输入框和攻击模式选择按钮;
29.攻击构建模块,用于将获取的用户输入的配置信息和攻击模式选择信息整合为字典,进而基于所述字典,构建攻击数据包;
30.攻击发送模块,用于依据所述字典确定攻击对象、攻击种类以及攻击延时,以对每一个攻击对象发送对应的攻击数据包;
31.结果记录模块,用于依据攻击返回值,记录测试的攻击模式和测试结果;
32.其中,
33.所述配置信息包括:源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击模块的攻击延时以及攻击频率;
34.所述攻击模式选择信息包括:一键攻击模式和预选攻击模式;
35.所述攻击数据包包括:mac、ip、协议层的dos攻击包,arpspoof攻击包,land攻击包,teardropg攻击包,fraggle攻击包,超大icmp攻击包,ip端口扫描攻击包以及udp数据包重放;
36.所述攻击返回值包括:执行结果和当前网口状态。
37.第三方面,本发明实施例提供一种针对通讯卡件应对工业网络攻击防护能力的测试设备,包括:
38.至少一个数据库;
39.以及与所述至少一个数据库通信连接的存储器;
40.其中,所述存储器存储有可被所述至少一个数据库执行的指令,所述指令被所述至少一个数据库执行,以使所述至少一个数据库能够执行如上所述的一种针对通讯卡件应对工业网络攻击防护能力的测试方法。
41.第四方面,本发明实施例提供一种计算机可读介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上所述的针对通讯卡件应对工业网络攻击防护能力的测试方法。
42.(三)有益效果
43.本发明提供了一键测试通讯卡件对工业网络常见攻击防护能力的方案,使对于不具备相关网络知识的测试人员具备完成测试通讯卡件设备网络防护能力的功能。通过python的前端良好互动性,通过填入必需参数,即可完成相关测试项要求,并将测试结果进行文本记录,便于后续定位通讯卡件的防护漏洞。使用本发明方案可以极大简化网络攻击相关学习成本,适于大规模测试人员使用,提升测试效率。
附图说明
44.图1为本发明提供的一种针对通讯卡件防护能力的测试方法的流程示意图;
45.图2为本发明提供的一种针对通讯卡件防护能力的测试方法的步骤s1的具体流程示意图;
46.图3为本发明提供的一种针对通讯卡件防护能力的测试方法的步骤s2的具体流程示意图;
47.图4为本发明提供的一种针对通讯卡件防护能力的测试方法的步骤s3的具体流程示意图;
48.图5为本发明提供的一种针对通讯卡件防护能力的测试方法的步骤s4的具体流程示意图;
49.图6为本发明提供的一种针对通讯卡件防护能力的测试系统的具体组成示意图;
50.图7为本发明提供的一种针对通讯卡件防护能力的测试方法的整体流程示意图;
51.图8为本发明提供的一种针对通讯卡件防护能力的测试方法的工具界面示意图。
52.【附图标记说明】
53.100:针对通讯卡件应对工业网络攻击防护能力的测试系统;
54.101:界面交互模块;
55.102:攻击构建模块;
56.103:攻击发送模块;
57.104:结果记录模块。
具体实施方式
58.为了更好地解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
59.图1为本发明提供的一种针对通讯卡件防护能力的测试方法的流程示意图,如图1
所示,本发明实施例提出的方法包括:首先,获取用户输入的配置信息和攻击模式选择信息,并整合为字典;其次,基于所述字典,构建攻击数据包;最后,依据所述字典确定攻击对象、攻击种类以及攻击延时,以对每一个攻击对象发送对应的攻击数据包。其中,通讯卡件为工业通讯现场网络环境中,需要接收和转发ethernet通讯数据的卡件。
60.本发明提供了一键测试通讯卡件对工业网络常见攻击防护能力的方案,使对于不具备相关网络知识的测试人员具备完成测试通讯卡件设备网络防护能力的功能。通过python的前端良好互动性,通过填入必需参数,即可完成相关测试项要求,并将测试结果进行文本记录,便于后续定位通讯卡件的防护漏洞。使用本发明方案可以极大简化网络攻击相关学习成本,适于大规模测试人员使用,提升测试效率。
61.为了更好地理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
62.具体地,本发明提供一种针对通讯卡件应对工业网络攻击防护能力的测试方法,包括:
63.s1、获取用户输入的配置信息和攻击模式选择信息,并整合为字典。
64.其中,配置信息包括:源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击模块的攻击延时以及攻击频率;攻击模式选择信息包括:一键攻击模式或预选攻击模式,一键攻击模式即指默认勾选全部攻击模块,预选攻击模式即指用户预先勾选所需要测试的攻击模块。
65.如图2所示,步骤s1包括:
66.s11、获取用户输入的源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击模块的攻击延时以及各个攻击模块的攻击频率。
67.s12、获取用户输入的攻击模式选择信息。
68.s13、将源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击模块的攻击延时、各个攻击模块的攻击频率以及攻击模式选择信息整合形成字典。
69.s2、基于字典,构建攻击数据包。所述攻击数据包包括:mac、ip、协议层的dos攻击包,arpspoof攻击包,land攻击包,teardropg攻击包,fraggle攻击包,超大icmp攻击包,ip端口扫描攻击包以及udp数据包重放。
70.如图3所示,步骤s2包括:
71.s21、依据所述字典,利用scapy库函数遍历执行所有被选中的攻击模块;
72.s22、在选中的攻击模块中,基于所述字典信息并结合scapy库,依据预设的攻击数据包特定格式,设定攻击数据包的mac、ip信息、icmp/tcp/udp包头以及数据负载。通过scapy库函数构造目的ip地址和源ip地址相同的tcp-syn包。
73.s3、依据所述字典确定攻击对象、攻击种类以及攻击延时,以对每一个攻击对象发送对应的攻击数据包。
74.如图4所示,步骤s3包括:
75.s31、处理字典中攻击模式选择信息,获取字典中的攻击对象、攻击种类、攻击时长以及延迟时间。
76.s32、依据所述攻击延时,逐次利用scapy库函数对每一个攻击对象发送对应的攻击数据包。每个攻击模块都会依据字典中设置确定延时时间,其中,并不是攻击模块1和攻击模块2的延时,而是攻击模块1内部发送每个攻击包的延时。
77.与此同时,如图5所示,本发明还在步骤s3之后还包括:
78.s41、在发送操作完成预设次数后,判断攻击对象的网口是否可以正常响应,并实时获取执行结果和当前网口状态。
79.s42、当所有被选中的攻击模块完成一次攻击后,记录所有被选中的攻击模块的执行结果和攻击网口状态。
80.如图6所示,本发明提供一种针对通讯卡件应对工业网络攻击防护能力的测试系统100,包括:
81.界面交互模块101,用于获取用户输入的配置信息和攻击模式选择信息,且还设置有信息输入框、攻击延时输入框和攻击模式选择按钮。
82.攻击构建模块102,用于将获取的用户输入的配置信息和攻击模式选择信息整合为字典,进而基于所述字典,构建攻击数据包。
83.攻击发送模块103,用于依据所述字典确定攻击对象、攻击种类以及攻击延时,以对每一个攻击对象发送对应的攻击数据包。
84.结果记录模块104,用于依据攻击返回值,记录测试的攻击模式和测试结果。
85.其中,配置信息包括:源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息、各个攻击模块的攻击延时以及攻击频率;攻击模式选择信息包括:一键攻击模式和预选攻击模式;攻击数据包包括:mac、ip、协议层的dos攻击包,arpspoof攻击包,land攻击包,teardropg攻击包,fraggle攻击包,超大icmp攻击包,ip端口扫描攻击包以及udp数据包重放;攻击返回值包括:执行结果和当前网口状态。
86.由于本发明上述实施例所描述的系统/装置,为实施本发明上述实施例的方法所采用的系统/装置,故而基于本发明上述实施例所描述的方法,本领域所属技术人员能够了解该系统/装置的具体结构及变形,因而在此不再赘述。凡是本发明上述实施例的方法所采用的系统/装置都属于本发明所欲保护的范围。
87.在一个具体实施例中,本发明具备如下两个结构:
88.(1)文件目录结构:
89.攻击文件:负责确认网络攻击路径、构造网络攻击数据包、执行网络数据攻击包发送、判断通讯网口状态、输出测试结果等功能。
90.界面显示文件:负责提供交互界面,要求测试人员提供mac地址、ip、端口信息,并选择运行模式,提供一键配置模板。
91.可执行文件:基于攻击文件和界面显示文件编译生成的exe文件。
92.记录文件:保存测试中发送的网络攻击模式,并记录是否存在网口异常。
93.(2)python功能结构:
94.攻击类型模块:构造攻击数据包,如mac、ip、协议层的dos攻击包,arpspoof攻击包,land攻击,teardropg攻击包,fraggle攻击包、超大icmp攻击包,ip端口扫描攻击包、udp数据包重放等。
95.攻击发送模块:依据前端配置信息,选择攻击对象、攻击种类和攻击时长,进行攻
击数据包的发送。
96.界面显示模块:便于测试人员输入源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息,一键选择和手动勾选攻击方式,设置攻击延时输入框;提供运行攻击模块的运行按钮。
97.结果记录模块:依据攻击返回值,记录测试的攻击模式和测试结果。
98.基于上述两个结构,实现如下流程:
99.通过运行一键攻击脚本.exe,界面提示程序的操作流程为:
100.1、程序启动后首先使用python的tkinter库,创建用户可见的windows窗口,在窗口中:
101.11、要求用户在网络数据包界面中输入正确的源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息。
102.12、提供攻击模式选择。选择“一键选择”,勾选所有的攻击模式,或者“手动勾选攻击”,按需求对攻击模式进行勾选。
103.13、在每个攻击模式后输入攻击延时,可设定攻击频率。
104.14、完成界面配置前述步骤后,点击运行一次或持续运行,将上述所有配置信息进行整合,形成字典,发送给攻击模块。
105.2、进入攻击模块,执行数据包构造:
106.21、依据字典信息,提取字典中的网络数据包连接信息,判断输入是否正确,异常则报错退出;
107.22、处理字典中攻击模式判断,历遍执行所有被选中的攻击模块,发送对应的攻击数据包,攻击模块包括mac、ip、协议层的dos攻击包,arpspoof攻击包,land攻击,teardropg攻击包,fraggle攻击包、超大icmp攻击包,ip端口扫描攻击包、udp数据包重放。
108.23、攻击均使用python的scapy库构造数据包,以land攻击模块为例,描述数据包构造方法:通过scapy库函数完成构造目的ip地址和源ip地址相同的tcp-syn包后,获取字典中要求的延迟时间,通过延时函数,逐次利用scapy库函数发送该数据包,在发送完成1万次后,判断攻击对象网口是否可以正常响应,返回模块执行结果,以及当前网口状态。
109.24、当所有攻击模块完成一次循环后,记录所有模块的执行结果和攻击网口状态,调用文件读写模块,将记录记入log文档,并将返回给前端,随后等待前端下次命令下发。
110.3、前端界面判断当前若处于一次攻击模式,停止运行,等待用户下一次输入,如处于循环,则继续下发之前的配置,重新发动攻击,直至用户点击结束。
111.其中,tkinter库是指:python库文件,可用于绘制显示窗口界面;scapy库是指:python库文件,可用于构造特定数据包,并进行数据包的发送和接受;land攻击是指:特殊的目的ip地址和源ip地址均为攻击对象的tcp数据包,通过不断发送该数据包,导致攻击对象tcp资源被大量占用、出现异常。
112.此外,本发明实施例提供一种针对通讯卡件应对工业网络攻击防护能力的测试设备,包括:至少一个数据库;以及与至少一个数据库通信连接的存储器;其中,存储器存储有可被至少一个数据库执行的指令,指令被至少一个数据库执行,以使至少一个数据库能够执行如上所述的一种针对通讯卡件应对工业网络攻击防护能力的测试方法。
113.以及,本发明实施例还提供一种计算机可读介质,其上存储有计算机可执行指令,
可执行指令被处理器执行时实现如上所述的针对通讯卡件应对工业网络攻击防护能力的测试方法。
114.综上所述,本发明提供一种针对通讯卡件防护能力的测试方法的流程示意图,如图7和图8所示,具体流程为:首先,创建交互窗口,通过交互窗口获取用户输入的数据包(即包含源mac地址、目的mac地址、源ip、目的ip、源端口、目的端口信息的六元组数据,获取输入的相应的攻击延时);其次,判断是一键攻击模式或预选攻击模式,具体为点击持续攻击或单次攻击;接着,按照字典信息,遍历所有被选中的攻击模块,并构造攻击数据包,按字典中的延时向各个攻击模块发送攻击数据包;继而,遍历完所有被选中的攻击模块,记录发送结果和网口测试结果;最后,判断当前若是处于一次攻击模式,停止运行,等待用户下一次输入;若是处于循环,则继续下发之前的配置,重新发动攻击,直至用户点击结束。
115.基于上述具体流程,本发明利用python制作便于交互的前端界面,规避繁琐的后台调试源代码过程,前端通过输入网络数据包连接信息,即可一键完成攻击发送,便于测试人员使用,具有可推广性;同时在攻击模块运行过程中,不断检测攻击网口是否可以正常响应,配置记录测试结果,可以精准定位网口在经过何种攻击后出现问题,便于快速定位漏洞,可用性较高;本发明还能通过对攻击数据包的封装,一键化发动相关网络攻击,减少前期对于通讯知识基础要求、测试环境搭建要求,节约测试人员的学习时间成本,提高了测试人员的测试效率。
116.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
117.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
118.应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
119.此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
120.尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概
念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
121.显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献