[发明专利]一种基于图编辑距离的恶意软件检测方法有效
| 申请号: | 201911165631.8 | 申请日: | 2019-11-25 |
| 公开(公告)号: | CN111090859B | 公开(公告)日: | 2022-05-13 |
| 发明(设计)人: | 张继;王勇;胡吉双;刘振岩;彭图;林灵 | 申请(专利权)人: | 北京理工大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 北京理工大学专利中心 11120 | 代理人: | 张维佳;温子云 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 编辑 距离 恶意 软件 检测 方法 | ||
1.一种基于图编辑距离的恶意软件检测方法,其特征在于,包括:
从恶意软件的apk文件中提取静态的函数调用图;
根据所述静态的函数调用图中的敏感API函数提取得到敏感子图;
采用禁忌搜索算法计算所述敏感子图的图编辑距离;
根据所述图编辑距离对软件进行检测;
采用构建初始解的禁忌搜索算法计算所述敏感子图的图编辑距离,具体包括:
1.1根据任意两张所述敏感子图的图编辑代价进行计算,得到代价矩阵;
1.2根据所述代价矩阵构建初始解,并作为当前解的初始值;
1.3交换所述当前解的初始值中随机两个位置的值来搜索邻居解;
1.4根据所述代价矩阵计算所述邻居解的图编辑距离;
1.5如果所述邻居解不在禁忌表中,并且它的图编辑距离比当前解的图编辑距离低,则将其作为新的当前解;
1.6重复上述1 .3-1 .5步骤m次,m代表一个初始解最多产生邻居解的数量;
1.7如果产生的当前解的图编辑距离优于全局最优解的图编辑距离,则更新解禁忌,将当前解加入到禁忌表中;
1.8重复上述步骤1 .3-1 .7n次,n代表n个初始解,得到全局最优解的图编辑距离。
2.如权利要求1所述一种基于图编辑距离的恶意软件检测方法,其特征在于,所述从恶意软件的apk文件中提取静态的函数调用图,具体包括:
2.1、使用android.jar解压apk文件,通过反编译得到Manifest.xml和.dex文件;
2.2、对所述Manifest.xml和.dex文件的生命周期进行模拟和建模,分析所有可能的函数调用路径,构造虚拟主函数dummy main函数;
2.3、建立所述dummy main函数调用的控制流图,并将所述控制流图转化成静态函数调用图。
3.如权利要求2所述一种基于图编辑距离的恶意软件检测方法,其特征在于,使用FlowDroid工具建立所述dummy main函数调用的控制流图。
4.如权利要求2或3所述一种基于图编辑距离的恶意软件检测方法,其特征在于,所述根据所述静态的函数调用图中的敏感API函数提取得到敏感子图,具体包括:
4.1查找所述函数调用图中的dummy main;
4.2从所述dummy main开始,循环迭代寻找所述dummy main下的子树,并记录节点和调用边信息;
4.3将包含敏感API函数的子树加入函数调用图中,得到敏感子图。
5.如权利要求1或2或3所述一种基于图编辑距离的恶意软件检测方法,其特征在于,采用KNN聚类算法根据所述图编辑距离对软件进行检测,具体包括:
①计算待测样本与训练好的样本库中的样本的所述图编辑距离,并将其递增排序;
②检查与待测样本图编辑距离最近的K个样本的分类;
③将这K个样本中数量最多的分类作为样本的预测分类。
6.如权利要求5所述一种基于图编辑距离的恶意软件检测方法,其特征在于,所述构建初始解采用以下方法:
6.1根据所述代价矩阵选出左上角不包含∞的可行解;
6.2根据所述可行解构造基于该可行解的代价矩阵;
6.3根据所述可行解的代价矩阵进行图匹配,得到初始解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911165631.8/1.html,转载请声明来源钻瓜专利网。





