[go: up one dir, main page]

CN118802266A - Api安全防护方法、装置、电子设备及存储介质 - Google Patents

Api安全防护方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN118802266A
CN118802266A CN202410148293.1A CN202410148293A CN118802266A CN 118802266 A CN118802266 A CN 118802266A CN 202410148293 A CN202410148293 A CN 202410148293A CN 118802266 A CN118802266 A CN 118802266A
Authority
CN
China
Prior art keywords
api
access
data
information
api interface
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
CN202410148293.1A
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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202410148293.1A priority Critical patent/CN118802266A/zh
Publication of CN118802266A publication Critical patent/CN118802266A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种API安全防护方法、装置、电子设备及存储介质,属于安全防护技术领域,所述方法包括:获取待防护系统因API调用产生的实时流量数据;调取所述待防护系统的各API接口的资源画像,以根据资源画像的维度标签,从流量数据中抽取出每个维度标签对应的标签信息;根据标签信息执行对待防护系统的各API接口的安全防护。本发明利用API调用时的实时流量数据,对调用的API接口进行多维度的实时画像,并根据画像结果执行API接口所在系统的安全防护,即在API安全防护时,不仅考虑了实时流量数据本身,还考虑了API接口的具体属性和状态,增强了API安全防护的准确性和有效性,并提高了API所在系统的性能。

Description

