[发明专利]基于API特征的Android恶意软件检测方法有效
申请号: | 201710871516.7 | 申请日: | 2017-09-25 |
公开(公告)号: | CN107729754B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 孙玉霞;赵晶晶;刘明;翁健 | 申请(专利权)人: | 暨南大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 郑浦娟 |
地址: | 510632 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于API特征的Android恶意软件检测方法,步骤:构建第一训练样本集和第二训练样本集,提取各训练样本API特征向量;由根据d值挑选出各种API特征构成第一API集合;构建API特征的层次结构模型,生成第二层和第三层对应的第一成对比较矩阵和各API包的第二成对比较矩阵,针对各成对比较矩阵计算权向量;计算第一API集合中各种API特征的权值:根据测试样本API特征向量和第一API集合中各种API特征的权值计算测试样本所调用API特征的权重η;最后将η与判断因子k作比较,根据比较结果判断出测试样本是否为Android恶意软件,大大提高了Android恶意软件的检测准确率。 | ||
搜索关键词: | 基于 api 特征 android 恶意 软件 检测 方法 | ||
【主权项】:
一种基于API特征的Android恶意软件检测方法,其特征在于,步骤如下:步骤S1、获取一定数量的Android恶意软件训练样本构造第一训练样本集,获取一定数量的Android非恶意软件训练样本构造第二训练样本集;步骤S2、针对于第一训练样本集和第二训练样本集中的各训练样本,分析出各APK文件中所调用的API特征,从而生成各训练样本的API特征向量;其中各训练样本的API特征向量由多个元素组成,其中一个元素对应记录一种API特征被训练样本调用的次数;步骤S3、根据第一训练样本集和第二训练样本集中各训练样本的API特征向量,计算各种API特征在第一训练样本集的d值以及计算各种API特征在第二训练样本集的d值;然后针对每一API特征,比较该API特征在第一训练样本集的d值以及在第二训练样本集的d值;最后从中选取出在第一训练样本集的d值大于在第二训练样本集的d值的API特征,由上述选取出来的各种API特征构成第一API集合;其中各种API特征在第一训练样本集的d值为:第一训练样本集中所有训练样本调用该API特征的总次数除以第一训练样本集所有训练样本的总数;其中各种API特征在第二训练样本集的d值为:第二训练样本集中所有训练样本调用该API特征的总次数除以第二训练样本集所有训练样本的总数;步骤S4、构建步骤S3选取出来的API特征的层次结构模型,具体为:将步骤S3选取出来的各种API特征所加入的第一API集合作为第一层目标层,将步骤S3选取出来的API特征所属的API包作为第二层,将步骤S3选取出来的各种API特征作为第三层;其中同一API包包括一种或多种API特征,即一种或多种API特征同属于一个API包;步骤S5、针对于第二层中的API包,建立API包的成对比较矩阵,其中API包的成对比较矩阵中各元素表达的是各API包之间的相对权值;将API包的成对比较矩阵定义为第一成对比较矩阵;同时,针对于第三层中的各种API特征,建立同属于一个API包的API特征的成对比较矩阵,其中将每个API包对应的API特征的成对比较矩阵定义为该API包的第二成对比较矩阵;其中每个API包的第二成对比较矩阵中各元素记录的是同属于该API包的各API特征之间的相对权值;步骤S6、计算第一成对比较矩阵以及各API包的第二成对比较矩阵的权向量并作一致性检验;其中对于第二层来说,第一成对比较矩阵的权向量的每一项即为每个API包的权值,对于第三层来说,各API包的第二成对比较矩阵的权向量的每一项即为每种API特征相对于其所属的API包即该API包的权重系数;步骤S7、计算第一API集合中各种API特征的权值:针对于仅包括1种API特征的API包,则该API包的这种API特征的权值即为该API包的权值;针对于包括多种API特征的API包,则该API包中各种API特征的权值为该API包的权值乘以该种API特征相对于该API包的权重系数;步骤S8、将需要检测其是否为恶意软件的Android软件作为测试样本,针对于测试样本,分析出其APK文件中所调用的API特征,得到测试样本的API特征向量,其中测试样本的API特征向量由多个元素组成,其中一个元素对应表达第一API集合中其中一种API特征被测试样本调用的次数;然后根据测试样本的API特征向量以及步骤S7中获取到的第一API集合中各种API特征的权值,通过以下公式计算得到测试样本所调用API特征的权重η:η=T*YΣe=1EPVe;]]>Y=[PV1,PV2,…,PVE];其中T为测试样本的API特征向量,Y为第一API集合中各种API特征的权值构成的向量;PV1至PVE分别对应为第一API集合中第1种API特征至第E种API特征的权值,PVe为第一API集合中第e种API特征的权值;步骤S9、将步骤S8得到的测试样本所调用API特征的权重η与判断因子k进行比较,若测试样本所调用的API特征的权重η大于判断因子k,则将测试样本判断为Android恶意软件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710871516.7/,转载请声明来源钻瓜专利网。