CN113486331A - Api调用请求处理方法、装置、电子设备及可读存储介质 - Google Patents

Api调用请求处理方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN113486331A
CN113486331A CN202110827259.3A CN202110827259A CN113486331A CN 113486331 A CN113486331 A CN 113486331A CN 202110827259 A CN202110827259 A CN 202110827259A CN 113486331 A CN113486331 A CN 113486331A
Authority
CN
China
Prior art keywords
api
call request
target
sandbox
api call
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
Application number
CN202110827259.3A
Other languages
English (en)
Inventor
李庆美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Hangzhou Co Ltd
Original Assignee
Vivo Mobile Communication Hangzhou Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Hangzhou Co Ltd filed Critical Vivo Mobile Communication Hangzhou Co Ltd
Priority to CN202110827259.3A priority Critical patent/CN113486331A/zh
Publication of CN113486331A publication Critical patent/CN113486331A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Abstract

本申请公开了一种API调用请求处理方法、装置、电子设备及可读存储介质,属于计算机技术领域。所述方法包括:基于目标进程的识别结果,确定可信进程和独立进程;根据所述独立进程,构建沙箱进程;在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求;其中,所述可信进程和所述独立进程相互独立运行。

Description

API调用请求处理方法、装置、电子设备及可读存储介质
技术领域
本申请属于计算机技术领域,具体涉及一种API调用请求处理方法、装置、电子设备及可读存储介质。
背景技术
应用程序可以通过访问API(Application Programming Interface,应用程序接口)获取授权的数据。其中,应用程序中的第三方风险组件也能通过云端下载风险代码到本地执行,并通过访问API实现获取授权的数据。上述配合云端动态下发二进制组件并通过API获取数据的方式很难被应用开发者感知,API 访问不易控制使得数据使用不受限制,甚至造成数据外泄。
发明内容
本申请实施例的目的是提供一种API调用请求处理方法、装置、电子设备及可读存储介质,能够解决API访问不易控制的问题。
第一方面,本申请实施例提供了一种API调用请求处理方法,该方法包括:
基于目标进程的识别结果,确定可信进程和独立进程;
根据所述独立进程,构建沙箱进程;
在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标 API调用请求;
其中,所述可信进程和所述独立进程相互独立运行。
第二方面,本申请实施例提供了一种API调用请求处理的装置,该装置包括:
确定模块,用于基于目标进程的识别结果,确定可信进程和独立进程;
构建模块,用于根据所述独立进程,构建沙箱进程;
拦截模块,用于在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求;
其中,所述可信进程和所述独立进程相互独立运行。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
本申请实施例提供的API调用请求处理方法、装置、电子设备及可读存储介质,通过识别目标进程,将其区分为可信进程和独立进程,确保独立进程和其他可信进程隔离;还通过独立进程构建沙箱进程,提升了目标进程的稳定性;在沙箱进程请求调用应用程序接口API的情况下,拦截沙箱进程的API调用请求,从而实现API访问的有效控制,并提高了API访问的安全性。
附图说明
图1是本申请实施例提供的API调用请求处理方法的流程示意图;
图2是本申请实施例提供的API调用请求处理方法的拦截装置初始化流程示意图;
图3是本申请实施例提供的API调用请求处理装置的模块框图;
图4是实现本申请实施例的电子设备的结构示意图;
图5是实现本申请实施例的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的 API调用请求处理方法进行详细地说明。
图1为根据本申请实施例提供的API调用请求处理方法的流程示意图。参照图1,本申请实施例提供一种API调用请求处理方法,可以包括:
步骤110、基于目标进程的识别结果,确定可信进程和独立进程;
步骤120、根据所述独立进程,构建沙箱进程;
步骤130、在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求;
其中,所述可信进程和所述独立进程相互独立运行。
需要说明的是,本申请实施例提供的图像处理方法的执行主体可以是智能电子设备,例如手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等。
下面以计算机作为执行主体实现本申请实施例提供的图像处理方法为例,详细说明本申请的技术方案。
可选地,在步骤110中、目标进程的识别方式根据运行在目标进程中的资源确定。目标进程可以被区分为可信进程和独立进程。其中,独立进程可以为 API访问受限的进程,独立进程将无法访问到受保护对象的API,而可信进程能够正常进行访问受保护对象的API。在目标进程中可以运行应用程序,也可以是网络请求,还可以是文件操作。
可选地,在目标进程中运行的是应用程序时,独立进程中运行的是应用程序的第三方组件;独立进程还可以运行网络请求或预设文件,本申请不作具体限定。
其中,第三方组件可以为应用程序中集成的第三方功能组件,例如包括:崩溃收集组件、图像识别组件或地图组件等。此类商业化组件通常不会提供源代码,并且基本上均为二进制组件,很难通过代码审查的方式来发现上述组件的风险操作。网络请求可以为恶意网站的访问请求或可疑网站的访问请求;预设文件可以为预先存储的被保护的文件,例如:session状态文件。
可选地,在步骤120中、通过把独立进程和可信进程隔离开,再将独立进程放入沙箱中运行,从而构建沙箱进程。
可选地,在步骤130中、沙箱进程中的资源请求调用的API可以是受保护对象对应的API,因此在在沙箱进程中运行的资源请求调用相应API的情况下, API调用请求会被直接拦截。
本申请实施例提供的API调用请求处理方法,通过识别目标进程,将其区分为可信进程和独立进程,确保独立进程和其他可信进程隔离;还通过独立进程构建沙箱进程,提升了目标进程的稳定性;在沙箱进程请求调用应用程序接口API的情况下,拦截沙箱进程的API调用请求,从而实现API访问的有效控制,并提高了API访问的安全性。
在一个实施例中,所述根据所述独立进程,构建沙箱进程包括:
根据所述独立进程和Inline Hook模块,构建所述沙箱进程。
可选地,在独立进程中安装拦截模块,构建沙箱进程。该拦截模块包括 InlineHook模块和接口拦截模块。
其中,Inline Hook模块可以拦截此沙箱进程中所有受保护对象对应的API 的调用请求;接口拦截模块收集所有受保护对象对应的API,并针对上述API 采用Inline Hook模块的能力,将沙箱进程中所有对于受保护对象对应的API 访问全部拦截。
需要说明的是,Inline Hook是一种代码动态修改技术,通过在函数入口处植入一段很短的代码,通常只有几个字节长度,可以将执行目标跳转到拦截接口中执行,以实现对API访问的拦截。
本申请实施例提供的API调用请求处理方法,通过在独立进程中安装 InlineHook模块,可以实现对API的拦截,从而可以控制API访问。
在一个实施例中,所述根据所述独立进程和Inline Hook模块,构建所述沙箱进程,包括:
创建所述独立进程;
初始化所述Inline Hook模块;
在所述Inline Hook模块初始化完成的情况下,运行所述独立进程;
根据初始化后的Inline Hook模块和运行的独立进程,构建所述沙箱进程。
可选地,沙箱进程具体的构建过程可以适用于不同的操作系统,例如包括:Android系统、linux系统或unix系统等。
可选地,Inline Hook模块可以安装在API的接口处,也可以以单独的模块形式安装在操作系统中,本申请不作具体限定。
可选地,下面以在Android系统的独立进程运行第三方组件为例,说明本申请实施例中的沙箱进程具体的构建过程:
步骤1、在AndroidManifest.xml设置某个Activity,并在指定进程中运行此Activity。
步骤2、将第三方组件的使用逻辑,全部放在此Activity中。
步骤3、此Activity启动后,将创建一个独立进程,以供第三方组件运行。
步骤4、当此独立进程onCreate时,初始化Inline Hook拦截装置,实现对所有隐私数据API的拦截。
步骤5、独立进程与Inline Hook拦截装置都已部署完毕,完成构建沙箱进程。
可选地,沙箱进程中所有访问到隐私数据API的调用请求都被拦截。由于可以获取到隐私数据的API都被拦截,所以沙箱进程中的第三方组件就无法获取隐私数据或者获取不到真实的数据,从而达到保护用户数据的目的。
本申请实施例提供的API调用请求处理方法,通过创建独立进程以及初始化Inline Hook模块构建沙箱进程,可以实现对API的拦截,从而可以控制API 访问。
在一个实施例中,所述目标API包括以下任一项:
隐私数据API;
套接字socket API;
文件操作API。
可选地,沙箱进程的API调用请求对应的API即为所有受保护对象对应的 API。例如包括隐私数据API、套接字socket API和文件操作API。其中,隐私数据可以为国际移动设备识别码(International Mobile Equipment Identity, IMEI)、移动设备位置、摄像头和设备唯一标识等。
可选地,在沙箱进程运行第三方组件的情况下,此进程中所有涉及访问到隐私数据API的调用请求将被完全拦截,因此沙箱进程中的第三方组件无法获取隐私数据或真实的数据;在可信进程中运行的组件能够正常访问隐私数据 API。将第三方组件放到沙箱进程中运行,主要为提升应用程序的稳定性,可以配合Inline hook的技术,实现隐私数据保护,还能防止第三方组件引起的稳定性问题而导致应用崩溃的情况。例如:移动终端中保存了大量用户隐私数据,比如通讯录、短信、设备标识、相册、终端位置信息等。若移动终端中的应用程序具备了相关信息的访问权限,则应用程序中的所有代码都可以访问到授权的数据,包括集成第三方功能的风险组件。因此,在移动终端中构建沙箱进程,并对所有涉及用户隐私数据的API采用Inline Hook模块的能力,以使沙箱进程运行风险组件时可以拦截所有隐私数据API的访问请求,从而应用程序中的风险组件无法获取用户隐私数据。
可选地,在沙箱进程运行网络请求的情况下,此进程中所有涉及恶意网站或可疑网站访问请求对应的socket API调用请求将被完全拦截。例如:在浏览网页的过程中,误操作或服务器漏洞可能导致正常网页被恶意网站访问的情况,则在沙箱进程中运行网络请求,对所有涉及恶意网站访问的网络请求的socket API调用请求采用Inline Hook模块的能力,以拦截所有恶意网站的访问。因此,沙箱进程中的网络请求将不会接收到某些恶意网站或可以网站的访问请求。
可选地,在沙箱进程运行预设文件的情况下,此进程中所有涉及到访问对应该预设文件的文件操作API的调用请求将被完全拦截,因此沙箱进程中的预设文件将无法而被访问。其中,预设文件可以为预先存储的被保护的文件,例如:对于记录用户登录状态和用户登录名的session状态文件,在沙箱进程中运行session状态文件,对所有涉及session状态文件的文件操作API采用Inline Hook模块的能力,以拦截对session状态文件的访问请求,所以针对session 状态文件的文件操作将无法被执行。
本申请实施例提供的API调用请求处理方法,通过设置拦截的API,可以实现控制具体的API,并且提高了API访问的灵活度,从而不仅能实现对隐私数据的保护,还能有效控制网络请求和文件访问。
在一个实施例中,所述在所述沙箱进程请求调用目标应用程序接口API 的情况下,拦截所述目标API调用请求,包括:
在所述沙箱进程中运行第三方组件;
在所述第三方组件请求调用所述目标API的情况下,拦截所述目标API 调用请求;
其中,所述第三方组件为应用程序中未开放源代码的组件。
可选地,应用程序中通常会集成第三方功能组件,例如包括:崩溃收集组件、AI图像识别组件、地图组件等。此类组件未开放源代码,很难被感知和控制。而应用程序被授予某项访问权限后,此应用中的所有代码都可以访问到授权的数据,包括第三方组件。因此,第三方组件存在对隐私数据或敏感数据的访问和使用的风险。
可选地,将第三方组件放入沙箱进程中运行,应用程序中的其他安全组件放入可信进程中运行,沙箱进程和可信进程形成隔离。在第三方组件在沙箱进程中请求调用API的情况下,例如调用隐私数据API,沙箱进程将会拦截第三方组件的API调用请求。沙箱进程将无法访问受保护的数据,而在可信进程中运行的组件的API调用请求将不受影响。
本申请实施例提供的API调用请求处理方法,通过在沙箱进程中运行第三方组件,有效的防止了第三方组件窃取用户数据,保证了用户的数据安全。
在一个实施例中,所述拦截所述目标API调用请求包括以下任一项:
拒绝所述目标API调用请求;
返回无效数据;
其中,所述无效数据包括以下任一项:空数据;自定义数据。
可选地,在沙箱进程中API调用请求涉及到受保护对象对应的API的情况下,将会被直接拒绝该调用请求或返回一个无效数据。即有第三方组件将无法获取隐私数据或真实的数据,某些恶意网站的访问将被限制或者某些文件的访问被拒绝。
可选地,无效数据可以是自定义数据,例如:无效数据设置为“123456”等自定义测试数据;无效数据还可以是空数据,例如:无效数据设置为“0”,表示系统中没有安装应用程序。
本申请实施例提供的API调用请求处理方法,通过拦截沙箱进程的API 调用请求,有效提高API访问控制能力。
在一个实施例中,还包括:
在所述可信进程请求调用所述目标API的情况下,将所述目标API调用请求发送至所述目标API。
可选地,基于可信进程与沙箱进程之间的资源独立的特性,可信进程中的 API访问不受限制,能够正常访问所有API调用请求对应的API。即可以正常获取隐私数据,也可以接收到可信任网站的访问,也能够控制文件操作以正常访问文件。
本申请实施例提供的API调用请求处理方法,通过隔离可信进程和独立进程,充分保障了API的正常访问权限。
在一个实施例中,图2为本申请实施例提供的API调用请求处理方法的拦截装置初始化流程示意图。参照图2,本申请实施例提供一种API调用请求处理方法,可以包括:
步骤1、进程启动;识别目标进程,确定可信进程和独立进程。
步骤2、根据独立进程,判断是否构建沙箱进程;若否,则流程结束,若是,则进入初始化拦截装置。拦截装置包括Inline Hook模块和接口拦截模块。
步骤3、安装拦截接口;拦截接口用于执行被Inline Hook模块跳转的执行目标。
步骤4、初始化完成。
本申请实施例提供的API调用请求处理方法,采用基于进程隔离的方式,加强API访问权限控制能力,提升了应用的隐私数据保护能力,有效防止第三方组件窃取用户隐私数据。
需要说明的是,本申请实施例提供的API调用请求处理方法,执行主体可以为API调用请求处理装置,或者该API调用请求处理装置中的用于执行API 调用请求处理的方法的控制模块。本申请实施例中以API调用请求处理装置执行API调用请求处理的方法为例,说明本申请实施例提供的API调用请求处理的装置。
图3是本申请实施例提供的API调用请求处理装置的模块框图。参照图3,本申请实施例提供一种API调用请求处理装置,可以包括:
确定模块310,用于基于目标进程的识别结果,确定可信进程和独立进程;
构建模块320,用于根据所述独立进程,构建沙箱进程;
拦截模块330,用于在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求;
其中,所述可信进程和所述独立进程相互独立运行。
本申请实施例提供的API调用请求处理装置,通过识别目标进程,将其区分为可信进程和独立进程,确保独立进程和其他可信进程隔离;还通过独立进程构建沙箱进程,提升了目标进程的稳定性;在沙箱进程请求调用应用程序接口API的情况下,拦截沙箱进程的API调用请求,从而实现API访问的有效控制,并提高了API访问的安全性。
在一个实施例中,所述构建模块320,还具体用于:
根据所述独立进程和Inline Hook模块,构建所述沙箱进程。
在一个实施例中,所述根据所述独立进程和Inline Hook模块,构建所述沙箱进程,包括:
创建所述独立进程;
初始化所述Inline Hook模块;
在所述Inline Hook模块初始化完成的情况下,运行所述独立进程;
根据初始化后的Inline Hook模块和运行的独立进程,构建所述沙箱进程。
在一个实施例中,所述目标API包括以下任一项:
隐私数据API;
套接字socket API;
文件操作API。
在一个实施例中,所述在所述沙箱进程请求调用目标应用程序接口API 的情况下,拦截所述目标API调用请求,包括:
在所述沙箱进程中运行第三方组件;
在所述第三方组件请求调用所述目标API的情况下,拦截所述目标API 调用请求;
其中,所述第三方组件为应用程序中未开放源代码的组件。
在一个实施例中,所述拦截所述目标API调用请求包括以下任一项:
拒绝所述目标API调用请求;
返回无效数据;
其中,所述无效数据包括以下任一项:空数据;自定义数据。
在一个实施例中,所述API调用请求处理装置还可以包括发送模块(未示出),用于:
在所述可信进程请求调用所述目标API的情况下,将所述目标API调用请求发送至所述目标API。
本申请实施例中的API调用请求处理装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA) 等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage, NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的API调用请求处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的API调用请求处理装置能够实现图1和图2的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图4所示,本申请实施例还提供一种电子设备400,包括处理器401,存储器402,存储在存储器402上并可在所述处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述API调用请求处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图5为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、以及处理器510等部件。
本领域技术人员可以理解,电子设备500还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器510,用于:
基于目标进程的识别结果,确定可信进程和独立进程;
根据所述独立进程,构建沙箱进程;
在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标 API调用请求;
其中,所述可信进程和所述独立进程相互独立运行。
本申请实施例提供的电子设备,通过识别目标进程,将其区分为可信进程和独立进程,确保独立进程和其他可信进程隔离;还通过独立进程构建沙箱进程,提升了目标进程的稳定性;在沙箱进程请求调用应用程序接口API的情况下,拦截沙箱进程的API调用请求,从而实现API访问的有效控制,并提高了 API访问的安全性。
可选地,处理器510,还用于:
根据所述独立进程和Inline Hook模块,构建所述沙箱进程。
可选地,所述目标API包括以下任一项:
隐私数据API;
套接字socket API;
文件操作API。
可选地,所述在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求,包括:
在所述沙箱进程中运行第三方组件;
在所述第三方组件请求调用所述目标API的情况下,拦截所述目标API 调用请求;
其中,所述第三方组件为应用程序中未开放源代码的组件。
可选地,所述拦截所述目标API调用请求包括以下任一项:
拒绝所述目标API调用请求;
返回无效数据;
其中,所述无效数据包括以下任一项:空数据;自定义数据。
可选地,处理器510,还用于:
在所述可信进程请求调用所述目标API的情况下,将所述目标API调用请求发送至所述目标API。
应理解的是,本申请实施例中,输入单元504可以包括图形处理器 (GraphicsProcessing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元506可包括显示面板5061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板5061。用户输入单元507 包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其他输入设备 5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器509可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述API调用请求处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述API 调用请求处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘) 中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (10)

