CN113221099A - 针对接口调用请求的处理方法及装置 - Google Patents

针对接口调用请求的处理方法及装置 Download PDF

Info

Publication number
CN113221099A
CN113221099A CN202110499467.5A CN202110499467A CN113221099A CN 113221099 A CN113221099 A CN 113221099A CN 202110499467 A CN202110499467 A CN 202110499467A CN 113221099 A CN113221099 A CN 113221099A
Authority
CN
China
Prior art keywords
code
interface
role
target
determining
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
CN202110499467.5A
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110499467.5A priority Critical patent/CN113221099A/zh
Publication of CN113221099A publication Critical patent/CN113221099A/zh
Priority to PCT/CN2022/090250 priority patent/WO2022233270A1/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/54Monitoring 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 adding security routines or objects to programs
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本说明书实施例提供一种针对接口调用请求的处理方法及装置,在针对接口调用请求的处理方法中,当检测到针对客户端应用中的第一接口的调用请求时,获取已调用的各第二接口,其中第一接口包括对敏感数据或私有数据的操作函数。将第一接口和第二接口均作为目标接口形成调用链路。通过读取预先配置的代码角色描述信息,获取调用链路中各目标接口各自对应的代码角色,该代码角色用于指示接口代码的来源和/或属性。基于各目标接口各自对应的代码角色以及接口功能,确定调用请求是否存在风险。在调用请求不存在风险的情况下,执行调用请求。

Description

