应用的安全性分析方法、装置、设备及存储介质制造方法及图纸

技术编号:33996670 阅读:35 留言:0更新日期:2022-07-02 11:03
本申请提供了一种应用的安全性分析方法、装置、设备及存储介质,涉及终端技术领域。该方法应用于电子设备中,电子设备的应用程序框架层包括应用监控模块,在第一应用初始化运行后,电子设备控制第一应用加载应用监控模块。应用监控模块被第一应用加载后,当检测到第一应用调用接口时,获取第一应用对接口的接口调用事件,然后通过第一应用与第二应用之间具有的通信通道向第二应用上报所获取的接口调用事件。如此,第二应用就可以根据接口调用事件分析第一应用的行为是否具有安全隐患,当确定第一应用存在安全隐患时进行预警提示。本申请可以在无需修改应用程序包的情况下进行行为监控,可以保证系统的稳定性。可以保证系统的稳定性。可以保证系统的稳定性。

【技术实现步骤摘要】
应用的安全性分析方法、装置、设备及存储介质


[0001]本申请涉及终端
,尤其涉及一种应用的安全性分析方法、装置、设备及存储介质。

技术介绍

[0002]随着终端技术的快速发展,终端中可以安装各种应用。然而,一些应用可能是行为存在安全隐患的恶意软件。譬如,在没有授权的情况下,获取用户数据等。为此,通常需要对应用的行为进行监控,以对应用的安全性进行分析。
[0003]在相关技术中,可以由技术人员根据实际需求在应用的应用程序包中插入监控代码,以得到具有监控功能的应用程序包。如此,在基于具有监控功能的应用程序包安装并运行应用后,就可以通过插入的监控代码对应用的行为进行监控。
[0004]然而,上述实现方式由于修改了应用的应用程序包,因此,可能会导致应用无法运行或者部分功能不可用,从而影响系统的稳定性。

技术实现思路

