当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于深度学习与遗传算法的浏览器样本集获取方法技术

技术编号:27260506 阅读:16 留言:0更新日期:2021-02-06 11:17
本发明专利技术公开了一种浏览器模糊测试样本集获取方法,包括以下步骤:(1)对文档进行预处理,统计html文件元素,得到输入向量与元素统计数据;(2)使用LSTM神经网络进行深度学习,将生成的样本解码得到生成样本。(3)将生成样本进行树状编码得到父代种群,计算适应度函数。(4)使用优化遗传算子对父代种群进行优化,直到满足终止结果。该方法可以用于浏览器漏洞挖掘,其挖掘方向更有针对性,挖掘效率也更高。挖掘效率也更高。挖掘效率也更高。

【技术实现步骤摘要】
一种基于深度学习与遗传算法的浏览器样本集获取方法


[0001]本专利技术涉及一种基于深度学习与遗传算法的浏览器样本集获取方法,属于漏洞挖掘


技术介绍

[0002]浏览器作为上网的必要工具,占据十分重要的地位,其受到安全威胁与攻击的频率也要高于其他软件。在常见的攻击场景中,攻击者通过攻击浏览器或包含链接的其他文件使浏览器错误解析数据,通过攻击浏览器内存获得缓存数据或使用浏览器作为跳板解析通信协议、攻击服务器与数据库。浏览器泄露的内存中可能包括个人账号、密码等敏感信息,通过攻击浏览器服务器与数据库有可能获得大量用户数据。对浏览器进行漏洞挖掘可以提前暴露浏览器的安全隐患,并进行针对新的更新,从而加强浏览器安全指数。传统的针对浏览器的漏洞挖掘主要技术包括基于生成的模糊测试技术与基于变异的模糊测试技术。基于生成的模糊测试技术能有效覆盖目标程序的几乎所有输入点并进行无差别的挖掘,但是其没有任何指向性,得到的Crash也往往无法利用;基于变异的模糊测试技术能针对某一类漏洞进行针对性的挖掘,但其覆盖输入点较少,而且十分依赖作为变异基础的种子文件。使用深度学习与各类算法对样本集进行优化能够获得更有效的样本,使得漏洞挖掘效率更高。目前这种方法也面临着三个问题,一是针对已知样本进行特异性优化,无法普适性的挖掘特定种类漏洞。第二是无法绕过目标程序中的防护措施,当遇见循环或反复调用时浪费计算资源。另外一点则是并且使用过于复杂的网络与算法会降低样本生成的速度,从而影响漏洞挖掘效率。
[0003]基于以上问题,我们提出了一种基于深度学习并结合遗传算法来进行漏洞挖掘样本集生成与优化的新方法。该方法使用的种子文件带有漏洞利用代码,其本身就具有很强的漏洞挖掘作用。使用这些种子文件作为深度神经网络学习的基础,生成的样本同样具有较高的漏洞挖掘价值,同时为了使生成的样本获得更多的代码覆盖率、触发更多的Crash,使用遗传算法针对html文件进行特异性优化,选择合适的编码策略与适应度函数算法,同时针对选择、交叉、变异算子进行针对性优化。最后利用模糊测试工具对生成的样本进行漏洞挖掘。
[0004]目前已知相关的方法利用深度学习与遗传算法对浏览器进行漏洞挖掘([39]J
ää
skel
äꢀ
E. Genetic algorithm in code coverage guided fuzz testing[J]. Dept. Comput. Sci. Eng., Univ. Oulu, 2016.;Fang Y, Huang C, Liu L, et al. Research on Malicious JavaScript Detection Technology Based on LSTM[J]. IEEE Access, 2018, 6: 59118-59125. )。但是目前针对浏览器本身的漏洞挖掘样本集生成与优化没有通用的流程与框架。在框架检测中,通过提取种子文件的元素信息与结构信息,使其在神经网络学习时不被打乱相关结构,适用范围更广,可以覆盖xml等高度结构化的文件格式。此外,我们的方法是基于单向LSTM网络与遗传算法来进行样本生成与优化,计算开销较小,能够应用于大规模的样本生成与测试。通过实验也表明该专利技术的方法能有效应用与浏览器漏
洞挖掘。

技术实现思路

