CN114238021A - 一种sdk接口定位方法、装置、设备及计算机存储介质 - Google Patents
一种sdk接口定位方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN114238021A CN114238021A CN202111559148.5A CN202111559148A CN114238021A CN 114238021 A CN114238021 A CN 114238021A CN 202111559148 A CN202111559148 A CN 202111559148A CN 114238021 A CN114238021 A CN 114238021A
- Authority
- CN
- China
- Prior art keywords
- interface
- management module
- target
- data
- sdk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种SDK接口定位方法、装置、设备及计算机存储介质,其中,该方法应用于SDK接口定位系统,该SDK接口定位系统包括接口监控管理模块、权限管理模块、目标SDK接口,该方法包括:接口监控管理模块接收数据调用指令;接口监控管理模块向权限管理模块发送查询指令;权限管理模块基于查询指令查询目标SDK接口是否具有调用所述目标数据的权限,并向接口监控管理模块发送查询结果;在基于查询结果判断该目标SDK接口具有权限的情况下,接口监控管理模块将目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统;接口信息包括目标SDK接口的标识信息、目标应用程序的标识信息。
Description
技术领域
本申请涉及SDK接口定位领域,尤其涉及一种SDK接口定位方法、装置、设备及计算机存储介质。
背景技术
Android系统作为一个开源的操作系统,硬件厂商和SDK提供商百花齐放,但这同时也会给APP带来一些隐私安全问题,尤其集成的第三方SDK接口可能存在非必须的情况下调用系统数据,收集个人信息,目前国家对于安全和隐私政策越来越重视,手机用户也越来越在意个人信息安全,所以安全整改迫在眉睫。
传统的安全问题由开发人员自查,或者上线后安全部门反馈再解决,对于一个大型的线上APP,可能集成了十几甚至几十个第三方的SDK接口,由于没有源码,开发人员无法快速定位问题,无法确定是哪个SDK接口出现问题,这导致app可能面临下架或者被投诉的风险。因此,如何定位SDK接口是技术人员日益关心的问题。
发明内容
本申请实施例提供了一种SDK接口定位方法、装置、设备及计算机存储介质,解决了开发人员或者第三方APP检测机构在对应用程序进行信息安全检测的过程中,无法定位非法调用系统数据的SDK接口的问题。
第一方面,本申请实施例提供了一种SDK接口定位方法,应用于SDK接口定位系统,该SDK接口定位系统包括接口监控管理模块、权限管理模块、目标SDK接口,该方法包括:接口监控管理模块接收数据调用指令,该数据调用指令包括目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型,目标应用程序为目标SDK接口对应的应用程序,目标数据为目标SDK接口要调取的系统数据;接口监控管理模块向权限管理模块发送查询指令,该查询指令用于查询目标SDK接口是否具有调用所述目标数据的权限,该查询指令包括目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型;权限管理模块基于查询指令查询目标SDK接口是否具有调用所述目标数据的权限,并向接口监控管理模块发送查询结果;在基于查询结果判断该目标SDK接口具有权限的情况下,接口监控管理模块将目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统;接口信息包括目标SDK接口的标识信息、目标应用程序的标识信息。
在上述实施例中,接口监控管理模块在检测到SDK接口调用系统数据的活动后,向权限管理模块查询该SDK接口是否具有调用该系统数据的权限,在该SDK接口不具备调用所述系统数据权限的情况下,标记该SDK接口为系统敏感接口,并将该SDK接口的标识信息和该SDK接口对应应用程序的标识信息上传至日志系统,以便应用程序测试者可以通过日志系统定位哪一个应用程序的具体哪一个SDK接口存在非法调用系统数据的问题,以便对系统敏感接口进行修改,从而保证用户的数据安全。
在一种可能实现的方式中,该SDK接口定位系统还包括事件管理模块,接口监控管理模块接收数据调用指令之前,还包括:接口监控管理模块向事件管理模块订阅SDK接口信息调用事件。这样,在事件管理模块接收到SDK接口的数据调用请求后,可以将SDK接口调用系统数据的信息发送给接口监控管理模块,从而使得接口监控管理模块可以监控电子设备中所有SDK接口调用系统数据的活动。
在一种可能实现的方式中,该SDK接口定位系统还包括数据管理模块,接口监控管理模块向事件管理模块订阅SDK接口信息调用事件之后,还包括:事件管理模块接收所述目标SDK接口的数据调用请求,数据调用请求包括所述目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型;事件管理模块将所述数据调用指令发送给接口监控管理模块;事件管理模块将目标SDK接口的数据调用请求发送给数据管理模块;数据管理模块基于数据调用请求调用目标数据,并将目标数据发送给事件管理模块;事件管理模块将目标数据发送给目标SDK接口。这样,在事件管理模块接收到SDK接口的数据调用请求后,可以将SDK接口调用系统数据的信息发送给接口监控管理模块,从而使得接口监控管理模块可以监控电子设备中所有SDK接口调用系统数据的活动,从而判断是否存在非法调用系统数据的SDK接口。
在一种可能实现的方式中,该SDK接口定位方法,还包括:数据管理模块基于数据调用请求判断目标SDK接口是否有调用目标数据的权限;在目标SDK接口有调用目标数据权限的情况下,数据管理模块将目标数据发送给事件管理模块。这样,在数据管理模块判断目标SDK接口不具备调用目标数据权限的情况下,不会调用目标数据给目标SDK接口,从而避免了系统数据被泄露的问题。
在一种可能实现的方式中,所述查询结果包括查询标识;其中,若所述查询标识为第一字符,所述目标SDK接口有调用所述目标数据的权限,若所述查询标识不为第一字符,所述目标SDK接口没有调用所述目标数据的权限。这样,接口监控管理模块可以根据查询标识X判断目标SDK接口是否为系统敏感接口,在目标SDK接口为系统敏感接口的情况下,将该系统敏感接口的接口信息上报到日志系统,以便应用程序测试者可以快速定位该系统敏感接口,及时对该系统敏感接口进行修改,从而保证用户数据安全。
在一种可能实现的方式中,在基于所述查询结果判断所述目标SDK接口具有权限的情况下,所述接口监控管理模块将所述目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统之前,还包括:判断所述查询标识是否为所述第一字符;若判断为是,确定所述目标SDK接口有调用所述目标数据的权限;若判断为否,确定所述目标SDK接口没有调用所述目标数据的权限。这样,接口监控管理模块可以根据查询标识判断目标SDK接口是否为系统敏感接口,在目标SDK接口为系统敏感接口的情况下,将该系统敏感接口的接口信息上报到日志系统,以便应用程序测试者可以快速定位该系统敏感接口,及时对该系统敏感接口进行修改,从而保证用户数据安全。
在一种可能实现的方式中,在基于查询结果判断目标SDK接口具有权限的情况下,接口监控管理模块将目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统,包括:接口监控管理模块读取查询标识;接口监控管理模块判断查询标识是否为第一字符;在查询标识为第一字符的情况下,接口监控管理模块标记目标SDK接口为系统敏感接口;接口监控管理模块将接口信息上报给日志系统。这样,应用程序测试者可以通过日志系统定位哪一个应用程序的具体哪一个SDK接口存在非法调用系统数据的问题,以便对系统敏感接口进行修改,从而保证用户的数据安全。
第二方面,本申请实施例提供了一种SDK接口定位装置,该装置包括:调用指令接收单元、查询指令发送单元、权限查询单元、查询结果发送单元、敏感接口标记单元以及上报单元,其中:
调用指令接收单元,用于接收数据调用指令;
查询指令发送单元,用于向权限管理模块发送查询指令;
权限查询单元,用于查询目标SDK接口是否具有调用目标数据的权限;
查询结果发送单元,用于向接口监控管理模块发送查询结果;
敏感接口标记单元,用于在基于所述查询结果判断所述目标SDK接口具有权限的情况下,将所述目标SDK接口标记为系统敏感接口;
上报单元,用于将接口信息上报给日志系统。
在一种可能实现的方式中,该SDK接口定位装置,还包括:
事件订阅单元,用于向事件管理模块订阅SDK接口信息调用事件。
在一种可能实现的方式中,该SDK接口定位装置,还包括:
调用指令发送单元,用于将数据调用指令发送给接口监控管理模块;
调用请求发送单元,用于将目标SDK接口的数据调用请求发送给数据管理模块;
数据调用单元,用于基于该数据调用请求调用目标数据;
第一数据发送单元,用于将目标数据发送给事件管理模块;
第二数据发送单元,用于将目标数据发送给目标SDK接口。
在一种可能实现的方式中,该SDK接口定位装置,还包括:
权限判断单元,用于基于数据调用请求判断目标SDK接口是否有调用目标数据的权限。
在一种可能实现的方式中,该SDK接口定位装置,还包括:
读取单元,用于读取查询标识;
判断模块,用于判断查询标识是否为第一字符。
第三方面,本申请实施例提供了一种SDK接口定位设备,该设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如下步骤:通过接口监控管理模块接收数据调用指令,该数据调用指令包括目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型,目标应用程序为目标SDK接口对应的应用程序,目标数据为目标SDK接口要调取的系统数据;通过接口监控管理模块向权限管理模块发送查询指令,该查询指令用于查询目标SDK接口是否具有调用所述目标数据的权限,该查询指令包括目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型;通过权限管理模块基于查询指令查询目标SDK接口是否具有调用所述目标数据的权限,并向接口监控管理模块发送查询结果;在基于查询结果判断该目标SDK接口具有权限的情况下,通过接口监控管理模块将目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统;接口信息包括目标SDK接口的标识信息、目标应用程序的标识信息。
在一种可能实现的方式中,所述处理器调用该计算机指令通过接口监控管理模块接收数据调用指令之前,还包括:通过接口监控管理模块向事件管理模块订阅SDK接口信息调用事件。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备通过接口监控管理模块向事件管理模块订阅SDK接口信息调用事件之后,还包括:通过事件管理模块接收所述目标SDK接口的数据调用请求,数据调用请求包括所述目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型;通过事件管理模块将所述数据调用指令发送给接口监控管理模块;通过事件管理模块将目标SDK接口的数据调用请求发送给数据管理模块;通过数据管理模块基于数据调用请求调用目标数据,并将目标数据发送给事件管理模块;通过事件管理模块将目标数据发送给目标SDK接口。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备通过数据管理模块基于数据调用请求判断目标SDK接口是否有调用目标数据的权限;在目标SDK接口有调用目标数据权限的情况下,通过数据管理模块将目标数据发送给事件管理模块。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备在基于所述查询结果判断所述目标SDK接口具有权限的情况下,通过所述接口监控管理模块将所述目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统之前,还包括:判断所述查询标识是否为所述第一字符;若判断为是,确定所述目标SDK接口有调用所述目标数据的权限;若判断为否,确定所述目标SDK接口没有调用所述目标数据的权限。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备在基于查询结果判断目标SDK接口具有权限的情况下,通过接口监控管理模块将目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统,包括:通过接口监控管理模块读取查询标识;接口监控管理模块判断查询标识是否为第一字符;在查询标识为第一字符的情况下,通过接口监控管理模块标记目标SDK接口为系统敏感接口;通过接口监控管理模块将接口信息上报给日志系统。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在SDK接口定位设备上运行时,使得该设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
附图说明
图1为本申请实施例提供的一种示例性预设界面图;
图2为本申请实施例提供SDK接口定位系统中各功能模块的交互流程图;
图3为本申请提供的一种SDK接口定位装置的结构示意图;
图4为本申请实施例提供的一种SDK接口定位设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
Android系统作为一个开源的操作系统,硬件厂商和SDK提供商百花齐放,但这同时也会给APP带来一些隐私安全问题,尤其集成的第三方SDK接口可能存在非必须的情况下调用系统数据,收集个人信息。如图1所示,用户使用智能手机在某购物应用进行网购过程中,该购物应用的SDK接口向用户发送读取通讯录信息的请求,用户的通信录信息对于购物应用而言是无关信息,因此,该购物应用存在过度获取系统信息的问题。
近年来,随着互联网和大数据的发展,各大软件开发商非法获取用户信息的事件层出不穷,部分软件为了更多的获取用户数据,这些软件对应的SDK接口在没有数据调用权限的情况下非法调用用户数据,造成用户数据的泄露,从而引发信息安全的问题。随着我国日益对信息安全的重视,政府会委托第三方机构定期对一些软件进行安全性测试,在发现软件存在非法调取用户数据的情况下,会将软件下架。
对软件进行安全性测试一般是对软件的SDK接口进行测试,对于一个大型的线上APP,可能集成了十几甚至几十个第三方的SDK接口,由于没有源码,应用程序测试者无法快速定位SDK接口,从而无法确定是哪个SDK接口出现问题。
为了解决上述对软件进行安全性测试的过程中,无法定位非法调用用户数据信息的SDK接口的问题,本申请实施例提出了一种SDK接口定位方法,该方法应用于SDK接口定位系统。该SDK接口定位系统包括接口监控管理模块、事件管理模块、数据管理模块、权限管理模块;其中,接口监控管理模块用于监控安装在电子设备内所有安卓应用SDK接口调用用户数据的活动,当监控到存在SDK接口调用用户数据/系统数据的情况下,会查询该SDK接口是否有权限调用该数据,若无权限,接口监控管理模块会将该SDK接口的标识号以及非法调用数据的数据类型上报给日志系统,以便开发者或APP检测机构可以通过读取日志系统判断哪个SDK接口出现了问题,使得开发者或技术人员可以对出现问题的SDK接口进行修复。
事件管理模块用于转发电子设备内所有功能模块以及接口之间的交互信息,在本方案中,主要是将SDK接口调用用户数据的活动信息转发给接口监控管理模块,使得接口监控管理模块可以监控电子设备内所有安卓应用的SDK接口调用数据的活动。
数据管理模块用于管理、读取电子设备的系统数据/用户数据。
权限管理模块用于系统数据的权限管理,接收接口监控模块的权限查询命令后,对SDK接口是否具有调用用户数据的权限进行查询,并将结果返回给接口监控管理模块,以便接口监控管理模块判断当前进行数据调用活动的SDK接口是否为非法调用数据的SDK接口。
下面,结合图2对该SDK定位接口系统中各功能模块的交互流程进行说明,请参见图2,图2是本申请实施例提供SDK接口定位系统中各功能模块的交互流程图,具体流程如下:
步骤S201:接收用户的输入操作后,网络应用启动。
具体地,网络应用为安装在电子设备中的可以进行联网的应用,这里的电子设备可以为智能手机、平板等设备。用户的输入操作可以为用户点击电子设备主屏幕中的网络应用的图标。
步骤S202:接口监控管理模块向事件管理模块订阅SDK接口信息调用事件。
具体地,事件管理模块用于应用程序内各逻辑功能模块之间、各逻辑功能模块与逻辑接口之间、逻辑接口与逻辑接口之间的通信;接口通信管理模块用于监控电子设备中所有SDK接口调用系统数据的情况,并将SDK接口非法调用系统数据的行为上报给日志系统。例如,当网络应用为视频应用或音乐应用时,在进行视频播放或进行音乐播放之前,视频应用的音频焦点识别模块通常需要向音频管理(AudioManager)模块申请音频焦点,以使得视频/音频在播放时会有音频资源,能发出声音,音频焦点识别模块和音频管理模块为逻辑功能模块,通过事件管理模块进行通信,即:事件管理模块转发音频焦点识别模块和音频管理模块之间的信息。又例如,在使用网络应用的过程中,网络应用的某些SDK接口会向对应的数据模块调取用户的数据,SDK接口为逻辑接口,SDK接口在调用数据之前,会先向数据管理模块发送数据调用请求,数据管理模块用于管理电子设备中所有的用户数据。在接收到数据调用请求后,数据管理模块会向该SDK接口返回目标数据,从而实现SDK接口对数据的调用。事件管理模块用于转发SDK接口的数据调用请求以及数据管理模块返回的目标数据。
接口监控管理模块在网络应用启动后,向事件管理模块订阅SDK接口调用事件,当事件管理模块检测到有SDK接口调用用户数据的行为后,事件管理模块向接口监控管理模块发送SDK接口调用系统数据的数据调用指令,使得接口监控管理模块可以监控该网络应用中所有SDK接口调用数据的事件,以便接口监控管理模块分析该SDK接口是否为调用系统敏感信息的接口(非法调用用户数据的SDK接口)。
接口监控管理模块可以在网络应用启动时,可以调用函数Subcribe_SDKCall(SDKCall,SDKCallBack)。其中,SDKCall用于指示订阅事件的类型为SDK接口调用用户数据,AppCallBack为接口监控管理模块的回调函数,用于事件管理模块向接口监控模块返回SDK接口调用用户数据的行为报告。接口监控管理模块向事件管理模块订阅SDK接口信息调用事件后,当事件管理模块接收到SDK接口调取用户数据的请求后,事件管理模块会向接口监控模块报告,从而实现接口监控管理模块对SDK接口调取数据活动的监控。
另外,通过设置事件管理模块这种功能模块之间、逻辑接口之间、逻辑接口与功能模块之间的沟通“桥梁”,有利于降低整个软件架构的耦合性(例如,在系统升级过程中,如果存在SDK接口升级,势必要改造接口监控管理模块等于SDK接口相关的模块,但是通过设置事件管理模块后,如果SDK接口升级,只需要改造事件管理模块这一个功能模块就行,因为与SDK接口相关的其它模块都是通过事件管理模块与SDK接口进行通信,不需要进行改造,这就大大节省了因为系统升级所要耗费的人力物力,而且耦合性比较低的软件架构,会使系统的工作性能提高),有利于提高该接口定位系统的工作性能。
步骤S203:目标SDK接口向事件管理模块发送数据调用请求。
具体地,在网络应用的使用过程中,目标SDK接口会向数据管理模块调用相关数据,在向数据管理模块调用相关数据之前,目标SDK接口会向事件管理模块发送数据调用请求。其中,目标SDK接口可以调用函数Request_Data(DataType,SDK_ID,Modle_ID,APP_ID)向事件管理模块发送数据调用指令。其中,DataType用于表征目标SDK接口想要调取的数据的数据类型,例如,该数据类型可以为用户当前位置信息、用户手机号、用户通话记录等等;SDK_ID用于表征SDK接口的标识,在该网络应用中具备唯一性;Modle_ID为SDK接口调用信息的对应功能模块的标识信息,例如,数据管理模块的功能标识为1,SDK接口想要从数据管理模块调用目标数据,则Modle_ID为Model_1,Modle_ID在该电子设备中具有唯一性,APP_ID为该网络应用的标识。
步骤S204:事件管理模块向数据管理模块发送信息数据调用请求。
具体地,在接收到目标SDK接口发送的信息调用请求后,事件管理模块根据该调用请求向数据管理模块发送数据调用请求。例如,事件管理模块可以调用函数Request_Data_1(DataType,SDK_ID,APP_ID)向数据管理模块发送数据调用请求。
步骤S205:数据管理模块向事件管理模块返回目标数据。
具体地,数据管理模块在接收数据管理模块的数据调用指令后,根据调用指令中DataType在对应的数据库中读取目标数据,并将该目标数据返回给事件管理模块。例如,数据管理模块可以调用函数Data_Send(DataType,SDK_ID,APP_ID,Data)将目标数据发送给事件管理模块。
在一些实施例中,数据管理模块在接收数据管理模块的数据调用指令后,数据管理模块可以基于DataType,SDK_ID,APP_ID判断目标SDK接口是否具有调用目标数据的权限,若无权限,数据管理模块不返回目标数据,并调用函数Data_Send(DataType,SDK_ID,APP_ID,Void)返回提示信息,其中,Void用于指示返回数据为空。
步骤S206:事件管理模块将目标数据发送给目标SDK接口。
步骤S207:事件管理模块向接口监控管理模块发送目标SDK接口的数据调用指令。
具体地,由于接口监控管理模块在该网络应用启动时向事件管理模块订阅了SDK接口信息调用事件,所以当事件管理模块在接收到目标SDK接口发送的数据调用指令后,会向接口监控管理模块发送目标SDK接口的数据调用指令,该数据调用指令包括目标SDK接口的标识(SDK_ID)、目标SDK接口调用的数据类型(DataType)以及目标SDK接口对应的网络应用的标识(APP_ID)等信息。事件管理模块可以通过使用回调函数SDKCallBack(DataType,SDK_ID,APP_ID)向接口监控管理模块返回目标SDK接口数据调用指令。在接口数据调用报告中返回APP的ID,可以使得接口监控管理模块监控电子设备中所有APP的SDK接口,而不是仅针对某一个APP的SDK接口,使得接口监控管理模块具有普适性。因为,对于一个APP内的ADK接口的具有唯一性,但是在多个APP中的SDK接口的标识不具备唯一性。因此,通过APPID+SDK ID这种方式标识电子设备内应用程序的SDK接口,能够对电子设备内所有的SDK接口进行标识。
步骤S208:接口监控管理模块向权限管理模块查询目标SDK接口是否有调用目标数据的权限。
具体地,在接收到事件管理模块发送的数据调用指令后,接口监控管理模块向权限管理模块查询目标SDK接口是否有权限调用目标数据。例如,目标SDK接口调用了用户的位置信息,那么接口监控管理模块要向权限管理模块查询该目标SDK接口是否有调用地理位置信息的权限。接口监控管理模块可以调用函数Query_Authority_SDK(DataType,SDK_ID,APP_ID)向权限管理模块查询该SDK接口是否具有调用该类型的数据的权限。其中,DataType为目标SDK接口调用的数据的类型,SDK_ID为目标SDK接口的标识,APP_ID为目标SDK接口所在的网络应用的标识。
步骤S209:权限管理模块向接口监控管理模块返回查询结果。
具体地,权限管理模块在接收到接口监控管理模块的查询请求后,基于DataType、SDK_ID、APP_ID将查询结果返回给接口监控管理模块。其中,权限管理模块可以调用函数SDKCallBack_Authority(DataType,SDK_ID,APP_ID,X)将查询结果返回给接口监控管理模块。其中,X为查询标识,当X为第一字符(例如,1)时,代表目标SDK接口有权限调用目标数据,当X为第二字符(例如,0)时,代表目标SDK接口没有权限调用目标数据。
步骤S210:接口监控管理模块根据权限管理模块返回的查询结果,判断目标SDK接口是否为系统敏感接口。
具体地,接口监控管理模块读取查询结果中的查询标识X,若查询标识为第一字符,则判断该目标SDK接口为系统敏感接口,即:该目标SDK接口为非法调用用户数据的接口;若查询标识为第二字符,则判断该目标SDK接口不为系统敏感接口。
步骤S211:在确定目标SDK接口为敏感系统接口的情况下,接口监控管理模块将目标SDK接口的信息上传到日志系统上。
本申请实施例,接口监控管理模块在检测到SDK接口调用系统数据的活动后,向权限管理模块查询该SDK接口是否具有调用该系统数据的权限,在该SDK接口不具备调用所述系统数据权限的情况下,标记该SDK接口为系统敏感接口,并将该SDK接口的标识信息和该SDK接口对应应用程序的标识信息上传至日志系统,以便应用程序测试者可以通过日志系统定位哪一个应用程序的具体哪一个SDK接口存在非法调用系统数据的问题,以便对系统敏感接口进行修改,从而保证用户的数据安全。
请参见图3,图3为本申请提供的一种SDK接口定位装置的结构示意图。需要说明的是,图3所示的SDK接口定位装置,用于执行本申请图2所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示,经参照本申请实施例图2所示的实施例。该SDK接口定位装置30可以包括:调用指令接收单元301、查询指令发送单元302、权限查询单元303、查询结果发送单元304、敏感接口标记单元305以及上报单元306。其中:
调用指令接收单元301,用于接收数据调用指令;
查询指令发送单元302,用于向权限管理模块发送查询指令;
权限查询单元303,用于查询目标SDK接口是否具有调用目标数据的权限;
查询结果发送单元304,用于向接口监控管理模块发送查询结果;
敏感接口标记单元305,用于在基于所述查询结果判断所述目标SDK接口具有权限的情况下,将所述目标SDK接口标记为系统敏感接口;
上报单元306,用于将接口信息上报给日志系统。
在一种可能实现的方式中,该SDK接口定位装置30,还包括:
调用指令发送单元,用于将数据调用指令发送给接口监控管理模块;
调用请求发送单元,用于将目标SDK接口的数据调用请求发送给数据管理模块;
数据调用单元,用于基于该数据调用请求调用目标数据;
第一数据发送单元,用于将目标数据发送给事件管理模块;
第二数据发送单元,用于将目标数据发送给目标SDK接口。
在一种可能实现的方式中,该SDK接口定位装置30,还包括:
权限判断单元,用于基于数据调用请求判断目标SDK接口是否有调用目标数据的权限。
在一种可能实现的方式中,该SDK接口定位装置30,还包括:
读取单元,用于读取查询标识;
判断模块,用于判断查询标识是否为第一字符。
请参见图4,图4为本申请实施例提供的一种SDK接口定位设备的结构示意图。如图4所示,该SDK接口定位设备40包括:至少一个处理器401、存储器402。可选的,该SDK接口定位设备还可包括网络接口403,所述处理器401、网络接口403以及存储器402通过内部总线404相互连接。其中,所述处理器401、存储器402以及网络接口403之间可以交互数据,网络接口403受所述处理器401的控制用于收发消息,存储器402用于存储计算机程序,所述计算机程序包括程序指令,处理器401用于执行存储器402存储的程序指令。其中,处理器401被配置用于调用所述程序指令执行上述SDK接口定位方法。
所述存储器402可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器402也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器402还可以包括上述种类的存储器的组合。
所述处理器401可以是中央处理器(central processing unit,CPU)。在一个实施例中,所述处理器401还可以是图形处理器(Graphics Processing Unit,GPU)。所述处理器401也可以是由CPU和GPU的组合。
在一个可能的实现方式中,所述存储器402用于存储程序指令。所述处理器401调用该计算机指令以使得该设备,执行以下步骤:通过接口监控管理模块接收数据调用指令,该数据调用指令包括目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型,目标应用程序为目标SDK接口对应的应用程序,目标数据为目标SDK接口要调取的系统数据;通过接口监控管理模块向权限管理模块发送查询指令,该查询指令用于查询目标SDK接口是否具有调用所述目标数据的权限,该查询指令包括目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型;通过权限管理模块基于查询指令查询目标SDK接口是否具有调用所述目标数据的权限,并向接口监控管理模块发送查询结果;在基于查询结果判断该目标SDK接口具有权限的情况下,通过接口监控管理模块将目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统;接口信息包括目标SDK接口的标识信息、目标应用程序的标识信息。
在一种可能实现的方式中,所述处理器调用该计算机指令通过接口监控管理模块接收数据调用指令之前,还包括:通过接口监控管理模块向事件管理模块订阅SDK接口信息调用事件。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备通过接口监控管理模块向事件管理模块订阅SDK接口信息调用事件之后,还包括:通过事件管理模块接收所述目标SDK接口的数据调用请求,数据调用请求包括所述目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型;通过事件管理模块将所述数据调用指令发送给接口监控管理模块;通过事件管理模块将目标SDK接口的数据调用请求发送给数据管理模块;通过数据管理模块基于数据调用请求调用目标数据,并将目标数据发送给事件管理模块;通过事件管理模块将目标数据发送给目标SDK接口。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备通过数据管理模块基于数据调用请求判断目标SDK接口是否有调用目标数据的权限;在目标SDK接口有调用目标数据权限的情况下,通过数据管理模块将目标数据发送给事件管理模块。
在一种可能实现的方式中,在基于所述查询结果判断所述目标SDK接口具有权限的情况下,所述接口监控管理模块将所述目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统之前,还包括:判断所述查询标识是否为所述第一字符;若判断为是,确定所述目标SDK接口有调用所述目标数据的权限;若判断为否,确定所述目标SDK接口没有调用所述目标数据的权限。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备在基于查询结果判断目标SDK接口具有权限的情况下,通过接口监控管理模块将目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统,包括:通过接口监控管理模块读取查询标识;接口监控管理模块判断查询标识是否为第一字符;在查询标识为第一字符的情况下,通过接口监控管理模块标记目标SDK接口为系统敏感接口;通过接口监控管理模块将接口信息上报给日志系统。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种SDK接口定位方法,其特征在于,应用于SDK接口定位系统,所述SDK接口定位系统包括接口监控管理模块、权限管理模块、目标SDK接口,所述方法包括:
所述接口监控管理模块接收数据调用指令,所述数据调用指令包括所述目标SDK接口的标识信息、目标应用程序的标识信息以及目标数据的数据类型,所述目标应用程序为所述目标SDK接口对应的应用程序,所述目标数据为所述目标SDK接口要调取的系统数据;
所述接口监控管理模块向所述权限管理模块发送查询指令,所述查询指令用于查询所述目标SDK接口是否具有调用所述目标数据的权限,所述查询指令包括所述目标SDK接口的标识信息、所述目标应用程序的标识信息以及所述目标数据的数据类型;
所述权限管理模块基于所述查询指令查询所述目标SDK接口是否具有调用所述目标数据的权限,并向所述接口监控管理模块发送查询结果;
在基于所述查询结果判断所述目标SDK接口具有权限的情况下,所述接口监控管理模块将所述目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统;所述接口信息包括所述目标SDK接口的标识信息、所述目标应用程序的标识信息。
2.如权利要求1所述的方法,其特征在于,所述SDK接口定位系统还包括事件管理模块,所述接口监控管理模块接收数据调用指令之前,还包括:
所述接口监控管理模块向所述事件管理模块订阅SDK接口信息调用事件。
3.如权利要求2所述的方法,其特征在于,所述SDK接口定位系统还包括数据管理模块,所述接口监控管理模块向所述事件管理模块订阅SDK接口信息调用事件之后,还包括:
所述事件管理模块接收所述目标SDK接口的数据调用请求,所述数据调用请求包括所述目标SDK接口的标识信息、所述目标应用程序的标识信息以及所述目标数据的数据类型;
所述事件管理模块将所述数据调用指令发送给所述接口监控管理模块;
所述事件管理模块将所述目标SDK接口的数据调用请求发送给所述数据管理模块;
所述数据管理模块基于所述数据调用请求调用目标数据,并将所述目标数据发送给所述事件管理模块;
所述事件管理模块将所述目标数据发送给所述目标SDK接口。
4.如权利要求3所述的方法,其特征在于,所述方法,还包括:
所述数据管理模块基于所述数据调用请求判断所述目标SDK接口是否有调用所述目标数据的权限;
在所述目标SDK接口有调用所述目标数据权限的情况下,所述数据管理模块将所述目标数据发送给所述事件管理模块。
5.如权利要求2所述的方法,其特征在于,所述查询结果包括查询标识;
其中,若所述查询标识为第一字符,所述目标SDK接口有调用所述目标数据的权限,若所述查询标识不为第一字符,所述目标SDK接口没有调用所述目标数据的权限。
6.如权利要求5所述的方法,其特征在于,所述在基于所述查询结果判断所述目标SDK接口具有权限的情况下,所述接口监控管理模块将所述目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统之前,还包括:
判断所述查询标识是否为所述第一字符;
若判断为是,确定所述目标SDK接口有调用所述目标数据的权限;
若判断为否,确定所述目标SDK接口没有调用所述目标数据的权限。
7.如权利要求6所述的方法,其特征在于,所述在基于所述查询结果判断所述目标SDK接口具有权限的情况下,所述接口监控管理模块将所述目标SDK接口标记为系统敏感接口,并将接口信息上报给日志系统,包括:
所述接口监控管理模块读取所述查询标识;
所述接口监控管理模块判断所述查询标识是否为第一字符;
在所述查询标识为所述第一字符的情况下,所述接口监控管理模块标记所述目标SDK接口为系统敏感接口;
所述接口监控管理模块将所述接口信息上报给日志系统。
8.一种SDK接口定位装置,其特征在于,所述装置包括:
调用指令接收单元,用于接收数据调用指令;
查询指令发送单元,用于向权限管理模块发送查询指令;
权限查询单元,用于查询目标SDK接口是否具有调用目标数据的权限;
查询结果发送单元,用于向接口监控管理模块发送查询结果;
敏感接口标记单元,用于在基于所述查询结果判断所述目标SDK接口具有权限的情况下,将所述目标SDK接口标记为系统敏感接口;
上报单元,用于将接口信息上报给日志系统。
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111559148.5A CN114238021A (zh) | 2021-12-20 | 2021-12-20 | 一种sdk接口定位方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111559148.5A CN114238021A (zh) | 2021-12-20 | 2021-12-20 | 一种sdk接口定位方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238021A true CN114238021A (zh) | 2022-03-25 |
Family
ID=80758834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111559148.5A Pending CN114238021A (zh) | 2021-12-20 | 2021-12-20 | 一种sdk接口定位方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238021A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115952085A (zh) * | 2022-12-15 | 2023-04-11 | 广州埃普信息科技有限公司 | 一种支持快速测试开发的中间件系统 |
-
2021
- 2021-12-20 CN CN202111559148.5A patent/CN114238021A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115952085A (zh) * | 2022-12-15 | 2023-04-11 | 广州埃普信息科技有限公司 | 一种支持快速测试开发的中间件系统 |
CN115952085B (zh) * | 2022-12-15 | 2023-08-22 | 广州埃普信息科技有限公司 | 一种支持快速测试开发的中间件系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111695156A (zh) | 业务平台的访问方法、装置、设备及存储介质 | |
CN111782416B (zh) | 数据上报方法、装置、系统、终端及计算机可读存储介质 | |
US10176327B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
US20130055387A1 (en) | Apparatus and method for providing security information on background process | |
WO2017071207A1 (zh) | 一种应用安装方法、相关装置及应用安装系统 | |
US11327816B2 (en) | Monitoring components in a service framework | |
WO2016033966A1 (zh) | 应用数据的保护方法及装置 | |
CN112035354B (zh) | 风险代码的定位方法、装置、设备及存储介质 | |
US20070169085A1 (en) | Stack-based problem identification for a software component | |
CN110781149A (zh) | 管理直播间信息的方法、装置、设备及存储介质 | |
CN111258850A (zh) | 一种基于Linux系统的更新软件信息的方法及装置 | |
CN114238021A (zh) | 一种sdk接口定位方法、装置、设备及计算机存储介质 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN112163193A (zh) | 一种广播注册控制方法、装置、设备及介质 | |
CN113918835A (zh) | 事项提醒方法、系统、终端设备及存储介质 | |
CN112231699A (zh) | 读取函数的拦截方法、装置、电子设备和计算机可读介质 | |
CN109992298B (zh) | 审批平台扩充方法、装置、审批平台及可读存储介质 | |
CN111240998A (zh) | 测试用例处理方法和装置 | |
JP2013182500A (ja) | Api実行制御装置およびプログラム | |
JP5828457B2 (ja) | Api実行制御装置およびプログラム | |
US12020039B2 (en) | Compute instance warmup operations | |
WO2017107762A1 (zh) | 一种应用程序的追踪方法及装置 | |
CN109348053B (zh) | 电话号码标记处理方法、服务器、终端设备及计算机可读存储介质 | |
CN113835889A (zh) | 获取输入事件的方法和相关装置 | |
CN111026466A (zh) | 文件处理方法、装置、计算机可读存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |