本发明涉及计算机软件安全,尤其涉及一种应用程序加固方法、装置、电子设备及存储介质。
背景技术:
1、随着大数据时代和人工智能的发展,市场上应用程序(application,app)的数量持续增多,应用程序的安全问题日益引起重视,恶意软件威胁日益增多。目前各大应用商店对应用程序有着明确的要求,要求app在上线之前需要采用有效的安全防护以保障app安全,并且各地的网络安全部门也会不定期对各应用商店中的app进行安全扫描,对未进行安全防护的app下令限期整改,否则对其进行下架处理。
2、而未进行安全防护的app通常容易被非法数据干扰造成数据混乱的现象,从而影响app的正常使用,并会造成用户个人信息泄漏和财产损失。因此,用户个人信息泄漏和财产损失,已成为目前app使用过程中亟待解决的技术问题。
技术实现思路
1、本发明实施例的目的是提供一种应用程序加固方法、装置、电子设备及存储介质,以解决应用程序在使用过程中存在的用户个人信息泄漏和财产损失的技术问题。
2、第一方面,本发明实施例提供了一种应用程序加固方法,包括:
3、获取待处理应用程序中的应用接口信息;
4、根据所述应用接口信息对所述待处理应用程序中的目标调用方进行调试处理,得到调试结果,所述目标调用方为所述待处理应用程序在运行过程中,所述待处理应用程序中存在虚拟应用数据注入的函数地址对应的调用方,所述调试结果用于表征进行调试处理的目标调用方生成的虚拟应用数据的合法性;
5、基于所述调试结果,确定所述待处理应用程序中生成非法虚拟应用数据的目标对象;
6、在所述待处理应用程序中构建针对所述目标对象的隔离配置信息,所述隔离配置信息用于若检测到所述目标对象生成虚拟应用数据,对所述目标对象生成的虚拟应用数据进行单独隔离存储。
7、第二方面,本发明实施例提供了一种应用程序加固装置,包括:
8、检测模块,用于获取待处理应用程序中的应用接口信息;
9、调试模块,用于根据所述应用接口信息对所述待处理应用程序中的目标调用方进行调试处理,得到调试结果,所述目标调用方为所述待处理应用程序在运行过程中,所述待处理应用程序中存在虚拟应用数据注入的函数地址对应的调用方,所述调试结果用于表征进行调试处理的目标调用方生成的虚拟应用数据的合法性;
10、数据隔离模块,用于基于所述调试结果,确定所述待处理应用程序中生成非法虚拟应用数据的目标对象,并在所述待处理应用程序中构建针对所述目标对象的隔离配置信息,所述隔离配置信息用于若检测到所述目标对象生成虚拟应用数据,对所述目标对象生成的虚拟应用数据进行单独隔离存。
11、在一些实施例中,本发明实施例提供的检测模块,包括:第一获取单元和筛选单元;
12、所述第一获取单元,用于获取待处理应用程序中类文件对应的初始应用接口信息,所述初始应用接口信息包括所述待处理应用程序中的类文件中部分或全部的应用接口信息;
13、所述筛选单元,用于基于所述初始应用接口信息,筛选出存在虚拟应用数据变化的第一应用接口,并将所述第一应用接口的信息添加到所述待处理应用程序中的应用接口信息中。
14、在一些实施例中,本发明实施例提供的检测模块,还包括:检测单元;
15、所述检测单元,用于对所述待处理应用程序进行检测,以确定所述待处理应用程序中是否存在外部输入的应用调试命令在运行;若存在,则获取所述应用调试命令对应的第二应用接口信息,并将所述第二应用接口信息添加到所述应用接口信息中。
16、在一些实施例中,本发明实施例提供的调试模块,包括:监测单元、标记单元,以及调试单元;
17、所述监测单元,用于对所述待处理应用程序进行编译,并在编译的过程中对所述待处理应用程序进行代码插桩,得到编译后的所述待处理应用程序,所述待处理应用程序中插桩的代码用于在所述待处理应用程序运行过程中对所述待处理应用程序进行监测;
18、所述标记单元,用于运行编译后的所述待处理应用程序,并在监测到所述待处理应用程序中存在虚拟应用数据的注入时,对存在虚拟应用数据注入的函数地址对应的调用方进行标记,得到目标调用方;
19、所述调试单元,用于根据所述应用接口信息对所述目标调用方进行调试处理,得到调试结果。
20、在一些实施例中,本发明实施例提供的调试模块,还包括:第二获取单元以及标记去除单元;
21、所述第二获取单元,用于获取所述待处理应用程序的程序配置文件;
22、所述标记去除单元,用于根据所述程序配置文件确定所述目标调用方中符合预设调用规范的调用行为,并去除所述调用行为所调用的目标调用对象的标记。
23、在一些实施例中,本发明实施例提供的调试单元,具体还用于获取预设的调试数据,所述调试数据包括至少一个参数值;对所述调试数据的参数值的数据类型进行修改,得到至少一组修改后的调试数据,每组所述修改后的调试数据的参数值与所述预设的调试数据的参数值的数据类型不同;根据所述应用接口信息、所述预设的调试数据以及至少一组所述修改后的调试数据对所述目标调用方进行对比调试,并获取目标虚拟应用数据标识信息,所述目标虚拟应用数据标识信息为所述对比调试过程中生成的虚拟应用数据对应的虚拟应用数据标识信息;根据所述目标虚拟应用数据标识信息,确定所述对比调试过程中生成的虚拟应用数据是否为非法虚拟应用数据。
24、在一些实施例中,本发明实施例提供的应用程序加固装置,还包括:处理模块;
25、所述处理模块,用于确定提供所述应用接口信息中各应用接口的对象,并建立各所述应用接口与对应对象之间的对应关系;
26、所述数据隔离模块,包括:第一确定单元以及第二确定单元;
27、所述第一确定单元,用于确定所述待处理应用程序在调试处理的过程中生成非法虚拟应用数据的非法调用方,并确定所述非法调用方对应的目标应用接口;
28、所述第二确定单元,用于根据所述对应关系和所述目标应用接口,确定生成所述非法虚拟应用数据对应的目标对象。
29、第三方面,本发明实施例提供了一种电子设备,电子设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的应用程序加固方法中的步骤。
30、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的应用程序加固方法中的步骤。
31、本发明实施例提供了一种应用程序加固方法、装置、电子设备及存储介质,该方法通过对所述待处理应用程序中的目标调用对象进行进行调试处理,得到调试结果,进而可以根据调试结果确定调试处理过程中生成非法虚拟应用数据的目标对象,如此即可在该待处理应用程序中针对目标对象构建对应的隔离配置信息,以在后续该待处理应用程序运行的过程中,根据隔离配置信息对目标对象生成的虚拟应用数据进行单独隔离存储,使待处理应用程序在运行过程中避免出现被非法数据干扰造成数据混乱的现象,实现了应用程序加固的目的,解决了用户在使用应用程序时存在的用户个人信息泄漏和财产损失的问题,提高了加固后的应用程序中数据的安全性。
1.一种应用程序加固方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取待处理应用程序中的应用接口信息,包括:
3.如权利要求2所述的方法,其特征在于,在所述基于所述初始应用接口信息,筛选出存在虚拟应用数据变化的第一应用接口,并将所述第一应用接口的信息添加到所述待处理应用程序中的应用接口信息中的步骤之后,所述方法还包括:
4.如权利要求1所述的方法,其特征在于,所述根据所述应用接口信息对所述待处理应用程序中的目标调用方进行调试处理,得到调试结果,包括:
5.如权利要求4所述的方法,其特征在于,在所述根据所述应用接口信息对所述目标调用方进行调试处理,得到调试结果的步骤之前,所述方法还包括:
6.如权利要求4或5所述的方法,其特征在于,所述根据所述应用接口信息对所述目标调用方进行调试处理,得到调试结果,包括:
7.如权利要求1所述的方法,其特征在于,在所述获取待处理应用程序中的应用接口信息的步骤之后,所述方法还包括:
8.一种应用程序加固装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法中的步骤。
