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

文档序号:8543961阅读:来源:国知局
方式】S提出的运行在An化oid上的AHAT流程图;
[0031] 图11为【具体实施方式】一提出的利用类别判断方法对未知程序类别筛选出未知程 序的可能类别流程图;
[0032] 图12为【具体实施方式】一提出待检测0RG与病毒库中0RGB匹配流程图;
[0033] 图13为【具体实施方式】S提出的AHAT结构示意图;
[0034] 图14(a)为【具体实施方式】四提出的G1的0RG实例图;
[00巧]图14(b)为【具体实施方式】四提出的G2的0RGB实例图;
[0036] 图14(c)为【具体实施方式】四提出的Gi在SP状态下实例图;
[0037] 图14(d)为【具体实施方式】四提出的G2在SP状态下实例图;
[0038] 图15(a)为【具体实施方式】四提出的SSR状态转换图;
[0039] 图15(b)为【具体实施方式】四提出的Gi由SP状态转换到sq状态实例图;
[0040] 图15(C)为【具体实施方式】四提出的G2由sp状态转换到sq状态实例图。
【具体实施方式】
【具体实施方式】 [0041] 一:本实施方式的一种基于对象引用图的Amlroid手机恶意软件检 测方法,具体是按照W下步骤制备的:
[0042] 步骤一、将Amlroid平台下已分类的恶意程序分别运行,从恶意程序堆内存中提 取对象之间对应的引用关系图0RG;其中,0RG(X)bjectReferenceGraph)为对象引用图是 一个二元组0RG= (N,E),N是图中节点的集合,N中的每一个元素表示的是产生对象的类; EGNXN,是对象之间引用关系的集合对象为0RG图中的节点,边代表对象之间存在引用 关系;0RG是对象引用图的简称;0RG是一个有向图,图中的节点代表对象,边代表对象之间 存在引用关系;从同一个类产生的若干对象由一个节点代表,节点之间的多次引用仅由一 条边来表示,一个对象发起的引用由代表该个对象的节点的出边来表示,同时忽略对象的 自引用;0RG包括用户类、系统类W及用户类和系统类的引用关系;
[0043] 步骤二、利用改进的V巧算法将同一类恶意程序的所有引用关系图0RG进行 子图同构,得到该类恶意程序中所有的0RG的最大公共部分即恶意程序的0RGB的bject ReferenceGraphBbthmark);其中,0RGB为引用关系胎记图;
[0044] 步骤S、根据步骤一的方法提取未知程序的0RG,根据未知程序请求的应用权限和 系统类,利用类别判断方法对未知程序类别进行筛选,筛选出未知程序的可能类别(通过 类别判断找到待检测程序可能属于的类别)如图11 ;
[0045] 步骤四、选择未知程序的可能类别所对应的0RGB,利用改进的V巧算法依次将所 对应的0RGB与未知程序的0RG进行子图同构检测,若某个0RGB与待检测0RG是子图同 构关系,则表明未知程序为某类匹配的恶意程序如图12 ;即完成了一种基于对象引用图的 An化0id手机恶意软件检测技术如图9 ;
[0046] 本实施方式效果:
[0047] 本实施方式提出基于对象引用图的恶意软件检测方法。通过提取程序运行过程中 内存中对象的引用关系,将其作为程序的胎记。通过比对程序的胎记与恶意程序库中恶意 程序胎记,判断程序是否为恶意程序。该种方法相对基于API调用通用性更好。
[0048] An化oid系统是当前最流行的移动设备操作系统之一。An化oid系统的开放性一 方面为其快速的发展提供了强大的助力,另一方面也间接的有利于恶意软件的开发。根据 谷歌最新发布的2014年An化oid安全报告,2014年被恶意软件感染的An化oid智能设备近 1%。针对Amlroid手机恶意软件的检测方法有静态检测与动态检测两种。静态检测方法 准确率高,检测速度快,但无法应对代码混淆及加壳等攻击手段。动态检测方法能够应对代 码混淆及加壳等攻击手段,但现有的动态检测方法仍存在一些问题。所W我们提出了基于 对象引用图的动态检测方法。
[0049] 图3是使用上述方法对26类726个程序进行分类的结果。图3看出,上述方法的 在我们把范围扩展到前五位时准确率已经达到了 95%。图4展示的是不同类别各自的分类 准确率,可W看到多数类别的准确率都很高,在考虑前五位的情况下接近100%。
[0050] 本实施方式方法不设及系统底层的改动,系统开销小;本实施方式方法使用的是 对象引用图0RG能够避免代码混淆的攻击;本方法使用的是程序运行过程中在堆内存中存 放的对象信息,所W相比API调用具有更广泛的适用性。
[0051] 本实施方式找到了能够在所有版本的An化oid系统提取0RG的方法;具体方法在 权利要求说明书中的第S部分0RG提取方法中做出了介绍。通过我们的方法,能够在目前 所有版本的Amlroid系统中提取0RG。
[0052] 本实施方式提取了使用改进的V巧算法提取0RGB的方法,具体方法在权利要求说 明书中第五部分0RGB的提取有具体介绍。对于根据上述方法得到的0RGB的正确性,一方 面通过实验比对验证确认,另一方面,系统最终的检测结果也能够对其进行证明。
[0053] 本实施方式首先提取基于应用权限与系统类的类别判断方法快速的锁定待检测 程序可能的类别,排除无关类别的干扰,减少需要匹配的次数,该方法的具体介绍在权利要 求说明书的第走部分,说明书附图中的图3是使用上述方法对26类726个程序进行分类的 结果。从表中可W看出,上述方法的在我们把范围扩展到前五位时准确率已经达到了 95%。 说明书附图中的图4展示的是不同类别各自的分类准确率,可W看到多数类别的准确率 都很高,在考虑前五位的情况下接近100%。而有少数几类的准确率较低,例如,Asroot, BaseBridge,通过分析发现其程序所需权限较少,有的程序仅包含一个权限,并且不同程序 间的权限缺乏共性;然后,我们提出适用于恶意程序检测系统的改进的V巧算法,该算法能 够极大的减少算法的运行时间,使系统能够实际的应用目前系统在检测时的平均检测时间 为10s,最大检测时间<30s,最小检测时间<ls。
[0054] 本实施方式实验使用的恶意程序种类有20种,恶意程序的数量有1139个。并且 从多个第=方应用平台采集了 1000正常程序进行了检测。表1为实验所使用的恶意程序 种类介绍。
[00巧]表1实验使用的恶意程序种类及数量
[0056]
【主权项】
1. 一种基于对象引用图的Android手机恶意软件检测方法,其特征在于一种基于对象 引用图的Android手机恶意软件检测方法,具体是按照以下步骤进行的: 步骤一、将Android平台下已分类的恶意程序分别运行,从恶意程序堆内存中提取对 象之间对应的引用关系图ORG ;其中,ORG为对象引用图是一个二元组ORG = (N,E),N是图 中节点的集合;E e NXN,是对象之间引用关系的集合;对象为ORG图中的节点,ORG包括用 户类、系统类以及用户类和系统类的引用关系; 步骤二、利用改进的VF2算法将同一类恶意程序的所有引用关系图ORG进行子图同构, 得到该类恶意程序中所有的ORG的最大公共部分即恶意程序的ORGB ;其中,ORGB为引用关 系胎记图; 步骤三、根据步骤一的方法提取未知程序的0RG,根据未知程序请求的应用权限和系统 类,利用类别判断方法对未知程序类别进行筛选,筛选出未知程序的可能类别; 步骤四、选择未知程序的可能类别所对应的0RGB,利用改进的VF2算法依次将所对应 的ORGB与未知程序的ORG进行子图同构检测,若某个ORGB与待检测ORG是子图同构关系, 则表明未知程序为某类匹配的恶意程序;即完成了一种基于对象引用图的Android手机恶 意软件检测方法。
2. 根据权利要求1所述一种基于对象引用图的Android手机恶意软件检测方法,其 特征在于:步骤一中从恶意程序堆内存中提取对象之间对应的引用关系图ORG的时机具体 为: (1) 随宿主程序启动; (2) 随开机启动; (3) 在程序被关闭后自启动; (4) 特定触发条件下启动。
3. 根据权利要求1所述一种基于对象引用图的Android手机恶意软件检测方法,其特 征在于:步骤一中将Android平台下已分类的恶意程序分别运行,从恶意程序堆内存中提 取对象之间对应的引用关系图ORG具体过程: (1) 对于Android2. 3版本以下的系统使用kill-10processID得到进程的堆内存信息 文件;android2. 3版本以上的系统通过对堆数据监控的dumpheap工具获取堆内存信息文 件; (2) 利用以JHAT为基础的分析工具AHAT,对堆内存信息文件进行格式转换;其中,堆内 存文件的格式要求与JAVA的保持相同; 其中,AHAT整体结构有四个模块:Model、Parser、Util以及外界调用接口; (3) 对经过转换后的文件进行分析
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1