针对接口调用请求的处理方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种针对接口调用请求的处理方法及装置。
背景技术
为丰富客户端应用的功能,其通常需要集成第三方或者生态开发者的代码(以下称集成代码)。比如,为了使得电商应用能够提供支付功能,其通常需要集成第三方支付应用的代码。通常情况下,集成代码的安全水位和安全可靠性和客户端应用自身的代码(以下称自有代码)有较大的差异,但是集成代码和自有代码又运行在同一个进程里,无法进行切割,这就使得无法针对客户端应用的行为进行有效地风险控制。
发明内容
本说明书一个或多个实施例描述了一种针对接口调用请求的处理方法及装置,可以实现对客户端应用的行为进行有效地风险控制。
第一方面,提供了一种针对接口调用请求的处理方法,包括:
当检测到针对所述客户端应用中的第一接口的调用请求时,获取已调用的各第二接口,其中所述第一接口包括对敏感数据或私有数据的操作函数;
将所述第一接口和所述第二接口均作为目标接口形成调用链路;
通过读取预先配置的代码角色描述信息,获取所述调用链路中各目标接口各自对应的代码角色,所述代码角色用于指示接口代码的来源和/或属性;
基于所述各目标接口各自对应的代码角色以及接口功能,确定所述调用请求是否存在风险;
在所述调用请求不存在风险的情况下,执行所述调用请求。
第二方面,提供了一种针对接口调用请求的处理装置,包括:
获取单元,用于当检测到针对所述客户端应用中的第一接口的调用请求时,获取已调用的各第二接口,其中所述第一接口包括对敏感数据或私有数据的操作函数;
形成单元,用于将所述第一接口和所述第二接口均作为目标接口形成调用链路;
所述获取单元,还用于通过读取预先配置的代码角色描述信息,获取所述调用链路中各目标接口各自对应的代码角色,所述代码角色用于指示接口代码的来源和/或属性;
确定单元,用于基于所述各目标接口各自对应的代码角色以及接口功能,确定所述调用请求是否存在风险;
执行单元,用于在所述调用请求不存在风险的情况下,执行所述调用请求。
第三方面,提供了一种提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
本说明书一个或多个实施例提供的针对接口调用请求的处理方法及装置,当检测到针对客户端应用中的第一接口的调用请求时,获取已调用的各第二接口,其中第一接口包括对敏感数据或私有数据的操作函数。将第一接口和第二接口均作为目标接口形成调用链路。通过读取预先配置的代码角色描述信息,获取调用链路中各目标接口各自对应的代码角色,该代码角色用于指示接口代码的来源和/或属性。基于各目标接口各自对应的代码角色以及接口功能,确定调用请求是否存在风险。在调用请求不存在风险的情况下,执行调用请求。也即本方案中,通过为客户端应用中的代码设定代码角色,实现对客户端应用的行为进行有效地风险控制。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的一个实施例的实施场景示意图;
图2为本说明书一个实施例提供的针对接口调用请求的处理方法流程图;
图3为本说明书提供的针对接口的调用请求处理方法示意图;
图4为本说明书一个实施例提供的针对接口调用请求的处理装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在描述本说明书实施例提供的方案之前,先对本方案的发明构思作以下说明。
如前所述,为丰富客户端应用的功能,客户端应用通常需要集成第三方或者生态开发者的代码。在客户端应用中集成这些代码之后,为了能够对客户端应用的行为进行风险控制,本申请的发明人提出,针对集成代码以及自有代码设定对应的代码角色,这里的代码角色用于指示代码的来源和/或属性。
此外,本申请的发明人还提出,检测针对客户端应用中的第一接口的调用请求。这里的第一接口包括对敏感数据或私有数据的操作函数。具体地,当检测到该调用请求时,获取包含当前调用的第一接口以及已调用的各第二接口的整个调用链路,并确定调用链路中的各接口各自对应的代码角色。之后,基于确定的代码角色,分析当前的调用请求是否存在风险,或者说,分线当前的调用请求的安全性。
需要说明,本方案通过为客户端应用中的代码设定代码角色,可以实现对客户端应用的行为进行有效地风险控制。此外,基于调用链路中的多个目标接口各自对应的代码角色,对当前调用请求的安全性进行分析,可以大大提升安全分析的准确性。
图1为本说明书提供的一个实施例的实施场景示意图。图1中,客户端应用可以包括代理模块、信息汇总模块和决策处置模块。其中的代理模块与第一接口(包括对敏感数据或私有数据的操作函数)一一对应,其用于检测对应的第一接口的调用。信息汇总模块用于汇总客户端应用的整个调用链路,这里的调用链路包括客户端应用已调用的各第二接口以及当前调用的第一接口。此外,还用于汇总链路中各目标接口各自对应的代码角色。决策处置模块用于基于调用链路和代码角色,确定针对第一接口的调用请求的处置方法。这里的处置方法可以包括以下中的任一种:正常放行、直接拦截以及返回修改等。
具体地,代理模块检测是否接收到针对客户端应用中的第一接口的调用请求,在检测到该调用请求时,向信息汇总模块发送信息汇总指示。信息汇总模块汇总客户端应用的整个调用链路,并通过读取预先配置的代码角色描述信息,获取调用链路中各目标接口各自对应的代码角色。之后,信息汇总模块可以将整个调用链路连同链路中各目标接口各自对应的代码角色一起发送给决策处置模块。决策处置模块可以基于整个调用链路以及链路中各目标接口各自对应的代码角色,确定上述调用请求的处置方法。之后将处置方法返回给代理模块。代理模块基于接收的处置方法,处理针对第一接口的调用请求。
图2为本说明书一个实施例提供的针对接口调用请求的处理方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者***或者应用,如,可以为图1中的客户端应用。如图2所示,所述方法具体可以包括:
步骤202,当检测到针对客户端应用中的第一接口的调用请求时,获取已调用的各第二接口。
这里的客户端应用可以包括以下中的任一种:手机或个人计算机(personalcomputer,PC)上的应用、手机小程序以及物联网(The Internet of Things,IOT)上的应用等。
通常情况下,客户端应用的源代码中可以包含多个接口(也称函数或者节点)。其中的每个接口可以对应于客户端应用的一个功能。通过组合调用多个接口中的至少一部分接口,就可以对外提供一项业务(比如,支付业务等)。换句话说,客户端应用在响应外部调用或执行业务的过程中会调用若干内部接口。
在本说明书实施例中,将针对第一接口的调用进行检测。这里的第一接口可以包括对敏感数据或私有数据的操作函数。该操作函数可以包括以下中的任一种:用于产生、获取敏感数据或隐私数据的函数、用于加工、处理敏感数据或隐私数据的函数以及用于传递、发送敏感数据或隐私数据的函数等。
上述第二接口可以理解为是客户端应用在响应外部调用的过程中已调用的各接口,也即各第二接口的调用顺序在第一接口之前。
步骤202中,获取已调用的各第二接口可以包括:确定客户端应用已调用的若干线程,根据若干线程各自调用的接口确定各第二接口。
需要说明,在客户端应用响应外部调用的过程中,可以记录操作***为其分配的首个线程。或者说,可以记录客户端应用调用的首个线程。在首个线程运行结束之后,可以记录该首个线程的链路信息,该链路信息用于指示出下一线程。之后,在下一线程运行结束之后,可以记录下一线程的下一线程的链路信息;依次类推,直至到达最后一个线程。
在一个示例中,可以通过在客户端应用中设置埋点的方式来获取线程的链路信息。具体地,可以预先在客户端应用中针对线程的关闭或者结束等操作设置埋点,之后,当在客户端应用中执行针对线程的关闭或者结束等操作时,就可以触发相应的埋点记录线程的链路信息。
应理解,基于客户端应用记录的首个线程以及各线程的链路信息,就可以得到上述若干线程。其中,除首个线程外的其它线程中任意的第一线程根据其前一线程的链路信息确定。还需要说明,除上述线程的链路信息外,本说明书实施例还可以记录各线程各自调用的接口。其中,各线程各自调用的接口也可以通过设置埋点的方式来获取。具体地,可以预先在客户端应用中针对接口的调用操作设置埋点,之后,当在客户端应用中执行针对接口的调用操作时,就可以触发相应的埋点记录被调用的接口的描述信息。这里的描述信息可以包括但不限于接口名称以及参数等信息。
在一个例子中,假设客户端应用调用了线程1-线程3,且首个线程为线程1,那么通过埋点的方式记录的各线程的链路信息以及各线程各自调用的接口的描述信息分别如表1和表2所示。
表1
线程名 链路信息
线程1 线程2
线程2 线程3
线程3 Null
应理解,表1只是一种示例性说明,在实际应用中,客户端应用记录的线程数通常多于3个。
表2
线程名 接口的描述信息
线程1 接口1(…),接口2(…),接口3(…)
线程2 接口4(…),接口5(…)
线程3 接口6(…),接口7(…)
应理解,表2只是一种示例性说明,在实际应用中,客户端应用记录的描述信息还可以包括接口路径等其它信息。
在前述例子中,首先,确定已调用的若干线程可以为:线程1-线程3。之后,根据线程1-线程3各自调用的接口可以确定出各第二接口:接口1-接口7。
步骤204,将第一接口和第二接口均作为目标接口形成调用链路。
如前述例子中,若将第一接口表示为接口x,那么形成的调用链路可以为:接口1->接口2->接口3->接口4->接口5->接口6->接口7->接口x。应理解,这里只是一种示例性说明,在实际应用,各接口之间的调用顺序也可以调换,比如,上述调用链路也可以表示为:接口x->接口1->接口2->接口3->接口4->接口5->接口6->接口7,本说明书对此不作限定。
本说明实施例中,通过设置埋点的方式记录线程的链路信息以及线程调用的接口,可以恢复出客户端应用的整个调用链路,从而可以基于整个调用链路,对第一接口的调用请求进行安全分析,由此可以大大提升调用请求安全性分析的准确性。
步骤206,通过读取预先配置的代码角色描述信息,获取调用链路中各目标接口各自对应的代码角色。
该代码角色用于指示接口代码的来源和/或属性。在一个示例中,该代码角色可以包括以下中的至少一种:自有代码角色、三方软件开发工具包(Software DevelopmentKit,SDK)代码角色、二方SDK代码角色、黑盒集成代码角色以及白盒集成代码角色等。其中的自有代码可以是指客户端应用自身的源代码,其来源为客户端应用。三方SDK代码可以是指由第三方开发的、以SDK形式集成到客户端应用内部的代码,其来源为第三方,属性为集成代码。二方SDK代码例如可以为手机小程序等,其属性为集成代码。黑盒集成代码可以是指编译代码集成,白盒集成代码是指源代码集成。该两者的属性也均为集成代码。
上述代码角色描述信息至少指示出多个代码角色及其对应的代码范围。此外,还可以指示出多个代码角色各自对应的安全级别等。
在一个示例中,上述代码范围具体可以通过安装包的名称(简称包名)来划分。在另一示例中,上述代码范围也可以通过接口路径来表示。当通过包名来划分代码范围时,上述代码角色描述信息的内容可以如表3所示。
表3
代码角色 包名
自有代码角色 包名1
三方SDK代码角色 包名2
二方SDK代码角色 包名3
黑盒集成代码角色 包名4
白盒集成代码角色 包名5
步骤206中,获取调用链路中各目标接口各自对应的代码角色具体可以包括:对于各目标接口中任意的第一目标接口,确定第一目标接口所属的第一代码范围。比如可以基于针对第一目标接口预先配置的接口描述信息,确定第一目标接口所属的第一代码范围。该接口描述信息至少指示出第一目标接口对应的包名或者接口路径。之后,通过读取代码角色描述信息,获取对应于第一代码范围的代码角色,并将其确定为第一目标接口对应的代码角色。
以代码角色描述信息的内容如表3为例来说,假设第一目标接口所属的包名为:包名2,那么该第一目标接口对应的代码角色可以为:三方SDK代码角色。
步骤208,基于各目标接口各自对应的代码角色以及接口功能,确定针对第一接口的调用请求是否存在风险。
在一种实现方式中,可以基于各目标接口各自对应的代码角色以及接口功能,查询风控规则库,以判断是否存在相匹配的风控规则。这里的风控规则至少可以包括匹配条件,该匹配条件至少指示出代码角色以及接口功能。在不存在相匹配的风控规则的情况下,确定调用请求不存在风险;否则确定调用请求存在风险。
当然,在实际应用中,上述风控规则还可以包括处置方法。该处置方法可以包括返回修改或者直接拦截等,其可以是在调用请求存在风险的情况下使用,也即在存在相匹配的风控规则的情况下使用。在一个例子中,各处置方法具有对应的等级信息,从而可以将相匹配的各风控规则中等级信息最高的处置方法作为最终处置方法。最后根据最终处置方法,处理针对第一接口的调用请求。
在其它实现方式中,也可以预先设定包含代码角色和接口功能的安全数据对,之后,将调用链路中每个目标接口的代码角色以及接口功能与上述安全数据对进行匹配,若任一目标接口的代码角色以及接口功能与上述安全数据对不匹配,则认为针对第一接口的调用请求存在风险。
需要说明,以上是基于代码角色和接口功能,来确定针对第一接口的调用请求是否存在风险,在实际应用中,也可以结合其它维度,来对调用请求进行安全性分析,这里的其它维度例如可以为安全级别以及运行环境(比如,操作***的版本)等。
以安全级别为例来说,确定针对第一接口的调用请求是否存在风险可以包括:通过读取代码角色描述信息,获取对应于各目标接口各自的代码角色的安全级别,基于各目标接口各自对应的安全级别以及接口功能,确定调用请求是否存在风险。这里基于安全级别以及接口功能进行安全性分析的方法,可以参照上述两种实现方式,本说明书在此不复赘述。
步骤210,在调用请求不存在风险的情况下,执行调用请求。
这里执行调用请求也可以理解为是针对调用请求的最终处理方法为正常放行。而在调用请求存在风险的情况下,则基于最终处理方法(比如,返回修改或者直接拦截),处理该调用请求。
综合以上,本说明书实施例提供的针对接口的调用请求的处理方法,通过为客户端应用中的代码设定代码角色,可以实现对客户端应用的行为进行有效地风险控制。此外,本方案通过设置埋点的方式记录线程的链路信息以及线程调用的接口,可以恢复出客户端应用的整个调用链路,从而可以基于整个调用链路,对第一接口的调用请求进行安全分析,由此可以大大提升调用请求安全性分析的准确性。
图3为本说明书提供的针对接口的调用请求处理方法示意图。图3中,客户端应用在接收到外部调用时,首先可以记录当前的运行环境。这里的运行环境可以包括但不限于操作***的版本等信息。之后,客户端应用先后调用了线程1-线程3,其中的线程1在运行过程中调用了接口1-接口3,线程2在运行过程中调用了接口4-接口5,线程3在运行过程中调用了接口6-接口7。需要说明,上述每个线程在运行过程中调用的各接口,以及各线程之间的链路信息均会被记录下来。其中的每个线程调用的接口可以是在各接口被调用时记录,各线程的链路信息可以是在每个线程关闭或结束时记录。最后,当客户端应用调用接口x时,触发了代理模块的接口检测功能。具体如下:
首先代理模块指示信息汇总模块汇总客户端应用已调用的各接口(即接口1-接口7),基于接口x和已调用的各接口形成客户端应用的整个调用链路。以及通过读取预先配置的代码角色描述信息,获取调用链路中各目标接口各自对应的代码角色。此外,还可以读取预先记录的运行环境。之后,将整个调用链路、链路中各目标接口各自对应的代码角色以及运行环境一起发送给决策处置模块。决策处置模块可以基于整个调用链路、链路中各目标接口各自对应的代码角色以及运行环境,查询风控规则库,以确定上述调用请求的处置方法。之后将处置方法返回给代理模块。代理模块基于接收的处置方法,处理针对接口x的调用请求。比如,正常放行、返回修改或直接拦截针对接口x的调用请求。
与上述针对接口调用请求的处理方法对应地,本说明书一个实施例还提供的一种针对接口调用请求的处理装置,设置于客户端应用。如图4所示,该装置可以包括:
获取单元402,用于当检测到针对客户端应用中的第一接口的调用请求时,获取已调用的各第二接口,其中第一接口包括对敏感数据或私有数据的操作函数。这里的操作函数包括以下中的一种:
用于产生、获取敏感数据或隐私数据的函数;
用于加工、处理敏感数据或隐私数据的函数;
用于传递、发送敏感数据或隐私数据的函数。
获取单元402具体用于:
确定客户端应用已调用的若干线程;
根据若干线程各自调用的接口确定各第二接口。
其中,上述若干线程具有顺序关系。该若干线程中的首个线程由客户端应用记录,除首个线程外的其它线程中任意的第一线程根据其前一线程的链路信息确定。
形成单元404,用于将第一接口和第二接口均作为目标接口形成调用链路。
获取单元402,还用于通过读取预先配置的代码角色描述信息,获取调用链路中各目标接口各自对应的代码角色,该代码角色用于指示接口代码的来源和/或属性。
其中代码角色包括以下中的至少一种:自有代码角色、三方SDK代码角色、二方SDK代码角色、黑盒集成代码角色以及白盒集成代码角色。
上述代码角色描述信息至少指示出,多个代码角色及其对应的代码范围。
获取单元402还具体用于:
对于各目标接口中任意的第一目标接口,确定第一目标接口所属的第一代码范围;
通过读取代码角色描述信息,获取对应于第一代码范围的代码角色,并将其确定为第一目标接口对应的代码角色。
确定单元406,用于基于各目标接口各自对应的代码角色以及接口功能,确定调用请求是否存在风险。
确定单元406具体用于:
基于各目标接口各自对应的代码角色以及接口功能,查询风控规则库,以判断是否存在相匹配的风控规则。该风控规则包括匹配条件,匹配条件至少指示出代码角色以及接口功能;
在不存在相匹配的风控规则的情况下,确定调用请求不存在风险;否则确定调用请求存在风险。
执行单元408,用于在调用请求不存在风险的情况下,执行调用请求。
上述代码角色描述信息还指示出,多个代码角色各自对应的安全级别。
获取单元402,还用于通过读取代码角色描述信息,获取对应于各目标接口各自的代码角色的安全级别。
确定单元406具体用于:
基于各目标接口各自对应的安全级别以及接口功能,确定调用请求是否存在风险。
上述风控规则还包括处置方法,如返回修改或直接拦截等,以及该处置方法具有等级信息。该装置还包括:处理单元410。
确定单元406,还用于在存在相匹配的风控规则的情况下,将相匹配的各风控规则中等级信息最高的处置方法作为最终处置方法。
处理单元410,用于根据最终处置方法,处理调用请求。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的针对接口调用请求的处理装置,可以实现对客户端应用的行为进行有效地风险控制。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (22)

