一种基于对象引用图的Android手机恶意软件检测方法_3

文档序号:8543961阅读:来源:国知局
,利用分析工具AHAT提取引用关系图0RG。
4. 根据权利要求1所述一种基于对象引用图的Android手机恶意软件检测方法,其特 征在于:步骤二中改进的VF2算法具体为: 1)假设已知图G1 (N1, E1)和G2 (N2, E2),寻找这两图GjP G 2之间的同构映射M ;M表示的 是图匕中的节点η和图G 2中的节点m之间的对应关系;其中,寻找映射M的过程是通过状 态空间表示SSR来描述^表示引用关系图0RG,G 2表示ORGB为引用关系胎记图,N1表示 G1中的顶点集,E1表示G1中的边集,N2表示G 2中的顶点集,E2表示表示62中的边集;G# G1 (N1, E1),62为 G 2 (N2, E2); 2) 匹配过程中的每一个状态s都是一个局部映射,用M(s)来表示,M(s)是M的一个子 集;G1 (s)表不映射M(s)与G1相关的子图,G 2 (s)表不映射M(s)与G2相关的子图;N i (s)表 示G1 (s)中的顶点集,N2 (s)表示G2 (s)中的顶点集,E1 (s)表示G1 (s)中的边集,E2 (s)分别 表示G2(S)中的边集; M(sp)是sp状态下的同构映射M(Sp)是sp状态下G1中已匹配的节点集合;N2 (sp)是 sp状态下G2中已匹配的节点集合;E i (sp)是sp状态下G1中已匹配的边集合;E 2 (sp) sp状 态下G2中已匹配的边集合; 3) 将名称相同的类名进行优先匹配改进为如果两个图中存在类名相同的节点对,并且 这些类名属于系统类,则将这些节点对直接匹配得到名称相同的匹配节点加入到同构映射 M作为同构映射M的初始状态; 4) 名称不同的类名进行匹配,VF2算法在匹配过程中会产生多个状态,从一个状态s转 换为另一个状态s',即实际上在父亲节点s的基础上加入一对新的匹配节点得到孩子节点 s',通过在同构映射M中加入不同的节点对,状态s会转换为多个状态即多个孩子节点; 5) 给出变量定义: (1) ITut(S):表示的是匕中一个顶点集合,是G1(S)中顶点的后继结点; (2) T2-(s):表示的是62中一个顶点集合,是G2(S)中顶点的后继结点; (3) Τ/η(8):表示的是-个顶点集合,是G1(S)中顶点的前驱结点; (4) T2in(s):表示的是62中一个顶点集合,是G2(S)中顶点的前驱结点; 6) 根据变量定义对H(S)进行选取的步骤如下所示: (1) 如果 Vut(S)和 T2°ut(s)不是空集,那么 H(S) = Vut(S) X T2°ut(s); (2) 如果Vut(S)和T2°ut(s)都是空集,但是T/n( S)和T/n(S)不是空集,那么H(S)= Vn(S)XVn(S); (3) 如果 Vut(S),T2〇ut(s),IVn(S)和 T2in(s)都是空集,那么 H(S) = (N1-Trt(S)-IVn (S)) X (N2-T2°ut (s)-T2in (S)) ;H (s)是 s 状态的候选集合; ⑷其他情况,对状态s进行搜索剪枝;是指如果IVut(S)和T2°ut(s)之一为空集,或者 T/n(S)和T2in(s)之一为空集,将状态s的搜索剪枝; 7) 对于SSR中的每一个节点,首先计算出该节点对应的中间状态s的候选节点对,并将 候选节点对H(S)排序,将与模式图中节点的度更相近的节点优先;然后递归的对H(S)中每 个节点对进行搜索;其中,H(S)为状态s的候选节点对集; 采用语法可行性规则,用Fsyn(s,n,m)来表示;VF2算法中定义了 5个语法可行性规则; 规则 I :Rpred (s, n, m)
规则 3 :Rin(s, n, m) (Card(Succ(Gun) Π T1111 (s)) ^=Card(Succ (G2, m) Π T2m(s))) Λ
其中,Fsyn(s, n, m) = Rpred Λ Rsucc Λ Rin Λ Rout Λ Rnew,用 Pred(G, η)代表图 G 中η的前驱节点的集合,用Succ (G,n)表示图G中η的后继节点的集合;同时使用T1 (s)= T/n(S) V ITut (s),并使用 N/ (s) = N1 - M1 (s) - T1 (s) ;T2 (s)和 N2'(s)的定义类似为 T2 (s) = T2in (s) VIVut(S)和 N2'(s) =N2-M2(S) -T2(S) ;Card (A)表示集合 A 的基数,即集合中 元素的个数;η'是匕里不同于η的另一个节点,m'是G 2里不同于m的一个节点;M1 (s)指 61在s状态下的同构映射,M2 (s)指62在s状态下的同构映射,N1 (s)是在s状态下G1中已 匹配的节点集合,也就是在s状态下,用G2的节点集合N 2减去已匹配的节点结合M 2 (s)再 减去与已匹配节点有关联的节点结合T2(S)所剩下的节点; 当新加入的节点对符合这5条可行性规则后,则继续对新加入节点对后的状态进行搜 索,在s的基础上加入一对新的匹配节点;通过加入不同的节点对,状态s会转换为多个状 态;不断产生的新的状态空间可以使用树的结构来描述即SSR来描述; 8)利用树的结构即SSR来描述,找到最终的同构映射M ;搜索所有的SSR来找到最终 的同构映射M的终止条件为针对不同规模的ORGB设置自适应的调节参数λ达到80%~ 100%的节点对匹配。
5. 根据权利要求1所述一种基于对象引用图的Android手机恶意软件检测方法,其特 征在于:步骤二中利用改进的VF2算法将同一类恶意程序的所有引用关系图ORG进行子图 同构,得到该类恶意程序中所有的ORG的最大公共部分即恶意程序的ORGB具体过程为: (1) 去掉ORG图中的用户类孤立点的包名前缀后进行名称匹配,得到ORG图中的用户类 孤立点公共图;其中,ORG图中的用户类孤立点是指存在于ORG图中的,与系统类以及其他 用户类不存在引用关系的用户类; (2) 利用改进的VF2算法对去掉用户类孤立点的ORG图进行子图同构得到最大公共子 图; (3) 将用户类孤立点公共图和最大公共子图组合作为该类别恶意程序的0RGB。
6. 根据权利要求1所述一种基于对象引用图的Android手机恶意软件检测方法,其特 征在于:步骤二中ORGB具体为: 定义ORGB令p和q为两个程序或者程序的组件,令I为p或q的输入;ORGp是以I为 输入,P运行时的对象引用图和ORGq是以I为输入,q运行时的对象引用图;令ORGBp为 ORGp的子图;当且仅当以下条件时,ORGBp是p的动态胎记得到满足: (1) 如果q是P的一部分,那么必有ORGBp子图同构于ORGq ; (2) 如果q不是p的部分,那么必有ORGBp子图不同构于ORGq。
7. 根据权利要求1所述一种基于对象引用图的Android手机恶意软件检测方法,其特 征在于:步骤三中根据步骤一的方法提取未知程序的0RG,根据未知程序请求的应用权限 和系统类,利用类别判断方法未知程序类别进行筛选,筛选出未知程序的可能类别具体过 程为: 选择程序请求的应用权限和程序运行过程中调用的系统类作为类别判断的依据; Android系统要求Android应用需要在调用系统功能前申请权限; (1) 根据申请权限最终得到恶意程序类权限特征文件;其中,权限特征文件中包含该 类恶意程序所包含的所有恶意程序的权限集合;此外,每一个权限均包含量化权限贡献度 与区分度的数值;其中,区分度是指权限在所有恶意程序类权限特征文件中出现的频数的 倒数; (2) 对于未知种类的未知程序进行分类时,首先得到未知程序的权限集合;再将未知 程序的权限集合依次与步骤(1)得到的恶意程序类权限特征文件做匹配求和即将恶意程 序类权限特征文件中出现在未知程序权限集合中的权限的贡献度*区分度的乘积相加,得 到与各个恶意程序类权限特征文件匹配的结果,将匹配的结果排序筛选出未知程序的可能 类别。
【专利摘要】一种基于对象引用图的Android手机恶意软件检测方法,本发明涉及Android手机恶意软件检测方法。本发明是要解决内核级别监控方法涉及内核改动,系统检测花销大;仅提供有限系统服务的沙箱技术易被攻击;控制流方法易受代码混淆攻击,基于API调用建立动态胎记的方法需要较多API调用具有较大局限性以及ORGB提取方法和VF2算法检测效率的问题而提出的一种基于对象引用图的Android手机恶意软件检测方法。该方法是通过1提取对象引用关系图ORG;2得到恶意程序的ORGB;3筛选出未知程序的可能类别;4确定未知程序为某类匹配的恶意程序等步骤实现的。本发明应用于Android手机恶意软件检测领域。
【IPC分类】G06F21-56
【公开号】CN104866764
【申请号】CN201510295837
【发明人】张伟哲, 何慧, 余翔湛, 李肖强, 张启振, 陆亮, 郭斌, 程文杰
【申请人】哈尔滨工业大学
【公开日】2015年8月26日
【申请日】2015年6月2日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1