API安全防护方法、装置、电子设备及存储介质
技术领域
本发明涉及安全防护技术领域,尤其涉及一种API安全防护方法、装置、电子设备及存储介质。
背景技术
随着企业级业务发展的推进,对新应用程序和新服务的需求越来越大。在应用程序编程接口(Application Programming Interface,API)技术广泛应用的背景下,企业级业务往往依赖API开发和交付新应用程序和新服务。
事实上,API是一把双刃剑。一方面,API通过共享价值和效用帮助企业扩展业务,但另一方面,用户常常使用API来检索企业系统的重要和关键数据,这使得它面临着安全和隐私问题。对此,针对API进行安全防护变得十分重要。
目前,对API进行安全防护的方法主要是采集API调用行为相应的业务流量,然后将业务流量输入流量异常检测模型(如孤立森林算法模型),得到业务流量的异常检测结果,并根据该结果确定需要采取的安全防护措施。
然而,仅仅对业务流量进行异常检测,忽略了具体调用的API本身的具体协议标准、开发语言、技术实现等等,容易导致安全防护出现漏报、错报。
发明内容
本发明提供一种API安全防护方法、装置、电子设备及存储介质,用以解决现有技术中安全防护出现漏报、错报的缺陷。
第一方面,本发明提供一种API安全防护方法,包括:
获取待防护系统因API调用产生的实时流量数据;
调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息;
根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
根据本发明提供的一种API安全防护方法,在调取所述待防护系统的各API接口的资源画像之前,确定所述待防护系统的所有API接口,包括:
获取所述待防护系统的历史流量数据;
以每条所述历史流量数据相关的API接口路径作为根节点、将所述API接口路径下的参数作为叶子节点,构建流量路径层次图;
利用图聚类模型根据所述流量路径层次图中各节点的出度情况对所有节点进行出度聚类,以根据聚类结果确定所述待防护系统的所有API接口;
所述节点包括所述根节点和所述叶子节点。
根据本发明提供的一种API安全防护方法,每个所述API接口的资源画像的维度标签,包括以下内容中的至少一个:
协议标签、域名或IP地址标签、资源路径标签、请求范例标签、响应范例标签、服务对象标签、业务用途标签、调用序列标签、访问源统计标签。
根据本发明提供的一种API安全防护方法,所述请求范例标签用于标识所述API接口的可接收数据的相关信息,包括请求方法、请求参数以及请求频率中的至少一种,所述请求参数包括以下参数信息中的至少一项:参数名、参数实例值、参数位置、参数类型、参数最大值、参数最小值、参数必要性、参数最大长度、参数最小长度;
所述响应范例标签用于标识所述API接口的可响应数据的相关信息,包括响应状态码、响应头字段、响应体内容以及响应频率中的至少一种;
所述服务对象标签用于标识所述API接口的访问服务对象,包括内部办公对象、三方合作对象以及公共服务对象中的至少一种;
所述业务用途标签用于标识所述API接口的业务类型,包括账号注册、账号密码认证、短信验证码认证、邮箱验证、数据查询、数据保存、数据查询、数据导出、数据更新、数据分享、数据增加、数据删除以及下线注销中的至少一种;
所述调用序列标签用于标识所述API接口与其他API之间的调用序列;
所述访问源统计标签用于标识访问所述API接口的访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息中的至少一种。
根据本发明提供的一种API安全防护方法,所述根据所述标签信息,执行对所述待防护系统的各API接口的安全防护,包括:
根据所述API接口的所有维度标签对应的所有标签信息,构建一输入特征向量;
将所述输入特征向量输入至攻击检测模型,获取由所述攻击检测模型对所述输入特征向量进行特征重构后输出的访问识别向量;所述攻击检测模型是以自编码器作为初始模型,利用所述API接口的历史流量数据进行预训练后得到的;
计算所述输入特征向量与所述访问识别向量之间的重构误差;
在确定所述重构误差大于误差阈值的情况下,判定所述API接口接收到异常流量数据;
所述误差阈值是基于所述API接口的历史流量数据中的正常流量数据预先确定的。
根据本发明提供的一种API安全防护方法,所述根据所述标签信息,执行对所述待防护系统的各API接口的安全防护,还包括:
调取所述待防护系统的任一API接口的访问源统计标签相关的标签信息,获取所述任一API接口的访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息;
根据所述标签信息判断所述任一API接口的所述访问源的访问请求是否正常;
在确定所述访问请求正常的情况下,根据预先设置的黑白名单管控策略和/或访问频率管控策略,对所述访问请求进行管控;
在确定所述访问请求不正常的情况下,拒绝所述访问源的所述访问请求。
根据本发明提供的一种API安全防护方法,所述根据所述标签信息判断所述任一API接口的所述访问源的访问请求是否正常,包括:
在确定所述访问源的IP信息存在于IP信息列表、所述客户端类型存在于客户端类型列表、所述地理位置存在于地理位置列表、所述访问来源分布列表信息是否于访问来源分布列表库中的情况下,确定所述任一API接口的所述访问源的访问请求为正常;
否则,确定所述访问请求为不正常。
根据本发明提供的一种API安全防护方法,所述根据预先设置的黑白名单管控策略和/或访问频率管控策略,对所述访问请求进行管控,包括:
根据所述访问源的IP信息,确定所述访问源的域名;
在确定所述域名位于预先构建的域名黑名单中,生成第一检测结果;
根据所述访问源的访问来源分布列表信息,确定所述访问源访问所述任一API接口的访问频率;
在确定所述访问频率大于预先设定的额定频率的情况下,生成第二检测结果;
在根据所述第一检测结果和所述第二检测结果,确定所述访问请求不正常的情况下,拒绝所述访问请求。
根据本发明提供的一种API安全防护方法,在根据所述标签信息,执行对所述待防护系统的各API接口的安全防护之后,还包括:
根据预设的数据类型匹配规则,判断各API接口的各个实时流量数据是否为敏感数据;
在确定任一所述实时流量数据为敏感数据的情况下,根据预先制定的数据安全策略对所述敏感数据进行脱敏处理。
第二方面,本发明提供一种API安全防护装置,包括:
流量数据获取单元,用于获取待防护系统因API调用产生的实时流量数据;
标签信息抽取单元,用于调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息;
安全防护执行单元,用于根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述API安全防护方法。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述API安全防护方法。
本发明提供的API安全防护方法、装置、电子设备及存储介质,利用API调用时的实时流量数据,对调用的API接口进行多维度的实时画像,并根据画像结果执行API接口所在系统的安全防护,即在API安全防护时,不仅考虑了实时流量数据本身,还考虑了API接口的具体属性和状态,增强了API安全防护的准确性和有效性,并提高了API所在系统的性能。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的API安全防护方法的流程示意图;
图2是本发明提供的流量路径层次图的示意图;
图3是本发明提供的维度标签的示意图;
图4是本发明提供的请求范例标签的示意图;
图5是本发明提供的响应范例标签的示意图;
图6是本发明提供的服务对象标签的示意图;
图7是本发明提供的访问源统计标签的示意图;
图8是本发明提供的执行各API接口安全防护的流程示意图之一;
图9是本发明提供的执行各API接口安全防护的流程示意图之二;
图10是本发明提供的API安全防护装置的结构示意图;
图11是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
本发明中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
API技术是通过定义一组函数、协议、数据结构,明确应用程序中各个组件之间通信与数据交互方式。通过应用API技术,用户在无需访问相应源码或理解内部工作机制细节的情况下,也可以使用到企业以接口的形式提供的Web应用、操作系统、数据库以及计算机软硬件的能力。
在API技术广泛应用的背景下,一方面,API通过共享价值和效用帮助企业扩展业务,但另一方面,用户常常使用API来检索企业系统的重要和关键数据,这使得它面临着安全和隐私问题。对此,针对API进行安全防护变得十分重要。
下面结合图1-图11描述本发明所提供的API安全防护方法、装置、电子设备及存储介质。
图1是本发明提供的API安全防护方法的流程示意图,如图1所示,包括但不限于以下步骤:
步骤101:获取待防护系统因API调用产生的实时流量数据。
其中,待防护系统是指以API接口的形式,为用户提供Web应用、操作系统、数据库以及计算机软硬件等一系列能力的服务提供方。
此处所提到的用户,是指向待防护系统请求服务的服务请求方,既包括个人,也包括企业等组织体,既包括待防护系统所属企业的部门、员工等内部用户,也包括第三方生态合作方、其他公众等外部用户,本发明对此不做限制。
其中,待防护系统因API调用产生的实时流量数据包括请求API调用、响应API调用、各API相互调用产生的实时流量数据等等,本发明对此不做限制。
例如,用户需要使用待防护系统的某些服务时,首先向待防护系统发送涉及相应API接口的访问请求,从而产生因请求调用待防护系统API的实时流量数据。在用户使用待防护系统服务的过程中,有时需要进行待防护系统API调用相关的响应操作,从而产生响应待防护系统API调用产生的实时流量数据。
执行主体获取到这些实时流量数据,将其用于后续的API安全防护。
需要说明的是,本发明提供的API安全防护方法的执行主体包括但不限于手机、平板电脑、笔记本电脑、台式电脑、超级计算机等服务器和计算机设备,具体可以是待防护系统上的某一具体API安全防护进程,也可以是取得授权的、待防护系统以外的API安全防护终端,本发明对此不做限制。
步骤102:调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息。
基于不同的协议标准和开发语言,API接口就可以划分为REATful API接口、GraphQL API接口、SOAP API接口、gRPC API接口、类XML-RPC接口等众多类型的API接口。
而基于不同的技术实现,每一个API接口都适用不同的通信与数据交互方式,从而具备不同的性能,提供不同的服务。
由于每一个API接口都使用不同的协议标准,或使用不同的开发语言,有着不同的技术实现,因此在调用时也会处于不同的属性和状态。
在API安全防护中,如果忽略了各API接口具体的协议标准、开发语言、技术实现等等,就容易导致API安全防护的漏报、错报,例如遗漏识别和拦截异常请求、恶意攻击等API接口非法调用行为,或者错误地将合法流量标记为非法并进行拦截等。
为了准确描述待防护系统的各API接口调用时的属性和状态,首先需要调取待防护系统的各API接口的资源画像。
其中,资源画像是基于待防护系统内各API接口的具体协议标准、开发语言、技术实现而构建的API多维度画像。维度标签则是指与API接口相对应的、用于描述其属性和状态的标签。每个资源画像都包含至少一个的维度标签。
进一步地,从待防护系统因API调用产生的实时流量数据中,抽取出每个资源画像的每个维度标签对应的数据,将其作为各API接口调用时的标签信息。借助标签信息,就能够对API接口进行多维度画像,获悉各API接口调用时的具体属性和状态。
步骤103:根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
具体地,根据标签信息,也即根据API接口的多维度画像所描述的各API接口调用时的具体属性和状态,执行待防护系统各API接口的安全防护。
其中,各API接口的安全防护措施包括但不限于拒绝实时流量数据的请求与响应、关闭API接口、过滤实时流量数据、对数据进行限流、触发报警机制、记录和监控对应的异常信息等等中的一种或多种,本发明对此不做限制。
本发明提供的API安全防护方法,利用API调用时的实时流量数据,对调用的API接口进行多维度的实时画像,并根据画像结果执行API接口所在系统的安全防护,即在API安全防护时,不仅考虑了实时流量数据本身,还考虑了API接口的具体属性和状态,增强了API安全防护的准确性和有效性,并提高了API所在系统的性能。
基于上述实施例,作为一种可选的实施例,在调取所述待防护系统的各API接口的资源画像之前,确定所述待防护系统的所有API接口,包括但不限于以下步骤:
获取所述待防护系统的历史流量数据;
以每条所述历史流量数据相关的API接口路径作为根节点、将所述API接口路径下的参数作为叶子节点,绘制流量路径层次图;
利用图聚类模型根据所述流量路径层次图中各节点的出度情况对所有节点进行出度聚类,以根据聚类结果确定所述待防护系统的所有API接口;
所述节点包括所述根节点和所述叶子节点。
具体地,首先获取待防护系统因API调用产生的历史流量数据,将每条历史流量数据相关的API接口的路径作为根节点,将API接口路径下的参数作为叶子节点,使用绘图软件或手动绘制流量路径层次图。流量路径层次图中的节点同时包括根节点和叶子节点。
然后利用图聚类模型,根据各节点的出度情况,即各节点指向其他节点的边的数量情况,对所有节点进行出度聚类,并根据聚类结果确定待防护系统的所有API接口。
例如,设定第一出度阈值,将出度情况大于第一出度阈值的API接口确定为待防护系统的所有API接口。又或者,设定第二出度阈值,赋予不同的节点以不同的权重,将出度加权和大于第二出度阈值的API接口确定为待防护系统的所有API接口。
又例如,设定数量阈值,根据各节点的出度情况,将API接口按照出度情况从高到低进行排列,按顺序将API接口确定为待防护系统的所有API接口,且保证待防护系统的所有API接口的数量不超过数量阈值。
前述第一出度阈值、第二出度阈值、数量阈值,可以根据待防护系统的历史使用数据统计得到,也可以在保证待防护系统安全运行的前提下,通过预试验得到。
在一实施例中,还将参数的取值范围、参数类型、默认值、是否必需等,作为参数对应的叶子节点的子节点,进一步细化流量路径层次图。
图2是本发明提供的流量路径层次图的示意图,如图2所示,对于一个在线商城系统,获取该在线商城系统的历史流量数据,根据该在线商城系统的历史流量数据相关的API接口路径及API接口路径下的参数,绘制得到流量路径层次图。
从流量路径层次图可见,在线商城系统包括用户登录、商品列表、下单等API接口,用户登录API接口包括用户账号、用户密码、是否会员等参数,商品列表API接口包括商品名称、商品编号、商品种类等参数。
更具体地,流量路径层次图还利用各参数的取值范围、参数类型、默认值等进行了进一步细化,用户账号参数包括账号格式(如大写字母、小写字母、数字、特殊字符间的相互组合)、账号长度(如8位、16位等等),用户密码参数包括但不限于初始密码(如默认的初始密码为“00000000”),是否会员参数的参数类型则是一个布尔值,商品种类参数包括种类编号和种类名称等等。
本实施例中的流量路径层次图能够描述在线商城系统所有API接口的路径、参数等内容。并且,随着在线商城系统不断开发新的功能、新的API接口,只要获取相关的历史流量数据,就可以根据新的API接口对流量路径层次图进行更新,从而发现系统的所有API接口。
可以理解的是,本实施例中的流量路径层次图仅是为了更好说明流量路径层次图的实现方式,并不对流量路径层次图的绘制做其他额外限制。
在目前的API安全防护方法中,主要基于规则设置来确定待防护系统所有API接口。然而,该方法无法识别以未被规则囊括的协议标准构建的API接口,难以自动确定多样的API接口。
例如,若基于简单对象访问协议(Simple Object Access Protocol,SOAP)和/或表述性状态传递(Representational State Transfer,REST)模式来设置API接口确定规则,那么该规则就无法识别以SOAP协议或者REST模式以外的协议标准构建的API接口。
进一步地,如果不能自动地发现基于不同协议标准、开发语言、技术形式的API接口,就无法准确判断待防护系统面临的安全风险、做出合理处置。
与目前的API安全防护方法相比,本发明提供的API安全防护方法,通过构建路径层次图,使用图聚类模型对历史流量数据进行出度聚类,也就基于图算法,实现了多样API接口的自动化发现与确定,从而消除了API接口无法被识别所带来的安全风险。进一步地,随着API不断演化和新增功能,通过采集历史流量数据还能对流量路径层次图进行不断更新和维护,让流量路径层次图反映最新的API结构和参数,使得API安全防护更加精准。
基于上述实施例,作为一种可选的实施例,在获取所述待防护系统的历史流量数据之后,删除所述历史流量数据中的无效流量数据和重复流量数据。
其中,无效流量数据是指缺少有效值或存在未定义的值的历史流量数据,这类无效流量数据通常是由于流量采集、传输或处理过程中出现问题导致的。
重复流量数据是指出现多次的相同历史流量数据,除了将其删除,还可以将其合并。
调用API时,尤其是调用企业级业务的API时,会产生大量的流量数据,通过删除或合并其中的无效流量数据、重复流量数据,进行流量数据的清洗和筛选工作,提高了流量数据的质量和准确性,避免API安全防护的后续步骤受到干扰和误导。
图3是本发明提供的维度标签的示意图,如图3所示,每个所述API接口的资源画像的维度标签,包括但不限于以下内容中的一个或多个:协议标签、域名或IP地址标签、资源路径标签、请求范例标签、响应范例标签、服务对象标签、业务用途标签、调用序列标签、访问源统计标签。
其中,协议标签用于标识API接口所使用的协议,包括但不限于前述SOAP协议、REST模式等等。协议标签通常与URL的开头部分相关,例如:“http://”、“https://”。
域名或IP地址标签是指提供API服务的服务器的域名或IP地址。域名是人类可读的字符串形式,例如“www.example.com”,而IP地址是由数字和点号组成的形式,例如“192.168.0.1”。
资源路径标签用于标识资源的唯一标识符,例如“/users/123”。
图4是本发明提供的请求范例标签的示意图,如图4所示,所述请求范例标签用于标识所述API接口的可接收数据的相关信息,包括但不限于请求方法、请求参数以及请求频率中的一种或多种,所述请求参数包括但不限于以下参数信息中的一项或多项:参数名、参数实例值、参数位置、参数类型、参数最大值、参数最小值、参数必要性、参数最大长度、参数最小长度。
其中,请求方法包括但不限于HTTP(Hypertext Transfer Protocol)请求方法、SOAP请求方法、远程过程调用(Remote Procedure Call,RPC)请求方法等等。以HTTP请求方法为例,包括但不限于POST请求方法、PUT请求方法、GET请求方法等等。
图5是本发明提供的响应范例标签的示意图,如图5所示,所述响应范例标签用于标识所述API接口的可响应数据的相关信息,包括但不限于响应状态码、响应头字段、响应体内容以及响应频率中的一种或多种。
其中,响应包括但不限于HTTP响应、SOAP响应、SNMP相应等等。
响应状态码用于表示对请求的处理结果。以HTTP响应为例,响应状态码包括但不限于200(OK,即请求成功,服务器成功处理了请求并返回相应的资源)、201(Created,表示请求成功,并在服务器上创建了新的资源)、204(No Content,表示请求成功,但服务器没有返回响应内容)、403(Forbidden,表示服务器理解请求,但拒绝执行请求,通常是因为权限不足)等等。
响应头字段用于传递附加的信息,如服务器类型、日期、内容类型等等。常见的响应头字段包括:Content-Length(响应体的字节数,用于描述响应大小)、Date(响应生成的日期和时间)、Server(指定HTTP服务器的名称和版本号)、Cache-Control(缓存策略)等等。
响应体内容是指返回的实际数据的内容,即响应请求所生成的实际数据。
响应频率用于表示待防护系统在一定时间内能够处理的请求数量或每个请求的平均处理时间。
图6是本发明提供的服务对象标签的示意图,如图6所示,所述服务对象标签用于标识所述API接口的访问服务对象,包括但不限于内部办公对象、三方合作对象以及公共服务对象中的一种或多种。
其中,内部办公对象是指面向内部员工提供服务的API接口;三方合作对象是指面向第三方生态合作方提供的API接口;公共服务对象是指面向互联网提供服务的API接口。
可选地,所述业务用途标签用于标识所述API接口的业务类型,包括但不限于账号注册、账号密码认证、短信验证码认证、邮箱验证、数据查询、数据保存、数据查询、数据导出、数据更新、数据分享、数据增加、数据删除以及下线注销中的一种或多种。
可选地,所述调用序列标签用于标识所述API接口与其他API之间的调用序列。
其中,调用序列是指不同API接口之间相互调用的执行顺序,描述了API接口与其他API接口之间的调用顺序和参数传递方式。
图7是本发明提供的访问源统计标签的示意图,如图7所示,所述访问源统计标签用于标识访问所述API接口的访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息中的至少一种。
其中,访问源即前述用户所使用的用户终端,也可称为客户端。
客户端类型包括但不限于手机、笔记本电脑、台式电脑、平板电脑等等。
以HTTP协议为例,Referer字段是HTTP协议中的请求头部字段,用于表示当前请求是从哪个网页或资源链接跳转而来的。
相应的,访问来源分布列表信息也即Referer分布列表,是根据Referer字段的值进行分类和统计后的列表,记录了不同来源网页或资源链接的访问次数或访问量,并可用于分析和评估不同来源的访问质量和效果。
本发明提供的API安全防护方法,通过将协议标签、域名或IP地址标签、资源路径标签、请求范例标签、响应范例标签、服务对象标签、业务用途标签、调用序列标签、访问源统计标签中的至少一种作为维度标签,并从流量数据中抽取维度标签相对应的标签信息,为API安全防护分析提供了丰富的分析数据,有助于准确识别相应的安全风险,提升API安全防护水平。
图8是本发明提供的执行各API接口安全防护的流程示意图之一,如图8所示,所述根据所述标签信息,执行对所述待防护系统的各API接口的安全防护,包括:根据所述API接口的所有维度标签对应的所有标签信息,构建一输入特征向量;将所述输入特征向量输入至攻击检测模型,获取由所述攻击检测模型对所述输入特征向量进行特征重构后输出的访问识别向量;所述攻击检测模型是以自编码器作为初始模型,利用所述API接口的历史流量数据进行预训练后得到的;计算所述输入特征向量与所述访问识别向量之间的重构误差;在确定所述重构误差大于误差阈值的情况下,判定所述API接口接收到异常流量数据;所述误差阈值是基于所述API接口的历史流量数据中的正常流量数据预先确定的。
具体地,针对标签信息的数据类型、数据格式不同的情形,可通过归一化处理,将所有维度标签对应的所有标签信息构建成一个输入特征向量。将输入特征向量输入至攻击检测模型之前,先以自编码器(AutoEncoder)算法作为初始模型,利用API接口的历史流量数据进行预训练后得到攻击检测模型。将构建好的输入特征向量输入至攻击检测模型后,可获取由攻击检测模型对输入特征向量进行特征重构后输出的访问识别向量。然后计算输入特征向量与访问识别向量之间的重构误差,在重构误差大于根据正常流量数据预先确定的误差阈值时,判定API接口接收到异常流量数据。进一步地,根据该异常流量数据执行对待防护系统的各API接口的安全防护。
其中,自编码器算法是一种无监督的神经网络算法,由编码器(Encoder)和解码器(Decoder)两部分组成,编码器的作用是学习输入特征向量中的重要信息,输出低维度的隐藏层向量,解码器的作用是把隐藏层向量还原到初始维度向量,模型的最佳效果是使初始维度向量与输入特征向量之间的误差最小化。
在一实施例中,将所有维度标签对应的所有标签信息构建成一个输入特征向量可以通过下述方法进行:
对于数值型标签信息,通过Z-Score标准化将其转换为均值为0,标准差为1的正态分布,或通过最小-最大归一化(Min-Max Normalization)将其映射到指定的范围内,例如映射到[0,1]或[-1,1]等范围。
对于类别型标签信息,则可将其转换为数值型标签信息,每种类别表示一个可能的取值。
以业务用途标签为例,账号注册、账号密码认证、短信验证码认证、邮箱验证、数据查询、数据保存、数据查询、数据导出、数据更新、数据分享、数据增加、数据删除以及下线注销分别表示一种业务类型,分别使用数值1至13进行表示。
对于文本型标签信息,可以使用One-Hot编码、词嵌入(Word Embedding)等方法,将文本型标签信息转换为数值,再视情况进行Z-Score标准化、最小-最大归一化等处理。
可以理解的是,根据标签信息构建输入特征向量的方法不限于上述提到的各种归一化方法,还可以根据API安全防护的具体需求、标签信息的具体内容等,选择合适的方法构建输入特征向量。
可以理解的是,攻击检测模型在预训练和实际进行API安全防护时,对实时流量数据和历史流量数据进行抽取得到标签信息后,以标签信息采取的归一化方法是相同的。
在一实施例中,将输入特征向量输入攻击检测模型,由解码器输出低维度的隐藏层向量的计算公式如下:
h=fe(W1X+b1) (1)
其中,X为输入特征向量,h为隐藏层向量,W1、b1是攻击检测模型的参数,由自编码器算法预训练得到。
进一步地,将低维度的隐藏层向量还原为初始维度的访问识别向量计算公式如下:
XR=fd(W2h+b2) (2)
其中,h为隐藏层向量,XR为访问识别向量,W2、b2是攻击检测模型的参数,由自编码器算法预训练得到。
在一实施例中,结合均方差(MSE)计算输入特征向量与访问识别向量之间的重构误差,计算公式如下:
L(X,XR)=∑(X-XR)2 (3)
其中,L(X,XR)是输入特征向量X与访问识别向量XR之间的重构误差。
现有技术在进行API安全防护之前,首先需要建立起业务流量数据与API异常调用行为之间的对应关系,也就必须依赖训练数据集中的异常流量数据样本进行模型训练。若在实际应用时出现了未在训练数据集中的异常流量数据,则不能进行有效识别。并且,在实际进行API安全防护时,仅将流量数据输入至模型进行检测,没有考虑到具体调用的API接口本身,也没有考虑到可供调用的API接口的状态、数量等是动态变化的,容易导致安全防护出现漏报、错报。
本发明提供的API安全防护方法,基于自编码器算法的无监督学习特性,预先基于API接口的历史流量数据中的正常流量数据确定误差阈值,进而在实际API安全防护时,可根据重构误差是否大于误差阈值来判断是否接收到异常流量数据,无需提前业务流量数据与API异常调用行为之间的对应关系,也可防止API安全防护漏报、错报。
并且,本发明在进行异常流量数据判断时,是基于各API接口的各个维度标签对应的标签信息的,考虑了动态变化的API接口,并使用了丰富的API接口分析数据,进一步防止API安全防护的漏报、错报。
图9是本发明提供的执行各API接口安全防护的流程示意图之二,所述根据所述标签信息,执行对所述待防护系统的各API接口的安全防护,还包括:调取所述待防护系统的任一API接口的访问源统计标签相关的标签信息,获取所述任一API接口的访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息;根据所述标签信息判断所述任一API接口的所述访问源的访问请求是否正常;在确定所述访问请求正常的情况下,根据预先设置的黑白名单管控策略和/或访问频率管控策略,对所述访问请求进行管控;在确定所述访问请求不正常的情况下,拒绝所述访问源的所述访问请求。
具体地,本发明提供了另一种根据标签信息执行API安全防护的实施例。
在本实施例中,无需调取API接口的所有维度标签对应的所有标签信息,而仅需调取任一API接口的访问源统计标签相关的标签信息,获取所述任一API接口的访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息,并根据这些信息判断该API接口的访问源的访问请求是否正常。
进一步地,在确定访问请求正常的情况下,根据预先设置的黑白名单管控策略和/或访问频率管控策略,对访问请求进行管控;在确定访问请求不正常的情况下,拒绝访问源的访问请求。
其中,黑白名单管控策略用于根据访问源是否位于预先设定的黑名单中,来决定是否对访问源的访问请求采取一定管控措施的策略。可以理解的是,在API接口仅允许白名单中的访问源访问时,若某一访问源没有位于白名单中,可视为该访问源位于黑名单中。
访问频率管控策略用于根据访问源访问待防护系统的频率,来决定是否对访问源的访问请求采取一定管控措施的策略。
基于上述实施例,作为一种可选的实施例,所述根据所述标签信息判断所述任一API接口的所述访问源的访问请求是否正常,包括:在确定所述访问源的IP信息存在于IP信息列表、所述客户端类型存在于客户端类型列表、所述地理位置存在于地理位置列表、所述访问来源分布列表信息是否存在于访问来源分布列表库中的情况下,确定所述任一API接口的所述访问源的访问请求为正常;否则,确定所述访问请求为不正常。
例如,若某一API接口仅向特定的用户(如购买了付费服务的用户)提供服务。相应的,就会存在一个允许访问的访问源的IP信息列表。此时,当某一访问源的IP信息不存在于该IP信息列表中时,即可确定相应的访问请求为不正常,并拒绝该访问源的访问请求。
又例如,现实中存在很多服务提供受限于地区限制的情形,如受限于作品著作权的授权范围限制。若用户没有位于获授权的地理位置,即使该用户购买了付费服务,也无法使用相应的服务。相应地,就会存在一个允许访问的访问源的地理位置列表。此时,当某一访问源的地理位置不存在于该地理位置列表中时,即可确定相应的访问请求为不正常,并拒绝该访问源的访问请求。
再例如,若某一API接口仅向手机用户开放访问,那么当访问源得客户端类型为电脑时,就可确定相应的访问请求为不正常,并拒绝该访问源的访问请求。
还例如,若某一API接口仅允许用户从特定的访问来源(如特定的网站)进行访问,那么当访问源的访问来源分布列表信息不存在于访问来源分布列表库时,就可确定相应的访问请求为不正常,并拒绝该访问源的访问请求。
本发明提供的API安全防控方法,针对任一API接口,无需调取API接口的所有维度标签对应的所有标签信息,仅需根据访问源统计标签相关的标签信息,在访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息中的任一项没有存在于对应的列表时,则可确定该访问源的访问请求属于不正常,并拒绝该访问请求,简化了API安全防控流程,节省了相应的计算资源和计算时间,提高了API安全防控的效率。
基于上述实施例,作为一种可选的实施例,所述根据预先设置的黑白名单管控策略和/或访问频率管控策略,对所述访问请求进行管控,包括:
根据所述访问源的IP信息,确定所述访问源的域名;
在确定所述域名位于预先构建的域名黑名单中,生成第一检测结果;
根据所述访问源的访问来源分布列表信息,确定所述访问源访问所述任一API接口的访问频率;
在确定所述访问频率大于预先设定的额定频率的情况下,生成第二检测结果;
在根据所述第一检测结果和所述第二检测结果,确定所述访问请求不正常的情况下,拒绝所述访问请求。
其中,预先设定的额定频率是指任一访问源在单位时间内能够访问的任一API接口的额定访问次数。
例如,额定频率预先设定为每天100次、每小时5次。
具体地,首先基于IP信息和域名之间存在的对应关系,根据访问源的IP信息确定该访问源的域名,若访问源的域名位于预先构建的域名黑名单,生成第一检测结果,该第一检测结果能够标识访问源的域名位于预先构建的域名黑名单中。
然后根据访问源的访问来源分布列表信息中的访问次数,确定访问源访问任一API接口的访问频率,若访问频率大于预先设定的额定频率,生成第二检测结果,该第二检测结果能够标识访问源访问任一API接口的次数已经超过额定频率。
根据第一检测结果和第二检测结果,在访问源位于黑名单和/或者访问源在单位时间内的访问次数已经超过额定频率时,确定访问请求不正常,并拒绝该访问请求。
例如,设待防护系统是一个向会员用户提供文献检索与分析服务的系统。相应的,设待防护系统分别通过检索API接口和分析API接口为用户提供对应服务。
表1是该文献检索与分析服务系统的权益说明,如表1所示,非会员用户仅能使用限量的检索与分析服务,会员则可以使用不限量的检索服务与限量的分析服务。
表1文献检索与分析服务系统的权益说明
对非会员用户而言,由于非会员用户不允许使用分析服务,当非会员用户向分析API接口发送访问请求时,即属于访问源的IP信息不存在于IP信息列表的情形,此时直接确定该访问请求为不正常,并拒绝访问。
同时,非会员用户是允许使用检索服务的,当非会员用户向检索API接口发送访问请求时,不属于访问源的IP信息不存在于IP信息列表情形,同时也默认不属于其他不存在于对应列表的情形。但是,非会员用户在一天内使用检索服务的次数限于20次,若是非会员用户在一天内第21次向检索API接口发送访问请求,那么则属于访问频率大于预先设定的额定频率的情形,将生成第二检测结果。根据该第二检测结果可以确定该访问请求不正常,并拒绝该访问请求。
会员用户使用分析服务的情形与非会员用户使用检索服务的情形相同,本实施例在此不再赘述。
对会员用户而言,会员用户一天能够不限量地使用检索服务,当会员用户向检索API接口发送访问请求时,不属于访问源的IP信息不存在于IP信息列表情形,同时也默认不属于其他不存在于对应列表的情形。并且,由于会员用户一天内使用检索服务的次数是不限量的,也不会受到访问频率管控策略的影响。
然而,会员用户可能存在一些异常访问检索API接口,并被添加进黑名单而受到黑白名单管控策略影响的特殊情况。如某一会员用户使用爬虫程序,以每5秒1次的固定频率访问检索API接口,并不间断地重复数小时乃至24小时。此时,该会员用户即可被认为存在异常攻击行为,相应访问源的IP信息所对应的域名将被添加进域名黑名单中。若该会员用户被添加进域名黑名单后,再次访问检索API接口,就属于域名位于预先构建的域名黑名单中的情形,将生成第一检测结果。根据该第一检测结果可以确定该访问请求不正常,并拒绝该访问请求。
本发明提供的API安全防护方法,在初步判断访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息是否存在于对应列表之后,还能够针对性地预先设置黑白名单管控策略和/或访问频率管控策略,进一步筛选存在异常调用API行为的访问源,从而有效增强了API安全防护的准确性和有效性,并提高了API所在系统的性能。
基于上述实施例,作为一种可选的实施例,在根据所述标签信息,执行对所述待防护系统的各API接口的安全防护之后,还包括:
根据预设的数据类型匹配规则,判断各API接口的各个实时流量数据是否为敏感数据;
在确定任一所述实时流量数据为敏感数据的情况下,根据预先制定的数据安全策略对所述敏感数据进行脱敏处理。
其中,敏感数据包括但不限于姓名、身份证号、各类在线平台的账号及密码、银行卡号、健康和医疗信息(如病历、药物处方、体检报告等)、商业机密和企业数据(如商业计划、客户数据、销售数据、公司财务数据)、涉及个人隐私或敏感场景的图像或视频等数据中的一种或多种。
相对应的,根据上述敏感数据的类型进行数据类型匹配规则的预先设定,例如可通过构建正则表达式、文件模板、样本库等方式预先设定数据类型匹配规则,本实施例对此不做限制。
其中,数据安全策略是根据敏感数据的类型、敏感数据的使用场景、敏感数据的保密需要等因素预先制定的,并决定是否允许用户获悉敏感数据、允许用户在多大程度上获悉敏感数据、对敏感数据进行何种脱敏处理等方案的集合。
其中,脱敏处理是指通过对数据进行修改或替换,以使原始数据无法直接识别或关联到特定身份,从而保护敏感数据隐私的数据处理方法。具体的脱敏处理方法包括但不限于匿名化(Anonymization)、伪造(Pseudonymization)、加密(Encryption)、泛化(Generalization)、脱敏算法(De-identification Algorithms)、删除(Deletion)等方式中的一种或多种。
具体地,根据标签信息,执行对待防护系统的各API接口的安全防护之后,还将各API接口的各个实时流量数据进行预设的数据类型匹配规则判断。对于任一实时流量数据,在判断其为敏感数据的情况下,根据预先制定的数据安全策略对敏感数据进行匿名化、加密、脱敏算法等脱敏处理。在判断其不为敏感数据的情况下,不对数据进行隐私保护处理。
例如,对于一个医院的医疗信息管理系统而言,该系统首先需要排除非院内医护人员对患者诊疗信息的访问。对于院内医护人员,患者的主治医生和对应科室的负责人可以访问患者的全部诊疗信息。至于院内的其他医护人员,出于学习交流的目的,并考虑患者的隐私保护问题,院内的其他医护人员请求访问患者诊疗信息对应的API接口时,对患者诊疗信息中的姓名、身份证号、年龄等敏感数据进行匿名化、加密、脱敏算法等脱敏处理。
本发明提供的API安全防护方法,在执行API接口安全防护之后,通过预设的数据类型匹配规则来判断实时流量数据是否涉及敏感数据,并根据预先制定的数据安全策略对敏感数据进行脱敏处理,有效阻止了敏感数据泄密事故的发生。
图10是本发明提供的API安全防护装置的结构示意图,如图10所示,包括但不限于:
流量数据获取单元1001,用于获取待防护系统因API调用产生的实时流量数据;
标签信息抽取单元1002,用于调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息;
安全防护执行单元1003,用于根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
需要说明的是,本发明提供的API安全防护装置,在具体运行时,可以执行上述任一实施例所述的API安全防护方法,对此本实施例不作赘述。
本发明提供的API安全防护装置,利用API调用时的实时流量数据,对调用的API接口进行多维度的实时画像,并根据画像结果执行API接口所在系统的安全防护,即在API安全防护时,不仅考虑了实时流量数据本身,还考虑了API接口的具体属性和状态,增强了API安全防护的准确性和有效性,并提高了API所在系统的性能。
图11是本发明提供的电子设备的结构示意图,如图11所示,该电子设备可以包括:处理器(Processor)1110、通信接口(Communications Interface)1120、存储器(Memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行API安全防护方法,该方法包括:获取待防护系统因API调用产生的实时流量数据;调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息;根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的API安全防护方法,该方法包括:获取待防护系统因API调用产生的实时流量数据;调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息;根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种API安全防护方法,其特征在于,包括:
获取待防护系统因API调用产生的实时流量数据;
调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息;
根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
2.根据权利要求1所述的API安全防护方法,其特征在于,在调取所述待防护系统的各API接口的资源画像之前,确定所述待防护系统的所有API接口,包括:
获取所述待防护系统的历史流量数据;
以每条所述历史流量数据相关的API接口路径作为根节点、将所述API接口路径下的参数作为叶子节点,绘制流量路径层次图;
利用图聚类模型根据所述流量路径层次图中各节点的出度情况对所有节点进行出度聚类,以根据聚类结果确定所述待防护系统的所有API接口;
所述节点包括所述根节点和所述叶子节点。
3.根据权利要求1所述的API安全防护方法,其特征在于,每个所述API接口的资源画像的维度标签,包括以下内容中的至少一个:
协议标签、域名或IP地址标签、资源路径标签、请求范例标签、响应范例标签、服务对象标签、业务用途标签、调用序列标签、访问源统计标签。
4.根据权利要求3所述的API安全防护方法,其特征在于,所述请求范例标签用于标识所述API接口的可接收数据的相关信息,包括请求方法、请求参数以及请求频率中的至少一种;
所述请求参数包括以下参数信息中的至少一项:
参数名、参数实例值、参数位置、参数类型、参数最大值、参数最小值、参数必要性、参数最大长度、参数最小长度;
所述响应范例标签用于标识所述API接口的可响应数据的相关信息,包括响应状态码、响应头字段、响应体内容以及响应频率中的至少一种;
所述服务对象标签用于标识所述API接口的访问服务对象,包括内部办公对象、三方合作对象以及公共服务对象中的至少一种;
所述业务用途标签用于标识所述API接口的业务类型,包括账号注册、账号密码认证、短信验证码认证、邮箱验证、数据查询、数据保存、数据查询、数据导出、数据更新、数据分享、数据增加、数据删除以及下线注销中的至少一种;
所述调用序列标签用于标识所述API接口与其他API之间的调用序列;
所述访问源统计标签用于标识访问所述API接口的访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息中的至少一种。
5.根据权利要求1所述的API安全防护方法,其特征在于,所述根据所述标签信息,执行对所述待防护系统的各API接口的安全防护,包括:
根据所述API接口的所有维度标签对应的所有标签信息,构建一输入特征向量;
将所述输入特征向量输入至攻击检测模型,获取由所述攻击检测模型对所述输入特征向量进行特征重构后输出的访问识别向量;所述攻击检测模型是以自编码器作为初始模型,利用所述API接口的历史流量数据进行预训练后得到的;
计算所述输入特征向量与所述访问识别向量之间的重构误差;
在确定所述重构误差大于误差阈值的情况下,判定所述API接口接收到异常流量数据;
所述误差阈值是基于所述API接口的历史流量数据中的正常流量数据预先确定的。
6.根据权利要求4所述的API安全防护方法,其特征在于,所述根据所述标签信息,执行对所述待防护系统的各API接口的安全防护,还包括:
调取所述待防护系统的任一API接口的访问源统计标签相关的标签信息,获取所述任一API接口的访问源的IP信息、客户端类型、地理位置、访问来源分布列表信息;
根据所述标签信息判断所述任一API接口的所述访问源的访问请求是否正常;
在确定所述访问请求正常的情况下,根据预先设置的黑白名单管控策略和/或访问频率管控策略,对所述访问请求进行管控;
在确定所述访问请求不正常的情况下,拒绝所述访问源的所述访问请求。
7.根据权利要求6所述的API安全防护方法,其特征在于,所述根据所述标签信息判断所述任一API接口的所述访问源的访问请求是否正常,包括:
在确定所述访问源的IP信息存在于IP信息列表、所述客户端类型存在于客户端类型列表、所述地理位置存在于地理位置列表、所述访问来源分布列表信息是否存在于访问来源分布列表库中的情况下,确定所述任一API接口的所述访问源的访问请求为正常;
否则,确定所述访问请求为不正常。
8.根据权利要求6所述的API安全防护方法,其特征在于,所述根据预先设置的黑白名单管控策略和/或访问频率管控策略,对所述访问请求进行管控,包括:
根据所述访问源的IP信息,确定所述访问源的域名;
在确定所述域名位于预先构建的域名黑名单中,生成第一检测结果;
根据所述访问源的访问来源分布列表信息,确定所述访问源访问所述任一API接口的访问频率;
在确定所述访问频率大于预先设定的额定频率的情况下,生成第二检测结果;
在根据所述第一检测结果和所述第二检测结果,确定所述访问请求不正常的情况下,拒绝所述访问请求。
9.根据权利要求1所述的API安全防护方法,其特征在于,在根据所述标签信息,执行对所述待防护系统的各API接口的安全防护之后,还包括:
根据预设的数据类型匹配规则,判断各API接口的各个实时流量数据是否为敏感数据;
在确定任一所述实时流量数据为敏感数据的情况下,根据预先制定的数据安全策略对所述敏感数据进行脱敏处理。
10.一种API安全防护装置,其特征在于,包括:
流量数据获取单元,用于获取待防护系统因API调用产生的实时流量数据;
标签信息抽取单元,用于调取所述待防护系统的各API接口的资源画像,以根据所述资源画像的维度标签,从所述流量数据中抽取出每个所述维度标签对应的标签信息;
安全防护执行单元,用于根据所述标签信息,执行对所述待防护系统的各API接口的安全防护。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述API安全防护方法。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述API安全防护方法。
CN202410148293.1A 2024-02-01 2024-02-01 Api安全防护方法、装置、电子设备及存储介质 Pending CN118802266A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410148293.1A CN118802266A (zh) 2024-02-01 2024-02-01 Api安全防护方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410148293.1A CN118802266A (zh) 2024-02-01 2024-02-01 Api安全防护方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN118802266A true CN118802266A (zh) 2024-10-18

Family

ID=93022483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410148293.1A Pending CN118802266A (zh) 2024-02-01 2024-02-01 Api安全防护方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN118802266A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119830288A (zh) * 2025-03-17 2025-04-15 南京邮电大学 一种基于语义增强的细粒度恶意行为定位方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119830288A (zh) * 2025-03-17 2025-04-15 南京邮电大学 一种基于语义增强的细粒度恶意行为定位方法及系统

Similar Documents

Publication Publication Date Title
US11704437B2 (en) Gracefully handling endpoint feedback when starting to monitor
US11520922B2 (en) Method for personal data administration in a multi-actor environment
US9038193B2 (en) System and method of data cognition incorporating autonomous security protection
US20210281600A1 (en) Security System Using Pseudonyms to Anonymously Identify Entities and Corresponding Security Risk Related Behaviors
CN111404937B (zh) 一种服务器漏洞的检测方法和装置
CN119830308B (zh) 一种基于数据分析的档案管理系统及方法
US11836265B2 (en) Type-dependent event deduplication
CN113792308A (zh) 一种面向政务敏感数据安全行为风险分析方法
US11190589B1 (en) System and method for efficient fingerprinting in cloud multitenant data loss prevention
US11429697B2 (en) Eventually consistent entity resolution
US20210342339A1 (en) Method for Defining and Computing Analytic Features
CN118802266A (zh) Api安全防护方法、装置、电子设备及存储介质
US20240356919A1 (en) Systems and methods for enforcing access requirements to services in a distributed services system
CN106982147A (zh) 一种Web通讯应用的通讯监控方法和装置
US20150254442A1 (en) System and Method of Data Cognition Incorporating Autonomous Security Protection
US20200076784A1 (en) In-Line Resolution of an Entity's Identity
Xu et al. Development of computer network security management technology based on artificial intelligence under big data
CN117424741A (zh) 一种云waf的网络攻击者溯源方法、装置及介质
CN119110296A (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