用于应用程序的安全检测方法、装置、电子设备和介质制造方法及图纸

技术编号:38232005 阅读:10 留言:0更新日期:2023-07-25 17:59
提供了一种用于应用程序的安全检测方法、装置、电子设备和介质,可以应用于信息安全和软件测试技术领域。所述方法包括:获取待检测的应用程序中用于组装网络报文的第一函数;通过对第一函数进行插桩,获取第一函数发生调用时该第一函数获取的目标参数信息;遍历第一函数的调用链,以获取位于用户界面层的第二函数;通过对第二函数进行插桩,获取与该第二函数对应的应用程序前端页面上的页面元素信息;比较目标参数信息和页面元素信息;以及响应于目标参数信息未与页面元素信息对应,判定应用程序存在安全风险。通过插桩技术和调用链分析,在提高检测方法可操作性的情况下,能够有效降低误报率,从而实现了应用程序安全风险的有效检测。有效检测。有效检测。

【技术实现步骤摘要】
用于应用程序的安全检测方法、装置、电子设备和介质


[0001]本专利技术涉及信息安全
和软件测试
,更具体地涉及一种用于应用程序的安全检测方法、装置、电子设备和介质。

技术介绍

[0002]目前对于应用程序采集用户信息的行为,主要使用白盒代码审计、动态沙盒检测等方式进行检测。
[0003]在白盒代码审计方式中,检查代码逻辑是否包含异常收集信息上传、检查应用程序是否存在过度申请不必要的权限(例如,通讯类应用申请相册权限)。
[0004]在动态沙盒检测方式中,将待检测应用程序放入沙盒中运行,看运行过程中是否存在上传敏感信息到后台服务器的情况。
[0005]然而,这两类方法对于应用程序异常收集用户敏感信息上传的行为,检测效果均较为有限,对于白盒代码审计方式,一方面目前客户端加固技术已经较为完善,获取源码相对困难,另一方面,目前应用程序功能越来越繁杂,如果仅通过权限申请来判断是否存在异常收集敏感信息的行为,会存在大量误报。对于动态沙盒检测方式,异常应用程序已经有了大量对抗手段,例如对沙盒环境进行检测,发现在沙盒环境运行时隐藏其异常行为、对上传敏感信息进行高强度加密、只有触发特定功能才会进行信息异常收集等。
[0006]以上情况导致了目前业界对于应用程序异常收集个人信息并上传的行为检测能力存在不足。

技术实现思路

[0007]鉴于上述问题,根据本专利技术的第一方面,本专利技术的实施例提供了一种用于应用程序的安全检测方法,所述方法包括:获取待检测的应用程序中用于组装网络报文的第一函数;通过对所述第一函数进行插桩,获取所述第一函数发生调用时该第一函数获取的目标参数信息;遍历所述第一函数的调用链,以获取位于用户界面层的第二函数;通过对所述第二函数进行插桩,获取与该第二函数对应的应用程序前端页面上的页面元素信息;比较所述目标参数信息和所述页面元素信息;以及响应于所述目标参数信息未与所述页面元素信息对应,判定所述应用程序存在安全风险。
[0008]根据一些示例性的实施例,所述获取待检测的应用程序中用于组装网络报文的第一函数包括:响应于检索到与预设应用程序开发框架对应的特征,确定所述应用程序的开发框架;
根据确定出的所述开发框架,确定所述开发框架下用于组装网络报文的第一函数的名称;以及根据所述开发框架下用于组装网络报文的第一函数的名称,获取用于组装网络报文的第一函数。
[0009]根据一些示例性的实施例,所述获取待检测的应用程序中用于组装网络报文的第一函数包括:在内存中跟踪搜索用户前端输入的数据;以及响应于所述数据作为预设函数的参数进行组包,将该预设函数确定为用于组装网络报文的第一函数。
[0010]根据一些示例性的实施例,所述通过对所述第一函数进行插桩,获取所述第一函数发生调用时该第一函数获取的目标参数信息,具体包括:当所述第一函数发生调用时,通过插桩代码对所述第一函数的每一个输入参数根据敏感信息规则进行检查;以及响应于所述第一函数的至少一个输入参数涉及敏感信息,将涉及该敏感信息的至少一个输入参数的相关信息确定为所述目标参数信息。
[0011]根据一些示例性的实施例,在所述遍历所述第一函数的调用链之前,所述方法还包括:通过对系统的类加载器进行插桩,对所述应用程序的所有运行函数进行插桩;获取和记录被插桩的所有运行函数的调用信息,以形成调用日志,其中,所述调用日志包括所有运行函数发生调用时的调用时间和调用来源;以及根据所述调用日志,获取与所述第一函数相关的调用链。
[0012]根据一些示例性的实施例,所述通过对所述第二函数进行插桩,获取与该第二函数对应的应用程序前端页面上的页面元素信息,具体包括:获取运行所述第二函数的前端页面和所述前端页面中的活动名;通过插桩代码,获取与所述活动名对应的所有视窗对象;以及根据所述视窗对象,获取与该第二函数对应的应用程序前端页面上的页面元素信息。
[0013]根据一些示例性的实施例,所述目标参数信息包括敏感信息的类型;所述响应于所述目标参数信息未与所述页面元素信息对应,判定所述应用程序存在安全风险,具体包括:响应于所述目标参数信息中涉及的敏感信息的类型未存在于所述页面元素信息中,判定所述应用程序存在异常收集敏感信息的安全风险。
[0014]根据本专利技术的第二方面,还提供一种用于应用程序的安全检测装置,所述装置包括:第一函数获取模块,用于获取待检测的应用程序中用于组装网络报文的第一函数;目标参数信息获取模块,用于通过对所述第一函数进行插桩,获取所述第一函数发生调用时该第一函数获取的目标参数信息;第二函数获取模块,用于遍历所述第一函数的调用链,以获取位于用户界面层的
第二函数;页面元素信息获取模块,用于通过对所述第二函数进行插桩,获取与该第二函数对应的应用程序前端页面上的页面元素信息;比较模块,用于比较所述目标参数信息和所述页面元素信息;以及判定模块,用于响应于所述目标参数信息未与所述页面元素信息对应,判定所述应用程序存在安全风险。
[0015]根据本专利技术的第三方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
[0016]根据本专利技术的第四方面,提供一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
[0017]根据本专利技术的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
[0018]上述一个或多个实施例具有如下优点或有益效果:通过插桩技术和调用链分析,在提高检测方法可操作性的情况下,能够有效降低误报率,从而实现了应用程序安全风险的有效检测。
附图说明
[0019]通过以下参照附图对本专利技术实施例的描述,本专利技术的上述内容以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本专利技术实施例的安全检测方法、装置、设备、介质的应用场景图。
[0020]图2示意性示出了根据本专利技术实施例的安全检测方法的流程图。
[0021]图3是根据本专利技术的一些示例性实施例的方法中获取待检测的应用程序中用于组装网络报文的函数的流程图。
[0022]图4是根据本专利技术的另一些示例性实施例的方法中获取待检测的应用程序中用于组装网络报文的函数的流程图。
[0023]图5是根据本专利技术的一些示例性实施例的方法中获取所述第一函数发生调用时该第一函数获取的目标参数信息的流程图。
[0024]图6是根据本专利技术的一些示例性实施例的方法中获取函数调用链的流程图。
[0025]图7示意性示出了类加载器。
[0026]图8示意性示出了与所述第一函数相关的调用链。
[0027]图9是根据本专利技术的一些示例性实施例的方法中获取页面元素信息的流程图。
[0028]图10A示意性示出了根据本专利技术实施例的安全检测装置的结构框图。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于应用程序的安全检测方法,其特征在于,所述方法包括:获取待检测的应用程序中用于组装网络报文的第一函数;通过对所述第一函数进行插桩,获取所述第一函数发生调用时该第一函数获取的目标参数信息;遍历所述第一函数的调用链,以获取位于用户界面层的第二函数;通过对所述第二函数进行插桩,获取与该第二函数对应的应用程序前端页面上的页面元素信息;比较所述目标参数信息和所述页面元素信息;以及响应于所述目标参数信息未与所述页面元素信息对应,判定所述应用程序存在安全风险。2.根据权利要求1所述的方法,其特征在于,所述获取待检测的应用程序中用于组装网络报文的第一函数包括:响应于检索到与预设应用程序开发框架对应的特征,确定所述应用程序的开发框架;根据确定出的所述开发框架,确定所述开发框架下用于组装网络报文的第一函数的名称;以及根据所述开发框架下用于组装网络报文的第一函数的名称,获取用于组装网络报文的第一函数。3.根据权利要求1所述的方法,其特征在于,所述获取待检测的应用程序中用于组装网络报文的第一函数包括:在内存中跟踪搜索用户前端输入的数据;以及响应于所述数据作为预设函数的参数进行组包,将该预设函数确定为用于组装网络报文的第一函数。4.根据权利要求1

3中任一项所述的方法,其特征在于,所述通过对所述第一函数进行插桩,获取所述第一函数发生调用时该第一函数获取的目标参数信息,具体包括:当所述第一函数发生调用时,通过插桩代码对所述第一函数的每一个输入参数根据敏感信息规则进行检查;以及响应于所述第一函数的至少一个输入参数涉及敏感信息,将涉及该敏感信息的至少一个输入参数的相关信息确定为所述目标参数信息。5.根据权利要求4所述的方法,其特征在于,在所述遍历所述第一函数的调用链之前,所述方法还包括:通过对系统的类加载器进行插桩,对所述应用程序的所有运行函数进行插桩;获取和记录被插桩的所有运行函数的调用信息,以形成调用日志,其中,所述调用日志包括所有运行函数发生调用时的调用时间和调用来源;以及根据所述调用日志,...

【专利技术属性】
技术研发人员:牟天宇程佩哲谭桂涛李沅坷
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1