[发明专利]基于混合分析和特征融合的恶意JS脚本检测方法在审
| 申请号: | 202210252529.7 | 申请日: | 2022-03-11 |
| 公开(公告)号: | CN114595454A | 公开(公告)日: | 2022-06-07 |
| 发明(设计)人: | 孙聪;乔新博;陈亮 | 申请(专利权)人: | 西安电子科技大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/41;G06N3/04;G06N3/08 |
| 代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 陈宏社;王品华 |
| 地址: | 710071*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 混合 分析 特征 融合 恶意 js 脚本 检测 方法 | ||
1.一种基于混合分析和特征融合的恶意JS脚本检测方法,其特征在于,包括如下步骤:
(1)获取训练样本集和测试样本集:
(1a)获取V个JavaScript脚本J={Fv|1≤v≤V},并运行每个JavaScript脚本Fv,对运行的Fv的调用应用程序接口API的行为进行动态监控,得到J对应的API调用序列S1={W1v|1≤v≤V},同时对Fv进行静态语法解析,得到抽象语法树ASTv,通过深度优先遍历算法访问ASTv的每个语法单元节点,得到J对应的语法单元序列其中,V>10000,Fv表示第v个JavaScript脚本,W1v、分别表示Fv对应的API调用序列、语法单元序列;
(1b)利用Word2Vec模型分别对每个API调用序列W1v、语法单元序列进行转化,得到S1的API调用序列词向量T1={X1v|1≤v≤V}、S2的语法单元序列词向量
(1c)对每个API调用序列词向量X1v和每个语法单元序列词向量通过同一标签进行标记,并将T1中半数以上的API调用序列词向量和T2中半数以上的语法单元序列词向量,以及每两个向量共同的标签组成训练样本集Q1,然后将T1中剩余的API调用序列词向量和T2中剩余的语法单元序列词向量,以及每两个向量共同的标签组成测试样本集Q2;
(2)构建基于特征融合的恶意JavaScript脚本检测网络模型;
构建包括并行排布的卷积神经网络CNN和双向长短期记忆神经网络BiLSTM的恶意JavaScript脚本检测网络模型,CNN和BiLSTM的输出端共同顺次连接有特征融合模块、特征分类器E;其中CNN包括相互重叠的卷积层和最大池化层,卷积层中卷积核的激活函数为relu;BiLSTM包括相互重叠的前向LSTM层和后向LSTM层,LSTM层中LSTM单元的激活函数为sigmoid;E包括全连接层和sigmoid激活函数输出层;
(3)对基于特征融合的恶意JavaScript脚本检测网络模型进行迭代训练;
(3a)初始化迭代次数为i,最大迭代次数为I,I≥200,基于特征融合的恶意JavaScript脚本检测网络模型的权重矩阵为偏移矩阵为并令i=0;
(3b)将训练样本集Q1作为基于特征融合的恶意JavaScript脚本检测网络模型的输入进行前向传播,CNN提取每个训练样本中语法单元序列的高维特征;同时BiLSTM提取每个训练样本中API调用序列的高维特征;特征融合模块对CNN提取的每个高维特征与BiLSTM提取的对应的高维特征进行融合,特征分类器E将每个融合高维特征映射为一个向量并输入sigmoid,得到每个训练样本的预测概率
(3c)采用交叉熵损失函数,并通过计算本次迭代基于特征融合的恶意JavaScript脚本检测网络模型的损失值Li;采用反向传播方法并通过损失值Li计算基于特征融合的恶意JavaScript脚本检测网络模型的权重矩阵梯度偏移矩阵梯度采用梯度下降法通过对权重矩阵和偏移矩阵进行更新;
(3d)判断i>I是否成立,若是,得到训练好的基于特征融合的恶意JavaScript检测模型,否则,令i=i+1,并执行步骤(3b);
(4)获取恶意JavaScript脚本的检测结果:
将测试样本集Q2作为训练好的基于特征融合的恶意JavaScript脚本检测模型的输入进行前向传播,得到每一个测试样本的预测概率若则Q2中第k个训练样本对应的JavaScript脚本为恶意,否则该JavaScript脚本为正常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210252529.7/1.html,转载请声明来源钻瓜专利网。





