[发明专利]基于混合分析面向动态代码加载安卓恶意软件检测方法有效
申请号: | 201910152783.8 | 申请日: | 2019-02-28 |
公开(公告)号: | CN109871681B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 杨斌;许光全;郭峰;邱铁;黄雨;陈晓江 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F21/51 | 分类号: | G06F21/51;G06F21/56 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 刘国威 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 混合 分析 面向 动态 代码 加载 恶意 软件 检测 方法 | ||
1.一种基于混合分析面向动态代码加载安卓恶意软件检测方法,其特征是,步骤如下:
1)拦截动态加载的代码
采用应用程序编程接口钩子API Hook(Application Programming Interface Hook)技术,修改代码加载API方法的入口,并将入口指向自定义的Hook模块入口,当应用程序在使用加载器动态加载代码时,Hook模块拦截并提取到动态加载的代码,首先提取出应用要加载的代码地址,并按该地址找到代码的二进制文件,然后对该文件进行验证;
对文件验证时,首先客户端计算二进制文件的哈希值,并在客户端中的黑名单与白名单中查找该哈希值,如果在黑名单中找到,则中断该应用程序对这个二进制文件的加载行为,同时向用户报告发现恶意行为;如果在白名单中找到命中,则继续原来的加载过程;否则,该二进制文件会被认为是未知文件,客户端中断对它的加载行为并与审计服务器通信请求验证其安全性;
2)补充过程间控制流图
在获取到客户端拦截的代码后,利用该部分代码生成过程间控制流图,这部分过程间控制流图是完整应用程序过程间控制流图的子图,在处理过程中将生成的过程间控制流图与相应的应用程序生成的控制流图结合起来,形成一个较为完整的过程间控制流图;
在接收到客户端传来的未知代码S后,通过同时接收的应用程序信息找到它对应的应用程序M,并通过静态处理分别生成两个过程间控制流图,然后将两个过程间控制流图进行合并;
3)补充控制流图中由反射形成的边
在静态处理的过程中将所有的反射调用都记录下来,同时将应用程序及拦截到的代码装入虚拟环境中模拟运行,然后在运行过程中检测并记录运行到的反射调用的调用目标,最后将记录到的反射调用行为添加到已经生成的过程间控制流图中;
动态地执行应用程序,并记录其中反射调用的目标,将其加入到过程间控制流图中,最终获得将要使用的过程间控制流图;
4)污点分析
在获得过程间控制流图以后,使用污点分析工具对过程间控制流图进行完整的污点分析,以查找未知代码中对用户隐私信息的侵犯行为。
2.如权利要求1所述的基于混合分析面向动态代码加载安卓恶意软件检测方法,其特征是,每当用户上传未知代码到服务器时,未知代码的二进制文件便会被存储入版本库中,在对该二进制文件的审计结束后,其相应的安全性数据也会一并存入版本库;安全性数据包括用程序各个版本的安装文件及其对应的包名,版本号,哈希值元数据,每个版本下使用动态代码机制加载过的二进制文件及其哈希值,版本库中的应用程序安装文件用来在审计过程中生成过程间控制流图,同时,版本库中的数据用来为客户端生成个性化的黑白名单。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910152783.8/1.html,转载请声明来源钻瓜专利网。