[发明专利]一种基于系统行为序列的恶意代码检测方法有效
申请号: | 201910395810.4 | 申请日: | 2019-05-13 |
公开(公告)号: | CN110263538B | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 杨吉云;唐江;鄢然;向涛 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06N3/04;G06N3/08 |
代理公司: | 北京康盛知识产权代理有限公司 11331 | 代理人: | 陶俊洁 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 系统 行为 序列 恶意代码 检测 方法 | ||
1.一种基于系统行为序列的恶意代码检测方法,其特征在于,包括:
提取安卓样本的运行信息;
动态运行所述安卓样本,提取动态特征;
根据所述动态特征构建特征向量;
构造分类器,通过所述分类器检测恶意代码;
所述运行信息包括所述安卓样本的可运行组件;
所述特征向量的构建方法包括:
根据所述动态特征发生的时间戳得到所述安卓样本的系统行为序列;
将所述系统行为序列中的系统行为映射为相对应的状态,得到状态转移序列;
设定为状态发生频率,
计算得到第z个所述安卓样本的状态转移序列中,第pn个状态的发生频率,其中,pn≥1,k≥1,z≥1,i≥1,N≥1;
其中,Tk表示状态k在所述安卓样本的状态转移序列中发生的次数,Ti表示状态i在所述安卓样本的状态转移序列中发生的次数;
设定为状态转移概率,
计算得到第z个安卓样本的状态转移序列中,第i个状态会转移到第j个状态的概率,其中,z≥1,k≥1,i≥1,n≥1,j≥1;
其中,Tij表示状态转移序列中从状态i转移到状态j的次数,Tik表示状态转移序列中从状态i转移到状态k的次数。
2.根据权利要求1所述的一种基于系统行为序列的恶意代码检测方法,其特征在于,所述动态运行所述安卓样本,提取动态特征包括:
对apk文件需要监控的敏感API插桩并重打包;
将所述可运行组件作为所述动态运行的入口点,进行动态运行,并从所述动态运行生成的日志中提取动态特征。
3.根据权利要求1所述的一种基于系统行为序列的恶意代码检测方法,其特征在于,所述的动态特征包括:API调用,文件访问,敏感数据泄露,外部程序动态加载,网络连接请求,网络数据传输,SMS信息传输。
4.根据权利要求2所述的一种基于系统行为序列的恶意代码检测方法,其特征在于,所述敏感API的选取方法包括:
收集所述安卓样本中的API调用;
通过对所述安卓样本进行SVM算法训练,得到各所述API调用的权重ω;
将所述权重ω按照绝对值从大到小进行排序,选择前m个所述API调用作为所述敏感API,m≥1。
5.根据权利要求1所述的一种基于系统行为序列的恶意代码检测方法,其特征在于,所述特征向量包括状态转移概率矩阵和状态发生频率。
6.根据权利要求1所述的一种基于系统行为序列的恶意代码检测方法,其特征在于,采用深度学习模型SAE对所述特征向量进行学习和训练得到分类器。
7.根据权利要求6所述的一种基于系统行为序列的恶意代码检测方法,其特征在于,所述深度学习模型SAE进行训练包括:
将所述特征向量作为输入数据输入到第一个自动编码器中;
将第一个自动编码器的输出层作为第二个自动编码器的输入层进行训练;
将第二个自动编码器的输出层作为第三个自动编码器的输入层进行训练;
将第三个自动编码器的输出层作为第四个自动编码器的输入层进行训练;
将第四个自动编码器的输出层输入到softmax层中;
对整个网络进行调整。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910395810.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:可信平台通讯系统
- 下一篇:一种基于并行集成学习的安卓恶意应用检测方法及系统