首页 基于模糊测试的内核漏洞挖掘方法、介质、设备及装置

基于模糊测试的内核漏洞挖掘方法、介质、设备及装置

举报
开通vip

基于模糊测试的内核漏洞挖掘方法、介质、设备及装置(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112632557A(43)申请公布日2021.04.09(21)申请号202011525263.6(22)申请日2020.12.22(71)申请人厦门大学地址361000福建省厦门市思明南路422号申请人福建联迪商用设备有限公司(72)发明人冯超 张映民 翁乐 黄联芬 林英 叶国华 黄继翔 王威 (74)专利代理机构厦门创象知识产权代理有限公司35232代理人尤怀成(51)Int.Cl.G06F21/57(2013.01)权利要求书2页...

基于模糊测试的内核漏洞挖掘方法、介质、设备及装置
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112632557A(43)申请公布日2021.04.09(21)申请号202011525263.6(22)申请日2020.12.22(71)申请人厦门大学地址361000福建省厦门市思明南路422号申请人福建联迪商用设备有限公司(72)发明人冯超 张映民 翁乐 黄联芬 林英 叶国华 黄继翔 王威 (74)专利代理机构厦门创象知识产权代理有限公司35232代理人尤怀成(51)Int.Cl.G06F21/57(2013.01)权利 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 书2页说明书10页附图5页(54)发明名称基于模糊测试的内核漏洞挖掘 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 、介质、设备及装置(57)摘要本发明提出了一种基于模糊测试的内核漏洞挖掘方法、介质、设备及装置,其中该方法包括:对模糊测试工具反馈的语料库进行解压缩,以获取测试案例,其中,测试案例包括输入案例和崩溃案例;将崩溃案例进行预处理后输入到特征提取模型进行训练以获取特征信息;将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从输入案例中筛选出特征案例;对特征案例进行压缩以形成输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘;由此,通过对模糊测试工具反馈回来的输入案例进行特征筛选,以将崩溃案例中含有特征信息的特征案例作为新的输入案例,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。CN112632557ACN112632557A权 利 要 求 书1/2页1.一种基于模糊测试的内核漏洞挖掘方法,其特征在于,包括以下步骤:对模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例,其中,所述测试案例包括输入案例和崩溃案例;将所述崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;将所述输入案例进行预处理后输入到训练好的特征提取模型,以便根据所述特征信息从所述输入案例中筛选出特征案例;对所述特征案例进行压缩以形成模糊测试的输入语料库,并将所述输入语料库输入到模糊测试工具中,以进行漏洞挖掘。2.如权利要求1所述的基于模糊测试的内核漏洞挖掘方法,其特征在于,对模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例,包括:采用模糊测试工具对目标设备进行漏洞挖掘,并获取模糊测试工具反馈的语料库;采用解压缩工具对所述模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例。3.如权利要求1所述的基于模糊测试的内核漏洞挖掘方法,其特征在于,将所述崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息,包括:将所述崩溃案例中系统调用的名称作为词单元,以组成词序列;对所述词序列进行one‑hot编码,以得到词序列语料库,并对所述词序列语料库进行向量化处理,以得到向量集;将所述向量集输入到预先建立的特征提取模型进行训练以得到特征向量表;将所述特征向量表转换成由系统调用的名称构成的词序列,并将所述由系统调用的名称构成的词序列作为筛选出特征案例的特征信息。4.如权利要求1所述的基于模糊测试的内核漏洞挖掘方法,其特征在于,对所述特征案例进行压缩以形成模糊测试的输入语料库,并将所述输入语料库输入到模糊测试工具中,以进行漏洞挖掘,包括:采用压缩工具对所述特征案例进行压缩以形成模糊测试的输入语料库;将所述输入语料库输入到模糊测试工具中,并将所述输入语料库作为变异的种子进行模糊测试以完成漏洞挖掘。5.一种计算机可读存储介质,其特征在于,其上存储有基于模糊测试的内核漏洞挖掘程序,该基于模糊测试的内核漏洞挖掘程序被处理器执行时实现如权利要求1‑4中任一项所述的基于模糊测试的内核漏洞挖掘方法。6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1‑4中任一项所述的基于模糊测试的内核漏洞挖掘方法。7.一种基于模糊测试的内核漏洞挖掘装置,其特征在于,包括:解压缩模块,用于对模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例,其中,所述测试案例包括输入案例和崩溃案例;训练模块,用于将所述崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;2CN112632557A权 利 要 求 书2/2页筛选模块,用于将所述输入案例进行预处理后输入到训练好的特征提取模型,以便根据所述特征信息从所述输入案例中筛选出特征案例;漏洞挖掘模块,用于对所述特征案例进行压缩以形成模糊测试的输入语料库,并将所述输入语料库输入到模糊测试工具中,以进行漏洞挖掘。8.如权利要求7所述的基于模糊测试的内核漏洞挖掘装置,其特征在于,所述解压缩模块还用于,采用模糊测试工具对目标设备进行漏洞挖掘,并获取模糊测试工具反馈的语料库;采用解压缩工具对所述模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例。9.如权利要求7所述的基于模糊测试的内核漏洞挖掘装置,其特征在于,所述训练模块还用于,将所述崩溃案例中系统调用的名称作为词单元,以组成词序列;对所述词序列进行one‑hot编码,以得到词序列语料库,并对所述词序列语料库进行向量化处理,以得到向量集;将所述向量集输入到预先建立的特征提取模型进行训练以得到特征向量表;将所述特征向量表转换成由系统调用的名称构成的词序列,并将所述由系统调用的名称构成的词序列作为筛选出特征案例的特征信息。10.如权利要求7所述的基于模糊测试的内核漏洞挖掘装置,其特征在于,所述漏洞挖掘模块还用于,采用压缩工具对所述特征案例进行压缩以形成模糊测试的输入语料库;将所述输入语料库输入到模糊测试工具中,并将所述输入语料库作为变异的种子进行模糊测试以完成漏洞挖掘。3CN112632557A说 明 书1/10页基于模糊测试的内核漏洞挖掘方法、介质、设备及装置技术领域[0001]本发明涉及漏洞挖掘技术领域,特别涉及一种基于模糊测试的内核漏洞挖掘方法、一种计算机可读存储介质、一种计算机设备以及一种基于模糊测试的内核漏洞挖掘装置。背景技术[0002]随着科技的发展,软件和系统的安全逐渐受到关注,而漏洞的挖掘和 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 是软件和系统安全中的重要环节;现有的漏洞挖掘方法由静态挖掘、二进制挖掘到动态挖掘一直发展到动静态挖掘,使得漏洞挖掘的攻击面越来越大,效率也在不断的提升。[0003]相关技术中,模糊测试是动态挖掘中较为高效的挖掘技术之一;模糊测试是采取灰盒测试的一种挖掘技术手段,主要通过对输入的不断变异,让其在程序中执行,使目标设备出现崩溃,从而断定该设备含有漏洞;通过将特殊的数据输入到系统中,任其执行的漏洞挖掘工具也涌现出来;他们将输入执行过的代码覆盖量反馈回来,以显示该工具的性能;但是传统的模糊测试的输入案例是随机产生的,生成的输入案例种子在整个模糊测试将遍历所有的代码运行后,不断变异出异常数据,才能从目标设备中得到崩溃信息,这样的方式将使得模糊测试的效率低下。发明内容[0004]本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于模糊测试的内核漏洞挖掘方法,通过对模糊测试工具反馈回来的输入案例进行特征筛选,以将崩溃案例中含有特征信息的特征案例作为新的输入案例,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0005]本发明的第二个目的在于提出一种计算机可读存储介质。[0006]本发明的第三个目的在于提出一种计算机设备。[0007]本发明的第四个目的在于提出一种基于模糊测试的内核漏洞挖掘装置。[0008]为达到上述目的,本发明第一方面实施例提出了一种基于模糊测试的内核漏洞挖掘方法,包括以下步骤:对模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例,其中,所述测试案例包括输入案例和崩溃案例;将所述崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;将所述输入案例进行预处理后输入到训练好的特征提取模型,以便根据所述特征信息从所述输入案例中筛选出特征案例;对所述特征案例进行压缩以形成模糊测试的输入语料库,并将所述输入语料库输入到模糊测试工具中,以进行漏洞挖掘。[0009]根据本发明实施例的基于模糊测试的内核漏洞挖掘方法,首先对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例,其中,测试案例包括输入案例和崩溃案例;接着将崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;然后将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从4CN112632557A说 明 书2/10页输入案例中筛选出特征案例;最后对特征案例进行压缩以形成模糊测试的输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘;由此,通过对模糊测试工具反馈回来的输入案例进行特征筛选,以将崩溃案例中含有特征信息的特征案例作为新的输入案例,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0010]另外,根据本发明上述实施例提出的基于模糊测试的内核漏洞挖掘方法还可以具有如下附加的技术特征:[0011]可选地,对模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例,包括:采用模糊测试工具对目标设备进行漏洞挖掘,并获取模糊测试工具反馈的语料库;采用解压缩工具对所述模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例。[0012]可选地,将所述崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息,包括:将所述崩溃案例中系统调用的名称作为词单元,以组成词序列;对所述词序列进行one‑hot编码,以得到词序列语料库,并对所述词序列语料库进行向量化处理,以得到向量集;将所述向量集输入到预先建立的特征提取模型进行训练以得到特征向量表;将所述特征向量表转换成由系统调用的名称构成的词序列,并将所述由系统调用的名称构成的词序列作为筛选出特征案例的特征信息。[0013]可选地,对所述特征案例进行压缩以形成模糊测试的输入语料库,并将所述输入语料库输入到模糊测试工具中,以进行漏洞挖掘,包括:采用压缩工具对所述特征案例进行压缩以形成模糊测试的输入语料库;将所述输入语料库输入到模糊测试工具中,并将所述输入语料库作为变异的种子进行模糊测试以完成漏洞挖掘。[0014]为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有基于模糊测试的内核漏洞挖掘程序,该基于模糊测试的内核漏洞挖掘程序被处理器执行时实现如上述的基于模糊测试的内核漏洞挖掘方法。[0015]根据本发明实施例的计算机可读存储介质,通过存储基于模糊测试的内核漏洞挖掘程序,这样基于模糊测试的内核漏洞挖掘程序被处理器执行时实现如上述的基于模糊测试的内核漏洞挖掘方法,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0016]为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的基于模糊测试的内核漏洞挖掘方法。[0017]根据本发明实施例的计算机设备,通过存储器存储基于模糊测试的内核漏洞挖掘程序,这样基于模糊测试的内核漏洞挖掘程序被处理器执行时实现上述的基于模糊测试的内核漏洞挖掘方法,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0018]为达到上述目的,本发明第四方面实施例提出了一种基于模糊测试的内核漏洞挖掘装置,包括:解压缩模块,用于对模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例,其中,所述测试案例包括输入案例和崩溃案例;训练模块,用于将所述崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;筛选模块,用于将所述输入案例进行预处理后输入到训练好的特征提取模型,以便根据所述特征5CN112632557A说 明 书3/10页信息从所述输入案例中筛选出特征案例;漏洞挖掘模块,用于对所述特征案例进行压缩以形成模糊测试的输入语料库,并将所述输入语料库输入到模糊测试工具中,以进行漏洞挖掘。[0019]根据本发明实施例的基于模糊测试的内核漏洞挖掘装置,通过解压缩模块对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例,其中,测试案例包括输入案例和崩溃案例,并通过训练模块将崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息,接着通过筛选模块将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从输入案例中筛选出特征案例,最后通过漏洞挖掘模块对特征案例进行压缩以形成模糊测试的输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘;由此,通过对模糊测试工具反馈回来的输入案例进行特征筛选,以将崩溃案例中含有特征信息的特征案例作为新的输入案例,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0020]另外,根据本发明上述实施例提出的基于模糊测试的内核漏洞挖掘装置还可以具有如下附加的技术特征:[0021]可选地,所述解压缩模块还用于,采用模糊测试工具对目标设备进行漏洞挖掘,并获取模糊测试工具反馈的语料库;采用解压缩工具对所述模糊测试工具反馈的语料库进行解压缩,以获取所述语料库中的测试案例。[0022]可选地,所述训练模块还用于,将所述崩溃案例中系统调用的名称作为词单元,以组成词序列;对所述词序列进行one‑hot编码,以得到词序列语料库,并对所述词序列语料库进行向量化处理,以得到向量集;将所述向量集输入到预先建立的特征提取模型进行训练以得到特征向量表;将所述特征向量表转换成由系统调用的名称构成的词序列,并将所述由系统调用的名称构成的词序列作为筛选出特征案例的特征信息。[0023]可选地,所述漏洞挖掘模块还用于,采用压缩工具对所述特征案例进行压缩以形成模糊测试的输入语料库;将所述输入语料库输入到模糊测试工具中,并将所述输入语料库作为变异的种子进行模糊测试以完成漏洞挖掘。附图说明[0024]图1为根据本发明实施例的基于模糊测试的内核漏洞挖掘方法的流程示意图;[0025]图2为根据本发明一个实施例的基于模糊测试的内核漏洞挖掘方法的系统结构示意图;[0026]图3为根据本发明一个实施例的基于模糊测试的内核漏洞挖掘方法中的通过模糊测试产生测试案例的语料库的流程示意图;[0027]图4为根据本发明一个实施例的基于模糊测试的内核漏洞挖掘方法中的将语料库通过自然语言处理方法处理的流程示意图;[0028]图5为根据本发明一个实施例的基于模糊测试的内核漏洞挖掘方法中的将处理后的特征案例压缩成语料库作用与模糊测试的流程示意图;[0029]图6为根据本发明一个实施例的基于模糊测试的内核漏洞挖掘装置的方框示意图。6CN112632557A说 明 书4/10页具体实施方式[0030]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。[0031]相关技术中,传统的模糊测试方法中的输入案例是随机产生的,生成的输入案例种子在整个模糊测试将遍历所有的代码运行后,不断变异出异常数据,才能从目标设备中得到崩溃信息,这样的工作方式下模糊测试的效率十分低下;如果将模糊测试运行反馈得到的测试案例进行特征筛选,将含有崩溃案例特征的案例作为输入,就可以使测试的遍历循环减少,降低工作量,达到提高挖掘效率的目的,为此,本发明提出了一种基于模糊测试的内核漏洞挖掘方法,首先对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例,其中,测试案例包括输入案例和崩溃案例;接着将崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;然后将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从输入案例中筛选出特征案例;最后对特征案例进行压缩以形成模糊测试的输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘;由此,通过对模糊测试工具反馈回来的输入案例进行特征筛选,以将崩溃案例中含有特征信息的特征案例作为新的输入案例,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0032]为了更好的理解上述技术 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。[0033]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。[0034]图1为根据本发明实施例的基于模糊测试的内核漏洞挖掘方法的流程示意图;如图1所示,本发明实施例的基于模糊测试的内核漏洞挖掘方法包括以下步骤:[0035]步骤101,对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例,其中,测试案例包括输入案例和崩溃案例。[0036]作为一个示例,首先采用模糊测试工具对目标设备进行漏洞挖掘,并获取模糊测试工具反馈的语料库;接着采用解压缩工具对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例。[0037]也就是说,先通过模糊测试的对目标设备进漏洞挖掘,然后获取测试结果返回的语料库,接着对语料库进行处理,采用解压缩工具对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例。[0038]步骤102,将崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息。[0039]作为一个示例,首先将崩溃案例中系统调用的名称作为词单元,以组成词序列;对词序列进行one‑hot编码,以得到词序列语料库,并对词序列语料库进行向量化处理,以得到向量集;将向量集输入到预先建立的特征提取模型进行训练以得到特征向量表;将特征向量表转换成由系统调用的名称构成的词序列,从而完成对崩溃案例的预处理;接着将由7CN112632557A说 明 书5/10页系统调用的名称构成的词序列作为筛选出特征案例的特征信息,从而获取特征信息。[0040]作为一个实施例,上述特征提取模型可以为神经网络语言模型(NNLM),本发明对此不作具体限定。[0041]步骤103,将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从输入案例中筛选出特征案例。[0042]需要说明的是,此处对输入案例的预处理与上述崩溃案例的预处理相同。[0043]也就是说,将输入案例作为测试集,进行与崩溃案例同样的预处理之后输入到训练好的特征提取模型进行特征信息匹配,从而获得输入案例中满足特征信息的特征案例。[0044]步骤104,对特征案例进行压缩以形成模糊测试的输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘。[0045]作为一个示例,采用压缩工具对特征案例进行压缩以形成模糊测试的输入语料库;将输入语料库输入到模糊测试工具中,并将输入语料库作为变异的种子进行模糊测试以完成漏洞挖掘。[0046]也就是说,将获取的模糊测试结果反馈的语料库进行处理之后,重新放置回模糊测试的工作环境中,然后启动模糊测试,使得处理后的语料库作为模糊测试的输入进行变异,从而增加模糊测试产生崩溃的速率。[0047]综上所述,本发明通过对模糊测试执行后反馈的测试案例进行训练和定向的筛选,从而选择具有崩溃案例的特征案例作为再次进行模糊测试的输入案例,将变异的基础定义为基于某类崩溃案例的特征案例,这样使得通过模糊测试工具对目标设备进行漏洞挖掘的过程更加高效。[0048]为了更进一步地说明本发明的技术方案,下面通过一个具体实施例进行描述,其中,如图2‑5所示,该实例是基于模糊测试工具syzkaller反馈的内核漏洞挖掘方法;如图3所示,通过模糊测试产生输入案例和崩溃案例的语料库的具体操作步骤包括:[0049]步骤201,根据系统调用(syscalls)的描述文件随机产生输入案例(program),并将其作为测试的种子文件。[0050]也就是说,该模糊测试的输入案例是随机产生的。[0051]作为一个具体实施例,执行模糊测试时根据如下的模板以及系统调用的描述生成随机的输入案例,将这个输入案例输入到模糊测试过程中,使其成为之后进行变异的种子;生成输入案例的模板如下:[0052]1.assignSyscallNumbers:分配系统调用号,检测不受支持的系统调用并丢弃;[0053]2.patchConsts:将AST中的常量patch成对应的值;[0054]3.check:对AST进行语义检查;[0055]4.genSyscalls:从AST生成prog对象;8CN112632557A说 明 书6/10页[0056][0057]步骤202,对输入案例进行随机变异,然后将变异后的输入案例输入到模糊测试系统中。[0058]作为一个具体实施例,生成的种子案例文件在模糊测试系统执行的过程中会根据其中的变异方法进行变异,其变异的方法包括:[0059]1.切片插入:克隆一份系统调用拼贴到原来的中间再移除拼贴后的后半部分。[0060]2.系统调用的插入:插入系统调用。[0061]3.参数变异:将系统调用输入的参数根据类型的不同做出不同的变异。[0062]步骤203,如果输入案例能够对代码产生新的覆盖率,则将该输入案例加入到语料库;如果输入案例在模糊测试产生了崩溃,则在其工作环境下产生其相关的日志信息和崩溃案例。[0063]如图4所示,为本发明获取模糊测试工具反馈的语料库后进行特征提取的流程示意图;具体包括以下步骤:[0064]步骤301,将生成的语料库文件进行解压缩,获得执行后的输入案例和产生的崩溃案例。[0065]需要说明的是,通过模糊测试得到的语料库文件需要通过模糊测试中的解压缩工具将数据库文件解压成测试案例文件,测试案例文件中包含了执行的输入案例以及产生的崩溃案例;其中崩溃案例主要是几类主要的漏洞类型:use‑after‑free以及out‑of‑bounds漏洞类型。[0066]步骤302:将崩溃案例作为样本集输入到特征提取模型,提取其特征条件。[0067]1.将崩溃案例中的系统调用名称作为词单元,进行one‑hot编码;将每个崩溃案例转换成词向量。[0068]2.将词向量与词嵌入矩阵相乘,进行相关性编码,形成相应的特殊的词向量组。[0069]3.以词向量组为输入,训练特征提取模型,从中提取出相应的崩溃特征的特征向量表。[0070]4.根据得到的特征向量表,筛选输入案例,选择出满足崩溃特征的特征案例。[0071]其中特征提取模型可以由如下 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 表示出来:[0072][0073]其中wt是输入案例中的第n个系统服务名称,是表示从第一个系统服务的名称到第t个系统服务的名称组成的子向量序列。该模型是通过统计第t个系统服务在前t‑1个系统服务影响的情况下出现的概率。[0074]步骤303,根据提取的特征条件,将输入案例作为输入,提取输入案例中符合特征9CN112632557A说 明 书7/10页条件的特征案例。[0075]步骤304,将提取后的特征案例通过压缩工具压缩成为模糊测试系统可以运行的语料库。[0076]需要说明的是,特征提取模型为神经网络语言模块,通过将自然语言处理的算法融入到漏洞挖掘过程之中,选取疑似含有崩溃案例的特征信息的特征案例,重新组成新的语料库进行模糊测试。[0077]如图5所示,为本发明将处理之后的特征案例压缩成语料库作用于模糊测试的流程示意图;具体包括以下步骤:[0078]步骤401,将压缩成的语料库文件输入到模糊测试系统之中。[0079]步骤402,模糊测试系统判断是否含有输入,并将输入作为变异的种子。[0080]步骤403,模糊测试系统执行后产生崩溃的测试案例以及崩溃日志载入工作区域“workdir”。[0081]综上所述,根据本发明实施例的基于模糊测试的内核漏洞挖掘方法,首先对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例,其中,测试案例包括输入案例和崩溃案例;接着将崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;然后将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从输入案例中筛选出特征案例;最后对特征案例进行压缩以形成模糊测试的输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘;由此,通过对模糊测试工具反馈回来的输入案例进行特征筛选,以将崩溃案例中含有特征信息的特征案例作为新的输入案例,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0082]另外,本发明实施例还提出了一种计算机可读存储介质,其上存储有基于模糊测试的内核漏洞挖掘程序,该基于模糊测试的内核漏洞挖掘程序被处理器执行时实现如上述的基于模糊测试的内核漏洞挖掘方法。[0083]根据本发明实施例的计算机可读存储介质,通过存储基于模糊测试的内核漏洞挖掘程序,这样基于模糊测试的内核漏洞挖掘程序被处理器执行时实现如上述的基于模糊测试的内核漏洞挖掘方法,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0084]另外,本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的基于模糊测试的内核漏洞挖掘方法。[0085]根据本发明实施例的计算机设备,通过存储器存储基于模糊测试的内核漏洞挖掘程序,这样基于模糊测试的内核漏洞挖掘程序被处理器执行时实现上述的基于模糊测试的内核漏洞挖掘方法,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0086]图6为根据本发明一个实施例的基于模糊测试的内核漏洞挖掘装置的方框示意图。如图6所示,该基于模糊测试的内核漏洞挖掘装置包括:解压缩模块501、训练模块502、筛选模块503以及漏洞挖掘模块504。[0087]其中,解压缩模块501用于对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例,其中,测试案例包括输入案例和崩溃案例;训练模块502用于将崩溃案例10CN112632557A说 明 书8/10页进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息;筛选模块503用于将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从输入案例中筛选出特征案例;漏洞挖掘模块504用于对特征案例进行压缩以形成模糊测试的输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘。[0088]作为一个实施例,上述解压缩模块501还用于,采用模糊测试工具对目标设备进行漏洞挖掘,并获取模糊测试工具反馈的语料库;采用解压缩工具对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例。[0089]作为一个实施例,上述训练模块502还用于,将崩溃案例中系统调用的名称作为词单元,以组成词序列;对词序列进行one‑hot编码,以得到词序列语料库,并对词序列语料库进行向量化处理,以得到向量集;将向量集输入到预先建立的特征提取模型进行训练以得到特征向量表;将特征向量表转换成由系统调用的名称构成的词序列,并将由系统调用的名称构成的词序列作为筛选出特征案例的特征信息。[0090]作为一个实施例,上述漏洞挖掘模块504还用于,采用压缩工具对特征案例进行压缩以形成模糊测试的输入语料库;将输入语料库输入到模糊测试工具中,并将输入语料库作为变异的种子进行模糊测试以完成漏洞挖掘。[0091]需要说明的是,前述对于基于模糊测试的内核漏洞挖掘方法的实施例的解释说明同样适用于本实施例的基于模糊测试的内核漏洞挖掘装置,此处不再赘述。[0092]综上所述,根据本发明实施例的基于模糊测试的内核漏洞挖掘装置,通过解压缩模块对模糊测试工具反馈的语料库进行解压缩,以获取语料库中的测试案例,其中,测试案例包括输入案例和崩溃案例,并通过训练模块将崩溃案例进行预处理后输入到预先建立的特征提取模型进行训练以获取特征信息,接着通过筛选模块将输入案例进行预处理后输入到训练好的特征提取模型,以便根据特征信息从输入案例中筛选出特征案例,最后通过漏洞挖掘模块对特征案例进行压缩以形成模糊测试的输入语料库,并将输入语料库输入到模糊测试工具中,以进行漏洞挖掘;由此,通过对模糊测试工具反馈回来的输入案例进行特征筛选,以将崩溃案例中含有特征信息的特征案例作为新的输入案例,从而使模糊测试的遍历循环减少,降低工作量,进而提高漏洞挖掘的效率。[0093]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。[0094]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0095]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指11CN112632557A说 明 书9/10页令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0096]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0097]应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。[0098]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。[0099]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。[0100]在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。[0101]在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。[0102]在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。[0103]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。12CN112632557A说 明 书10/10页[0104]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。13CN112632557A说 明 书 附 图1/5页图1图214CN112632557A说 明 书 附 图2/5页图315CN112632557A说 明 书 附 图3/5页图416CN112632557A说 明 书 附 图4/5页图517CN112632557A说 明 书 附 图5/5页图618
本文档为【基于模糊测试的内核漏洞挖掘方法、介质、设备及装置】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥10.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
掌桥科研
掌桥科研向科研人提供中文文献、外文文献、中文专利、外文专利、政府科技报告、OA文献、外军国防科技文献等多种科研资源的推广、发现、揭示和辅助获取服务,以及自动文档翻译、人工翻译、文档格式转换、收录引证等科研服务,涵盖了理、工、医、农、社科、军事、法律、经济、哲学等诸多学科和行业的中外文献资源。
格式:pdf
大小:698KB
软件:PDF阅读器
页数:18
分类:
上传时间:2022-01-25
浏览量:1