CN113722717A - 一种安全漏洞测试方法、装置、设备及可读存储介质 - Google Patents
一种安全漏洞测试方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113722717A CN113722717A CN202110825404.4A CN202110825404A CN113722717A CN 113722717 A CN113722717 A CN 113722717A CN 202110825404 A CN202110825404 A CN 202110825404A CN 113722717 A CN113722717 A CN 113722717A
- Authority
- CN
- China
- Prior art keywords
- sending
- reply message
- tested
- equipment
- distance
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000013515 script Methods 0.000 claims abstract description 23
- 238000012795 verification Methods 0.000 claims abstract description 13
- 239000000523 sample Substances 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 230000035772 mutation Effects 0.000 claims description 3
- 238000005065 mining Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种安全漏洞测试方法、装置、设备及可读存储介质,涉及安全测试技术领域,该方法包括以下步骤:该方法包括以下步骤:获取待测设备的发送回复报文对;对发送回复报文对进行处理,生成种子列表;对种子列表中的每个发送报文进行变异处理,生成发送报文对应的畸形数据包;将畸形数据包发送至待测设备,并判断待测设备是否崩溃,若待测设备崩溃,根据另待测设备崩溃的畸形数据包编写验证性测试脚本,并利用验证性测试脚本进行安全漏洞的测试,本发明能有效地发现物联网及工业控制系统设备中存在的安全漏洞,解决或绕过由于物联网设备及工业控制系统设备具有封闭性、难以调试、系统实时性高、难以仿真等特点导致安全漏洞挖掘效率低问题。
Description
技术领域
本发明涉及安全测试技术领域,尤其涉及一种安全漏洞测试方法、装置、设备及可读存储介质。
背景技术
随着工业控制领域的信息化和自动化的深度融合,近年来工业控制系统越来越多的采用成本低、互操作性好的互联网技术方案,比如采用基于传输控制协议/网际协议的通信协议。这种直接应用互联网技术方案的行为打破了工业控制系统原有的封闭性和隔离性,从而增加了来自互联网的攻击威胁。事实上,针对工业控制系统的各种网络攻击事件日益增多,暴露出工业控制系统中存在大量的安全漏洞,预先发现并修复物联网嵌入式设备及工业控制系统中存在的安全漏洞可以有效的防范安全威胁,提升工业控制系统安全防护水平。Fuzz测试也叫“模糊测试”,是一种挖掘软件安全漏洞、检测软件健壮性的黑盒测试,它通过向软件输入非法的字段,观测被测试软件是否异常而实现。
由于物联网设备及工业控制系统设备具有封闭性、难以调试、系统实时性高、难以仿真特点,传统的漏洞挖掘方法很难进行应用,导致漏洞挖掘效率低下。为了能有效地发现物联网及工业控制系统设备中存在的安全漏洞,需要一套专门针对物联网及工业控制系统设备的漏洞挖掘系统。
由此,如何有效测试并发现物联网及工业控制系统设备中存在的安全漏洞,解决模糊测试效率低下的问题是目前业界亟待解决的重要课题。
发明内容
本发明提供一种安全漏洞测试方法、装置、设备及可读存储介质,用以解决现有技术中传统的漏洞挖掘方法很难进行应用,导致漏洞挖掘效率低下的缺陷,实现解决或绕过安全漏洞挖掘效率低的问题,具有较强的使用价值。
本发明提供一种安全漏洞测试方法,包括以下步骤:
获取待测设备的发送回复报文对;其中,所述发送回复报文对包括回复报文与所述回复报文对应的发送报文;
对所述发送回复报文对进行处理,生成种子列表;其中,所述种子列表包括按优先级排序的所述发送报文;
对所述种子列表中的每个发送报文进行变异处理,生成所述发送报文对应的畸形数据包;
按所述种子列表中每个所述发送报文的优先级顺序将对应的所述畸形数据包依次发送至待测设备,并依次判断所述待测设备是否崩溃,若所述待测设备崩溃,根据令所述待测设备崩溃的所述畸形数据包编写验证性测试脚本,并利用所述验证性测试脚本进行安全漏洞的测试。
根据本发明提供的安全漏洞测试方法,所述对所述发送回复报文对进行处理,生成种子列表,具体包括以下步骤
基于报文间的距离对所述发送回复报文对进行聚类以及排序处理,以对全部的所述发送回复报文对按照优先级进行排序;
按顺序提取按照优先级进行排序的所述发送回复报文对的所述发送报文,生成所述种子列表。
根据本发明提供的安全漏洞测试方法,所述基于报文间的距离对所述发送回复报文对进行聚类以及排序处理,以对全部的所述发送回复报文对按照优先级进行排序,具体包括以下步骤:
基于报文间的距离对所述发送回复报文对进行聚类处理;
获取聚类处理后的每个所述发送回复报文对的第一距离和第二距离;其中,所述第一距离为该发送回复报文对的所述发送报文与其他所述发送回复报文对的所述发送报文的类内最小距离,所述第二距离为该发送回复报文对的所述回复报文与其他所述发送回复报文对的所述回复报文的类内最小距离;
根据所述第一距离和所述第二距离,获取对应的每个所述发送回复报文对在所有所述发送回复报文对中的第一次序和第二次序;其中,所述第一次序为按照所述第一距离对所述发送回复报文对进行优先级排序,且所述第一距离越大则在所述第一次序中越靠前,表示在所述第一次序中优先级越高,所述第二次序为按照所述第二距离对所述发送回复报文对进行优先级排序,且所述第二距离越大则在所述第二次序中越靠前,表示在所述第二排序中优先级越高;
若所述第一次序不小于所述第二次序,将所述第一距离确定为对应的所述发送回复报文对的排序分值,若所述第一次序小于所述第二次序,将所述第二距离确定为对应的所述发送回复报文对的排序分值;
根据所述排序分值对所述发送回复报文对进行优先级排序;其中,所述排序分值越大代表优先级越高。
根据本发明提供的安全漏洞测试方法,所述聚类是基于报文间的差异性进行的。
根据本发明提供的安全漏洞测试方法,所述获取待测设备的发送回复报文对之前,该方法还包括以下步骤:
抓取所述待测设备的数据包;
对所述数据包进行预处理;其中,预处理之后的所述数据包中包括所述发送回复报文对,所述预处理包括过滤掉无关协议的数据包、筛除对模糊测试无价值的数据包以及对多次出现的重复网络数据包的去重。
根据本发明提供的安全漏洞测试方法,所述依次判断所述待测设备是否崩溃中通过向所述待测设备发送探测数据包进行判断。
根据本发明提供的安全漏洞测试方法,该方法还包括以下步骤:
若所述待测设备未崩溃,继续按所述种子列表中每个所述发送报文的优先级顺序将对应的且未被发送的所述畸形数据包发送至所述待测设备,并重新判断所述待测设备是否崩溃,直至满足终止条件;其中,所述终止条件为达到模糊测试的时间上限,或者,无法生成所述发送报文对应的畸形数据包。
本发明还提供一种安全漏洞测试装置,包括:
资源获取模块,用于获取待测设备的发送回复报文对;其中,所述发送回复报文对包括回复报文与所述回复报文对应的发送报文;
种子选取模块,用于对所述发送回复报文对进行处理,生成种子列表;其中,所述种子列表包括按优先级排序的所述发送报文;
数据包生成模块,用于对所述种子列表的每个所述发送报文进行变异处理,生成所述发送报文对应的畸形数据包;
模糊测试模块,用于按所述种子列表中每个所述发送报文的优先级顺序将对应的所述畸形数据包依次发送至待测设备,并依次判断所述待测设备是否崩溃,若所述待测设备崩溃,根据令所述待测设备崩溃的所述畸形数据包编写验证性测试脚本,并利用所述验证性测试脚本进行安全漏洞的测试。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述安全漏洞测试方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述安全漏洞测试方法的步骤。
本发明提供的安全漏洞测试方法、装置、设备及可读存储介质,是一种基于优质种子选取的工控漏洞挖掘及测试方法,首先通过获取待测设备的发送回复报文对(Request-Response,RR),即绑定接收到的回复报文与其对应的发送报文,之后在的种子选取阶段中,会根据RR在类内的特殊程度对RR进行按优先级排序,之后又会根据优先级排序的结果在模糊测试阶段中,对种子进行变异生成畸形数据包并发送给待测设备,同时探测目标设备是否崩溃(存活),若待测设备崩溃则可根据畸形数据包编写验证性测试(Proof of Concept,POC)脚本进行漏洞验证从而发现待测设备中存在的安全漏洞,能有效地发现物联网及工业控制系统设备中存在的安全漏洞,解决或绕过由于物联网设备及工业控制系统设备具有封闭性、难以调试、系统实时性高、难以仿真等特点导致安全漏洞挖掘效率低问题,因此本发明的安全漏洞测试方法具有较强的使用价值。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的安全漏洞测试方法的流程示意图之一;
图2是本发明提供的安全漏洞测试方法中步骤S400具体的流程示意图;
图3是本发明提供的安全漏洞测试方法中步骤S410具体的流程示意图;
图4是本发明提供的安全漏洞测试方法的流程示意图之二;
图5是本发明提供的安全漏洞测试方法的流程示意图之三;
图6是本发明提供的安全漏洞测试方法的逻辑示意图;
图7是本发明提供的安全漏洞测试装置的结构示意图之一;
图8是本发明提供的安全漏洞测试装置中种子选取模块具体的结构示意图;
图9是本发明提供的安全漏洞测试装置中第一选取单元具体的结构示意图;
图10是本发明提供的安全漏洞测试装置的结构示意图之二;
图11是本发明提供的安全漏洞测试装置的结构示意图之三;
图12是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1描述本发明的安全漏洞测试方法,该方法包括以下步骤:
S300、获取待测设备的RR;其中,RR包括回复报文与回复报文对应的发送报文。
在步骤S300中,会绑定每个接收到的回复报文与其对应的发送报文,形成RR。
S400、对RR进行处理,生成种子列表;其中,种子列表包括按优先级排序的发送报文。
在步骤S400中等于说会根据RR在类内的特殊程度对RR进行打分,之后会根据打分过程中获取的分值,对RR按优先级排序,再进行进行之后的步骤,即按优先级进行处理,能更好地进行之后的安全漏洞挖掘(发现)和测试。
S500、对种子列表中的每个发送报文进行变异处理,生成发送报文对应的畸形数据包。
S600、将步骤S500中生成的畸形数据包发送至待测设备,具体是按种子列表中每个发送报文的优先级顺序将对应的所述畸形数据包依次发送至待测设备,并依次判断待测设备是否崩溃,若待测设备崩溃,根据令待测设备崩溃的畸形数据包编写POC脚本,并利用POC脚本进行安全漏洞的测试。
在本实施例中,该方法针对的待测设备即目标设备包括但不限于网络摄像头、智能路由器、智能灯泡、可编程逻辑控制器(Programmable Logic Controller,PLC)等,该方法针对的网络协议包括但不限于传输控制协议(Transmission Control Protocol,TCP)、用户数据报协议(User Datagram Protocol,UDP)、文件传输协议(File TransferProtocol,FTP)、远程终端协议(Telecom munication net work protocol,Telnet)、超文本传输协议(Hyper Text Transfer Protocol,HTTP)、实时流传输协议(Real TimeStreaming Protocol,RTSP)、S7协议及MODBUS协议等。
在本实施例中,是通过向待测设备发送探测数据包判断待测设备是否崩溃。优选的,探测数据包的类型包括但不局限于控制报文协议(Internet Control MessageProtocol,ICMP)探测数据包、TCP SYN探测数据包、TCP FIN数据包、TCP探测数据包、UDP探测数据包等。
本发明的安全漏洞测试方法,是一种基于优质种子选取的工控漏洞挖掘及测试方法,首先在步骤S300通过获取待测设备的RR,即绑定接收到的回复报文与其对应的发送报文,之后在步骤S400的种子选取阶段中,会根据RR在类内的特殊程度对RR进行按优先级排序,在步骤S500和步骤S600中又会根据优先级排序的结果在模糊测试阶段中,对种子进行变异生成畸形数据包并发送给待测设备,同时探测目标设备是否崩溃(存活),若待测设备崩溃则可根据畸形数据包编写POC脚本进行漏洞验证从而发现待测设备中存在的安全漏洞,能有效地发现物联网及工业控制系统设备中存在的安全漏洞,解决或绕过由于物联网设备及工业控制系统设备具有封闭性、难以调试、系统实时性高、难以仿真等特点导致安全漏洞挖掘效率低问题,因此本发明的安全漏洞测试方法具有较强的使用价值。
下面结合图2描述本发明的安全漏洞测试方法,步骤S400具体包括以下步骤:
S410、基于报文间的距离对RR进行聚类以及排序处理,以对全部的RR按照优先级进行排序。
S420、按顺序提取按照优先级进行排序的RR的发送报文,生成种子列表。
下面结合图3描述本发明的安全漏洞测试方法,步骤S410具体包括以下步骤:
S411、基于报文间的距离对RR进行聚类处理,具体的,步骤S411中的聚类是基于报文间的差异性进行的,优选的,聚类的方法包括但不限于K-MEANS聚类、均值偏移聚类、具有噪声的基于密度的聚类(Density-Based Spatial Clustering of Applications withNoise,DBSCAN)、使用高斯混合模型(Gaussian Mixed Model,GMM)的最大化期望算法(Expectation Maximization Algorithm,EM)聚类、层次聚类算法等
S412、获取聚类处理后的每个RR的第一距离和第二距离;其中,第一距离为该RR的发送报文与其他RR的发送报文的类内最小距离,第二距离为该RR的回复报文与其他RR的回复报文的类内最小距离。
S413、根据第一距离和第二距离,获取对应的每个RR在所有RR中的第一次序和第二次序,第一次序记为L1,第二次序记为L2;其中,第一次序L1为按照第一距离对RR进行优先级排序,且第一距离越大则在第一次序L1中越靠前,表示在第一次序L1中优先级越高即第一次序L1为降序排序的结果,第二次序L2为按照第二距离对RR进行优先级排序,且第二距离越大则在第二次序L2中越靠前,表示在第二排序L2中优先级越高即第二次序L2也为降序排序的结果。
S414、若第一次序L1不小于第二次序L2,将第一距离确定为对应的RR的排序分值,若第一次序L1小于第二次序L2,将第二距离确定为对应的RR的排序分值。
可以理解的是,在一个RR在第一次序L1和第二次序L2的排序是完全一致的,那么取第一距离或者第二距离作为该RR的排序分值都可以。
S415、根据排序分值对RR进行优先级排序;其中,排序分值越大代表优先级越高。
下面结合图4描述本发明的安全漏洞测试方法,在步骤S300前还包括以下步骤:
S100、抓取待测设备的数据包。
在本实施例中,通过与待测设备连接,并与上位机软件并进行交互,并利用数据包嗅探器监控待测设备是否产生相关的网络流量,记录网络流量并进行抓包。优选的,数据包嗅探器包括但不限于Wireshark、Tcpdump、Burpsuite、Fiddler、Scapy、libpcap等工具。
S200、对数据包进行预处理,即在步骤S300中获取的是预处理之后的数据包的RR;其中,预处理包括过滤掉无关协议的数据包、筛除对模糊测试无价值的数据包以及对多次出现的重复网络数据包的去重等。
下面结合图5和图6描述本发明的安全漏洞测试方法,该方法还包括以下步骤:
S700、若待测设备未崩溃,继续按种子列表中每个发送报文的优先级顺序将对应的且未被发送的畸形数据包发送至待测设备,并重新判断待测设备是否崩溃,即重复上述的步骤S500和步骤S600直至满足终止条件;其中,终止条件为达到模糊测试的时间上限,或者,无法生成发送报文对应的畸形数据包即受到其他资源的限制。
下面对本发明提供的安全漏洞测试装置进行描述,下文描述的安全漏洞测试装置与上文描述的安全漏洞测试方法可相互对应参照。
下面结合图7描述本发明的安全漏洞测试装置,该装置包括:
资源获取模块300,用于获取待测设备的RR;其中,RR包括回复报文与回复报文对应的发送报文。
在资源获取模块300中,会绑定每个接收到的回复报文与其对应的发送报文,形成RR。
种子选取模块400,用于对RR进行处理,生成种子列表;其中,种子列表包括按优先级排序的发送报文。
在种子选取模块400中等于说会根据RR在类内的特殊程度对RR进行打分,之后会根据打分过程中获取的分值,对RR按优先级排序,再进行进行之后的步骤,即按优先级进行处理,能更好地进行之后的安全漏洞挖掘(发现)和测试。
数据包生成模块500,用于对种子列表中的每个发送报文进行变异处理,生成发送报文对应的畸形数据包。
模糊测试模块600,用于将数据包生成模块500中生成的畸形数据包发送至待测设备,具体是按种子列表中每个发送报文的优先级顺序将对应的所述畸形数据包依次发送至待测设备,并依次判断待测设备是否崩溃,若待测设备崩溃,根据令待测设备崩溃的畸形数据包编写POC脚本,并利用POC脚本进行安全漏洞的测试。
在本实施例中,该装置针对的待测设备即目标设备包括但不限于网络摄像头、智能路由器、智能灯泡、PLC等,该装置针对的网络协议包括但不限于TCP、UDP、FTP、Telnet、HTTP、RTSP、S7协议及MODBUS协议等。
在本实施例中,是通过向待测设备发送探测数据包判断待测设备是否崩溃。优选的,探测数据包的类型包括但不局限于ICMP探测数据包、TCP SYN探测数据包、TCP FIN数据包、TCP探测数据包、UDP探测数据包等。
本发明的安全漏洞测试装置,是一种基于优质种子选取的工控漏洞挖掘及测试装置,首先在资源获取模块300通过获取待测设备的RR,即绑定接收到的回复报文与其对应的发送报文,之后在种子选取模块400的种子选取阶段中,会根据RR在类内的特殊程度对RR进行按优先级排序,在数据包生成模块500和模糊测试模块600中又会根据优先级排序的结果在模糊测试阶段中,对种子进行变异生成畸形数据包并发送给待测设备,同时探测目标设备是否崩溃(存活),若待测设备崩溃则可根据畸形数据包编写POC脚本进行漏洞验证从而发现待测设备中存在的安全漏洞,能有效地发现物联网及工业控制系统设备中存在的安全漏洞,解决或绕过由于物联网设备及工业控制系统设备具有封闭性、难以调试、系统实时性高、难以仿真等特点导致安全漏洞挖掘效率低问题,因此本发明的安全漏洞测试装置具有较强的使用价值。
下面结合图8描述本发明的安全漏洞测试装置,种子选取模块400具体包括:
第一选取单元410,用于基于报文间的距离对RR进行聚类以及排序处理,以对全部的RR按照优先级进行排序。
第二选取单元420,用于按顺序提取按照优先级进行排序的RR的发送报文,生成种子列表。
下面结合图9描述本发明的安全漏洞测试装置,第一选取单元410具体包括:
第一处理单元411,用于基于报文间的距离对RR进行聚类处理,具体的,第一处理单元411中的聚类是基于报文间的差异性进行的,优选的,聚类的装置包括但不限于K-MEANS聚类、均值偏移聚类、DBSCAN、使用GMM的EM聚类、层次聚类算法等
第二处理单元412,用于获取聚类处理后的每个RR的第一距离和第二距离;其中,第一距离为该RR的发送报文与其他RR的发送报文的类内最小距离,第二距离为该RR的回复报文与其他RR的回复报文的类内最小距离。
第三处理单元413,用于根据第一距离和第二距离,获取对应的每个RR在所有RR中的第一次序和第二次序,第一次序记为L1,第二次序记为L2;其中,第一次序L1为按照第一距离对RR进行优先级排序,且第一距离越大则在第一次序L1中越靠前,表示在第一次序L1中优先级越高即第一次序L1为降序排序的结果,第二次序L2为按照第二距离对RR进行优先级排序,且第二距离越大则在第二次序L2中越靠前,表示在第二排序L2中优先级越高即第二次序L2也为降序排序的结果。
第四处理单元414,用于若第一次序L1不小于第二次序L2,将第一距离确定为对应的RR的排序分值,若第一次序L1小于第二次序L2,将第二距离确定为对应的RR的排序分值。
可以理解的是,在一个RR在第一次序L1和第二次序L2的排序是完全一致的,那么取第一距离或者第二距离作为该RR的排序分值都可以。
第五处理单元415,用于根据排序分值对RR进行优先级排序;其中,排序分值越大代表优先级越高。
下面结合图10描述本发明的安全漏洞测试装置,该装置还包括:
抓取模块100,用于抓取所述待测设备的数据包。
在本实施例中,通过与待测设备连接,并与上位机软件并进行交互,并利用数据包嗅探器监控待测设备是否产生相关的网络流量,记录网络流量并进行抓包。优选的,数据包嗅探器包括但不限于Wireshark、Tcpdump、Burpsuite、Fiddler、Scapy、libpcap等工具。
预处理模块200,用于对数据包进行预处理,即在资源获取模块300中获取的是预处理之后的数据包的回复报文对;其中,预处理包括过滤掉无关协议的数据包、筛除对模糊测试无价值的数据包以及对多次出现的重复网络数据包的去重等。
下面结合图11描述本发明的安全漏洞测试装置,该装置还包括:
循环模块700,用于若待测设备未崩溃,继续按种子列表中每个发送报文的优先级顺序将对应的且未被发送的畸形数据包发送至待测设备,并重新判断待测设备是否崩溃,即重复上述的数据包生成模块500和模糊测试模块600直至满足终止条件;其中,终止条件为达到模糊测试的时间上限,或者,无法生成发送报文对应的畸形数据包即受到其他资源的限制。
图12示例了一种电子设备的实体结构示意图,如图12所示,该电子设备可以包括:处理器(processor)810、通信接口(CommunicationsInterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行安全漏洞测试方法,该方法包括以下步骤:
S300、获取待测设备的RR;其中,所述RR包括回复报文与所述回复报文对应的发送报文;
S400、对所述RR进行处理,生成种子列表;其中,所述种子列表包括按优先级排序的所述发送报文;
S500、对所述种子列表中的每个发送报文进行变异处理,生成所述发送报文对应的畸形数据包;
S600、按种子列表中每个发送报文的优先级顺序将对应的所述畸形数据包依次发送至所述待测设备,并依次判断待测设备是否崩溃,若待测设备崩溃,根据令待测设备崩溃的畸形数据包编写POC脚本,并利用POC脚本进行安全漏洞的测试。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的安全漏洞测试方法,该方法包括以下步骤:
S300、获取待测设备的RR;其中,所述RR包括回复报文与所述回复报文对应的发送报文;
S400、对所述RR进行处理,生成种子列表;其中,所述种子列表包括按优先级排序的所述发送报文;
S500、对所述种子列表中的每个发送报文进行变异处理,生成所述发送报文对应的畸形数据包;
S600、按种子列表中每个发送报文的优先级顺序将对应的所述畸形数据包依次发送至所述待测设备,并依次判断待测设备是否崩溃,若待测设备崩溃,根据令待测设备崩溃的畸形数据包编写POC脚本,并利用POC脚本进行安全漏洞的测试。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的安全漏洞测试方法,该方法包括以下步骤:
S300、获取待测设备的RR;其中,所述RR包括回复报文与所述回复报文对应的发送报文;
S400、对所述RR进行处理,生成种子列表;其中,所述种子列表包括按优先级排序的所述发送报文;
S500、对所述种子列表中的每个发送报文进行变异处理,生成所述发送报文对应的畸形数据包;
S600、按种子列表中每个发送报文的优先级顺序将对应的所述畸形数据包依次发送至所述待测设备,并依次判断待测设备是否崩溃,若待测设备崩溃,根据令待测设备崩溃的畸形数据包编写POC脚本,并利用POC脚本进行安全漏洞的测试。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种安全漏洞测试方法,其特征在于,包括以下步骤:
获取待测设备的发送回复报文对;其中,所述发送回复报文对包括回复报文与所述回复报文对应的发送报文;
对所述发送回复报文对进行处理,生成种子列表;其中,所述种子列表包括按优先级排序的所述发送报文;
对所述种子列表中的每个所述发送报文进行变异处理,生成所述发送报文对应的畸形数据包;
按所述种子列表中每个所述发送报文的优先级顺序将对应的所述畸形数据包依次发送至所述待测设备,并依次判断所述待测设备是否崩溃,若所述待测设备崩溃,根据令所述待测设备崩溃的所述畸形数据包编写验证性测试脚本,并利用所述验证性测试脚本进行安全漏洞的测试。
2.根据权利要求1所述的安全漏洞测试方法,其特征在于,所述对所述发送回复报文对进行处理,生成种子列表,具体包括以下步骤
基于报文间的距离对所述发送回复报文对进行聚类以及排序处理,以对全部的所述发送回复报文对按照优先级进行排序;
按顺序提取按照优先级进行排序的所述发送回复报文对的所述发送报文,生成所述种子列表。
3.根据权利要求2所述的安全漏洞测试方法,其特征在于,所述基于报文间的距离对所述发送回复报文对进行聚类以及排序处理,以对全部的所述发送回复报文对按照优先级进行排序,具体包括以下步骤:
基于报文间的距离对所述发送回复报文对进行聚类处理;
获取聚类处理后的每个所述发送回复报文对的第一距离和第二距离;其中,所述第一距离为该发送回复报文对的所述发送报文与其他所述发送回复报文对的所述发送报文的类内最小距离,所述第二距离为该发送回复报文对的所述回复报文与其他所述发送回复报文对的所述回复报文的类内最小距离;
根据所述第一距离和所述第二距离,获取对应的每个所述发送回复报文对在所有所述发送回复报文对中的第一次序和第二次序;其中,所述第一次序为按照所述第一距离对所述发送回复报文对进行优先级排序,且所述第一距离越大则在所述第一次序中越靠前,所述第二次序为按照所述第二距离对所述发送回复报文对进行优先级排序,且所述第二距离越大则在所述第二次序中越靠前;
若所述第一次序不小于所述第二次序,将所述第一距离确定为对应的所述发送回复报文对的排序分值,若所述第一次序小于所述第二次序,将所述第二距离确定为对应的所述发送回复报文对的排序分值;
根据所述排序分值对所述发送回复报文对进行优先级排序;其中,所述排序分值越大代表优先级越高。
4.根据权利要求2所述的安全漏洞测试方法,其特征在于,所述聚类是基于报文间的差异性进行的。
5.根据权利要求1所述的安全漏洞测试方法,其特征在于,在所述获取待测设备的发送回复报文对之前,该方法还包括以下步骤:
抓取所述待测设备的数据包;
对所述数据包进行预处理;其中,预处理之后的所述数据包中包括所述发送回复报文对,所述预处理包括过滤掉无关协议的数据包、筛除对模糊测试无价值的数据包以及对多次出现的重复网络数据包的去重。
6.根据权利要求1所述的安全漏洞测试方法,其特征在于,所述依次判断所述待测设备是否崩溃中通过向所述待测设备发送探测数据包进行判断。
7.根据权利要求1-6任一项所述的安全漏洞测试方法,其特征在于,该方法还包括以下步骤:
若所述待测设备未崩溃,继续按所述种子列表中每个所述发送报文的优先级顺序将对应的且未被发送的所述畸形数据包发送至所述待测设备,并重新判断所述待测设备是否崩溃,直至满足终止条件;其中,所述终止条件为达到模糊测试的时间上限,或者,无法生成所述发送报文对应的畸形数据包。
8.一种安全漏洞测试装置,其特征在于,包括:
资源获取模块(300),用于获取待测设备的发送回复报文对;其中,所述发送回复报文对包括回复报文与所述回复报文对应的发送报文;
种子选取模块(400),用于对所述发送回复报文对进行处理,生成种子列表;其中,所述种子列表包括按优先级排序的所述发送报文;
数据包生成模块(500),用于对所述种子列表的每个发送报文进行变异处理,生成所述发送报文对应的畸形数据包;
模糊测试模块(600),用于按所述种子列表中每个所述发送报文的优先级顺序将对应的所述畸形数据包依次发送至所述待测设备,并依次判断所述待测设备是否崩溃,若所述待测设备崩溃,根据令所述待测设备崩溃的所述畸形数据包编写验证性测试脚本,并利用所述验证性测试脚本进行安全漏洞的测试。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述安全漏洞测试方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述安全漏洞测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110825404.4A CN113722717B (zh) | 2021-07-21 | 2021-07-21 | 一种安全漏洞测试方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110825404.4A CN113722717B (zh) | 2021-07-21 | 2021-07-21 | 一种安全漏洞测试方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722717A true CN113722717A (zh) | 2021-11-30 |
CN113722717B CN113722717B (zh) | 2024-04-05 |
Family
ID=78673624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110825404.4A Active CN113722717B (zh) | 2021-07-21 | 2021-07-21 | 一种安全漏洞测试方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722717B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553490A (zh) * | 2022-01-25 | 2022-05-27 | 浙江木链物联网科技有限公司 | 工业用被动模糊测试方法、系统和可读存储介质 |
CN117370994A (zh) * | 2023-12-08 | 2024-01-09 | 浙江君同智能科技有限责任公司 | 基于模糊测试的大语言模型漏洞检测方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150264074A1 (en) * | 2012-09-28 | 2015-09-17 | Hewlett-Packard Development Company, L.P. | Application security testing |
CN107046526A (zh) * | 2016-12-28 | 2017-08-15 | 北京邮电大学 | 基于Fuzzing算法的分布式异构网络漏洞挖掘方法 |
CN110191019A (zh) * | 2019-05-28 | 2019-08-30 | 北京百度网讯科技有限公司 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
CN112235241A (zh) * | 2020-09-08 | 2021-01-15 | 广州大学 | 基于模糊测试的工控蜜罐特征提取方法、系统及介质 |
CN112398839A (zh) * | 2020-11-06 | 2021-02-23 | 中国科学院信息工程研究所 | 工控漏洞挖掘方法及装置 |
-
2021
- 2021-07-21 CN CN202110825404.4A patent/CN113722717B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150264074A1 (en) * | 2012-09-28 | 2015-09-17 | Hewlett-Packard Development Company, L.P. | Application security testing |
CN107046526A (zh) * | 2016-12-28 | 2017-08-15 | 北京邮电大学 | 基于Fuzzing算法的分布式异构网络漏洞挖掘方法 |
CN110191019A (zh) * | 2019-05-28 | 2019-08-30 | 北京百度网讯科技有限公司 | 车辆can总线的测试方法、装置、计算机设备和存储介质 |
CN112235241A (zh) * | 2020-09-08 | 2021-01-15 | 广州大学 | 基于模糊测试的工控蜜罐特征提取方法、系统及介质 |
CN112398839A (zh) * | 2020-11-06 | 2021-02-23 | 中国科学院信息工程研究所 | 工控漏洞挖掘方法及装置 |
Non-Patent Citations (1)
Title |
---|
郑尧文等: "物联网设备漏洞挖掘技术研究综述", 《信息安全学报》, vol. 4, no. 5, pages 61 - 75 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553490A (zh) * | 2022-01-25 | 2022-05-27 | 浙江木链物联网科技有限公司 | 工业用被动模糊测试方法、系统和可读存储介质 |
CN114553490B (zh) * | 2022-01-25 | 2024-02-09 | 浙江木链物联网科技有限公司 | 工业用被动模糊测试方法、系统和可读存储介质 |
CN117370994A (zh) * | 2023-12-08 | 2024-01-09 | 浙江君同智能科技有限责任公司 | 基于模糊测试的大语言模型漏洞检测方法和装置 |
CN117370994B (zh) * | 2023-12-08 | 2024-02-27 | 浙江君同智能科技有限责任公司 | 基于模糊测试的大语言模型漏洞检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113722717B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bertoli et al. | An end-to-end framework for machine learning-based network intrusion detection system | |
Zobal et al. | Current state of honeypots and deception strategies in cybersecurity | |
Tufan et al. | Anomaly-based intrusion detection by machine learning: A case study on probing attacks to an institutional network | |
CN113722717A (zh) | 一种安全漏洞测试方法、装置、设备及可读存储介质 | |
US8903749B2 (en) | Method of identifying a protocol giving rise to a data flow | |
CN110351237B (zh) | 用于数控机床的蜜罐方法及装置 | |
CN111628900A (zh) | 基于网络协议的模糊测试方法、装置和计算机可读介质 | |
CN104219221A (zh) | 一种网络安全流量生成方法和系统 | |
Garant et al. | Mining botnet behaviors on the large-scale web application community | |
Wang et al. | Towards fast detecting intrusions: using key attributes of network traffic | |
Pellegrino et al. | Learning behavioral fingerprints from netflows using timed automata | |
Blumbergs et al. | Bbuzz: A bit-aware fuzzing framework for network protocol systematic reverse engineering and analysis | |
Maesschalck et al. | World wide ics honeypots: A study into the deployment of conpot honeypots | |
Oujezsky et al. | Botnet C&C traffic and flow lifespans using survival analysis | |
CN112235242A (zh) | 一种c&c信道检测方法及系统 | |
CN113760753B (zh) | 基于灰盒模糊技术的quic协议测试方法 | |
Khan et al. | Lightweight testbed for cybersecurity experiments in scada-based systems | |
Rajesh et al. | Real-Time DDoS Attack Detection Based on Machine Learning Algorithms | |
Oujezsky et al. | Modeling botnet C&C traffic lifespans from NetFlow using survival analysis | |
Su et al. | Understanding the influence of graph Kernels on deep learning architecture: a case study of flow-based network attack detection | |
Anastasiadis et al. | A Novel High-Interaction Honeypot Network for Internet of Vehicles | |
Kabiri et al. | Category-based selection of effective parameters for intrusion detection | |
Baviskar et al. | Design of Machine Learning-Based Malware Detection Methodologies in the Internet of Things Environment | |
Makopa et al. | Internet of Things (IoT) Network Forensic Analysis Using the Raspberry Pi 4 Model B and Open-Source Tools | |
Verbruggen et al. | Creating firewall rules with machine learning techniques |
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 |