[0005]本专利技术的目的在于为提高浏览器漏洞挖掘效率而提供一种基于深度学习与遗传算法来进行样本获取的方法与框架。
[0006]本专利技术通过以下技术方案来实现上述目的:本专利技术所述样本集生成与优化方法整体框架图如图1所示,主要包括样本生成、优化与测试三个阶段。其中对样本生成阶段包括如下步骤:(1)对训练样本数据进行预处理,将文件中的元素进行统计并按统一格式存入数据库;(2)利用300维度的One-Hot编码方案将元素进行编码,并进行向量化,对所有文档都进行该操作,得到所有文档的向量;(3)将向量按照文件中的元素顺序排序,同一个文件中的元素所划成的向量同一批输入深度学习网络中,使用深度学习网络学习样本;(4)将此时神经网络的输出向量进行解码,写入空白文件中,获得生成样本;(5)对生成样本进行格式检查,若一段时间内80%的生成样本格式均符合html格式规范,则认为此时神经网络训练成熟。
[0007]在样本优化阶段,按照如下方法进行:(1)将待优化样本使用能保存html文件格式的树状编码方案进行编码,每一个样本获得一个个体,所有个体组成父代种群;(2)保守估计优化后的样本集能覆盖目标程序90%的代码,使用保守估计策略设定适应度函数;(3)计算种群中所有个体的适应度函数值,并按照适应度函数值排序,记录适应度函数最大的个体与函数值,以及适应度函数平均值;(4)对种群按选择概率进行轮盘赌选择,将选择到的个体直接进入下一代。并使用最优保存策略保证遗传迭代是正向的; (5)对种群按交叉概率 进行双点交叉。为了保证交叉过程中文件格式不被损坏,采用两次单点交叉来替代一次双点交叉;(6)对种群按变异概率选择个体进行变异。为了保证种群总体稳定,并能尽量获得新的基因,采用单点变异与自重组变异结合对被选择个体进行变异;(7)将经过选择、交叉、变异后的种群进行解码,置入模糊器中进行模糊测试,若代码覆盖率高于90%,或迭代次数达到200次,或种群的适应度函数20代无明显变化,则结束遗传算法,输出样本集。否则,将此时的子代种群设置为父代种群,重复步骤(3)至步骤(7)。
[0008]在样本测试阶段,按照如下方法进行:(1)使用AFL对被测试的浏览器进行插桩,以监控测试样本达到的代码覆盖率。使用morph进行模糊测试,保存崩溃现场与恶意样本;(2)将得到的模糊测试样本集使用被测试的浏览器逐个打开,并监控浏览器状态;
(3)若被打开的文件使浏览器崩溃,采集崩溃现场,并保存使浏览器崩溃的样本名称。若浏览器正常运行,则不做任何处理;(4)重复步骤(2)、步骤(3),指导所有被测试样本集均被浏览器运行过;(5)统计浏览器崩溃情况与代码覆盖率,分析触发的Crash数量与现场信息,分析Crash具体情况,重现Crash崩溃现场,以获得浏览器漏洞信息。
[0009]上述方法的基本原理如下。
[0010]浏览器处理的html文件一般由多个标签对组成,在标签中有对标签属性的相关描述,在标签之间有各类文本。这些标签用来保证文件满足基本的各式需求。在某些标签中存在被插入的任意代码,这些代码一般用作进行漏洞触发利用以及投放攻击载荷等。包括漏洞利用的环境搭建、触发代码、shellcode以及部分辅助代码。每个文件针对不同的漏洞,文件的结构与漏洞利用代码也不尽相同,但是针对某一类漏洞的漏洞利用文件有较为规范的模式与恶意代码信息。基于这些特点,我们的方法主要通过神经网络学习文件中的标签与文本本身的信息与位置信息,将其按照一定规则向量化,将向量化的数据送入深度学习模型来训练生成模型。在样本预处理模块,数据库中存放了元素的标签、位置、内容、出现频率等信息,用以样本生成时进行对照,从而本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习与遗传算法的浏览器模糊测试样本集获取方法,其特征在于包括以下步骤:步骤一:对文件进行预处理,并建立元素库;步骤二:在文件向量化后,送入深度学习模型进行训练,并对模型相关参数进行优化后得到生成模型;步骤三:使用生成模型生成样本集,对于生成的样本集进行样本过滤;步骤四:对过滤后的样本进行树状编码,并使用保守估计策略计算样本的适应度函数值;步骤五:使用轮盘赌选择与最优保存策略进行选择算子运算;步骤六:使用两次单点交叉代替一次双点交叉进行交叉算子运算;步骤七:使用基本位变异与自重组变异进行变异算子运算;步骤八:解码运算后的种群,获得此时优化后的模糊测试样本集;步骤九:对样本进行过滤,丢弃不符合html格式规范的文件;步骤十:利用得到的此时的样本集对浏览器进行模糊测试;步骤十一:对当代种群进行终止判定,满足终止条件则得到优化后的种群,否则重复步骤五到步骤十;步骤十二:使用优化后的种群进行模糊测试,获得测试结果。2.根据权利1所述的基于深度学习与遗传算法的浏览器模糊测试样本集获取方法,其特征在于:对文档进行预处理步骤中,针对标签元素,将其标签本身与便签属性分开记录;针对插入的恶意代码,使用外层标签作为键值的组成部分,将代码本身作为文本存储;在元素存储时,将外层标签与自定义编号作为唯一键值;在神经网络学习时,采用交叉熵作为损失函数,使用RMSProp算法作为优化算法;在样本生成时,通过检测...

【专利技术属性】
技术研发人员:方勇刘亮张磊朱光夏天
申请(专利权)人:四川大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1