1.一种针对接口调用请求的处理方法,由客户端应用执行,该方法包括:
当检测到针对所述客户端应用中的第一接口的调用请求时,获取已调用的各第二接口,其中所述第一接口包括对敏感数据或私有数据的操作函数;
将所述第一接口和所述第二接口均作为目标接口形成调用链路;
通过读取预先配置的代码角色描述信息,获取所述调用链路中各目标接口各自对应的代码角色,所述代码角色用于指示接口代码的来源和/或属性;
基于所述各目标接口各自对应的代码角色以及接口功能,确定所述调用请求是否存在风险;
在所述调用请求不存在风险的情况下,执行所述调用请求。
2.根据权利要求1所述的方法,所述操作函数包括以下中的一种:
用于产生、获取敏感数据或隐私数据的函数;
用于加工、处理敏感数据或隐私数据的函数;
用于传递、发送敏感数据或隐私数据的函数。
3.根据权利要求1所述的方法,所述获取已调用的各第二接口,包括:
确定所述客户端应用已调用的若干线程;
根据所述若干线程各自调用的接口确定所述各第二接口。
4.根据权利要求3所述的方法,所述若干线程具有顺序关系;所述若干线程中的首个线程由所述客户端应用记录,除所述首个线程外的其它线程中任意的第一线程根据其前一线程的链路信息确定。
5.根据权利要求1所述的方法,所述代码角色描述信息至少指示出,多个代码角色及其对应的代码范围;
所述获取所述调用链路中各目标接口各自对应的代码角色,包括:
对于所述各目标接口中任意的第一目标接口,确定所述第一目标接口所属的第一代码范围;
通过读取所述代码角色描述信息,获取对应于所述第一代码范围的代码角色,并将其确定为所述第一目标接口对应的代码角色。
6.根据权利要求5所述的方法,所述代码角色描述信息还指示出,所述多个代码角色各自对应的安全级别;所述方法还包括:
通过读取所述代码角色描述信息,获取对应于所述各目标接口各自的代码角色的安全级别;
所述确定所述调用请求是否存在风险,包括:
基于所述各目标接口各自对应的安全级别以及接口功能,确定所述调用请求是否存在风险。
7.根据权利要求1所述的方法,所述代码角色包括以下中的至少一种:自有代码角色、三方SDK代码角色、二方SDK代码角色、黑盒集成代码角色以及白盒集成代码角色。
8.根据权利要求1所述的方法,所述确定所述调用请求是否存在风险,包括:
基于所述各目标接口各自对应的代码角色以及接口功能,查询风控规则库,以判断是否存在相匹配的风控规则;所述风控规则包括匹配条件,所述匹配条件至少指示出代码角色以及接口功能;
在不存在相匹配的风控规则的情况下,确定所述调用请求不存在风险;否则确定所述调用请求存在风险。
9.根据权利要求8所述的方法,所述风控规则还包括处置方法,且所述处置方法具有等级信息;所述方法还包括:
在存在相匹配的风控规则的情况下,将相匹配的各风控规则中等级信息最高的处置方法作为最终处置方法;
根据所述最终处置方法,处理所述调用请求。
10.根据权利要求9所述的方法,所述处置方法包括返回修改或直接拦截。
11.一种针对接口调用请求的处理装置,设置于客户端应用,该装置包括:
获取单元,用于当检测到针对所述客户端应用中的第一接口的调用请求时,获取已调用的各第二接口,其中所述第一接口包括对敏感数据或私有数据的操作函数;
形成单元,用于将所述第一接口和所述第二接口均作为目标接口形成调用链路;
所述获取单元,还用于通过读取预先配置的代码角色描述信息,获取所述调用链路中各目标接口各自对应的代码角色,所述代码角色用于指示接口代码的来源和/或属性;
确定单元,用于基于所述各目标接口各自对应的代码角色以及接口功能,确定所述调用请求是否存在风险;
执行单元,用于在所述调用请求不存在风险的情况下,执行所述调用请求。
12.根据权利要求11所述的装置,所述操作函数包括以下中的一种:
用于产生、获取敏感数据或隐私数据的函数;
用于加工、处理敏感数据或隐私数据的函数;
用于传递、发送敏感数据或隐私数据的函数。
13.根据权利要求11所述的装置,所述获取单元具体用于:
确定所述客户端应用已调用的若干线程;
根据所述若干线程各自调用的接口确定所述各第二接口。
14.根据权利要求13所述的装置,所述若干线程具有顺序关系;所述若干线程中的首个线程由所述客户端应用记录,除所述首个线程外的其它线程中任意的第一线程根据其前一线程的链路信息确定。
15.根据权利要求11所述的装置,所述代码角色描述信息至少指示出,多个代码角色及其对应的代码范围;
所述获取单元还具体用于:
对于所述各目标接口中任意的第一目标接口,确定所述第一目标接口所属的第一代码范围;
通过读取所述代码角色描述信息,获取对应于所述第一代码范围的代码角色,并将其确定为所述第一目标接口对应的代码角色。
16.根据权利要求15所述的装置,所述代码角色描述信息还指示出,所述多个代码角色各自对应的安全级别;
所述获取单元,还用于通过读取所述代码角色描述信息,获取对应于所述各目标接口各自的代码角色的安全级别;
所述确定单元具体用于:
基于所述各目标接口各自对应的安全级别以及接口功能,确定所述调用请求是否存在风险。
17.根据权利要求11所述的装置,所述代码角色包括以下中的至少一种:自有代码角色、三方SDK代码角色、二方SDK代码角色、黑盒集成代码角色以及白盒集成代码角色。
18.根据权利要求11所述的装置,所述确定单元具体用于:
基于所述各目标接口各自对应的代码角色以及接口功能,查询风控规则库,以判断是否存在相匹配的风控规则;所述风控规则包括匹配条件,所述匹配条件至少指示出代码角色以及接口功能;
在不存在相匹配的风控规则的情况下,确定所述调用请求不存在风险;否则确定所述调用请求存在风险。
19.根据权利要求18所述的装置,所述风控规则还包括处置方法,且所述处置方法具有等级信息;所述装置还包括:处理单元;
所述确定单元,还用于在存在相匹配的风控规则的情况下,将相匹配的各风控规则中等级信息最高的处置方法作为最终处置方法;
所述处理单元,用于根据所述最终处置方法,处理所述调用请求。
20.根据权利要求19所述的装置,所述处置方法包括返回修改或直接拦截。
21.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项所述的方法。
22.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
CN202110499467.5A 2021-05-06 2021-05-06 针对接口调用请求的处理方法及装置 Pending CN113221099A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110499467.5A CN113221099A (zh) 2021-05-06 2021-05-06 针对接口调用请求的处理方法及装置
PCT/CN2022/090250 WO2022233270A1 (zh) 2021-05-06 2022-04-29 针对接口调用请求的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110499467.5A CN113221099A (zh) 2021-05-06 2021-05-06 针对接口调用请求的处理方法及装置

Publications (1)

Publication Number Publication Date
CN113221099A true CN113221099A (zh) 2021-08-06

Family

ID=77091816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110499467.5A Pending CN113221099A (zh) 2021-05-06 2021-05-06 针对接口调用请求的处理方法及装置

Country Status (2)

Country Link
CN (1) CN113221099A (zh)
WO (1) WO2022233270A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022233269A1 (zh) * 2021-05-06 2022-11-10 支付宝(杭州)信息技术有限公司 针对接口调用请求的处理方法及装置
WO2022233270A1 (zh) * 2021-05-06 2022-11-10 支付宝(杭州)信息技术有限公司 针对接口调用请求的处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209575A (zh) * 2018-11-22 2020-05-29 阿里巴巴集团控股有限公司 数据保护方法、生成方法、传输方法、设备及存储介质
CN111614624A (zh) * 2020-04-24 2020-09-01 支付宝(杭州)信息技术有限公司 风险检测方法、装置、***及存储介质
CN112035354A (zh) * 2020-08-28 2020-12-04 北京指掌易科技有限公司 风险代码的定位方法、装置、设备及存储介质
CN112560022A (zh) * 2020-12-03 2021-03-26 支付宝(杭州)信息技术有限公司 一种***接口调用的检测方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688943B (zh) * 2016-08-04 2021-08-17 阿里巴巴集团控股有限公司 数据处理方法、装置及***
CN109949064B (zh) * 2017-12-20 2021-09-03 北京京东尚科信息技术有限公司 一种开放接口调用计费方法和装置
CN112000398B (zh) * 2020-08-17 2022-10-28 苏州达家迎信息技术有限公司 底层接口调用链路的确定方法、装置、计算机设备及介质
CN113221099A (zh) * 2021-05-06 2021-08-06 支付宝(杭州)信息技术有限公司 针对接口调用请求的处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209575A (zh) * 2018-11-22 2020-05-29 阿里巴巴集团控股有限公司 数据保护方法、生成方法、传输方法、设备及存储介质
CN111614624A (zh) * 2020-04-24 2020-09-01 支付宝(杭州)信息技术有限公司 风险检测方法、装置、***及存储介质
CN112035354A (zh) * 2020-08-28 2020-12-04 北京指掌易科技有限公司 风险代码的定位方法、装置、设备及存储介质
CN112560022A (zh) * 2020-12-03 2021-03-26 支付宝(杭州)信息技术有限公司 一种***接口调用的检测方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴晟: "Apache SkyWalking实战", 机械工业出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022233269A1 (zh) * 2021-05-06 2022-11-10 支付宝(杭州)信息技术有限公司 针对接口调用请求的处理方法及装置
WO2022233270A1 (zh) * 2021-05-06 2022-11-10 支付宝(杭州)信息技术有限公司 针对接口调用请求的处理方法及装置