1.一种API调用请求处理方法,其特征在于,包括:
基于目标进程的识别结果,确定可信进程和独立进程;
根据所述独立进程,构建沙箱进程;
在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求;
其中,所述可信进程和所述独立进程相互独立运行。
2.根据权利要求1所述的API调用请求处理方法,其特征在于,所述根据所述独立进程,构建沙箱进程包括:
根据所述独立进程和Inline Hook模块,构建所述沙箱进程。
3.根据权利要求2所述的API调用请求处理方法,其特征在于,所述根据所述独立进程和Inline Hook模块,构建所述沙箱进程,包括:
创建所述独立进程;
初始化所述Inline Hook模块;
在所述Inline Hook模块初始化完成的情况下,运行所述独立进程;
根据初始化后的Inline Hook模块和运行的独立进程,构建所述沙箱进程。
4.根据权利要求1所述的API调用请求处理方法,其特征在于,所述目标API包括以下任一项:
隐私数据API;
套接字socket API;
文件操作API。
5.根据权利要求1所述的API调用请求处理方法,其特征在于,所述在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求,包括:
在所述沙箱进程中运行第三方组件;
在所述第三方组件请求调用所述目标API的情况下,拦截所述目标API调用请求;
其中,所述第三方组件为应用程序中未开放源代码的组件。
6.根据权利要求1所述的API调用请求处理方法,其特征在于,所述拦截所述目标API调用请求包括以下任一项:
拒绝所述目标API调用请求;
返回无效数据;
其中,所述无效数据包括以下任一项:空数据;自定义数据。
7.根据权利要求1所述的API调用请求处理方法,其特征在于,还包括:
在所述可信进程请求调用所述目标API的情况下,将所述目标API调用请求发送至所述目标API。
8.一种API调用请求处理装置,其特征在于,包括:
确定模块,用于基于目标进程的识别结果,确定可信进程和独立进程;
构建模块,用于根据所述独立进程,构建沙箱进程;
拦截模块,用于在所述沙箱进程请求调用目标应用程序接口API的情况下,拦截所述目标API调用请求;
其中,所述可信进程和所述独立进程相互独立运行。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的API调用请求处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的API调用请求处理方法的步骤。
CN202110827259.3A 2021-07-21 2021-07-21 Api调用请求处理方法、装置、电子设备及可读存储介质 Pending CN113486331A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110827259.3A CN113486331A (zh) 2021-07-21 2021-07-21 Api调用请求处理方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110827259.3A CN113486331A (zh) 2021-07-21 2021-07-21 Api调用请求处理方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113486331A true CN113486331A (zh) 2021-10-08

