[发明专利]一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型在审
申请号: | 201910705360.4 | 申请日: | 2019-08-01 |
公开(公告)号: | CN112307473A | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 方勇;黄诚;刘亮;邱瑶瑶;苏瑜 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/41;G06N3/04;G06N3/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 bi lstm 网络 注意力 机制 恶意 javascript 代码 检测 模型 | ||
1.一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型,其特征在于,所述方法应用于恶意JavaScript代码检测,所述方法包括:
获取目标web页面的源码,得到待测样本;
对待测样本进行转换;得到抽象语法树;
基于抽象语法树提取代码的词法单元序列;
采用FastText词向量模型对词法单元序列进行训练,得到词向量特征;
构建基于Bi-LSTM网络和注意力机制的分类模型,以确定待测样本是否为恶意脚本,得到对恶意JavaScript代码的高效检测的系统。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取多个样本网页源码,预处理数据,对收集的样本进行清洗,分离出其中的JavaScript代码。
3.根据权利要求1所述的方法,其特征在于,对分离出的JavaScript代码转换成抽象语法树,包括:
使用Esprima语法解析器,将纯净的JavaScript文件转换成抽象语法树;
通过深度后序优先遍历语法树上的节点得到词法单元序列;
样本的词法单元序列作为词向量模型的训练语料集。
4.根据权利要求1所述的方法,其特征在于,基于语义分析的分类器模型,所述方法包括:
通过FastText词向量模型对语料进行词向量训练;
利用FastText词向量模型,对样本的词法单元序列语料进行训练,得到语料的词向量模型;根据词向量模型生成每个样本的词向量特征,作为分类器的输入特征。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于Bi-LSTM网络和注意力机制的检测方法对词向量特征进行抽象迭代训练,生成二元分类模型;
通过分类模型判定为恶意代码的样本,输出模型网络中注意力层的权重值,使用热力图进行可视化展示,根据可视化结果标注样本中的关键代码片段。
6.根据权利要求1所述的基于语义分析的特征提取和深度学习算法构建的分类模型,其特征在于:
基于JavaScript抽象语法树提取词法单元序列;通过FastText词向量模型对语料进行词向量训练;
基于Bi-LSTM网络和注意力机制的分类模型对样本进行判定,通过对模型的超参数的调优,训练出最优的恶意JavaScript代码检测模型。
7.根据权利要求4所述的基于语义分析的分类器模型,其特征在于:
基于JavaScript的抽象语法树提取词法单元序列,时间代价小,能够有效表征源代码;
基于FastText模型训练词向量特征,在JavaScript的词法单元中,许多词法单元拥有相同的后缀,词的内部结构可以一定程度体现当前词的语义,FastText将词法单元转化成字符级的N-gram词袋,词法单元的词向量由所有分词词袋的向量组成,充分利用了词缀信息。
8.根据权利要求5所述的基于Bi-LSTM网络与注意力机制的分类器模型,其特征在于:
Bi-LSTM网络在序列文本处理中,能充分利用序列的上文语义依赖及下文语义依赖,即能充分利用序列的上下文信息,能有效处理有监督的二分类问题;
注意力机制能聚焦序列中的重要代码片段,对不同的词法单元序列进行加权,降低数据处理维度;
根据注意力层的权重值标注样本中的关键代码片段,帮助分析人员进一步分析还原恶意代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910705360.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:降低图像传感器电源噪声的方法
- 下一篇:一种汽车信号灯用光导