[发明专利]一种恶意软件家族归属判定方法、系统及存储介质在审
申请号: | 201910787920.5 | 申请日: | 2019-08-26 |
公开(公告)号: | CN110516446A | 公开(公告)日: | 2019-11-29 |
发明(设计)人: | 李维勇;张伟;李建林;李方方;陈云芳 | 申请(专利权)人: | 南京信息职业技术学院 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06K9/62 |
代理公司: | 32224 南京纵横知识产权代理有限公司 | 代理人: | 范青青<国际申请>=<国际公布>=<进入 |
地址: | 210023 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 恶意软件 函数调用图 判定 家族特征 节点信息 安装包 归属 存储介质 计算函数 特征结构 敏感API 准确率 构建 减小 同构 调用 分析 | ||
本发明公开了一种恶意软件家族归属判定方法、系统及存储介质,所述方法包括步骤:获取包含恶意软件的安卓安装包;从所述安卓安装包中获取API函数节点信息;针对恶意软件家族使用的每个敏感API,结合API函数节点信息分别构建函数调用图;根据函数调用图计算函数调用图间存在的最大同构子图;对最大同构子图进行同构分析,得到恶意软件家族特征;利用恶意软件家族特征对恶意软件进行家族归属判定。本发明不仅能够有效减小了恶意软件家族函数调用图特征结构的规模,而且在判定恶意软件归属上具有较高的准确率。
技术领域
本发明涉及一种恶意软件家族归属判定方法、系统及存储介质,属于计算机信息处理技术领域。
背景技术
随着Android设备市场占有率的增长,针对Android系统的恶意软件数量也呈逐年上涨趋势,Android系统成为了移动恶意软件泛滥滋生的平台,对人们的隐私及财产安全造成了巨大威胁。
面对数量庞大的恶意软件,对每一例样本进行人工分析是不切实际的。幸运的是,由于在Android恶意软件开发中广泛运用了代码复用技术,许多恶意软件是已知恶意软件家族样本的变种,因此可运用自动化分析技术,通过分析一款待检测恶意软件与已知恶意软件家族样本间的相似度可以判定该恶意软件是否为某一已知恶意软件家族样本的变种。
目前静态检测技术已广泛应用于Android恶意软件检测,但仍然存在着误判率较高、计算复杂度偏大等问题,如何有效提高静态检测技术的准确率是有待解决的问题之一。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种恶意软件家族归属判定方法、系统及存储介质,能够准确地对恶意软件进行家族归属分析。
为达到上述目的,本发明是采用下述技术方案实现的:
一种恶意软件家族归属判定方法,所述方法包括如下步骤:
获取包含恶意软件的安卓安装包;
从所述安卓安装包中获取API函数节点信息;
针对恶意软件家族使用的每个敏感API,结合API函数节点信息分别构建函数调用图;
根据函数调用图计算函数调用图间存在的最大同构子图;
将某一恶意软件家族样本基于同一敏感API得到的函数调用图作为训练集,对最大同构子图进行同构分析,得到恶意软件家族特征;
利用恶意软件家族特征对恶意软件进行家族归属判定。
结合第一方面,进一步的,从所述安卓安装包中获取API函数节点信息的方法包括如下步骤:
对安卓安装包进行反编译,得到包含dalvik字节码的smali文件;
对smali文件中的“incoke-xxxx”语句进行分析,得到安卓安装包中所包含的API函数节点;
将父类中的API函数节点替换子类中继承的API函数节点,将API函数节点间的间接调用关系转换为直接调用关系,获取API调用序列。
结合第一方面,进一步的,获取API函数节点信息的方法还包括对涉及第三方的软件开发工具包的API函数节点进行过滤。
结合第一方面,进一步的,所述函数调用图采用下述三元组表示:
Gi=(Si,Vi,Ei)
其中:Gi表示基于第i个敏感API构建的函数调用图;Si表示第i个敏感API;Vi表示第i个敏感API调用序列上所有函数节点的集合;Ei表示第i个敏感API函数节点间的调用关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京信息职业技术学院,未经南京信息职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910787920.5/2.html,转载请声明来源钻瓜专利网。