[0005]本申请提供一种应用的安全性分析方法、装置、设备及存储介质,解决了现有技术中由于修改了应用的应用程序包导致应用可能无法运行或者部分功能不可用,从而影响系统的稳定性的问题。
[0006]为达到上述目的,本申请采用如下技术方案:
[0007]第一方面,提供一种应用的安全性分析方法,应用于电子设备中,所述电子设备的应用程序框架层中包括应用监控模块,所述应用监控模块用于监控所述电子设备中的第一应用对接口的接口调用事件,所述方法包括:响应于所述第一应用初始化运行,为所述第一应用加载所述应用监控模块。所述应用监控模块获取所述第一应用对接口的接口调用事件,通过所述第一应用和第二应用之间具有的通信通道向所述第二应用上报所述接口调用事件。所述第二应用根据所述接口调用事件分析所述第一应用的安全性。当第二应用确定所述第一应用存在安全隐患时,进行预警提示。
[0008]本申请实施例提供的应用的安全性分析方法,通过在第一应用初始化运行后,控制第一应用加载应用监控模块。应用监控模块被第一应用加载后,当检测到第一应用调用接口时,获取第一应用对接口的接口调用事件,然后向第二应用上报所获取的接口调用事件。如此,第二应用就可以根据接口调用事件分析第一应用的行为是否具有安全隐患,当存在安全隐患时及时进行预警提示,以便于用户及时发现。从而实现了可以在无需修改应用程序包的情况下进行行为监控,避免由于修改应用程序包导致应用无法运行或者部分功能不可用的情况,进而可以保证系统的稳定性。
[0009]另外,应用监控模块被第一应用加载到第一应用的进程中成为第一应用的一个运行时模块后主动与第二应用进行交互,第一应用的行为监控不再涉及应用程序框架层,可以使得接口调用事件上报机制与系统平台解耦。以Android平台来说,在应用程序框架层植
入应用监控模块对整个Android平台的正常运行不会造成干扰,Android平台的改动和升级也不会影响接口监控。并且后续也可以只需修改应用程序框架层的应用监控模块,就可以实现监控点的增加和/或删除,而不涉及Android原生代码的改动,如此不会造成性能上的损耗,可以保证系统性能的稳定性和可维护性。
[0010]作为本申请的一个示例,所述应用监控模块获取所述第一应用对接口的接口调用事件,包括:所述应用监控模块调用钩子方法,以获取所述接口调用事件,所述钩子方法用于在所述第一应用执行接口调用的过程中获取所述第一应用对接口的接口调用事件。
[0011]本申请实施例提供的应用的安全性分析方法,通过调用钩子方法,由于钩子方法相当于备份了接口的API方法,并在备份的API方法前后增加了监控功能。也即是,应用监控模块调用钩子方法时,在钩子方法中复制接口的API方法地址,如此相当于是备份了接口的API方法。所以通过调用钩子方法不仅可以实现接口的调用,而且在调用接口的过程中还获取到接口的接口调用事件,从而实现了对接口的调用情况进行监控的目的。
[0012]作为本申请的一个示例,所述应用监控模块调用钩子方法,包括:所述应用监控模块将待调用的应用程序接口API方法地址替换为所述钩子方法的钩子方法地址。所述应用监控模块基于所述钩子方法地址调用所述钩子方法。
[0013]在常规情况下,接口均对应一个API方法,基于API方法地址即可调用该API方法,从而实现接口的调用。然而,由于需要对接口的调用情况进行监控,所以,本申请实施例提供的应用的安全性分析方法,通过应用监控模块可以将待调用的API方法地址替换为钩子方法地址,如此使得应用监控模块转去调用钩子方法,应用监控模块通过执行钩子方法可以获取接口的接口调用事件,并且通过钩子方法可以回调接口对应的API方法,在对接口调用的过程中实现对接口调用情况进行监控。从而实现了在无需修改应用程序包的情况下进行行为监控,避免由于修改应用程序包导致应用无法运行或者部分功能不可用的情况,从而可以保证系统的稳定性。
[0014]作为本申请的一个示例,所述应用监控模块获取所述第一应用对接口的接口调用事件之前,还包括:所述应用监控模块向所述第二应用发送监控服务注册请求,所述监控服务注册请求用于请求所述第二应用确定是否监控所述第一应用的接口调用事件。响应于所述第二应用根据所述监控服务注册请求确定监控所述第一应用的接口调用事件,更新应用监控列表,得到第一监控列表,所述第一监控列表中包括所述第一应用的应用信息。
[0015]本申请实施例提供的应用的安全性分析方法,通过在确定监控第一应用时,第二应用在应用监控列表中更新第一应用的应用信息,得到第一监控列表,第一监控列表中包括待监控的应用。从而实现了通过第一监控列表记录待监控的应用,以便于后续可以批量对第一监控列表中的应用进行监控。
[0016]作为本申请的一个示例,所述方法还包括:在所述第二应用确定监控所述第一应用对接口的接口调用事件的情况下,向所述应用监控模块发送监控开启通知,所述监控开启通知用于触发所述应用监控模块获取所述第一应用对接口的接口调用事件。
[0017]本申请实施例提供的应用的安全性分析方法,通过在第二应用确定监控第一应用对接口的接口调用事件时,向第二应用中的应用监控模块发送监控开启通知,以便于应用监控模块接收到监控开启通知后对第一应用的接口调用情况进行监控,从而实现了监控的目的。
[0018]作为本申请的一个示例,所述方法还包括:更新所述第一监控列表。其中,更新后的第一监控列表中不包括已进行安全性分析的应用,或者,更新后的第一监控列表中已进行安全性分析的应用的状态被标记为已分析。
[0019]本申请实施例提供的应用的安全性分析方法,通过对第一监控列表进行更新,由于更新后的第一监控列表中不包括已进行安全性分析的应用,或者,更新后的第一监控列表中已进行安全性分析的应用的状态被标记为已分析,从而实现了当后续再次基于更新后的第一监控列表进行批量监控时,可以避免对已进行安全性分析的应用再次重复监控,如此可以节省电子设备的运行功耗。
[0020]作为本申请的一个示例,所述应用监控模块获取所述第一应用对接口的接口调用事件,包括:在所述应用监控模块监控到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用的安全性分析方法,其特征在于,应用于电子设备中,所述电子设备的应用程序框架层中包括应用监控模块,所述应用监控模块用于监控所述电子设备中的第一应用对接口的接口调用事件,所述方法包括:响应于所述第一应用初始化运行,为所述第一应用加载所述应用监控模块;所述应用监控模块获取所述第一应用对接口的接口调用事件,通过所述第一应用和第二应用之间具有的通信通道向所述第二应用上报所述接口调用事件;所述第二应用根据所述接口调用事件分析所述第一应用的安全性;当所述第二应用确定所述第一应用存在安全隐患时,进行预警提示。2.如权利要求1所述的方法,其特征在于,所述应用监控模块获取所述第一应用对接口的接口调用事件,包括:所述应用监控模块调用钩子方法,以获取所述接口调用事件,所述钩子方法用于在所述第一应用执行接口调用的过程中获取所述第一应用对接口的接口调用事件。3.如权利要求2所述的方法,其特征在于,所述应用监控模块调用钩子方法,包括:所述应用监控模块将待调用的应用程序接口API方法地址替换为所述钩子方法的钩子方法地址;所述应用监控模块基于所述钩子方法地址调用所述钩子方法。4.如权利要求1

