CN116232967A - 网络安全检测方法、装置、设备及存储介质 - Google Patents
网络安全检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116232967A CN116232967A CN202310515259.9A CN202310515259A CN116232967A CN 116232967 A CN116232967 A CN 116232967A CN 202310515259 A CN202310515259 A CN 202310515259A CN 116232967 A CN116232967 A CN 116232967A
- Authority
- CN
- China
- Prior art keywords
- test
- seed
- network protocol
- file
- initial
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 113
- 238000012360 testing method Methods 0.000 claims abstract description 150
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000035772 mutation Effects 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims description 29
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 230000006978 adaptation Effects 0.000 claims description 14
- 230000002068 genetic effect Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 101150093545 EXPA3 gene Proteins 0.000 description 3
- 101150109310 msrAB1 gene Proteins 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- 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/18—Protocol analysers
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络安全检测方法、装置、设备及存储介质,该方法包括:基于RFC文档构建待测网络协议实现的输入文件的语法树,通过语法树对预设输入集进行解析,获得初始种子集,初始种子集包括多个初始种子文件,对各初始种子文件进行突变,生成测试种子集,通过测试种子集对待测网络协议实现进行差分检测,获得检测结果。本发明基于待测网络协议的RFC文档,通过构建待测网络协议实现的输入文件的语法树来自动化解析预设输入集,对待测网络协议实现的输入文件进行了规范化,提高了检测效率;并基于RFC文档对各初始种子文件进行突变,生成测试种子集后再对待测网络协议实现进行差分检测,提高了差分检测结果的精准度和有效性。
Description
技术领域
本发明涉及计算机网络安全领域,尤其涉及一种网络安全检测方法、装置、设备及存储介质。
背景技术
网络协议规定了计算机通过网络进行通信的方式,也就是规则;但不同的用户之间即使遵循相同的网络协议,也可能使用不同的网络协议实现(Network ProtocolImplementations,NPI),如安全套接字协议(Secure Sockets Layer, SSL)和传输层安全性协议(Transport Layer Security, TLS)作为最常用的网络协议之一,其拥有大量的软件实现(OpenSSL、MatrixSSL、GnuTLS等),这些实现通常提供相关的库与API来完成客户端与服务端之间的握手、验证、协商密钥等功能。但由于SSL/TLS协议是一个复杂的过程,而包括RFC文件在内的各种协议规范的不确定性,这些实现很可能潜藏着安全漏洞与风险,如OpenSSL的Heartbleed漏洞。
这些复杂实现虽然实现过程不同,但都具有相同功能,理论上应该具有相同的输入与输出,正因如此,差分测试(differential testing)可以用于高效的发现不同实现之间的差异,而这些差异往往是潜在的安全漏洞造成的。
现有的以综合覆盖度进行引导的差分测试方法只是简单的选择总覆盖度最大的种子进行突变,该方法忽略了不同实现的差异性,可能会导致测试过程中某个实现的覆盖度处于下降状态,从而影响到整个测试结果的精准度和有效性。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是相关技术。
发明内容
本发明的主要目的在于提供了一种网络安全检测方法、装置、设备及存储介质,旨在解决现有技术中网络安全检测的精准度和有效性不高的技术问题。
为实现上述目的,本发明提供了一种网络安全检测方法,所述方法包括以下步骤:
基于RFC文档构建待测网络协议实现的输入文件的语法树;
通过所述语法树对预设输入集进行解析,获得初始种子集,所述初始种子集包括多个初始种子文件;
对所述各初始种子文件进行突变,生成测试种子集;
通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果。
可选的,所述对所述各初始种子文件进行突变,生成测试种子集,包括:
基于所述RFC文档确定所述各初始种子文件中不同字段的突变概率;
根据所述突变概率对所述各初始种子文件进行突变,生成测试种子集。
可选的,所述基于所述RFC文档确定所述各初始种子文件中不同字段的突变概率,包括:
将所述各初始种子文件中每个字段定位到所述RFC文档中对应的字段,以获得模态关键字的类型和数量,所述模态关键字的类型包括高灵活性模态关键字和低灵活性模态关键字;
根据所述模态关键字的类型和数量来计算所述各初始种子文件中每个字段的突变概率,所述计算的公式包括:
可选的,所述通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果,包括:
初始化所述测试种子集中各测试种子文件的概率分布;
通过指数权重算法调度初始化后的测试种子集中各测试种子文件对所述待测网络协议实现进行差分检测;
在调度次数达到预设次数时,获得检测结果。
可选的,所述通过指数权重算法调度初始化后的测试种子集中各测试种子文件对所述待测网络协议实现进行差分检测,包括:
在每一轮调度时,根据当前的概率分布从所述测试种子集中随机选择一个测试种子文件作为测试用例,对所述待测网络协议实现进行差分检测,获得本轮调度对应的适应度;
基于所述适应度通过重要性采样法生成所述测试种子集中各测试种子文件的适应度估值;
基于所述适应度估值通过指数加权更新所述测试种子集中各测试种子文件的概率分布,并判断当前的调度次数是否达到预设次数;
若否,则根据更新后的概率分布从所述测试种子集中随机选择一个测试种子文件作为测试用例,对所述待测网络协议实现继续进行差分检测。
可选的,所述对所述待测网络协议实现进行差分检测,获得本轮调度对应的适应度,包括:
对所述待测网络协议实现进行差分检测,通过预设的适应度函数获得各实现对应的适应度,将其中最低的适应度作为本轮调度对应的适应度,所述预设的适应度函数包括:
可选的,所述对所述待测网络协议实现进行差分检测,通过预设的适应度函数获得各实现对应的适应度,选取其中最低的适应度作为本轮调度对应的适应度之后,还包括:
当检测到所述待测网络协议实现中某个实现的适应度降低时,判断所述实现当前的适应度与自身最高适应度的差值是否超过预设阈值;
若是,则通过非支配遗传算法对所述测试种子集进行优化。
此外,为实现上述目的,本发明还提出一种网络安全检测装置,所述装置包括:
语法构建模块,用于基于RFC文档构建待测网络协议实现的输入文件的语法树;
语法解析模块,用于通过所述语法树对预设输入集进行解析,获得初始种子集,所述初始种子集包括多个初始种子文件;
种子突变模块,用于对所述各初始种子文件进行突变,生成测试种子集;
差分检测模块,用于通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果。
此外,为实现上述目的,本发明还提出一种网络安全检测设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络安全检测程序,所述网络安全检测程序配置为实现如上文所述的网络安全检测方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有网络安全检测程序,所述网络安全检测程序被处理器执行时实现如上文所述的网络安全检测方法的步骤。
本发明通过RFC文档构建待测网络协议实现的输入文件的语法树,通过语法树对预设输入集进行解析,获得初始种子集,初始种子集包括多个初始种子文件,对各初始种子文件进行突变,生成测试种子集,通过测试种子集对待测网络协议实现进行差分检测,获得检测结果。本发明基于待测网络协议的RFC文档,通过构建待测网络协议实现的输入文件的语法树来自动化解析预设输入集,对待测网络协议实现的输入文件进行了规范化,提高了检测效率;进一步地,基于RFC文档对各初始种子文件进行突变,生成测试种子集,通过测试种子集对待测网络协议实现进行差分检测,提高了网络安全差分检测结果的精准度和有效性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的网络安全检测设备的结构示意图;
图2为本发明网络安全检测方法第一实施例的流程示意图;
图3为本发明网络安全检测方法第一实施例中网络安全检测的场景示意图;
图4为本发明网络安全检测方法第二实施例的流程示意图;
图5为本发明网络安全检测方法第二实施例中种子突变的场景示意图;
图6为本发明网络安全检测装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的网络安全检测设备结构示意图。
如图1所示,该网络安全检测设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对网络安全检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及网络安全检测程序。
在图1所示的网络安全检测设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明网络安全检测设备中的处理器1001、存储器1005可以设置在网络安全检测设备中,所述网络安全检测设备通过处理器1001调用存储器1005中存储的网络安全检测程序,并执行本发明实施例提供的网络安全检测方法。
本发明实施例提供了一种网络安全检测方法,参照图2,图2为本发明网络安全检测方法第一实施例的流程示意图。
本实施例中,所述网络安全检测方法包括以下步骤:
步骤S10:基于RFC文档构建待测网络协议实现的输入文件的语法树。
需要说明的是,本实施例的执行主体可以是一种具有数据传输、网络通信以及网络安全检测的计算服务设备,例如高并发网络测试仪,或者是一种能够实现上述功能的其他电子设备。以下以网络安全检测设备为例,对本实施例及下述各实施例进行举例说明。
可以理解的是,所述RFC文档(Request For Comment)可以是一系列以编号排定的文档;文档收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件,基本的互联网通信协议都有在RFC文件内有详细说明。所述待测网络协议实现可以是用于执行网络协议的待测软件或者待测程序;网络协议本身并不是一种软件,它只是一种通讯标准,其最终要由软件来实现,所以网络协议的实现就是在不同的软件和硬件环境下,执行可运行于该种环境的“协议”翻译程序。所述语法树可以是上述输入文件源代码的抽象语法结构的树状表现形式。
在具体实现中,由于RFC文档记录了网络协议的基本技术规范,包括协议内容,编码方式,文件格式,安全要求等其他互联网技术规则,这些文档涵盖了如今互联网上的大部分基础协议,因此基于RFC文档可以获取待测网络协议实现所需要的输入文件的语法树。例如:在SSL/TLS协议中用来验证服务端身份的X.509证书文件,在RFC5280中使用ASN.1(Abstract Syntax Notation dot one,抽象语法标记1)对其基本语法进行了描述,将其解析为语法树的格式。
步骤S20:通过所述语法树对预设输入集进行解析,获得初始种子集,所述初始种子集包括多个初始种子文件。
可以理解的是,所述预设输入集可以是预先收集的用于待测网络协议实现进行输入的文件集,文件类型可以包括握手报文、证书文件以及各种数据包文件等,本实施例对此不加以限制。所述初始种子集可以是对上述预设输入集进行解析后所得到的规范化的输入文件集,其中包括了多个语法树格式的初始种子文件。
在具体实现中,网络安全检测设备通过上述语法树将预设输入集中的各输入文件自动化解析成对应的语法树形式的初始种子文件,从而获得初始种子集。输入文件的格式对差分测试非常重要,正常情况下,格式正确的输入文件会通过解析程序进入待测网络协议实现中,而格式错误的输入文件则会被解析程序过滤掉。然而,由于模糊技术生成的测试用例具有很强的随机性,因此测试过程的输入文件经过突变后很可能无法通过待测网络协议实现的语法解析,自然也就无法进一步探索代码的深层部分,这会造成大量的无意义测试用例拖慢测试的效率,甚至可能会导致测试在某条路径上陷入死循环。为了保证足够的测试用例可以通过待测网络协议实现的语法解析,因此,需要对待测网络协议实现的输入文件进行规范化。
步骤S30:对所述各初始种子文件进行突变,生成测试种子集。
可以理解的是,通过差分测试来挖掘不同实现之间的差异是需要大量的测试用例,而初始种子集中的初始种子文件的数量是有限的,因此可以通过模糊技术基于RFC文档对上述各初始种子文件进行突变,从而生成大量的测试用例,即测试种子文件。所述测试种子集包括了多个测试种子文件。
在具体实现中,网络安全检测设备基于RFC文档确定各初始种子文件中不同字段的突变概率,根据突变概率对各初始种子文件进行突变,生成测试种子集。
进一步的,为了提高测试种子集中测试用例的有效性,上述步骤S30具体包括:
步骤S301:将所述各初始种子文件中每个字段定位到所述RFC文档中对应的字段,以获得模态关键字的类型和数量,所述模态关键字的类型包括高灵活性模态关键字和低灵活性模态关键字。
可以理解的是,RFC文档的编写规范要求撰写者使用模态关键字(modal keywords,MKW)来对规则进行定义,包括:"MUST","MUST NOT","REQUIRED", "SHALL", "SHALLNOT","SHOULD","SHOULD NOT","RECOMMENDED","MAY"和"OPTIONAL",同时文档会使用单独一段话来描述每个规则。所述高灵活性模态关键字可以是词义绝对性较弱的模态关键字,例如:"MAY"和"OPTIONAL";所述低灵活性模态关键字可以是词义绝对性较强的模态关键字,例如:"MUST","MUST NOT","REQUIRED", "SHALL", "SHALL NOT"。
在具体实现中,网络安全检测设备先根据语法树中的字段定位到RFC文档中的对应的段落,并统计该段落中出现的模态关键字的类型和数量。
步骤S302:根据所述模态关键字的类型和数量来计算所述各初始种子文件中每个字段的突变概率,所述计算的公式包括:
在具体实现中,对于词义绝对性强的模态关键词所规定的规则,可以认为其更难被网络协议实现所误解,产生安全隐患的可能性更低,在构建语法树以及突变的过程中,会降低这些规则被打破的概率。而对于词义绝对性弱的模态关键词所规定的规则则不会过多的进行校验,甚至还会有意的打破这些规则以探索潜在的漏洞。
步骤S40:通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果。
可以理解的是,所述差分测试起源于回归测试,通过对具有相同功能的测试对象输入相同的测试用例,来观察是否存在会做出异常行为的测试用例的测试方法。网络协议规定了计算机通过网络进行通信的方式,也就是规则;但不同的用户之间即使遵循相同的网络协议,也可能使用不同的网络协议实现。这些网络协议实现虽然实现过程不同,但都具有相同功能,理论上应该具有相同的输入与输出,正因如此,差分测试(differentialtesting)可以用于高效的发现不同实现之间的差异,而这些差异往往是潜在的安全漏洞造成的。
在具体实现中,网络安全检测设备通过测试种子集中的测试种子文件对待测网络协议实现进行差分检测,获得检测结果。
进一步的,结合图3对上述差分检测的过程进行说明,图3是本实施例中网络安全检测的场景示意图。
其中包括高并发网络测试仪以及搭载有相同网络协议的多台服务器(服务器1、服务器2和服务器3)。高并发网络测试仪主要用于向上述所有服务器同时发送大量的测试用例并收集服务器对应的响应信息。由于这些服务器所搭载的网络协议都是相同的,那么理论上在相同的输入下应该要得到相同的输出,若在测试中发现服务器的输出中存在差异,这些差异往往是潜在的安全漏洞造成的,进一步地可以针对收集的具有差异性的结果进行人工分析以找出潜在的安全漏洞。避免了开发人员对整个网络协议实现进行繁杂的人工分析,可以更加高效的发现网络协议实现潜在的安全漏洞,提高了网络安全检测的效率。
本实施例通过RFC文档构建待测网络协议实现的输入文件的语法树,通过语法树对预设输入集进行解析,获得初始种子集,初始种子集包括多个初始种子文件,对各初始种子文件进行突变,生成测试种子集,通过测试种子集对待测网络协议实现进行差分检测,获得检测结果。本实施例基于待测网络协议的RFC文档,通过构建待测网络协议实现的输入文件的语法树来自动化解析预设输入集,对待测网络协议实现的输入文件进行了规范化,提高了检测效率;进一步地,基于RFC文档对各初始种子文件进行突变,生成测试种子集,通过测试种子集对待测网络协议实现进行差分检测,提高了网络安全差分检测结果的精准度和有效性。
参考图4,图4为本发明网络安全检测方法第二实施例的流程示意图。
基于上述第一实施例,为了进一步提高检测结果的精准度和有效性,提出第二实施例,上述步骤S40具体包括:
步骤S100:初始化所述测试种子集中各测试种子文件的概率分布。
可以理解的是,所述概率分布可以是测试种子集中各测试种子文件被选择的初始概率,各测试种子文件被选择的初始概率都是相同的,例如:当测试种子集中包括100个测试种子文件时,那么每个测试种子文件被选择的初始概率都是一百分之一。
在具体实现中,网络安全检测设备根据测试种子集中测试种子文件的数量来初始化各测试种子文件的概率分布。
步骤S200:通过指数权重算法调度初始化后的测试种子集中各测试种子文件对所述待测网络协议实现进行差分检测。
可以理解的是,本实施例将上述测试过程建模为对抗式多臂老虎机(AdversarialMulti-armed Bandit,AMAB)的形式,因为对于上述测试中的种子(即上述测试种子文件的简称)的调度过程可以看作对已知高潜力种子的充分“利用”过程和对未知的高潜力种子的“探索”过程,这是一种典型的MAB过程:将每次迭代时可供选择的种子作为MAB的“手臂”进行决策。随着测试的不断迭代,测试种子集中各测试种子文件的数量以及潜力都处于变化的过程,可参考图5,图5为本实施例中种子突变的场景示意图。因此,需要通过指数权重算法对测试种子集中各测试种子文件进行合理的调度再输入至待测网络协议实现进行差分检测。所述指数权重算法(Exponential-weight algorithm for Exploration andExploitation,EXP3)是解决多臂老虎机(MAB)问题的常用算法,其核心思想是,维护某一个臂的概率,接着每次随机选择某个臂,根据选择后观察到的收益情况更新臂的权重,如此迭代下去,该算法可以保证后悔值在一定可接受范围内。
在具体实现中,网络安全检测设备在每一轮调度时,根据当前的概率分布从测试种子集中随机选择一个测试种子文件作为测试用例,对待测网络协议实现进行差分检测,同时获得本轮调度对应的适应度。再根据适应度通过重要性采样法生成测试种子集中各测试种子文件的适应度估值;最后基于适应度估值通过指数加权处理更新测试种子集中各测试种子文件的概率分布,并判断当前调度次数是否达到预设次数。若当前调度次数没有达到预设次数,则重复上述步骤,根据更新后的概率分布从测试种子集中随机选择一个测试种子文件作为测试用例,对待测网络协议实现继续进行差分检测。
应当理解的是,所述重要性采样法(Importance Sampling)是一种数值统计方法,可以通过估计一个分布的概率密度函数来计算该分布的期望值。
进一步地,为了能够使用EXP3算法,需要设计计算测试种子文件适应度的方法,本实施例能够在测试迭代过程中从被测网络协议实现中收集多维的覆盖度信息,其中主要是代码行覆盖率(lines coverage)和函数覆盖率(functions coverage)。不同的覆盖率具有不同的细粒度(sensitivity),具有相同高细粒度覆盖率的测试用例一定具有相同的低细粒度覆盖率,在本实施例所选定的覆盖度指标中:
由低细粒度的覆盖度引导生成的测试用例可以探索到更多的代码区域,而高细粒度的覆盖度则可以引导测试用例对特定代码区域进行检测。因此,本实施例设计了由两级覆盖度指标共同作用的适应度函数:
步骤S300:在调度次数达到预设次数时,获得检测结果。
在具体实现中,网络安全检测设备在每一次调度后,会判断当前的调度次数是否达到预设次数,若当前的调度次数达到预设次数时,则获得检测结果。
进一步地,为了在差分测试过程中尽可能多的挖掘各实现的漏洞,本实施例提出一种基于非支配遗传算法(non-dominated sorting genetic algorithm,NSGA)的方式对测试中多个不同实现的覆盖度进行优化。
NSGA算法在正常状态下不会启用,因为该算法会减慢测试的速度。初始时,我们收集所有的实现的覆盖度分别计算适应度函数,并对这些适应度函数进行归一化处理。之后每次迭代都会选择具有最低适应度的实现作为本次EXP3算法的适应度,以期能提高整体覆盖度。只有存在某个实现的覆盖度降低且与该实现最高记录覆盖度之差超过一定阈值时,才会使用NSGA算法对当前的测试种子集进行优化。
从当前的测试种子集中选择部分测试种子文件构成初始种群,以不同实现下的适应度函数作为目标函数,输入NSGA算法进行迭代遗传进化获得新的种群,再通过该种群获得新的测试种子集继续进行差分模糊测试。
本实施例通过初始化测试种子集中各测试种子文件的概率分布后,再根据EXP3算法调度初始化后的测试种子集中各测试种子文件对待测网络协议实现进行差分检测,每次迭代测试都会选择具有最低适应度的实现作为本次调度的适应度,从而能提高整体覆盖度,进而提高检测结果的精准度和有效性。当存在某个实现的覆盖度降低且与该实现最高记录覆盖度之差超过一定阈值时,可以使用NSGA算法对当前的测试种子集进行优化,进一步提高检测结果的精准度和有效性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有网络安全检测程序,所述网络安全检测程序被处理器执行时实现如上文所述的网络安全检测方法的步骤。
参照图6,图6为本发明网络安全检测装置第一实施例的结构框图。
如图6所示,本发明实施例提出的网络安全检测装置包括:语法构建模块601、语法解析模块602、种子突变模块603和差分检测模块604。
上述语法构建模块601,用于基于RFC文档构建待测网络协议实现的输入文件的语法树;
上述语法解析模块602,用于通过所述语法树对预设输入集进行解析,获得初始种子集,所述初始种子集包括多个初始种子文件;
上述种子突变模块603,用于对所述各初始种子文件进行突变,生成测试种子集;
上述差分检测模块604,用于通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果。
本实施例通过RFC文档构建待测网络协议实现的输入文件的语法树,通过语法树对预设输入集进行解析,获得初始种子集,初始种子集包括多个初始种子文件,对各初始种子文件进行突变,生成测试种子集,通过测试种子集对待测网络协议实现进行差分检测,获得检测结果。本实施例基于待测网络协议的RFC文档,通过构建待测网络协议实现的输入文件的语法树来自动化解析预设输入集,对待测网络协议实现的输入文件进行了规范化,提高了检测效率;进一步地,基于RFC文档对各初始种子文件进行突变,生成测试种子集,通过测试种子集对待测网络协议实现进行差分检测,提高了网络安全差分检测结果的精准度和有效性。
本发明网络安全检测装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种网络安全检测方法,其特征在于,所述方法包括:
基于RFC文档构建待测网络协议实现的输入文件的语法树;
通过所述语法树对预设输入集进行解析,获得初始种子集,所述初始种子集包括多个初始种子文件;
对所述各初始种子文件进行突变,生成测试种子集;
通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果。
2.如权利要求1所述的方法,其特征在于,所述对所述各初始种子文件进行突变,生成测试种子集,包括:
基于所述RFC文档确定所述各初始种子文件中不同字段的突变概率;
根据所述突变概率对所述各初始种子文件进行突变,生成测试种子集。
4.如权利要求1所述的方法,其特征在于,所述通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果,包括:
初始化所述测试种子集中各测试种子文件的概率分布;
通过指数权重算法调度初始化后的测试种子集中各测试种子文件对所述待测网络协议实现进行差分检测;
在调度次数达到预设次数时,获得检测结果。
5.如权利要求4所述的方法,其特征在于,所述通过指数权重算法调度初始化后的测试种子集中各测试种子文件对所述待测网络协议实现进行差分检测,包括:
在每一轮调度时,根据当前的概率分布从所述测试种子集中随机选择一个测试种子文件作为测试用例,对所述待测网络协议实现进行差分检测,获得本轮调度对应的适应度;
基于所述适应度通过重要性采样法生成所述测试种子集中各测试种子文件的适应度估值;
基于所述适应度估值通过指数加权更新所述测试种子集中各测试种子文件的概率分布,并判断当前的调度次数是否达到预设次数;
若否,则根据更新后的概率分布从所述测试种子集中随机选择一个测试种子文件作为测试用例,对所述待测网络协议实现继续进行差分检测。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述对所述待测网络协议实现进行差分检测,通过预设的适应度函数获得各实现对应的适应度,选取其中最低的适应度作为本轮调度对应的适应度之后,还包括:
当检测到所述待测网络协议实现中某个实现的适应度降低时,判断所述实现当前的适应度与自身最高适应度的差值是否超过预设阈值;
若是,则通过非支配遗传算法对所述测试种子集进行优化。
8.一种网络安全检测装置,其特征在于,所述装置包括:
语法构建模块,用于基于RFC文档构建待测网络协议实现的输入文件的语法树;
语法解析模块,用于通过所述语法树对预设输入集进行解析,获得初始种子集,所述初始种子集包括多个初始种子文件;
种子突变模块,用于对所述各初始种子文件进行突变,生成测试种子集;
差分检测模块,用于通过所述测试种子集对所述待测网络协议实现进行差分检测,获得检测结果。
9.一种网络安全检测设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络安全检测程序,所述网络安全检测程序配置为实现如权利要求1至7中任一项所述的网络安全检测方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有网络安全检测程序,所述网络安全检测程序被处理器执行时实现如权利要求1至7任一项所述的网络安全检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310515259.9A CN116232967B (zh) | 2023-05-09 | 2023-05-09 | 网络安全检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310515259.9A CN116232967B (zh) | 2023-05-09 | 2023-05-09 | 网络安全检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116232967A true CN116232967A (zh) | 2023-06-06 |
CN116232967B CN116232967B (zh) | 2023-07-04 |
Family
ID=86587743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310515259.9A Active CN116232967B (zh) | 2023-05-09 | 2023-05-09 | 网络安全检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116232967B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291274A (zh) * | 2011-07-11 | 2011-12-21 | 北京天融信科技有限公司 | 一种实现网络测试仪表自动适配的系统及方法 |
US20180307584A1 (en) * | 2017-04-24 | 2018-10-25 | Tektronix, Inc. | System and Method for Bitstream Decoding with Compiler-Generated Syntax Trees |
US20190306193A1 (en) * | 2018-03-31 | 2019-10-03 | Xidian University | Rfc-directed differential testing method of certificate validation in ssl/tls implementations |
CN110752966A (zh) * | 2019-10-08 | 2020-02-04 | 南京南瑞继保电气有限公司 | 网络协议安全测试方法及装置、电子设备及存储介质 |
US20200082165A1 (en) * | 2016-12-16 | 2020-03-12 | Peking University Shenzhen Graduate School | Collaborative deep network model method for pedestrian detection |
CN113360413A (zh) * | 2021-07-21 | 2021-09-07 | 中国工商银行股份有限公司 | 一种代码测试方法及装置 |
CN113742204A (zh) * | 2020-05-27 | 2021-12-03 | 南京大学 | 一种基于模糊测试的深度学习算子测试工具 |
CN114070425A (zh) * | 2021-11-15 | 2022-02-18 | 中国电子科技集团公司第三十八研究所 | 一种相控阵射频波束指向切换时间测试系统及方法 |
US20220066747A1 (en) * | 2020-08-27 | 2022-03-03 | Microsoft Technology Licensing, Llc. | Unit test case generation with transformers |
CN114239546A (zh) * | 2021-11-30 | 2022-03-25 | 南京大学 | 一种基于语法树剪枝的翻译机测试方法 |
CN115112977A (zh) * | 2022-06-24 | 2022-09-27 | 中国电子科技集团公司第三十八研究所 | 多通道变频模块校测一体自动测试平台及测试方法 |
WO2023065712A1 (zh) * | 2021-10-22 | 2023-04-27 | 中车株洲电力机车有限公司 | 分布式列车控制网络入侵检测方法、系统、存储介质 |
-
2023
- 2023-05-09 CN CN202310515259.9A patent/CN116232967B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291274A (zh) * | 2011-07-11 | 2011-12-21 | 北京天融信科技有限公司 | 一种实现网络测试仪表自动适配的系统及方法 |
US20200082165A1 (en) * | 2016-12-16 | 2020-03-12 | Peking University Shenzhen Graduate School | Collaborative deep network model method for pedestrian detection |
US20180307584A1 (en) * | 2017-04-24 | 2018-10-25 | Tektronix, Inc. | System and Method for Bitstream Decoding with Compiler-Generated Syntax Trees |
US20190306193A1 (en) * | 2018-03-31 | 2019-10-03 | Xidian University | Rfc-directed differential testing method of certificate validation in ssl/tls implementations |
CN110752966A (zh) * | 2019-10-08 | 2020-02-04 | 南京南瑞继保电气有限公司 | 网络协议安全测试方法及装置、电子设备及存储介质 |
CN113742204A (zh) * | 2020-05-27 | 2021-12-03 | 南京大学 | 一种基于模糊测试的深度学习算子测试工具 |
US20220066747A1 (en) * | 2020-08-27 | 2022-03-03 | Microsoft Technology Licensing, Llc. | Unit test case generation with transformers |
CN113360413A (zh) * | 2021-07-21 | 2021-09-07 | 中国工商银行股份有限公司 | 一种代码测试方法及装置 |
WO2023065712A1 (zh) * | 2021-10-22 | 2023-04-27 | 中车株洲电力机车有限公司 | 分布式列车控制网络入侵检测方法、系统、存储介质 |
CN114070425A (zh) * | 2021-11-15 | 2022-02-18 | 中国电子科技集团公司第三十八研究所 | 一种相控阵射频波束指向切换时间测试系统及方法 |
CN114239546A (zh) * | 2021-11-30 | 2022-03-25 | 南京大学 | 一种基于语法树剪枝的翻译机测试方法 |
CN115112977A (zh) * | 2022-06-24 | 2022-09-27 | 中国电子科技集团公司第三十八研究所 | 多通道变频模块校测一体自动测试平台及测试方法 |
Non-Patent Citations (2)
Title |
---|
YU PENG,ET AL: "Study on load shedding of active distribution network considering the ailure of the cyber system", 《2022 GLOBAL CONFERENCE ON ROBOTICS,》, pages 410 * |
王聪冲: "面向JavaScript解析引擎的模糊测试技术研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, no. 1, pages 139 * |
Also Published As
Publication number | Publication date |
---|---|
CN116232967B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Appelt et al. | A machine-learning-driven evolutionary approach for testing web application firewalls | |
EP3244334B1 (en) | Log files graphs path decomposition for network anomaly detection | |
KR20190109427A (ko) | 침입 탐지를 위한 지속적인 학습 | |
US10664597B2 (en) | Shellcode detection | |
JP2019003596A (ja) | 静的分析の要素を用いた悪質なファイルを検出するためのシステム及び方法 | |
CN111931048B (zh) | 基于人工智能的黑产账号检测方法及相关装置 | |
Kotenko et al. | Evaluation of Computer Network Security based on Attack Graphs and Security Event Processing. | |
CN115580494B (zh) | 一种弱口令的检测方法、装置和设备 | |
CN115146282A (zh) | 基于ast的源代码异常检测方法及其装置 | |
US20220086174A1 (en) | Generative adversarial networks for use in refining models for synthetic network traffic data | |
CN116340939A (zh) | webshell检测方法、装置、设备及存储介质 | |
Zhang et al. | An early detection of android malware using system calls based machine learning model | |
CN116232967B (zh) | 网络安全检测方法、装置、设备及存储介质 | |
Sharmin et al. | Bayesian models for node-based inference techniques | |
US11928208B2 (en) | Calculation device, calculation method, and calculation program | |
Periyasamy et al. | Prediction of future vulnerability discovery in software applications using vulnerability syntax tree (PFVD-VST). | |
US20220237289A1 (en) | Automated malware classification with human-readable explanations | |
CN115952492A (zh) | 一种电力工控系统入侵检测方法、装置及存储介质 | |
CN114925365A (zh) | 一种文件处理方法、装置、电子设备及存储介质 | |
CN113626815A (zh) | 病毒信息的识别方法、病毒信息的识别装置及电子设备 | |
CN113691552A (zh) | 威胁情报有效性评估方法、装置、系统及计算机存储介质 | |
CN118013535B (zh) | 区块链虚拟机的安全探测方法及其相关设备 | |
US20210209504A1 (en) | Learning method, learning device, and learning program | |
CN115249048B (zh) | 一种对抗样本生成方法 | |
CN116647416B (zh) | 网络安全指标推荐方法、装置、设备及存储介质 |
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 |