Family

ID=77942862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110827259.3A Pending CN113486331A (zh) 2021-07-21 2021-07-21 Api调用请求处理方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113486331A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345604A (zh) * 2013-07-16 2013-10-09 湘潭大学 基于轻量虚拟机监控器的沙盒系统及用其监控os的方法
CN104598257A (zh) * 2013-10-30 2015-05-06 华为技术有限公司 远程应用程序运行的方法和装置
CN108985086A (zh) * 2018-07-18 2018-12-11 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备
CN109992965A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 进程处理方法和装置、电子设备、计算机可读存储介质
CN112231699A (zh) * 2020-10-15 2021-01-15 北京明略昭辉科技有限公司 读取函数的拦截方法、装置、电子设备和计算机可读介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345604A (zh) * 2013-07-16 2013-10-09 湘潭大学 基于轻量虚拟机监控器的沙盒系统及用其监控os的方法
CN104598257A (zh) * 2013-10-30 2015-05-06 华为技术有限公司 远程应用程序运行的方法和装置
CN109992965A (zh) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 进程处理方法和装置、电子设备、计算机可读存储介质
CN108985086A (zh) * 2018-07-18 2018-12-11 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备
CN112231699A (zh) * 2020-10-15 2021-01-15 北京明略昭辉科技有限公司 读取函数的拦截方法、装置、电子设备和计算机可读介质

