[发明专利]一种云平台上基于SVM的恶意软件检测方法在审
| 申请号: | 202011315603.2 | 申请日: | 2020-11-21 |
| 公开(公告)号: | CN112464234A | 公开(公告)日: | 2021-03-09 |
| 发明(设计)人: | 姚烨;贾耀;钱亮 | 申请(专利权)人: | 西北工业大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06N3/04;G06N3/08 |
| 代理公司: | 西北工业大学专利中心 61204 | 代理人: | 刘新琼 |
| 地址: | 710072 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 平台 基于 svm 恶意 软件 检测 方法 | ||
1.一种云平台上基于SVM的恶意软件检测方法,其特征在于步骤如下:
步骤1:基于时序的API调用序列的提取
为APK文件创建一个dex对象,通过对dex对象的分析,提取出该APK文件的函数调用图,通过对函数调用图中边信息的分析,获得各类内的函数调用关系;在此调用关系的基础上使用深度优先遍历算法完善每条调用序列;此时获得多条完整的类内调用序列,依据序列头节点在内存中的地址信息进行排序;最后按照地址递增的顺序将所有类内调用序列拼接在一起,构建成一条完整的API调用序列;
步骤2:基于skip-gram模型的API序列向量化
获得API调用序列之后,需要将提取出来的API序列向量化:
(1)首先对每个API函数用特定的整数表示,每个API序列构建成为一个one-hot向量;
(2)然后利用构建的one-hot向量来训练skip-gram网络模型,所述的skip-gram网络模型:输入为构建的one-hot向量;隐藏层没有使用任何激活函数;输出层是一个softmax回归分类器;模型中还需要定义skip_windows的参数,它表示从当前input word的一侧选取词的数量,另一个参数叫num_skips,它表示从整个窗口中选取多少个不同的词作为outputword;隐藏层的权值矩阵是最终的学习目标,因此权重矩阵每行的维度需要根据具体的训练情况进行设置;输出层的每个节点将会输出一个0-1之间的值,表示当前词是输入样本中output word的概率大小,这些所有输出层神经元节点的概率之和为1;
(3)训练完成后,取出模型中的Embedding矩阵,用API序列的one-hot向量与Embedding权重矩阵的乘积来表示该序列的Embedding向量;
步骤3:基于AutoEncoder模型的API向量降维
采用AutoEncoder模型对API序列进行压缩,所述的AutoEncoder模型包含以下十层:一个数据输入层、八个数据压缩层以及一个数据输出层;各层之间通过全连接的方式相连接;将输入样本压缩到隐藏层,然后在输出端重新构建样本,经过不断的训练,当输出端重新构建的样本与输入端输入的样本之间的误差在一定范围内时,认为样本的压缩有效,模型训练结束;
步骤4:构建基于SVM的恶意软件检测模型
首先将经过降维处理的API序列输入到检测模型中;然后检测模型中的参数会在样本集上进行迭代计算,最终使得测试集上误差低于设定阈值;最后完成训练后的模型用于未知软件的检测,检测结果为良性或恶意的二分类判断;但是经过降维处理的API序列仍然有较高维度,为了获得更好的分类效果,引入高斯核函数;通过核函数,将特征向量映射到一个比较高的维度,从而找到一个可以完全分离的超平面,进而完成分类;
步骤5:基于SVM的检测模型的训练
本发明将模型构建在云平台上,将模型的训练建立在Spark内核之上,加速模型的训练,Spark集群由Driver,Cluster Manager,以及Worker Node组成;对于每个Spark应用程序,Worker Node上存在一个Executor进程,Executor进程中包括多个Task线程;Spark上的任务启动后,Driver向Cluster Manager申请资源;Cluster Manager向某些Work Node发送征召信号;被征召的Work Node启动Executor进程响应征召,并向Driver申请任务;Driver将任务的程序代码和不同的数据分片分发给Word Node;每个Work Node根据拿到的数据进行完整逻辑的任务,完成训练后将任务参数汇总发送给Driver程序;最后再将各参数进行平均化处理。
2.根据权利要求1所述的一种云平台上基于SVM的恶意软件检测方法,其特征在于步骤3中该模型采用均方误差作为损失函数来衡量输入与输出的差异程度;模型的学习方法选择Adam算法,该算法能够自适应地调整学习率,并且收敛速度较快;模型中的激活函数选择tanh函数;模型的初始化学习率为0.2;最中间压缩层维度设置为64;为了提高训练速度,将此模型利用pytorch下的cuda转移到GPU上来进行训练。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011315603.2/1.html,转载请声明来源钻瓜专利网。





