[发明专利]基于动态行为依赖图的Android恶意软件分类方法有效
申请号: | 201610119003.6 | 申请日: | 2016-03-02 |
公开(公告)号: | CN105653956B | 公开(公告)日: | 2019-01-25 |
发明(设计)人: | 王蕊;林子敏;代朋纹;张道娟;武传坤;操晓春 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/53 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 邱晓锋 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于动态行为依赖图的Android恶意软件分类方法。其步骤包括:通过自定义的Dalvik虚拟机运行APP,提取框架层接口调用行为和行为间的依赖关系等动态行为信息;根据动态行为信息构建相应的动态行为依赖图;优化动态行为依赖图,并将行为依赖图划分成子图;从由不同族的Android恶意软件组成的集合中提取相似的子图结构,将其作为基本特征;根据基本特征,对由已知的恶意软件和正常软件组成的训练集进行模型训练,得到分类器;通过分类器,对未知的APP进行归类判断;对该方法进行验证和评估。本发明通过图的编辑距离来衡量行为子图的相似性,以此来寻找基本特征,具有良好的灵活性和可扩展性。 | ||
搜索关键词: | 基于 动态 行为 依赖 android 恶意 软件 分类 方法 | ||
【主权项】:
1.一种基于动态行为依赖图的Android恶意软件分类方法,其步骤包括:1)在沙盒中执行Android应用并提取其动态行为信息,包括框架层接口调用行为和行为间的依赖关系;该步骤1)在自定义的Dalvik虚拟机中运行Android应用,得到其相应的动态行为信息,包括以下子步骤:1‑1)在Dalvik虚拟机运行过程中,Java指令解释过程被掌管,当函数调用指令被解释执行时,判断是否为一个框架层接口调用行为,如果是,则函数内的指令行为进一步被分析,用于记录行为之间的依赖关系;1‑2)搜集所有的系统框架层DEX函数库的文件指纹,以便区分普通函数调用和框架层接口调用行为;1‑3)在框架层接口函数执行过程中,执行沙盒进一步记录其中指令操作的数据依赖关系;2)根据提取的动态行为信息,将Android应用模型化为行为依赖图;3)将构建的行为依赖图进行优化,然后将行为依赖图划分为更小尺寸的行为子图,每个Android应用被表示为一个行为子图集合;4)从已知的Android恶意软件族中分别挑选多个样本进行第1)‑3)步操作,并从得到的所有行为子图中通过图匹配技术挑选部分行为子图作为特征;5)对已知的Android恶意应用族样本和正常Android应用样本分别进行第1)‑3)步操作,得到一系列的行为子图集,然后通过比较第4)步选择的基本特征,将每一个Android应用表示为一个特征向量,进行模型训练;6)将未知的Android应用利用步骤5)训练所得的分类器,实现对未知Android应用的分类。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610119003.6/,转载请声明来源钻瓜专利网。