[发明专利]一种基于社团结构分析的Android恶意代码检测方法有效
申请号: | 201611018781.2 | 申请日: | 2016-11-18 |
公开(公告)号: | CN106503558B | 公开(公告)日: | 2019-02-19 |
发明(设计)人: | 王俊峰;杜垚;高展;徐宝新 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 成都信博专利代理有限责任公司 51200 | 代理人: | 张辉;崔建中 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种基于社团结构分析的Android恶意代码检测方法,在对目标程序的逆向分析过程中,首先,自动获取权限、函数、类、系统API等重要静态特征信息;然后,利用函数及函数间的调用关系构建函数调用图,并对函数调用图进行预处理;对赋权后的函数调用图进行循环分裂与分析,得到社团结构的正确划分;最后,对从社团结构中提取出的特征进行机器学习,得到最终的恶意性判定结果。本发明方法在面对由“重打包”技术产生的大量Android应用程序样本时,能够快速地进行程序内部结构分析和恶意代码检测。 | ||
搜索关键词: | 一种 基于 社团 结构 分析 android 恶意代码 检测 方法 | ||
【主权项】:
1.一种基于社团结构分析的Android恶意代码检测方法,其特征在于,包括以下步骤:步骤1:对待检测的移动应用程序进行反编译,得到反编译代码,从中提取出移动应用程序的静态信息,所述静态信息包括该应用使用到的权限、与权限相关联的函数、系统函数、JAVA包、类以及所有函数及其调用关系;步骤2:通过分析移动应用程序的静态信息,得到静态特征出现在良性样本或恶意样本的频率,并根据它们在不同样本中出现的频率差分别为其分配恶意值;步骤3:根据步骤1中提取的所有函数及其调用关系构建函数调用图;步骤4:对函数调用图进行预处理,包括删除孤立节点、为函数调用图的节点分配权值;步骤5:定义边介数为关键节点到其余节点间的最短路径,关键节点定义为:
其中,n代表整个图中的节点数,Di是节点i的度,K是与节点i直接相连的节点数,W(qm)是节点集k中节点m的权重;定义图为G=(V,E),其中V是节点集,E是边集,则边介数的计算公式为:
其中,
是节点i与节点j之间包含边e的最短路径,ge是边e的权重;步骤6:定义模块度参数Q为:Q=∑j(ejj‑aj2)其中社团j的矩阵元素被定义为ejj,它表示社团j中边的数量;aj2表示连接社团j中任意点的边的数量;当Q的值达到巅峰并开始下降时,终止计算;步骤7:记录每次删除边介数最高的边后所形成的社团划分版本,通过对这些划分版本中各个社团的恶意值、属性、节点规模情况进行评价,选择最优的一个划分版本;步骤8:从确定的社团划分版本中,提取出三方面信息作为分类特征,即具有恶意特征的社团数、各社团中的最高恶意值、各社团恶意值总和;步骤9:通过对分类特征进行机器分类学习,得到恶意性判定结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611018781.2/,转载请声明来源钻瓜专利网。