基于语义信息提取的Android应用跨语言静态分析方法及系统

专利2026-08-06  16


本发明涉及信息安全检测,尤其涉及一种基于语义信息提取的android应用跨语言静态分析方法及系统。


背景技术:

1、近十年来,随着android应用研究的繁荣,已经提出了许多应用静态分析技术。这些技术的主要目标是处理android应用中的dex字节码。然而,除了dex字节码之外,现代android应用中普遍存在的是本地代码(通常基于java native interface(jni)接口,使用c/c++编写)。

2、目前,大多数现有的分析框架通常忽略了对其的分析,把本地代码调用看作黑盒,因此,某些敏感行为可能会被忽略。例如,恶意软件可能会在本地方法中隐藏其敏感行为。


技术实现思路

1、本发明通过提供一种基于语义信息提取的android应用跨语言静态分析方法及系统,解决了现有技术中如何检测app跨语言jni代码中的静态数据流分析的技术问题,从而实现了网络信息安全检测。

2、本发明提供了一种基于语义信息提取的android应用跨语言静态分析方法,包括:

3、对带有二进制代码的待分析应用apk安装包进行解包,得到apk中代表java代码的dex字节码文件和代表二进制代码的动态链接库文件;

4、从所述动态链接库文件中提取出语义信息;

5、将所述语义信息转换为java字节码;

6、将所述java字节码重打包到所述dex字节码文件中,生成新的字节码文件;

7、将所述新的字节码文件重打包到apk安装包中,生成新的apk文件;

8、对所述新的apk文件进行静态分析。

9、具体来说,还包括:

10、根据所述java代码中是否有本地修饰符,找到注册到java代码的二进制代码;

11、所述从所述动态链接库文件中提取出语义信息,包括:

12、从所述注册到java代码的二进制代码为入口点,启动基于抽象解释技术的二进制代码静态数据流分析,记录下api接口操作和api调用时的数据流关系。

13、具体来说,所述对所述新的apk文件进行静态分析,包括:

14、通过静态分析工具对所述新的apk文件进行静态分析。

15、本发明还提供了一种基于语义信息提取的android应用跨语言静态分析系统,包括:

16、解包模块,用于对带有二进制代码的待分析应用apk安装包进行解包,得到apk中代表java代码的dex字节码文件和代表二进制代码的动态链接库文件;

17、语义信息提取模块,用于从所述动态链接库文件中提取出语义信息;

18、语义信息转换模块,用于将所述语义信息转换为java字节码;

19、第一重打包模块,用于将所述java字节码重打包到所述dex字节码文件中,生成新的字节码文件;

20、第二重打包模块,用于将所述新的字节码文件重打包到apk安装包中,生成新的apk文件;

21、跨语言静态分析模块,用于对所述新的apk文件进行静态分析。

22、具体来说,还包括:

23、二进制代码获取模块,用于根据所述java代码中是否有本地修饰符,找到注册到java代码的二进制代码;

24、所述语义信息提取模块,具体用于从所述注册到java代码的二进制代码为入口点,启动基于抽象解释技术的二进制代码静态数据流分析,记录下api接口操作和api调用时的数据流关系。

25、具体来说,所述跨语言静态分析模块,具体用于通过静态分析工具对所述新的apk文件进行静态分析。

26、本发明中提供的一个或多个技术方案,至少具有如下技术效果或优点:

27、先提取本地代码的语义摘要,然后将jni接口函数的使用模式转换为相应的java字节码操作,并将本地库函数调用提升为字节码调用。通过利用本地二进制数据流分析,可以揭示这些操作之间的跨语言数据流关系,为本地代码分析提供了一个有前景的方向。本发明能够有效地桥接android应用中的dex字节码和本地代码之间的分析鸿沟,从而实现了网络信息安全检测。与现有技术相比,本发明在准确性、可扩展性和效率方面均表现出色。更重要的是,本发明能够在安装包层面上直接支持现有的工具,不需要对它们做出修改。



技术特征:

1.一种基于语义信息提取的android应用跨语言静态分析方法,其特征在于,包括:

2.如权利要求1所述的基于语义信息提取的android应用跨语言静态分析方法,其特征在于,还包括:

3.如权利要求1或2所述的基于语义信息提取的android应用跨语言静态分析方法,其特征在于,所述对所述新的apk文件进行静态分析,包括:

4.一种基于语义信息提取的android应用跨语言静态分析系统,其特征在于,包括:

5.如权利要求4所述的基于语义信息提取的android应用跨语言静态分析系统,其特征在于,还包括:

6.如权利要求4或5所述的基于语义信息提取的android应用跨语言静态分析系统,其特征在于,所述跨语言静态分析模块,具体用于通过静态分析工具对所述新的apk文件进行静态分析。


技术总结
本发明公开了一种基于语义信息提取的Android应用跨语言静态分析方法及系统。先提取本地代码的语义摘要,然后将JNI接口函数的使用模式转换为相应的Java字节码操作,并将本地库函数调用提升为字节码调用。通过利用本地二进制数据流分析,可以揭示这些操作之间的跨语言数据流关系,为本地代码分析提供了一个有前景的方向。本发明能够有效地桥接Android应用中的Dex字节码和本地代码之间的分析鸿沟,从而实现了网络信息安全检测。

技术研发人员:王浩宇,董枫,王美珍,王纪开
受保护的技术使用者:华中科技大学
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1832519.html

最新回复(0)