Similar Documents

Publication Publication Date Title
EP2562673B1 (en) Apparatus and method for securing mobile terminal
US7779062B2 (en) System for preventing keystroke logging software from accessing or identifying keystrokes
EP2909775B1 (en) Mobile application management
EP1512057B1 (en) Trusted user interface for a secure mobile wireless device
KR101295428B1 (ko) 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법
EP3370449B1 (en) Method and device for configuring security indication information
CN105531692A (zh) 针对由在虚拟机里面运行的移动应用加载、链接和执行本地代码的安全策略
US20190034624A1 (en) Methods and apparatus to monitor permission-controlled hidden sensitive application behavior at run-time
EP3176719B1 (en) Methods and devices for acquiring certification document
CN106557669A (zh) 一种应用程序安装过程的权限控制方法及装置
CN108319849B (zh) 基于安卓双容器系统的设备策略管理系统及管理域实现方法
EP3021250B1 (en) Electronic device and method for suggesting response manual in occurrence of denial
Cappos et al. Blursense: Dynamic fine-grained access control for smartphone privacy
CN106557687A (zh) 一种应用程序安装过程的权限控制方法及装置
CN113569288A (zh) 权限管理方法、装置及电子设备
CN105745896A (zh) 用于经由面向方面编程来增强移动安全的系统和方法
JP2011034349A (ja) 端末保護システム及び端末保護方法
CN113486331A (zh) Api调用请求处理方法、装置、电子设备及可读存储介质
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
Yang et al. Research on non-authorized privilege escalation detection of android applications
CN111639339A (zh) 进程监控方法、装置、电子设备及存储介质
CN111177726A (zh) 一种系统漏洞检测方法、装置、设备及介质
CN116956310B (zh) 漏洞防护方法、装置、设备和可读存储介质
CN117454364A (zh) 权限管理方法、装置、电子设备及可读存储介质
Song et al. Android Data-Clone Attack via Operating System Customization

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