Also Published As

Publication number Publication date
WO2022233270A1 (zh) 2022-11-10

Similar Documents

Publication Publication Date Title
CN107392619B (zh) 智能合约处理方法及装置
Cao et al. EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework.
US9141801B2 (en) Apparatus and method for analyzing permission of application for mobile devices and detecting risk
US11176267B2 (en) Fine-grained user control over usages of sensitive system resources having private data with applications in privacy enforcement
CN113221099A (zh) 针对接口调用请求的处理方法及装置
US9558055B2 (en) System level memory leak detection
CN112948835B (zh) 小程序风险检测方法和装置
CN109271789B (zh) 恶意进程检测方法、装置、电子设备及存储介质
Zhang et al. Ripple: Reflection analysis for android apps in incomplete information environments
US11397812B2 (en) System and method for categorization of .NET applications
JP6662117B2 (ja) 署名に基づく静的解析を用いた悪質ソフトウェアの動作の検出
CN111800490A (zh) 获取网络行为数据的方法、装置及终端设备
Sinha et al. Flowmine: Android app analysis via data flow
CN107450909B (zh) 用于软件开发工具包集成有效性检查的处理方法和装置
CN110941534A (zh) 检测web应用第三方代码调用的方法及***
CN113010892B (zh) 小程序恶意行为检测方法和装置
CN108037989B (zh) Sdk组件识别方法及装置
WO2022233269A1 (zh) 针对接口调用请求的处理方法及装置
CN116450533B (zh) 用于应用程序的安全检测方法、装置、电子设备和介质
CN108629182B (zh) 漏洞检测方法及漏洞检测装置
CN113032100A (zh) 一种异常处理方法、装置、设备及存储介质
CN111309407A (zh) 集成第三方库的处理方法及装置
CN109426546B (zh) 应用启动方法及装置、计算机存储介质及设备
CN113282906B (zh) 权限检测方法、装置、终端及存储介质
CN110069926B (zh) Android重打包应用的恶意代码定位方法、存储介质和终端

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40056524

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210806