3中任一项所述的方法,其特征在于,所述方法还包括:所述应用监控模块向目标模块发送安卓接口定义语言AIDL绑定请求,所述目标模块为所述第二应用或所述应用程序框架层的连接建立模块,所述连接建立模块用于在所述第一应用初始化运行后建立所述第一应用和所述第二应用之间的通信通道;所述目标模块接收所述AIDL绑定请求;所述目标模块基于所述AIDL绑定请求向所述应用监控模块发送AIDL绑定对象,所述AIDL绑定对象包括用于建立所述通信通道的对象数据;所述应用监控模块接收所述AIDL绑定对象。5.如权利要求4所述的方法,其特征在于,响应于所述目标模块为所述连接建立模块,所述方法还包括:所述连接建立模块从所述第二应用处获取所述AIDL绑定对象。6.如权利要求1

5中任一项所述的方法,其特征在于,所述应用监控模块获取所述第一应用对接口的接口调用事件之前,还包括:所述应用监控模块向所述第二应用发送监控服务注册请求,所述监控服务注册请求用于请求所述第二应用确定是否监控所述第一应用的接口调用事件;响应于所述第二应用根据所述监控服务注册请求确定监控所述第一应用的接口调用事件,更新应用监控列表,得到第一监控列表,所述第一监控列表中包括所述第一应用的应用信息。7.如权利要求1

6中任一项所述的方法,其特征在于,所述方法还包括:在所述第二应用确定监控所述第一应用对接口的接口调用事件的情况下,向所述应用监控模块发送监控开启通知,所述监控开启通知用于触发所述应用监控模块获取所述第一应用对接口的接口调用事件。8.如权利要求6所述的方法,其特征在于,所述方法还包括:
更新所述第一监控列表;其中,更新后的第一监控列表中不包括已进行安全性分析的应用,或者,更新后的第一监控列表中已进行安全性分析的应用的状态被标记为已分析。9.如权利要求1

8中任一项所述的方法,其特征在于,所述应用监控模块获取所述第一应用对接口的接口调用事件,包括:在所述应用监控模块监控到所述第一应用调用目标接口的情况下,将所述第一应用对所述目标接口的调用事件确定为所述接口调用事件,所述目标接口为接口监控列表中的接口,所述接口监控列表用于记录待监控的接口的接口信息。10.如权利要求1所述的方法,其特征在于,所述第二应用包括监控服务管理模块和行为分析模块,所述第二应用根据所述接口调用事件分析所述第一应用的安全性,包括:所述监控服务管理模块接收所述应用监控模块传输的所述第一应用对各个接口的接口调用事件;所述行为分析模块从所述监控服务管理模块处获取所述第一应用对各个接口的接口调用事件;所述行为分析模块根据所述各个接口的接口调用事件分析所述第一应用的安全性。11.如权利要求1所述的方法,其特征在于,所述第二应用包括监控服务管理模块和行为分析模块,所述第二应用根...

【专利技术属性】
技术研发人员:董泽勇张毅
申请(专利权)人:花瓣云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1