[发明专利]基于模拟执行的Native动态链接库分析方法及系统在审

专利信息
申请号: 202310354866.1 申请日: 2023-04-04
公开(公告)号: CN116594861A 公开(公告)日: 2023-08-15
发明(设计)人: 傅建明;徐贯虹 申请(专利权)人: 武汉大学
主分类号: G06F11/36 分类号: G06F11/36;G06F9/445
代理公司: 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人: 肖明洲
地址: 430072 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 模拟 执行 native 动态 链接 分析 方法 系统
【说明书】:

发明公开了一种基于模拟执行的Native动态链接库分析方法及系统,首先以现有的符号执行工具及其扩展功能为基础,通过对JNI进行建模并hook其底层调用、完善Native层模拟调用处理,从而减少执行过程中的多余分支,有效避免传统符号执行的路径爆炸问题,提高了模拟执行的效率。其次,根据Android应用加载Native动态链接库的机制,模拟Native库加载过程,以满足JNI调用时的依赖,解决二进制文件内的程序混淆与数据加密问题,更加准确地分析Java与Native注册函数映射关系,解决现有的Android应用中跨层数据流分析断点问题。最后记录Native库中的关键JNI行为以及与Java层的交互,生成Native动态链接库的分析结果报告,为进一步的隐私数据泄露检测、漏洞挖掘等研究提供支持。

技术领域

本发明属于软件安全程序分析技术领域,涉及一种Native动态链接库分析方法及系统,具体涉及一种基于模拟执行的通过获取Java与Native注册函数映射进而获得Native动态链接库分析方法及系统。

背景技术

随着Android操作系统的广泛应用,越来越多的应用程序使用Native库来实现更高效的代码执行和底层硬件访问。开发人员常常使用Native库来实现一些性能要求较高的功能,如图形处理、音频处理、加密等。Native库是使用C/C++语言编写的动态链接库,可以被Java层代码使用。由于Native库中的函数由C/C++编写,而Java层代码则由Java编写,因此二者的交互存在一定的限制。在Android中,Java层代码通过JNI(Java NativeInterface)技术调用Native库中的函数,实现与底层系统的交互。在Java代码中,可以通过native关键字声明一个方法,并在Native代码中实现这个方法。在Native代码中,需要使用JNI函数RegisterNatives注册这个方法,并将其与Java代码中的方法名和参数类型一一对应。

在对Android应用进行程序分析时,由于Java层与Native层语言的不同以及运行机制的不同,难以对Android应用程序进行统一的分析。现有的Android应用程序分析工具大多忽略了对Native层的分析。工具FlowDroid在数据流分析时选择不考虑连通Native层分析;Wei Fengguo等人设计了静态分析框架JN-SAF,但由于其Native层的数据流分析基于符号执行,存在路径爆炸、容易崩溃等问题,无法用于实际应用中进行大量自动化处理。由此可见,Android应用的跨层数据流分析断点,是对其进行程序分析的一个障碍。

综上,由于Java代码和Native代码是通过JNI(Java Native Interface)进行交互的,因此在进行Android应用安全分析时,需要获取Java与Native注册函数之间的映射关系,以便准确地了解Java层代码和Native层代码之间的函数调用关系,更好地理解应用程序的行为和特征。传统的获取Java与Native注册函数映射的方法通常采用静态分析技术,对应用程序进行反编译或动态调试,但这些方法往往需要大量的人工干预,并且容易受到代码混淆等因素的影响,导致分析结果不准确或不完整;而静态符号执行技术容易产生路径爆炸,并且由于符号执行与真实运行的差异性,分析容易遇到各种未知问题与错误,难以适用于大规模数量实际应用的自动化分析。

发明内容

针对上述背景技术中存在的问题,本发明提出一种基于模拟执行的通过获取Java与Native注册函数映射进而获得Native动态链接库分析方法及系统,该方法利用强符号执行框架为基础,建模JNI结构及其API,模拟Native动态链接库的加载过程,能够对抗控制流混淆、数据混淆、反调试等程序保护手段,对Android应用进行分析,准确、高效地获取Java与Native注册函数之间的映射关系,模拟执行结束后,生成Native动态链接库的分析结果报告。

本发明的方法所采用的技术方案是:一种基于模拟执行的Native动态链接库分析方法,包括以下步骤:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202310354866.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top