CN114826946A - 未授权访问接口的检测方法、装置、设备及存储介质 - Google Patents
未授权访问接口的检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114826946A CN114826946A CN202210745121.3A CN202210745121A CN114826946A CN 114826946 A CN114826946 A CN 114826946A CN 202210745121 A CN202210745121 A CN 202210745121A CN 114826946 A CN114826946 A CN 114826946A
- Authority
- CN
- China
- Prior art keywords
- interface
- information
- request information
- sensitive
- authentication
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及接口检测技术领域,揭露一种未授权访问接口的检测方法、装置、设备及存储介质,其中方法包括获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中;判断请求信息和响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;识别敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;基于认证字段数量以及未认证字段数量,将敏感接口分为未授权接口和授权接口。本发明无需重放应用程序接口请求,减少对于应用***数据窜改的影响,有利于提高未授权访问接口的检测安全性。
Description
技术领域
本申请涉及接口检测技术领域,尤其涉及一种未授权访问接口的检测方法、装置、设备及存储介质。
背景技术
用户通过浏览器实现对应用***的访问,基于应用程序接口来承载数据的交互,随着业务场景的快速扩展,应用***也变得越来越复杂。随着业务快速迭代,敏捷开发模式盛行,应用开发过程中不可避免的会有部分应用程序接口忘记进行身份认证和访问控制,而这类漏洞应用程序接口往往会传输敏感数据,攻击者发现此类应用程序接口后,某些场景下可以获取应用***的管理权限,甚至获取海量的敏感数据。所以对未授权访问接口的检测是一项重要的工作。
现有的未授权访问接口的检测方法主要由人工进行完成,主要过程为:通过HTTP代理方式,获取应用***的请求接口、对应的响应接口;然后通过人工分析哪些应用程序接口的响应内容包含敏感数据,例如敏感业务数据、敏感个人信息;针对上述接口,分析应用程序接口的请求头部,去除认证信息Cookie,或者去除认证HTTP Header头部,再向应用服务重放此接口;若应用服务依旧返回敏感数据,与上述返回的敏感数据相同,则判定该应用程序接口存在未授权访问漏洞;若应用服务未返回敏感数据,则判定该应用程序接口不存在该漏洞。由于存在大量的应用***,应用***又存在大量的应用程序接口,通过逐一进行人工分析,导致检测效率低,同时在生产环境下重放应用程序接口请求,可能会造成数据非法窜改,影响生产环境应用***的安全性。
发明内容
本申请实施例的目的在于提出一种未授权访问接口的检测方法、装置、设备及存储介质,以提高未授权访问接口的检测的效率和安全性。
为了解决上述技术问题,本申请实施例提供一种未授权访问接口的检测方法,包括:
获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息存储于数据库中;
判断所述请求信息和所述响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;
识别所述敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对所述敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;
基于所述认证字段数量以及未认证字段数量,将所述敏感接口分为未授权接口和授权接口。
为了解决上述技术问题,本申请实施例提供一种未授权访问接口的检测装置,包括:
接口数据获取模块,用于获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息存储于数据库中;
敏感接口识别模块,用于判断所述请求信息和所述响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;
认证字段识别模块,用于识别所述敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对所述敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;
授权接口检测模块,用于基于所述认证字段数量以及未认证字段数量,将所述敏感接口分为未授权接口和授权接口。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的未授权访问接口的检测方法。
为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的未授权访问接口的检测方法。
本发明实施例提供了一种未授权访问接口的检测方法、装置、设备及存储介质。其中,方法包括:获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中;判断请求信息和响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;识别敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;基于认证字段数量以及未认证字段数量,将敏感接口分为未授权接口和授权接口。本发明实施例通过应用程序接口在预设时间内所接收的请求信息和响应信息,并识别出请求信息和响应信息的敏感数据,再基于敏感数据确认敏感接口,然后识别出敏感接口中存在的认证字段信息,并基于认证字段信息确认未授权接口和授权接口,避免了通过人工逐一进行接口分析,有利于提高未授权访问接口的检测效率,同时本发明实施例无需重放应用程序接口请求,减少对于应用***数据窜改的影响,有利于提高未授权访问接口的检测安全性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的未授权访问接口的检测方法流程的一实现流程图;
图2是本申请实施例提供的未授权访问接口的检测方法中子流程的又一实现流程图;
图3是本申请实施例提供的未授权访问接口的检测方法中子流程的又一实现流程图;
图4是本申请实施例提供的未授权访问接口的检测方法中子流程的又一实现流程图;
图5是本申请实施例提供的未授权访问接口的检测方法中子流程的又一实现流程图;
图6是本申请实施例提供的未授权访问接口的检测方法中子流程的又一实现流程图;
图7是本申请实施例提供的未授权访问接口的检测方法中子流程的又一实现流程图;
图8是本申请实施例提供的未授权访问接口的检测装置示意图;
图9是本申请实施例提供的计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合附图和实施方式对本发明进行详细说明。
需要说明的是,本申请实施例所提供的未授权访问接口的检测方法一般由服务器执行,相应地,未授权访问接口的检测装置一般配置于服务器中。
请参阅图1,图1示出了未授权访问接口的检测方法的一种具体实施方式。
需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限,该方法包括如下步骤:
S1:获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中。
具体的,生产环境下包括多个应用***,而多个应用***又包括多个应用程序接口,本申请实施例是获取生成环境下应用***的应用程序接口对应数据,也即获取应用程序接口在预设时间内所接收的请求信息和响应信息。其中,预设时间根据实际情况进行设定,此处不作限定。在一具体实施例中,预设时间为24小时。其中,请求信息包括请求头、请求体以及对HTTP/HTTPS协议的数据采集。响应信息包括响应头、响应体以及对HTTP/HTTPS协议的数据采集。
请参阅图2,图2示出了步骤S1的一种具体实施方式,详叙如下:
S11:通过预设镜像端口获取应用程序接口在预设时间内所接收的流量数据,并通过预设镜像端口将流量数据发送到解析服务器中,以使得解析服务器对流量数据进行解析,得到请求信息和响应信息,且将请求信息和响应信息存储于数据库中。
具体的,通过在核心交换机或者路由器上空余网口设置镜像mirror接口,镜像mirror接口另一端连接解析服务器,通过镜像mirror接口将应用***的应用程序接口导入到解析服务器当中,以使得流量解析服务器获取到来自应用程序接口的流量数据,并对流量数据进行解析,从而得到请求信息和响应信息,并将请求信息和响应信息存储于数据库中。其中,预设镜像端口是指镜像mirror接口。解析服务器是指能够对流量数据进行解析的对应服务器。
S12:通过代理中间件的方式,获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息发送到kafka消息队列中,且从kafka消息队列中将请求信息和响应信息存储于数据库中。
请参阅图3,图3示出了步骤S12的一种具体实施方式,详叙如下:
S121:在应用***中间件中嵌入代理响应,当应用***中间件发生响应时,通过代理响应获取应用程序接口在预设时间内所接收的请求信息和响应信息。
S122:按照先后顺序,将请求信息和响应信息发送到kafka消息队列中,并从kafka消息队列中将请求信息和响应信息存储于数据库中。
具体的,代理中间件的方式是指在应用***中间件(例如tomcat)中嵌入代理响应(例如agent代理),也即在应用***中间件中设置数据埋点的方式,该代理响应随着应用***中间件的启动而启动,并获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将获取的请求信息和响应信息存储于kafka消息队列中。并且由于kafka消息队列是一种先进先出的储存方式,在获取到请求信息和响应信息后,根据获取时间的先后顺序,将请求信息和响应信息发送到kafka消息队列中,再从kafka消息队列中将请求信息和响应信息存储于数据库中。
S13:通过应用代理的方式,获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中。
具体的,应用代理的方式是指在不同应用上设置应用代理,该应用代理可以为数据埋点的形式存在,通过应用代理获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中。
需要说明的是,本申请实施例采用步骤S11-S13中的至少一种数据获取方式去获取应用程序接口的请求信息和响应信息。
S2:判断请求信息和响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口。
具体的,由于请求信息和响应信息中存在用户数据和业务数据,这些数据可能涉及个人或企业的隐私数据,比如用户名、身份证号码、银行***、财务数据等,而这些应用程序接口可能存在未进行身份认证和访问控制的情况。所以本申请实施例,通过判断请求信息和响应信息中是否存在敏感数据,若存在敏感数据,将对应的应用程序接口标记为敏感接口。
请参阅图4,图4示出了步骤S2的一种具体实施方式,详叙如下:
S21:从数据库中获取请求信息和响应信息,并将请求信息和响应信息作为目标数据。
S22:通过正则匹配的方式,将目标数据进行匹配处理,将相匹配的目标数据对应的应用程序接口作为敏感接口,将未匹配的目标数据对应的应用程序接口作为待识别接口。
S23:将待识别接口对应的目标数据返回开发端,以获取开发端对待识别接口的打标信息,其中,打标信息包括存在敏感数据与未存在敏感数据。
S24:将存在敏感数据对应的待识别接口作为敏感接口。
具体的,上述步骤已经将请求信息和响应信息存储于数据库中,所以需要从数据库中获取请求信息和响应信息,并将请求信息和响应信息作为目标数据。由于敏感数据包括用户名、手机号、家庭住址、身份证号、银行***等具有明显特征的数据,也包括薪资、预算信息、财务数据等不具备明显特征的数据。所以本申请实施例通过正则匹配的方式识别具有明显特征的数据。也即预先构建匹配规则,通过正则匹配的方式,将目标数据与匹配规则进行匹配处理,将相匹配的目标数据对应的应用程序接口作为敏感接口,将未匹配的目标数据对应的应用程序接口作为待识别接口。例如手机号码的匹配规则为:1[34578][01256]\d{8},当目标数据中存在数据为“180XXXX1849”,根据该手机号码的匹配规则,识别出“180XXXX1849”为敏感数据。进一步的,由于薪资、预算信息、财务数据等不具备明显特征的数据难以通过正则匹配的方式识别出来,所以将待识别接口对应的目标数据返回开发端,开发端通过对目标数据的识别,若发现存在敏感数据则对该待识别接口进行打标,并将打标信息返回服务器,以使得服务器将存在敏感数据对应的待识别接口作为敏感接口。其中,打标信息包括存在敏感数据与未存在敏感数据。
S3:识别敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量。
具体的,上述步骤已经识别出了应用程序接口中的敏感接口,本申请实施例需要识别出敏感接口是否接收到认证字段,从而对应用程序接口进行进一步检测。若应用程序接口接收到具有认证字段的请求信息,返回的响应信息可能存在认证字段;若应用程序接口没有接收到具有认证字段的请求信息,则返回的响应信息中不可能存在认证字段。所以为了减少数据计算量,提高检测效率,本申请实施例只对敏感接口对应的请求信息进行识别,也即识别敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量。其中,认证字段信息包括认证字段和非认证字段。
请参阅图5,图5示出了步骤S3的一种具体实施方式,详叙如下:
S31:将预设的认证字段作为模糊匹配字段,并将敏感接口对应请求信息作为待验证数据。
S32:通过模糊匹配的方式,将待验证数据依次与模糊匹配字段进行匹配。
S33:若存在待验证数据与任一模糊匹配字段相匹配,则将验证数据作为认证字段。
S34:若待验证数据与模糊匹配字段均未匹配,则将验证数据作为未认证字段。
S35:分别统计认证字段与未认证字段,得到认证字段数量以及未认证字段数量。
具体的,由于通用的认证字段包括:sessionid、token、ticket、authorization,所以将这些通用的认证字段作为预设的认证字段,在将字段作为模糊匹配字段,构建模糊匹配规则,例如将sessionid、token、ticket、authorization构建为%session%、%token%、%ticket%、% authorization%,然后通过模糊匹配的方式,将待验证数据依次与模糊匹配字段进行匹配;若存在待验证数据与任一模糊匹配字段相匹配,则将验证数据作为认证字段;若待验证数据与模糊匹配字段均未匹配,则将验证数据作为未认证字段;最后再分别统计认证字段与未认证字段,得到认证字段数量以及未认证字段数量。
请参阅图6,图6示出了步骤S35的一种具体实施方式,详叙如下:
S351:在敏感接口上绑定第一变量和第二变量。
S352:若敏感接口上识别到未认证字段,则第一变量增加1,若敏感接口上识别到认证字段,则第二变量增加1,直至待验证数据识别完成。
S353:基于第一变量以及第二变量,得到认证字段数量以及未认证字段数量。
具体的,本申请实施例通过在敏感接口上绑定第一变量和第二变量,若敏感接口上识别到未认证字段,则第一变量增加1,若敏感接口上识别到认证字段,则第二变量增加1,直至待验证数据识别完成,再将第一变量对应的数额作为认证字段数量,将第二变量对应的数额作为未认证字段数量。
S4:基于认证字段数量以及未认证字段数量,将敏感接口分为未授权接口和授权接口。
具体的,根据认证字段数据和未认证字段数量占总的请求信息数量的比例,将敏感接口分为未授权接口和授权接口。
请参阅图7,图7示出了步骤S4的一种具体实施方式,详叙如下:
S41:获取敏感接口对应请求信息的总数量,并计算未认证字段数量占总数量的比例,得到比例信息。
S42:若比例信息大于等于第一预设比例,则将敏感接口作为未授权接口。
S43:若比例信息小于第二预设比例,则将敏感接口作为授权接口,其中,第一预设比例大于第二预设比例。
S44:若比例信息小于第一预设比例且大于等于第二预设比例,则获取下一预设时间内的请求信息和响应信息,重新对敏感接口进行检测,直至所有敏感接口检测完成。
具体的,在预设时间内,识别到未认证字段数量为a以及认证字段数量为b,则敏感接口对应请求信息的总数量为(a+b)。每个应用程序接口以未认证字段数量a以及认证字段数量b为计数维度,算未认证字段数量占总数量的比例,得到比例信息a /(a+b)。若在预设时间内,若a /(a+b)大于等于第一预设比例,则将敏感接口作为未授权接口,且下一个预设时间内不再将该接口计算分析;若a/(a+b)小于第二预设比例,则将敏感接口作为授权接口,下一个预设时间内不再将该接口计算分析;若a /(a+b)小于第一预设比例且大于等于第二预设比例,则获取下一预设时间内的请求信息和响应信息,重新对敏感接口进行检测,直至所有敏感接口检测完成。
需要说明的是,第一预设比例大于第二预设比例,且第一预设比例与第二预设比例根据实际情况进行设定,此处不作限定。在一具体实施例中,第一预设比例为50%,第二预设比例为20%。
本实施例,获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中;判断请求信息和响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;识别敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;基于认证字段数量以及未认证字段数量,将敏感接口分为未授权接口和授权接口。本发明实施例通过应用程序接口在预设时间内所接收的请求信息和响应信息,并识别出请求信息和响应信息的敏感数据,再基于敏感数据确认敏感接口,然后识别出敏感接口中存在的认证字段信息,并基于认证字段信息确认未授权接口和授权接口,避免了通过人工逐一进行接口分析,有利于提高未授权访问接口的检测效率,同时本发明实施例无需重放应用程序接口请求,减少对于应用***生产环境的数据窜改影响,有利于提高未授权访问接口的检测安全性。
请参考图8,作为对上述图1所示方法的实现,本申请提供了一种未授权访问接口的检测装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,本实施例的未授权访问接口的检测装置包括:接口数据获取模块51、敏感接口识别模块52、认证字段识别模块53及授权接口检测模块54,其中:
接口数据获取模块51,用于获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中;
敏感接口识别模块52,用于判断请求信息和响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;
认证字段识别模块53,用于识别敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;
授权接口检测模块54,用于基于认证字段数量以及未认证字段数量,将敏感接口分为未授权接口和授权接口。
进一步的,接口数据获取模块51包括:
第一获取单元,用于通过预设镜像端口获取应用程序接口在预设时间内所接收的流量数据,并通过预设镜像端口将流量数据发送到解析服务器中,以使得解析服务器对流量数据进行解析,得到请求信息和响应信息,且将请求信息和响应信息存储于数据库中;和/或,
第二获取单元,用于通过代理中间件的方式,获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息发送到kafka消息队列中,且从kafka消息队列中将请求信息和响应信息存储于数据库中;和/或,
第三获取单元,用于通过应用代理的方式,获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将请求信息和响应信息存储于数据库中。
进一步的,第二获取单元包括:
代理响应嵌入子单元,用于在应用***中间件中嵌入代理响应,当应用***中间件发生响应时,通过代理响应获取应用程序接口在预设时间内所接收的请求信息和响应信息;
数据存储子单元,用于按照先后顺序,将请求信息和响应信息发送到kafka消息队列中,并从kafka消息队列中将请求信息和响应信息存储于数据库中。
进一步的,敏感接口识别模块52包括:
目标数据生成单元,用于从数据库中获取请求信息和响应信息,并将请求信息和响应信息作为目标数据;
正则匹配处理单元,用于通过正则匹配的方式,将目标数据进行匹配处理,将相匹配的目标数据对应的应用程序接口作为敏感接口,将未匹配的目标数据对应的应用程序接口作为待识别接口;
打标信息获取单元,用于将待识别接口对应的目标数据返回开发端,以获取开发端对待识别接口的打标信息,其中,打标信息包括存在敏感数据与未存在敏感数据;
敏感接口确认单元,用于将存在敏感数据对应的待识别接口作为敏感接口。
进一步的,认证字段识别模块53包括:
待验证数据生成单元,用于将预设的认证字段作为模糊匹配字段,并将敏感接口对应请求信息作为待验证数据;
模糊匹配处理单元,用于通过模糊匹配的方式,将待验证数据依次与模糊匹配字段进行匹配;
第一匹配单元,用于若存在待验证数据与任一模糊匹配字段相匹配,则将验证数据作为认证字段;
第二匹配单元,用于若待验证数据与模糊匹配字段均未匹配,则将验证数据作为未认证字段;
字段数量统计单元,用于分别统计认证字段与未认证字段,得到认证字段数量以及未认证字段数量。
进一步的,字段数量统计单元包括:
变量绑定子单元,用于在敏感接口上绑定第一变量和第二变量;
数据统计子单元,用于若敏感接口上识别到未认证字段,则第一变量增加1,若敏感接口上识别到认证字段,则第二变量增加1,直至待验证数据识别完成;
字段数量获取单元,用于基于第一变量以及第二变量,得到认证字段数量以及未认证字段数量。
进一步的,授权接口检测模块54包括:
比例信息计算单元,用于获取敏感接口对应请求信息的总数量,并计算未认证字段数量占总数量的比例,得到比例信息;
未授权接口确认单元,用于若比例信息大于等于第一预设比例,则将敏感接口作为未授权接口;
授权接口确认单元,用于若比例信息小于第二预设比例,则将敏感接口作为授权接口,其中,第一预设比例大于第二预设比例;
接口重测单元,用于若比例信息小于第一预设比例且大于等于第二预设比例,则获取下一预设时间内的请求信息和响应信息,重新对敏感接口进行检测,直至所有敏感接口检测完成。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
计算机设备6包括通过***总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有三种组件存储器61、处理器62、网络接口63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器61至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器61可以是计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(SmartMedia Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,存储器61还可以既包括计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,存储器61通常用于存储安装于计算机设备6的操作***和各类应用软件,例如未授权访问接口的检测方法的程序代码等。此外,存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制计算机设备6的总体操作。本实施例中,处理器62用于运行存储器61中存储的程序代码或者处理数据,例如运行上述未授权访问接口的检测方法的程序代码,以实现未授权访问接口的检测方法的各种实施例。
网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在计算机设备6与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种未授权访问接口的检测方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种未授权访问接口的检测方法,其特征在于,包括:
获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息存储于数据库中;
判断所述请求信息和所述响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;
识别所述敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对所述敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;
基于所述认证字段数量以及未认证字段数量,将所述敏感接口分为未授权接口和授权接口。
2.根据权利要求1所述的未授权访问接口的检测方法,其特征在于,所述获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息存储于数据库中,包括:
通过预设镜像端口获取所述应用程序接口在预设时间内所接收的流量数据,并通过所述预设镜像端口将所述流量数据发送到解析服务器中,以使得所述解析服务器对所述流量数据进行解析,得到所述请求信息和所述响应信息,且将所述请求信息和所述响应信息存储于所述数据库中;和/或,
通过代理中间件的方式,获取所述应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息发送到kafka消息队列中,且从所述kafka消息队列中将所述请求信息和所述响应信息存储于所述数据库中;和/或,
通过应用代理的方式,获取所述应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息存储于所述数据库中。
3.根据权利要求2所述的未授权访问接口的检测方法,其特征在于,所述通过代理中间件的方式,获取所述应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息发送到kafka消息队列中,且从所述kafka消息队列中将所述请求信息和所述响应信息存储于所述数据库中,包括:
在应用***中间件中嵌入代理响应,当所述应用***中间件发生响应时,通过所述代理响应获取所述应用程序接口在预设时间内所接收的请求信息和响应信息;
按照先后顺序,将所述请求信息和所述响应信息发送到kafka消息队列中,并从所述kafka消息队列中将所述请求信息和所述响应信息存储于所述数据库中。
4.根据权利要求1所述的未授权访问接口的检测方法,其特征在于,所述判断所述请求信息和所述响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口,包括:
从所述数据库中获取所述请求信息和所述响应信息,并将所述请求信息和所述响应信息作为目标数据;
通过正则匹配的方式,将所述目标数据进行匹配处理,将相匹配的目标数据对应的应用程序接口作为所述敏感接口,将未匹配的目标数据对应的应用程序接口作为待识别接口;
将所述待识别接口对应的目标数据返回开发端,以获取开发端对所述待识别接口的打标信息,其中,打标信息包括存在敏感数据与未存在敏感数据;
将所述存在敏感数据对应的待识别接口作为所述敏感接口。
5.根据权利要求1所述的未授权访问接口的检测方法,其特征在于,所述认证字段信息包括认证字段与非认证字段,所述识别所述敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对所述敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量,包括:
将预设的认证字段作为模糊匹配字段,并将所述敏感接口对应请求信息作为待验证数据;
通过模糊匹配的方式,将所述待验证数据依次与所述模糊匹配字段进行匹配;
若存在所述待验证数据与任一所述模糊匹配字段相匹配,则将所述验证数据作为所述认证字段;
若所述待验证数据与所述模糊匹配字段均未匹配,则将所述验证数据作为所述未认证字段;
分别统计所述认证字段与所述未认证字段,得到所述认证字段数量以及所述未认证字段数量。
6.根据权利要求5所述的未授权访问接口的检测方法,其特征在于,所述分别统计所述认证字段与所述未认证字段,得到所述认证字段数量以及所述未认证字段数量,包括:
在敏感接口上绑定第一变量和第二变量;
若所述敏感接口上识别到所述未认证字段,则所述第一变量增加1,若所述敏感接口上识别到所述认证字段,则所述第二变量增加1,直至所述待验证数据识别完成;
基于所述第一变量以及所述第二变量,得到所述认证字段数量以及所述未认证字段数量。
7.根据权利要求1至6任一项所述的未授权访问接口的检测方法,其特征在于,所述基于所述认证字段数量以及未认证字段数量,将所述敏感接口分为未授权接口和授权接口,包括:
获取所述敏感接口对应请求信息的总数量,并计算所述未认证字段数量占所述总数量的比例,得到比例信息;
若所述比例信息大于等于第一预设比例,则将所述敏感接口作为所述未授权接口;
若所述比例信息小于第二预设比例,则将所述敏感接口作为所述授权接口,其中,所述第一预设比例大于所述第二预设比例;
若所述比例信息小于所述第一预设比例且大于等于所述第二预设比例,则获取下一所述预设时间内的所述请求信息和所述响应信息,重新对所述敏感接口进行检测,直至所有所述敏感接口检测完成。
8.一种未授权访问接口的检测装置,其特征在于,包括:
接口数据获取模块,用于获取应用程序接口在预设时间内所接收的请求信息和响应信息,并将所述请求信息和所述响应信息存储于数据库中;
敏感接口识别模块,用于判断所述请求信息和所述响应信息中是否存在敏感数据,若存在,则将对应的应用程序接口作为敏感接口;
认证字段识别模块,用于识别所述敏感接口对应请求信息中的认证字段信息,并基于认证字段信息,对所述敏感接口的请求信息进行统计,得到认证字段数量以及未认证字段数量;
授权接口检测模块,用于基于所述认证字段数量以及未认证字段数量,将所述敏感接口分为未授权接口和授权接口。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的未授权访问接口的检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的未授权访问接口的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745121.3A CN114826946B (zh) | 2022-06-29 | 2022-06-29 | 未授权访问接口的检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745121.3A CN114826946B (zh) | 2022-06-29 | 2022-06-29 | 未授权访问接口的检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114826946A true CN114826946A (zh) | 2022-07-29 |
CN114826946B CN114826946B (zh) | 2022-09-13 |
Family
ID=82522292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210745121.3A Active CN114826946B (zh) | 2022-06-29 | 2022-06-29 | 未授权访问接口的检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826946B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432190A (zh) * | 2023-06-15 | 2023-07-14 | 杭州美创科技股份有限公司 | 接口未授权访问检测方法、装置、计算机设备及存储介质 |
CN117688540A (zh) * | 2024-02-01 | 2024-03-12 | 杭州美创科技股份有限公司 | 接口敏感数据泄露检测防御方法、装置及计算机设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685206B1 (en) * | 2004-02-12 | 2010-03-23 | Microsoft Corporation | Authorization and access control service for distributed network resources |
EP2942731A1 (en) * | 2014-05-10 | 2015-11-11 | Informatica Corporation | Identifying and securing sensitive data at its source |
CN106991298A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 应用程序对接口的访问方法、授权请求方法及装置 |
CN108616289A (zh) * | 2016-12-27 | 2018-10-02 | 卡西欧计算机株式会社 | 通信装置、通信方法以及记录介质 |
CN109906655A (zh) * | 2016-11-04 | 2019-06-18 | 松下电器(美国)知识产权公司 | 非许可小区中改进的两阶段授权 |
EP3651100A1 (en) * | 2018-11-09 | 2020-05-13 | MasterCard International Incorporated | Anomaly detection method for financial transactions |
CN112668052A (zh) * | 2020-12-30 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 一种数据脱敏方法、装置、存储介质和电子设备 |
CN113505353A (zh) * | 2021-07-09 | 2021-10-15 | 绿盟科技集团股份有限公司 | 一种认证方法、装置、设备和存储介质 |
-
2022
- 2022-06-29 CN CN202210745121.3A patent/CN114826946B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685206B1 (en) * | 2004-02-12 | 2010-03-23 | Microsoft Corporation | Authorization and access control service for distributed network resources |
EP2942731A1 (en) * | 2014-05-10 | 2015-11-11 | Informatica Corporation | Identifying and securing sensitive data at its source |
CN106991298A (zh) * | 2016-01-21 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 应用程序对接口的访问方法、授权请求方法及装置 |
CN109906655A (zh) * | 2016-11-04 | 2019-06-18 | 松下电器(美国)知识产权公司 | 非许可小区中改进的两阶段授权 |
CN108616289A (zh) * | 2016-12-27 | 2018-10-02 | 卡西欧计算机株式会社 | 通信装置、通信方法以及记录介质 |
EP3651100A1 (en) * | 2018-11-09 | 2020-05-13 | MasterCard International Incorporated | Anomaly detection method for financial transactions |
CN112668052A (zh) * | 2020-12-30 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 一种数据脱敏方法、装置、存储介质和电子设备 |
CN113505353A (zh) * | 2021-07-09 | 2021-10-15 | 绿盟科技集团股份有限公司 | 一种认证方法、装置、设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
RAMABATHINA GIRISH KUMAR: "Multi-touch authentication framework for cloud secrecy over hidden data", 《2015 2ND INTERNATIONAL CONFERENCE ON COMPUTING FOR SUSTAINABLE GLOBAL DEVELOPMENT》 * |
曾琴涛: "基于Java平台的Web应用***单点登录方案研究与实现", 《中国优秀硕士学位论文数据库》 * |
樊续征: "电信运营商微信在线服务***设计与实现", 《中国优秀硕士学位论文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432190A (zh) * | 2023-06-15 | 2023-07-14 | 杭州美创科技股份有限公司 | 接口未授权访问检测方法、装置、计算机设备及存储介质 |
CN116432190B (zh) * | 2023-06-15 | 2023-09-08 | 杭州美创科技股份有限公司 | 接口未授权访问检测方法、装置、计算机设备及存储介质 |
CN117688540A (zh) * | 2024-02-01 | 2024-03-12 | 杭州美创科技股份有限公司 | 接口敏感数据泄露检测防御方法、装置及计算机设备 |
CN117688540B (zh) * | 2024-02-01 | 2024-04-19 | 杭州美创科技股份有限公司 | 接口敏感数据泄露检测防御方法、装置及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114826946B (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114826946B (zh) | 未授权访问接口的检测方法、装置、设备及存储介质 | |
CN108377241B (zh) | 基于访问频率的监测方法、装置、设备和计算机存储介质 | |
CN112217835B (zh) | 报文数据的处理方法、装置、服务器和终端设备 | |
CN110417778B (zh) | 访问请求的处理方法和装置 | |
US20130054433A1 (en) | Multi-Factor Identity Fingerprinting with User Behavior | |
CN108521405B (zh) | 一种风险管控方法、装置及存储介质 | |
CN111835737B (zh) | 基于自动学习的web攻击防护方法、及其相关设备 | |
WO2020181809A1 (zh) | 基于接口校验的数据处理的方法、***和计算机设备 | |
CN111131221B (zh) | 接口校验的装置、方法及存储介质 | |
CN110888838A (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
CN109547426B (zh) | 业务响应方法及服务器 | |
CN109460653B (zh) | 基于规则引擎的验证方法、验证设备、存储介质及装置 | |
CN109815702B (zh) | 软件行为的安全检测方法、装置及设备 | |
CN113259429A (zh) | 会话保持管控方法、装置、计算机设备及介质 | |
CN111353138A (zh) | 一种异常用户识别的方法、装置、电子设备及存储介质 | |
CN112671724A (zh) | 一种终端安全检测分析方法、装置、设备及可读存储介质 | |
CN110858831A (zh) | 安全防护方法、装置以及安全防护设备 | |
CN109688099B (zh) | 服务器端撞库识别方法、装置、设备及可读存储介质 | |
CN114785567A (zh) | 一种流量识别方法、装置、设备及介质 | |
CN110442466B (zh) | 防止请求重复访问方法、装置、计算机设备及存储介质 | |
CN110995658A (zh) | 网关保护方法、装置、计算机设备及存储介质 | |
CN111200591A (zh) | 多重人机验证方法、装置、设备和存储介质 | |
CN107995167B (zh) | 一种设备识别方法及服务器 | |
CN112488562B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |