第三方SDK行为的检测方法、装置、介质及电子设备制造方法及图纸

技术编号:27059821 阅读:9 留言:0更新日期:2021-01-15 14:39
本申请提供一种第三方SDK行为的检测方法、装置、介质及电子设备,涉及计算机技术及软件领域。在该方法中,通过获取包含目标第三方SDK的待检测应用程序,并在模拟器行为蜜罐中运行所述待检测应用程序,然后根据设定的目标行为的行为特征,从所述待检测应用程序的运行日志中,获取目标行为发生时的调用栈信息,从而根据获取的调用栈信息,确定产生目标行为时被调用的代码块,若所述被调用的代码块属于所述目标第三方SDK的代码块,确定所述目标行为由所述目标第三方SDK产生。该方式可以监控特定的第三方SDK的行为,减少潜在风险,提升APP使用过程的安全性。

【技术实现步骤摘要】
第三方SDK行为的检测方法、装置、介质及电子设备
本申请涉及计算机
,特别是涉及一种第三方SDK行为的检测方法、装置、介质及电子设备。
技术介绍
目前,第三方SDK(SoftwareDevelopmentKit,软件开发工具包)的使用非常普遍,一个正式上架的APP一般都会集成20个左右的第三方SDK。第三方SDK在被广泛使用的同时,其相关的安全问题也日益受到关注,不安全的网络通信将导致用户隐私泄露。在第三方SDK行为检测上,缺乏有效的应对手段。用户,包括APP开发者对集成的第三方SDK缺乏确切的了解,从而留下安全隐患。如何提供一种第三方SDK行为的检测方法,以实现监控特定的第三方SDK的行为,提升APP使用过程的安全性,是一个需要解决的热点问题。
技术实现思路
本申请实施例提供了一种第三方SDK行为的检测方法、装置、介质及电子设备,实现监控特定的第三方SDK的行为,提升APP使用过程的安全性。为达到上述目的,本申请实施例的技术方案是这样实现的:第一方面,本申请实施例提供一种第三方SDK行为的检测方法,包括:获取包含目标第三方软件开发工具包SDK的待检测应用程序,并在模拟器行为蜜罐中运行所述待检测应用程序;根据设定的目标行为的行为特征,从所述待检测应用程序的运行日志中,获取目标行为发生时的调用栈信息;根据获取的调用栈信息,确定产生目标行为时被调用的代码块;若所述被调用的代码块属于所述目标第三方SDK的代码块,确定所述目标行为由所述目标第三方SDK产生。第二方面,本申请实施例提供一种第三方SDK行为的检测装置,包括:模拟运行单元,用于获取包含目标第三方软件开发工具包SDK的待检测应用程序,并在模拟器行为蜜罐中运行所述待检测应用程序;行为检测单元,用于根据设定的目标行为的行为特征,从所述待检测应用程序的运行日志中,获取目标行为发生时的调用栈信息;根据获取的调用栈信息,确定产生目标行为时被调用的代码块;若所述被调用的代码块属于所述目标第三方SDK的代码块,确定所述目标行为由所述目标第三方SDK产生。在一种可选的实施例中,所述模拟运行单元具体用于:对于每个候选应用程序,对所述候选应用程序的程序包文件进行反编译,得到所述候选应用程序的代码包;对所述候选应用程序的代码包进行代码分割,得到所述候选应用程序包含的代码块。在一种可选的实施例中,所述行为检测单元具体用于:从所述调用栈信息中,获取调用链;所述调用链包括多个调用点的函数信息;从所述调用链中,去除与系统函数相关联的调用点的函数信息;根据所述调用链中剩余的调用点的函数信息,确定产生目标行为时被调用的代码块。第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面任一项所述的方法。第四方面,本申请实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面任一项所述的方法。本申请实施例的第三方SDK行为的检测方法、装置、介质及电子设备,通过获取包含目标第三方SDK的待检测应用程序,并在模拟器行为蜜罐中运行所述待检测应用程序,然后根据设定的目标行为的行为特征,从所述待检测应用程序的运行日志中,获取目标行为发生时的调用栈信息,从而根据获取的调用栈信息,确定产生目标行为时被调用的代码块,若所述被调用的代码块属于所述目标第三方SDK的代码块,确定所述目标行为由所述目标第三方SDK产生。由于本申请实施例中采用模拟器行为蜜罐对包含目标第三方SDK的待检测应用程序进行模拟运行,监控产生的目标行为,再通过对调用栈信息进行回溯分析,确定归属于第三方SDK的目标行为,该方式可以监控特定的第三方SDK的行为,减少潜在风险,提升APP使用过程的安全性。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的一种模拟器行为蜜罐的框架结构示意图;图2为本申请实施例提供的一种第三方SDK行为的检测方法的流程示意图;图3为本申请实施例提供的调用栈信息的示意图;图4为本申请实施例提供的一种获取待检测应用程序的流程示意图;图5为本申请实施例提供的一种代码分割过程的流程示意图;图6为本申请实施例提供的一种确定产生目标行为时被调用的代码块的流程示意图;图7为本申请实施例提供的一种系统框架示意图;图8为本申请实施例提供的一种第三方SDK行为的检测装置的结构示意图;图9为本申请实施例提供的一种电子设备的结构示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。(1)SDK:辅助开发APP(Application,移动应用软件)的相关文档、范例和工具的集合。在安卓平台上,APP开发者为了提高开发效率、降低成本,可以将某项功能交给第三方来开发,第三方服务提供商将服务封装为工具包(即SDK)供APP开发者使用,目前,常见的SDK类型包括第三方登录分享类、支付类、推送类、广告类和数据统计分析类。(2)APK(Androidapplicationpackage,安卓应用程序包):Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。一个APK文件内包含被编译的代码文件(.dex文件),文件资源(resources),原生资源文件(assets),证书(certificates),和清单文件(manifestfile)。本申请的实施例中,均以候选应用程序的程序包文件是APK文件为例进行说明。(3)调用栈回溯:对安卓应用产生敏感行为的API函数进行hook,在这些关键函数被调用时,获取并记录其在java虚拟机的调用栈信息,然后通过对调用栈信息进本文档来自技高网...

【技术保护点】
1.一种第三方SDK行为的检测方法,其特征在于,包括:/n获取包含目标第三方软件开发工具包SDK的待检测应用程序,并在模拟器行为蜜罐中运行所述待检测应用程序;/n根据设定的目标行为的行为特征,从所述待检测应用程序的运行日志中,获取目标行为发生时的调用栈信息;/n根据获取的调用栈信息,确定产生目标行为时被调用的代码块;/n若所述被调用的代码块属于所述目标第三方SDK的代码块,确定所述目标行为由所述目标第三方SDK产生。/n

【技术特征摘要】
1.一种第三方SDK行为的检测方法,其特征在于,包括:
获取包含目标第三方软件开发工具包SDK的待检测应用程序,并在模拟器行为蜜罐中运行所述待检测应用程序;
根据设定的目标行为的行为特征,从所述待检测应用程序的运行日志中,获取目标行为发生时的调用栈信息;
根据获取的调用栈信息,确定产生目标行为时被调用的代码块;
若所述被调用的代码块属于所述目标第三方SDK的代码块,确定所述目标行为由所述目标第三方SDK产生。


2.根据权利要求1所述的方法,其特征在于,所述获取包含目标第三方软件开发工具包SDK的待检测应用程序,包括:
对候选应用程序的程序包文件进行代码分割,得到候选应用程序包含的各个代码块;
根据每个代码块与第三方SDK之间的归属关系,为每个代码块设置SDK标注信息,所述SDK标注信息用于标识代码块所属的第三方SDK;
当候选应用程序中的各个代码块的标注信息中包含目标SDK标注信息时,将所述候选应用程序确定为所述待检测应用程序。


3.根据权利要求2所述的方法,其特征在于,所述被调用的代码块属于所述目标第三方SDK的代码块,具体包括:
当被调用的代码块的SDK标注信息与所述目标第三方SDK的代码块的SDK标注信息一致时,确定所述被调用的代码块属于所述目标第三方SDK的代码块。


4.根据权利要求2所述的方法,其特征在于,所述对候选应用程序的程序包文件进行代码分割,得到候选应用程序包含的各个代码块,包括:
对于每个候选应用程序,对所述候选应用程序的程序包文件进行反编译,得到所述候选应用程序的代码包;
对所述候选应用程序的代码包进行代码分割,得到所述候选应用程序包含的代码块。


5.根据权利要求1~4任一项所述的方法,其特征在于,根据获取的调用栈信息,确定产生目标行为时被调用的代码块,包括:
从所述调用栈信息中,获取调用链;所述调用...

【专利技术属性】
技术研发人员:王葵
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1