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