CN115801313A - 敏感数据过度暴露的检测方法、装置、设备和存储介质 - Google Patents
敏感数据过度暴露的检测方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115801313A CN115801313A CN202211214780.0A CN202211214780A CN115801313A CN 115801313 A CN115801313 A CN 115801313A CN 202211214780 A CN202211214780 A CN 202211214780A CN 115801313 A CN115801313 A CN 115801313A
- Authority
- CN
- China
- Prior art keywords
- response message
- sensitive data
- data
- sensitive
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提出一种敏感数据过度暴露的检测方法、装置、设备和存储介质,该方法包括:对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量;确定第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险。本申请可以有效检测API流量中是否存在敏感数据暴露的风险,降低敏感数据暴露造成的损失。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种敏感数据过度暴露的检测方法、装置、设备和存储介质。
背景技术
随着大数据技术的快速发展,基于REST标准普及和API的复用的要求,API接口在设计及实现环节可能存在各种各样的逻辑缺陷,从而导致API接口被攻击者恶意利用,例如由水平越权、参数篡改等导致敏感数据过度暴露。敏感数据过度暴露会对数据安全和业务安全造成巨大威胁。
由于API接口会面向不同需求的调用者,不同调用者请求的返回值也不相同,在请求方向上异常用户调用API接口所发起的请求可能与正常用户发起的请求无明显特征差异,因此传统的API安全产品无法实现敏感数据暴露的有效检测。
发明内容
为了解决现有技术中无法对API接口流量中是否存在敏感数据暴露进行有效检测的技术问题。本申请提供了一种敏感数据过度暴露的检测方法、装置、设备和存储介质,其主要目的在于有效检测API流量中是否存在敏感数据暴露的风险,降低敏感数据暴露造成的损失。
为实现上述目的,本申请提供了一种敏感数据过度暴露的检测方法,该方法包括:
对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量;
确定第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险。
为实现上述目的,本申请提供了一种敏感数据过度暴露的检测方法,该方法包括:
对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量及所包含的敏感数据类型;
根据第一数据量及所包含的敏感数据类型,确定第一响应报文中的目标响应报文存在敏感数据过度暴露风险,其中,目标响应报文为第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文。
此外,为实现上述目的,本申请还提供了一种敏感数据过度暴露的检测装置,该装置包括:
第一数据检测模块,用于对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量;
第一判断模块,用于确定第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险。
此外,为实现上述目的,本申请还提供了一种敏感数据过度暴露的检测装置,该装置包括:
第二数据检测模块,用于对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量及所包含的敏感数据类型;
第二判断模块,用于根据第一数据量及所包含的敏感数据类型,确定第一响应报文中的目标响应报文存在敏感数据过度暴露风险,其中,目标响应报文为第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文。
为实现上述目的,本申请还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时执行如前面任一项的敏感数据过度暴露的检测方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如前面任一项的敏感数据过度暴露的检测方法的步骤。
本申请提出的敏感数据过度暴露的检测方法、装置、设备和存储介质,通过根据数据量阈值对第一响应报文所包含的敏感数据的第一数据量进行是否超量的判断,从而在第一数据量超过数据量阈值时判定对应第一响应报文存在敏感数据过度暴露的风险。本申请通过响应报文中所包含的敏感数据的数据量来判断是否过度暴露敏感数据,能够有效检测API流量中是否存在敏感数据暴露的风险,降低敏感数据暴露造成的损失,提高API安全检测防护能力。本申请可适用于API流量检测等场景,应用于WAF防火墙和安全态势感知等产品。
附图说明
图1为本申请一实施例中敏感数据过度暴露的检测方法的流程示意图;
图2为本申请另一实施例中敏感数据过度暴露的检测方法的流程示意图;
图3为本申请一实施例中敏感数据过度暴露的检测装置的结构框图;
图4为本申请另一实施例中敏感数据过度暴露的检测装置的结构框图;
图5为本申请一实施例中计算机设备的内部结构框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为本申请一实施例中敏感数据过度暴露的检测方法的流程示意图;参考图1,该敏感数据过度暴露的检测方法包括以下步骤S110-S120。
S110:对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量。
具体地,目标接口为涉敏API(Application Programming Interface)接口,即,目标接口所对应的流量中存在敏感数据。敏感数据具体为包含敏感字段或敏感数据值的数据。例如,姓名、地址、联系方式为敏感字段,电话号码、地址取值为敏感数据值。
API接口是一种用于应用程序之间交互通信的计算接口,定义了调用规则以及数据格式相关信息。本申请提到的API接口可以包括Web API,Web API是网络应用程序接口,包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。
一个系统中包括多个API接口,如果对某个API接口进行流量检测时,该API接口的流量中没有敏感数据则暂时不作为目标接口。如果检测到该API接口的流量中存在敏感数据,则将API接口作为目标接口。
使用敏感数据检测方法对目标接口中的每条第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量。
其中,敏感数据检测具体可检测第一响应报文中是否存在敏感字段和/或敏感数据值等,以及定位敏感字段或敏感数据值在第一响应报文中的位置。如果存在敏感字段或敏感数据值则判定该第一响应报文包含敏感数据,将第一响应报文的响应体中包含敏感字段或敏感数据值的响应数据作为敏感数据。其中,响应数据位于响应体中,一个响应报文可能包括多条响应数据。例如,
一个响应体包括如下响应数据:
{
"status":"1","iphone":"021-2982981","username":"bojack"
}
{
“status":"1","iphone":"021-2982982","username":"livira"
}........
如果iPhone为敏感字段或敏感词汇,则该响应体中{"status":"1","iphone":"021-2982981","username":"bojack"}为一条敏感数据;{“status":"1","iphone":"021-2982982","username":"livira"}也为一条敏感数据。
另外,不同的API接口可以定义不同的敏感字段。例如User_name、address等字段代表的姓名、地址,在有的API接口中这些属于敏感字段,在其他API接口中这些属于非敏感字段。
另外,一条第一响应报文可能不包含敏感数据,也可能包含一条或多条敏感数据。不同的第一响应报文所包含的敏感数据的第一数据量不一定都相同。同一个目标接口在一个时间段内会有多条第一响应报文,这些第一响应报文包括正常用户向目标接口发送第一请求报文以调用目标接口时,目标接口向该正常用户返回的响应包。这些第一响应报文还可能包括非正常用户向目标接口发送第一请求报文以调用目标接口时,目标接口向该非正常用户返回的响应包。
S120:确定第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险。
具体地,任意一条第一响应报文所包含的敏感数据的第一数据量超过数据量阈值,则判定该第一响应报文存在敏感数据过度暴露的风险。
对于存在敏感数据过度暴露的风险的第一响应报文可以进行拦截并进行异常告警,以提示研发人员执行相应的风险排查和预防。
本实施例通过根据数据量阈值对第一响应报文所包含的敏感数据的第一数据量进行是否超量的判断,从而在第一数据量超过数据量阈值时判定对应第一响应报文存在敏感数据过度暴露的风险。本申请通过响应报文中所包含的敏感数据的数据量来判断是否过度暴露敏感数据,能够有效检测API流量中是否存在敏感数据暴露的风险,降低敏感数据暴露造成的损失,提高API安全检测防护能力。本申请可适用于API流量检测等场景,应用于WAF防火墙和安全态势感知等产品。
在一个实施例中,在步骤S110之前,该方法还包括:
对在一个周期内所检测到的第二响应报文进行敏感数据检测,得到每条第二响应报文所包含的敏感数据的第二数据量,其中,第二响应报文为目标接口所对应的、且在第一响应报文之前产生的流量;
根据一个周期内所有第二响应报文所对应的第二数据量的数据分布得到数据量阈值。具体地,使用相同的敏感数据检测方法学习目标接口在一个周期内的第二响应报文所包含的敏感数据的第二数据量后,可以用于对该目标接口后续流量进行敏感数据过度暴露风险检测。
对该目标接口之后一个周期内所检测到的第二响应报文的敏感数据进行检测,以统计每条第二响应报文所包含的敏感数据的第二数据量。本实施例是对同一个目标接口在一个周期内的流量进行检测。
在一个周期内会收集到多条第二响应报文,因此根据所有第二响应报文所包含敏感数据的第二数据量计算数据分布。数据分布用于指示敏感数据条数的数值分布。
可以通过三西格玛准则来得到数据量阈值。具体地,根据所有第二响应报文所包含敏感数据的第二数据量计算标准差σ和均值μ,根据3σ准则计算数值分布。计算数值分布在(μ-σ,μ+σ)中的第一概率,计算数值分布在(μ-2σ,μ+2σ)中的第二概率,计算数值分布在(μ-3σ,μ+3σ)中的第三概率。第三概率大于第一概率和第二概率,绝大部分的第二数据量分布在(μ-3σ,μ+3σ)区间。可以取μ+3σ作为数据量阈值。当然还可以根据μ+3σ进行适当补偿得到一个值作为数据量阈值,具体根据(μ+3σ,+∞)所包含的敏感数据的数据分布进行适当调整。
本实施例通过统计学方法分析目标API接口的流量,得到一个周期的学习阶段中第二响应报文的第二数据量,根据所有第二响应报文的第二数据量得到数据量阈值,根据数据量阈值对后续的第一响应报文所包含的敏感数据的第一数据量进行是否超量的判断,从而在第一数据量超过数据量阈值时判定对应第一响应报文存在敏感数据过度暴露的风险。本申请通过响应报文中所包含的敏感数据的数据量来判断是否过度暴露敏感数据,能够有效检测API流量中是否存在敏感数据暴露的风险,降低敏感数据暴露造成的损失,提高API安全检测防护能力。本申请可适用于API流量检测等场景,应用于WAF防火墙和安全态势感知等产品。
在一个实施例中,在步骤S120之前,该方法还包括:
获取第二响应报文对应的第二请求报文的请求属性信息,
对所有第二响应报文所包含的敏感数据及对应的第二请求报文的请求属性信息的对应关系进行学习,得到对应关系分布;
步骤S120包括:
获取目标响应报文对应的第一请求报文的请求属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值的响应报文,
基于对应关系分布,确定目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息是否对应,
若不对应,则确定目标响应报文存在敏感数据过度暴露风险。
具体地,每个第二响应报文是目标接口根据对应的第二请求报文生成的返回数据。响应报文即服务器端到客户端的响应消息或响应包,包括响应行、响应头和响应体。请求报文即客户端到服务器端的请求消息或请求包,包括请求行、请求头和请求体。
请求属性信息用于指示对应请求报文的数据属性,请求属性信息可以包括对应请求报文的请求体中所包含的参数名、参数值及请求头结构等不局限于此。
目标接口请求方向存在一些特征参数名或者一些关键参数值,可能会影响响应方向敏感数据的返回。返回数据量由请求方向控制,被攻击者通过恶意篡改请求报文,可能导致大量数据返回。也有一些情况,接口原本只返回少量的数据,攻击者通过构造恶意请求包,使接口返回了大量敏感数据。
因此,响应报文中所包含的敏感数据的第二数据量与对应请求报文的请求体有关。基于此,本实施例对目标接口一个周期内所有第二请求报文的请求属性信息与对应的第二响应报文所包含的敏感数据的对应关系进行学习,可以获取请求属性信息与敏感数据之间的对应关系分布。
为了判断的准确性,对应关系分布可以是对整个对应关系分布去除分布较少的敏感数据后得到的。
利用学习统计到的对应关系分布可以用于评估任意一条第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息是否对应或存在对应关系。如果存在对应关系,则响应报文中出现的敏感数据是对应请求报文中所请求的或是对应关系分布中绝大多数第二响应报文中也出现过的。如果不存在对应关系,则响应报文中出现的敏感数据是对应请求报文中未请求的且是对应关系分布中未出现过的敏感数据。
当然,还可以采用机器学习,将每条第二响应报文所包含的敏感数据与对应第二请求报文的请求属性信息作为一条训练样本对对应关系模型进行训练。
将第一响应报文对应的第一请求报文中的请求属性信息作为已训练的对应关系模型的输入,利用已训练的对应关系模型对第一响应报文的敏感数据进行预估。如果预估的敏感数据与第一响应报文的实际敏感数据存在差异,例如实际敏感数据多于预估的敏感数据或实际敏感数据不全属于预估的敏感数据,则判定第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应。
或者,将第一响应报文的实际敏感数据作为已训练的对应关系模型的输入,利用已训练的对应关系模型对第一响应报文对应的第一请求报文的请求属性信息进行预估。如果预估的请求属性信息与第一请求报文的实际请求属性信息存在差异,例如预估的请求属性中的参数名不全属于预估的请求属性信息和/或二者对应参数值类型不同和/或二者的请求体结构不同等,则判定第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应。
如果一条第一响应请求所包含的敏感数据的第一数据量超过数据量阈值且第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应,则判定该第一响应报文存在敏感数据过度暴露风险。
本实施例在第一响应请求所包含的敏感数据的第一数据量超过数据量阈值时会继续判断敏感数据与请求属性信息是否存在对应关系,通过双重评估对第一响应请求是否过度暴露敏感数据进行准确判断,减少误判可能,提高评判的准确性。
在一个实施例中,在步骤S120之前,该方法还包括:
获取第二响应报文对应的第二请求报文的参数属性信息,
对所有第二响应报文对应的第二请求报文的参数属性信息进行学习,得到参数属性分布;
步骤S120包括:
获取目标响应报文对应的第一请求报文的参数属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值的响应报文,
基于参数属性分布,确定目标响应报文对应的第一请求报文的参数属性信息是否存在异常,
若目标响应报文对应的第一请求报文的参数属性信息存在异常,则确定目标响应报文存在敏感数据过度暴露风险。
具体地,参数属性信息包括参数名在至少一个维度上的第一属性信息和/或参数值在至少一个维度的第二属性信息。至少一个维度包括类型、长度和字符分布等其中的至少一种维度。
通过对所有第二请求报文的参数属性信息进行学习,可以得到参数属性分布。如果第一请求报文的参数属性信息不完全符合参数属性分布,则判定第一请求报文的参数属性信息存在异常即偏离参数属性分布。
为了判断的准确性,参数属性分布可以是对整体参数属性分布中分布较少的数据进行剔除后的分布。
本实施例在第一响应请求所包含的敏感数据的第一数据量超过数据量阈值时会继续判断第一请求报文的参数属性信息是否存在异常,通过双重评估对第一响应请求是否过度暴露敏感数据进行准确判断,减少误判可能,提高评判的准确性。
图2为本申请另一实施例中敏感数据过度暴露的检测方法的流程示意图;参考图2,该敏感数据过度暴露的检测方法包括以下步骤S210-S220。
S210:对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量及所包含的敏感数据类型。
具体地,敏感数据检测具体检测第一响应报文中是否存在敏感字段和/或敏感数据值等,以及定位敏感字段或敏感数据值在第一响应报文中的位置。如果存在敏感字段或敏感数据值则判定该第一响应报文包含敏感数据,将第一响应报文的响应体中包含敏感字段或敏感数据值的响应数据作为敏感数据。其中,响应数据位于响应体中,一个响应报文可能包括多条响应数据。
另外,一条第一响应报文可能不包含敏感数据,也可能包含一条或多条敏感数据。不同的第一响应报文所包含的敏感数据的第一数据量不一定都相同。同一个目标接口在一个周期内会有多条第一响应报文,这些第一响应报文包括正常用户向目标接口发送第一请求报文以调用目标接口时,目标接口向该正常用户返回的响应包。这些第一响应报文还可能包括非正常用户向目标接口发送第一请求报文以调用目标接口时,目标接口向该非正常用户返回的响应包。
涉敏接口请求方向存在一些特征参数名,或者一些关键参数值,可能会影响响应方向敏感数据类型的返回。比如涉敏的API接口返回内容中出现了新的类型敏感数据,原本只返回姓名、邮箱的接口突然出现手机号、银行卡号这些信息,因此API接口会将一些不应该返回给调用者的部分信息返回给调用者,造成敏感信息泄露,数据安全性降低。
例如:提供用户查询的API,用户请求的是用户名和地址,但是攻击者通过修改请求方向的参数,该接口会返回用户名、电话号码和地址。具体如下:
正常情况下:
请求方向的参数为:r=1001|1002|1003;响应方向的响应报文包括:
{"user_name":"Donald","Address":"4346Kinney Street"};
非正常情况下:
请求方向的参数为:r=1001|1002|1003|2001|2002|2003;响应方向的响应报文包括:{"user_name":"Donald","Phone":"413-538-5990","Address":"4346KinneyStreet"}。
非正常情况下,请求方向的参数多了2001|2002|2003,相应的响应方向的响应报文多了"Phone":"413-538-5990"。如果“phone”这个字段在敏感词库中有匹配的敏感词汇例如电话号码或手机号码,则判定phone为敏感字段。如果根据正则匹配规则匹配到了“413-538-5990”,则判定“413-538-5990”为敏感数据值。
基于此,本实施例还会获取第一响应报文所包含的敏感数据类型。一条敏感数据可能包含多个敏感字段或敏感数据值,一个敏感字段对应一个敏感数据类型,一个敏感数据值对应一个敏感数据类型。同一条敏感数据所包含的敏感数据类型可以是所包含的不同敏感数据类型,相同的敏感数据类型统计一次;也可以是所包含的所有敏感数据类型,相同的敏感数据类型可重复统计。敏感数据类型例如电话号码为一种数据类型、邮箱为一种数据类型、姓名为一种数据类型等。
S220:根据第一数据量及所包含的敏感数据类型,确定第一响应报文中的目标响应报文存在敏感数据过度暴露风险,其中,目标响应报文为第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文。
具体地,任意一条第一响应报文所包含的敏感数据的第一数据量超过数据量阈值或第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型(即存在新的敏感数据类型),或第一响应报文所包含的敏感数据的第一数据量超过数据量阈值且第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型,则判定该第一响应报文存在敏感数据过度暴露的风险。
对于存在敏感数据过度暴露的风险的第一响应报文可以进行拦截并进行异常告警,以提示研发人员执行相应的风险排查和预防。
本实施例从第一响应报文中存在的敏感数据的第一数据量以及所包含的敏感数据类型是否全部为常见敏感数据类型来综合判断第一响应报文是否存在敏感数据过度暴露的风险,增加了判断的可信度和准确性。
在一个实施例中,在步骤S210之前,该方法还包括:
对在一个周期内所检测到的第二响应报文进行敏感数据检测,得到每条第二响应报文所包含的敏感数据的第二数据量及所包含的敏感数据类型,其中,第二响应报文为目标接口所对应的、且在第一响应报文之前产生的流量;
根据一个周期内所有第二响应报文所对应的第二数据量的数据分布得到数据量阈值;
对所有第二响应报文所包含的敏感数据类型进行统计,剔除不常见的敏感数据类型,得到常见敏感数据类型,其中,不常见的敏感数据类型为在统计中出现频率低于第一阈值的类型。
具体地,使用相同的敏感数据检测方法对目标接口中的每条第二响应报文进行敏感数据检测,得到每条第二响应报文所包含的敏感数据的第二数据量和所包含的敏感数据类型。学习目标接口在一个周期内的第二响应报文所包含的敏感数据的第二数据量和所包含的敏感数据类型后可以用于对该目标接口后续流量进行敏感数据过度暴露风险检测。
在一个周期内会收集到多条第二响应报文,因此根据所有第二响应报文所包含敏感数据的第二数据量计算数据分布。数据分布用于指示敏感数据条数的数值分布。
可以通过三西格玛准则来计算数据量阈值。具体地,根据所有第二响应报文所包含敏感数据的第二数据量计算标准差σ1和均值μ1,根据3σ1准则计算数值分布。计算数值分布在(μ1-σ1,μ1+σ1)中的第一概率,计算数值分布在(μ1-2σ1,μ1+2σ1)中的第二概率,计算数值分布在(μ1-3σ1,μ1+3σ1)中的第三概率。第三概率大于第一概率和第二概率,绝大部分的第一数据量分布在(μ1-3σ1,μ1+3σ1)区间。可以取μ1+3σ1作为数据量阈值。当然还可以根据μ1+3σ1进行适当补偿得到一个值作为数据量阈值,具体根据(μ1+3σ1,+∞)所包含的敏感数据的数据分布进行适当调整。
所有第二响应报文中大部分是正常的响应报文,少量是非正常的响应报文。因此,对敏感数据类型进行统计,在得到的数据类型分布中不常见的敏感数据类型占整个分布的少量。
可以统计每类敏感数据类型的数量,并分别计算每类敏感数据类型的数量与所有类敏感数据类型的总数量的比值,比值即出现频率。将比值小于第一阈值的敏感数据类型作为不常见的敏感数据类型剔除。将剩余的敏感数据类型作为常见的敏感数据类型。
当然,还可以通过三西格玛准则对各类敏感数据类型的数量进行计算得到标准差σ2和均值μ2,通过标准差σ2和均值μ2来得到数据类型分布,剔除该数据类型分布中位于目标区间之外的敏感数据类型作为不常见敏感数据类型。例如,将在(μ2-3σ2,μ2+3σ2)区间之外的敏感数据类型作为不常见敏感数据类型。将在(μ2-3σ2,μ2+3σ2)区间之内的敏感数据类型作为常见敏感数据类型。
对于存在敏感数据过度暴露的风险的第一响应报文可以进行拦截并进行异常告警,以提示研发人员执行相应的风险排查和预防。
本实施例通过对涉敏的API接口的响应体中返回的敏感数据类型、所包含的敏感数据的第二数据量以及相对应请求方向的参数建模,学习出一个周期内该涉敏接口的行为画像,来对该涉敏API接口后续的流量进行检测,如果出现了偏离模型的敏感数据类型且所包含的敏感数据的数据量超过数据量阈值的响应报文进行异常告警。
本实施例从第一响应报文中存在的敏感数据的第一数据量以及所包含的敏感数据类型是否全部为常见敏感数据类型来综合判断第一响应报文是否存在敏感数据过度暴露的风险,增加了判断的可信度和准确性。
在一个实施例中,在步骤S220之前,该方法还包括:
获取第二响应报文对应的第二请求报文的请求属性信息,
对所有第二响应报文所包含的敏感数据及对应的第二请求报文的请求属性信息的对应关系进行学习,得到对应关系分布;
步骤S220包括:
获取目标响应报文对应的第一请求报文的请求属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文,
基于对应关系分布,确定目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息是否对应,
若不对应,则确定目标响应报文存在敏感数据过度暴露风险。
具体地,请求属性信息用于指示对应请求报文的数据属性,请求属性信息可以包括对应请求报文的请求体中所包含的参数名、参数值及请求头结构等不局限于此。
目标接口请求方向存在一些特征参数名或者一些关键参数值,可能会影响响应方向敏感数据的返回。返回数据量由请求方向控制,被攻击者通过恶意篡改请求报文,可能导致大量数据返回。也有一些情况,接口原本只返回少量的数据,攻击者通过构造恶意请求包,使接口返回了大量敏感数据。
因此,响应报文中所包含的敏感数据的第二数据量与对应请求报文的请求体有关。基于此,本实施例对目标接口一个周期内所有第二请求报文的请求属性信息与对应的第二响应报文所包含的敏感数据的对应关系进行学习,可以获取请求属性信息与敏感数据之间的对应关系分布。为了利用对应关系分布对第一响应报文进行评估,对应关系分布是对整个对应关系分布去除分布较少的敏感数据后得到的。
利用所学习统计到的对应关系分布可以用于评估任意一条第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息是否对应或存在对应关系。如果存在对应关系,则响应报文中出现的敏感数据是对应请求报文中所请求的或是对应关系分布中绝大多数第二响应报文中也出现过的。如果不存在对应关系,则响应报文中出现的敏感数据是对应请求报文中未请求的且是对应关系分布中未出现过的敏感数据。
当然,还可以采用机器学习,将每条第二响应报文所包含的敏感数据与对应第二请求报文的请求属性信息作为一条训练样本对对应关系模型进行训练。
将第一响应报文对应的第一请求报文中的请求属性信息作为已训练的对应关系模型的输入,利用已训练的对应关系模型对第一响应报文的敏感数据进行预估。如果预估的敏感数据与第一响应报文的实际敏感数据存在差异,例如实际敏感数据多于预估的敏感数据或实际敏感数据不全属于预估的敏感数据,则判定第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应。
或者,将第一响应报文的实际敏感数据作为已训练的对应关系模型的输入,利用已训练的对应关系模型对第一响应报文对应的第一请求报文的请求属性信息进行预估。如果预估的请求属性信息与第一请求报文的实际请求属性信息存在差异,例如预估的请求属性中的参数名不全属于预估的请求属性信息和/或二者对应参数值类型不同和/或二者的请求体结构不同等,则判定第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应。
任意一条第一响应报文所包含的敏感数据的第一数据量超过数据量阈值且第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应,或第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型(即存在新的敏感数据类型)、且第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应,或第一响应报文所包含的敏感数据的第一数据量超过数据量阈值、且第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型、且第一响应报文所包含的敏感数据与对应第一请求报文的请求属性信息不对应,则判定该第一响应报文存在敏感数据过度暴露风险。
本实施例在第一响应请求所包含的敏感数据的第一数据量超过数据量阈值和/或第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型时,会继续判断敏感数据与请求属性信息是否存在对应关系,通过多重评估对第一响应请求是否过度暴露敏感数据进行准确判断,减少误判可能,提高评判的准确性。
在一个实施例中,在步骤S220之前,该方法还包括:
获取第二响应报文对应的第二请求报文的参数属性信息,
对所有第二响应报文对应的第二请求报文的参数属性信息进行学习,得到参数属性分布;
步骤S220包括:
获取目标响应报文对应的第一请求报文的参数属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文,
基于参数属性分布,确定目标响应报文对应的第一请求报文的参数属性信息是否存在异常,
若目标响应报文对应的第一请求报文的参数属性信息存在异常,则确定目标响应报文存在敏感数据过度暴露风险
具体地,参数属性信息包括参数名在至少一个维度上的第一属性信息和/或参数值在至少一个维度的第二属性信息。至少一个维度包括类型、长度和字符分布等其中的至少一种维度。
通过对所有第二请求报文的参数属性信息进行学习,可以得到参数属性分布。如果第二请求报文的参数属性信息不完全符合参数属性分布,则判定第二请求报文的参数属性信息存在异常即偏离参数属性分布。
为了判断的准确性,每种维度对应一个参数属性分布,参数属性分布可以是对整体参数属性分布中分布较少的数据进行剔除后的分布。如果第一请求报文的参数属性信息中至少一个维度不符合对应的参数属性分布,即至少一个维度发生偏离,则判定该第一请求报文的参数属性信息存在异常。
任意一条第一响应报文所包含的敏感数据的第一数据量超过数据量阈值、且第一请求报文的参数属性信息存在异常,或第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型(即存在新的敏感数据类型)、且第一请求报文的参数属性信息存在异常,或第一响应报文所包含的敏感数据的第一数据量超过数据量阈值、且第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型、且第一请求报文的参数属性信息存在异常,则判定该第一响应报文存在敏感数据过度暴露风险。
本实施例在第一响应请求所包含的敏感数据的第一数据量超过数据量阈值和/或对应的第一响应报文所包含的敏感数据类型不全属于常见敏感数据类型时,会继续判断第一请求报文的参数属性信息是否存在异常,通过多重评估对第一响应请求是否过度暴露敏感数据进行准确判断,减少误判可能,提高评判的准确性。
在一个实施例中,在步骤S220之前,该方法还包括:
获取第二响应报文对应的第二请求报文的请求属性信息,
对所有第二响应报文所包含的敏感数据及对应的第二请求报文的请求属性信息的对应关系进行学习,得到对应关系分布;
获取第二响应报文对应的第二请求报文的参数属性信息,
对所有第二响应报文对应的第二请求报文的参数属性信息进行学习,得到参数属性分布;
步骤S220包括:
获取目标响应报文对应的第一请求报文的请求属性信息和参数属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文,
基于对应关系分布,确定目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息是否对应,
基于参数属性分布,确定目标响应报文对应的第一请求报文的参数属性信息是否存在异常,
若目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息不对应且对应的第一请求报文的参数属性信息存在异常,则确定目标响应报文存在敏感数据过度暴露风险。
在一个实施例中,在步骤S110或S210之前,该方法还包括:
对系统中每个API接口的流量进行检测,获取每个API接口的响应报文,对响应报文进行敏感数据检测;
将存在敏感数据的响应报文所对应的API接口确定为目标接口。
具体地,一个系统对应多个API接口,对每个API接口的流量都进行敏感数据检测,如果一个API接口的流量中都没有出现敏感数据,则该API接口暂时为非目标接口。如果API接口的流量中开始出现敏感数据,则将API接口作为目标接口,对该目标接口在一个周期内的第二响应报文进行敏感数据检测。
本实施例预先根据流量中是否开始出现敏感数据来确定是否对出现敏感数据的目标接口着重进行敏感数据检测和统计。对于非目标接口可以暂时不进行周期内第一数据量的统计,减少了统计开销和计算开销。
在一个实施例中,上述任一项的敏感数据检测具体包括:
对响应报文的响应体进行解析,提取出响应体中所携带的字段作为待检测字段,将待检测字段与敏感词库中预设的敏感关键词进行匹配,将存在匹配的敏感关键词的待检测字段确定为敏感字段;
和/或,对响应报文的响应体进行解析,提取出响应体中所携带字段的字段取值,根据字段取值的数据类型调用对应的正则匹配规则对字段取值进行正则匹配,将满足对应正则匹配规则的字段取值确定为敏感数据值;
和/或,对响应报文的响应体进行分词处理,得到多个分词,基于预设的正则匹配规则对多个分词分别进行正则匹配,将满足任意一个正则匹配规则的分词确定为敏感分词;
将响应报文中包含敏感字段、敏感数据值和敏感分词中至少一个的响应数据确定为敏感数据,其中,响应报文为第一响应报文或第二响应报文。
具体地,敏感数据具体指泄漏后可能会给社会或个人带来严重危害的数据,包括个人隐私数据,如姓名、身份证号码、住址、电话、银行账号、邮箱、密码、医疗信息、教育背景等;也包括企业或社会机构不适合公布的数据,如企业的经营情况、企业的网络结构、IP地址列表等不局限于此。
因此,根据响应体中的字段是否为敏感词库中的敏感关键词可以判断字段是否为敏感字段。根据字段取值和对应的正则匹配规则可以判断该字段取值是否为敏感数据值,例如,手机号、身份证号、邮箱等使用正则匹配规则判断。对响应体进行分词的目的是可以补充找到根据前面两种方式无法找到的敏感字段或敏感数据值。另外,一个字段被判定为敏感字段,其对应的字段取值也被判定为敏感数据值,在统计敏感数据类型时算同一个,只统计一次。一个字段无法判定是否为敏感字段,如果其字段取值能够判定为敏感数据值,也可以统计为一个敏感数据类型。一个字段判定为敏感字段,其字段取值无法判断是否为敏感数据值或字段取值为空,也可以统计为一个敏感数据类型。
本实施例通过多种方式组合来进行敏感数据的识别,从而减少敏感数据的遗漏,准确识别出敏感数据。
本申请通过对目标接口响应体中返回的敏感数据量、敏感数据类型以及请求体的相关请求信息和属性信息进行学习建模,调用建立好的模型的不同功能来有效地检测出异常返回的敏感信息。对于敏感数据过度暴露的响应报文即响应方向返回的敏感数据量偏离了正常基线、和/或出现了非常见的数据类型、和/或敏感数据与请求属性信息不对应、和/或参数属性信息存在异常的响应报文进行异常告警,能够有效检测API接口中的异常流量,提高API安全检测防护能力。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图3为本申请一实施例中敏感数据过度暴露的检测装置的结构框图;参考图3,该装置包括:
第一数据检测模块110,用于对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量;
第一判断模块120,用于确定第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险。
在一个实施例中,该装置还包括:
第一数据检测模块110,还用于对在一个周期内所检测到的第二响应报文进行敏感数据检测,得到每条第二响应报文所包含的敏感数据的第二数据量,其中,第二响应报文为目标接口所对应的、且在第一响应报文之前产生的流量;
第一计算模块,用于根据一个周期内所有第二响应报文所对应的第二数据量的数据分布得到数据量阈值。
在一个实施例中,该装置还包括:
第一信息获取模块,用于获取第二响应报文对应的第二请求报文的请求属性信息,
第一分布获取模块,用于对所有第二响应报文所包含的敏感数据及对应的第二请求报文的请求属性信息的对应关系进行学习,得到对应关系分布;
第一判断模块120具体包括:
第二信息获取模块,用于获取目标响应报文对应的第一请求报文的请求属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值的响应报文,
对应关系判断模块,用于基于对应关系分布,确定目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息是否对应,
第一风险判定模块,用于若不对应,则确定目标响应报文存在敏感数据过度暴露风险。
在一个实施例中,该装置还包括:
第三信息获取模块,用于获取第二响应报文对应的第二请求报文的参数属性信息,
第二分布获取模块,用于对所有第二响应报文对应的第二请求报文的参数属性信息进行学习,得到参数属性分布;
第一判断模块120具体包括:
第四信息获取模块,用于获取目标响应报文对应的第一请求报文的参数属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值的响应报文,
异常判断模块,用于基于参数属性分布,确定目标响应报文对应的第一请求报文的参数属性信息是否存在异常,
第二风险判定模块,用于若目标响应报文对应的第一请求报文的参数属性信息存在异常,则确定目标响应报文存在敏感数据过度暴露风险。
图4为本申请另一实施例中敏感数据过度暴露的检测装置的结构框图;参考图4,该装置包括:
第二数据检测模块210,用于对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量及所包含的敏感数据类型;
第二判断模块220,用于根据第一数据量及所包含的敏感数据类型,确定第一响应报文中的目标响应报文存在敏感数据过度暴露风险,其中,目标响应报文为第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文。
在一个实施例中,该装置还包括:
第二数据检测模块210,还用于对在一个周期内所检测到的第二响应报文进行敏感数据检测,得到每条第二响应报文所包含的敏感数据的第二数据量及所包含的敏感数据类型,其中,第二响应报文为目标接口所对应的、且在第一响应报文之前产生的流量;
第二计算模块,用于根据一个周期内所有第二响应报文所对应的第二数据量的数据分布得到数据量阈值;
剔除模块,用于对所有第二响应报文所包含的敏感数据类型进行统计,剔除不常见的敏感数据类型,得到常见敏感数据类型,其中,不常见的敏感数据类型为在统计中出现频率低于第一阈值的类型。
在一个实施例中,该装置还包括:
第一信息获取模块,用于获取第二响应报文对应的第二请求报文的请求属性信息,
第一分布获取模块,用于对所有第二响应报文所包含的敏感数据及对应的第二请求报文的请求属性信息的对应关系进行学习,得到对应关系分布;
第二判断模块220具体包括:
第二信息获取模块,用于获取目标响应报文对应的第一请求报文的请求属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文,
对应关系判断模块,用于基于对应关系分布,确定目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息是否对应,
第一风险判定模块,用于若不对应,则确定目标响应报文存在敏感数据过度暴露风险。
在一个实施例中,该装置还包括:
第三信息获取模块,用于获取第二响应报文对应的第二请求报文的参数属性信息,
第二分布获取模块,用于对所有第二响应报文对应的第二请求报文的参数属性信息进行学习,得到参数属性分布;
第二判断模块220具体包括:
第四信息获取模块,用于获取目标响应报文对应的第一请求报文的参数属性信息,其中,目标响应报文为第一响应报文中、第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文,
异常判断模块,用于基于参数属性分布,确定目标响应报文对应的第一请求报文的参数属性信息是否存在异常,
第二风险判定模块,用于若目标响应报文对应的第一请求报文的参数属性信息存在异常,则确定目标响应报文存在敏感数据过度暴露风险。
在一个实施例中,第一数据检测模块110和第二数据检测模块210,还用于对系统中每个API接口的流量进行检测,获取每个API接口的响应报文,对响应报文进行敏感数据检测;
该装置还包括:目标接口确定模块,用于将存在敏感数据的响应报文所对应的API接口确定为目标接口。
在一个实施例中,第一数据检测模块110和第二数据检测模块210均具体包括:
第一检测模块,用于对响应报文的响应体进行解析,提取出响应体中所携带的字段作为待检测字段,将待检测字段与敏感词库中预设的敏感关键词进行匹配,将存在匹配的敏感关键词的待检测字段确定为敏感字段;
和/或,第二检测模块,用于对响应报文的响应体进行解析,提取出响应体中所携带字段的字段取值,根据字段取值的数据类型调用对应的正则匹配规则对字段取值进行正则匹配,将满足对应正则匹配规则的字段取值确定为敏感数据值;
和/或,第三检测模块,用于对响应报文的响应体进行分词处理,得到多个分词,基于预设的正则匹配规则对多个分词分别进行正则匹配,将满足任意一个正则匹配规则的分词确定为敏感分词;
敏感数据确定模块,用于将响应报文中包含敏感字段、敏感数据值和敏感分词中至少一个的响应数据确定为敏感数据,其中,响应报文为第一响应报文或第二响应报文。
其中上述模块/单元中的“第一"和“第二"的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括"和“具有"以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于敏感数据过度暴露的检测装置的具体限定可以参见上文中对于敏感数据过度暴露的检测方法的限定,在此不再赘述。上述敏感数据过度暴露的检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图5为本申请一实施例中计算机设备的内部结构框图。如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。存储器包括存储介质和内存储器。存储介质可以是非易失性存储介质,也可以是易失性存储介质。存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现敏感数据过度暴露的检测方法。该内存储器为存储介质中的操作系统和计算机可读指令的运行提供环境。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行敏感数据过度暴露的检测方法。该计算机设备的网络接口用于与外部服务器通过网络连接通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令(例如计算机程序),处理器执行计算机可读指令时实现上述实施例中敏感数据过度暴露的检测方法的步骤,例如图1所示的步骤S110至步骤S120及该方法的其它扩展和相关步骤的延伸。或,例如图2所示的步骤S210至步骤S220及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机可读指令时实现上述实施例中敏感数据过度暴露的检测装置的各模块/单元的功能,例如图3所示模块110至模块120的功能,或,例如图4所示模块210至模块220的功能。为避免重复,这里不再赘述。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机可读指令和/或模块,处理器通过运行或执行存储在存储器内的计算机可读指令和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
存储器可以集成在处理器中,也可以与处理器分开设置。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中敏感数据过度暴露的检测方法的步骤,例如图1所示的步骤S110至步骤S120及该方法的其它扩展和相关步骤的延伸,或,例如图2所示的步骤S210至步骤S220及该方法的其它扩展和相关步骤的延伸,或者,计算机可读指令被处理器执行时实现上述实施例中敏感数据过度暴露的检测装置的各模块/单元的功能,例如图3所示模块110至模块120的功能,或,例如图4所示模块210至模块220的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指示相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括"、“包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……"限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (14)
1.一种敏感数据过度暴露的检测方法,其特征在于,所述方法包括:
对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量;
确定所述第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险。
2.根据权利要求1所述的方法,其特征在于,在所述对目标接口进行流量检测之前,所述方法还包括:
对在一个周期内所检测到的第二响应报文进行敏感数据检测,得到每条第二响应报文所包含的敏感数据的第二数据量,其中,所述第二响应报文为所述目标接口所对应的、且在所述第一响应报文之前产生的流量;
根据一个周期内所有第二响应报文所对应的第二数据量的数据分布得到数据量阈值。
3.根据权利要求2所述的方法,其特征在于,在所述确定所述第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险之前,所述方法还包括:
获取所述第二响应报文对应的第二请求报文的请求属性信息,
对所有第二响应报文所包含的敏感数据及对应的第二请求报文的请求属性信息的对应关系进行学习,得到对应关系分布;
所述确定所述第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险,包括:
获取目标响应报文对应的第一请求报文的请求属性信息,其中,所述目标响应报文为所述第一响应报文中、第一数据量超过数据量阈值的响应报文,
基于所述对应关系分布,确定所述目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息是否对应,
若不对应,则确定所述目标响应报文存在敏感数据过度暴露风险。
4.根据权利要求2所述的方法,其特征在于,在所述确定所述第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险之前,所述方法还包括:
获取所述第二响应报文对应的第二请求报文的参数属性信息,
对所有第二响应报文对应的第二请求报文的参数属性信息进行学习,得到参数属性分布;
所述确定所述第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险,包括:
获取目标响应报文对应的第一请求报文的参数属性信息,其中,所述目标响应报文为所述第一响应报文中、第一数据量超过数据量阈值的响应报文,
基于所述参数属性分布,确定所述目标响应报文对应的第一请求报文的参数属性信息是否存在异常,
若所述目标响应报文对应的第一请求报文的参数属性信息存在异常,则确定所述目标响应报文存在敏感数据过度暴露风险。
5.一种敏感数据过度暴露的检测方法,其特征在于,所述方法包括:
对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量及所包含的敏感数据类型;
根据所述第一数据量及所包含的敏感数据类型,确定所述第一响应报文中的目标响应报文存在敏感数据过度暴露风险,其中,所述目标响应报文为第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文。
6.根据权利要求5所述的方法,其特征在于,在所述确定所述第一响应报文中的目标响应报文存在敏感数据过度暴露风险之前,所述方法还包括:
对在一个周期内所检测到的第二响应报文进行敏感数据检测,得到每条第二响应报文所包含的敏感数据的第二数据量及所包含的敏感数据类型,其中,所述第二响应报文为所述目标接口所对应的、且在所述第一响应报文之前产生的流量;
根据一个周期内所有第二响应报文所对应的第二数据量的数据分布得到数据量阈值;
对所有第二响应报文所包含的敏感数据类型进行统计,剔除不常见的敏感数据类型,得到常见敏感数据类型,其中,所述不常见的敏感数据类型为在所述统计中出现频率低于第一阈值的类型。
7.根据权利要求6所述的方法,其特征在于,在所述确定所述第一响应报文中的目标响应报文存在敏感数据过度暴露风险之前,所述方法还包括:
获取所述第二响应报文对应的第二请求报文的请求属性信息,
对所有第二响应报文所包含的敏感数据及对应的第二请求报文的请求属性信息的对应关系进行学习,得到对应关系分布;
所述根据所述第一数据量及所包含的敏感数据类型,确定所述第一响应报文中的目标响应报文存在敏感数据过度暴露风险,包括:
获取目标响应报文对应的第一请求报文的请求属性信息,其中,所述目标响应报文为所述第一响应报文中、第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文,
基于所述对应关系分布,确定所述目标响应报文所包含的敏感数据与对应的第一请求报文的请求属性信息是否对应,
若不对应,则确定所述目标响应报文存在敏感数据过度暴露风险。
8.根据权利要求6所述的方法,其特征在于,在所述确定所述第一响应报文中的目标响应报文存在敏感数据过度暴露风险之前,所述方法还包括:
获取所述第二响应报文对应的第二请求报文的参数属性信息,
对所有第二响应报文对应的第二请求报文的参数属性信息进行学习,得到参数属性分布;
所述根据所述第一数据量及所包含的敏感数据类型,确定所述第一响应报文中的目标响应报文存在敏感数据过度暴露风险,包括:
获取目标响应报文对应的第一请求报文的参数属性信息,其中,所述目标响应报文为所述第一响应报文中、第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文,
基于所述参数属性分布,确定所述目标响应报文对应的第一请求报文的参数属性信息是否存在异常,
若所述目标响应报文对应的第一请求报文的参数属性信息存在异常,则确定所述目标响应报文存在敏感数据过度暴露风险。
9.根据权利要求2或6所述的方法,其特征在于,在所述对在一个周期内所检测到的第二响应报文进行敏感数据检测之前,所述方法还包括:
对系统中每个API接口的流量进行检测,获取每个所述API接口的响应报文,对所述响应报文进行敏感数据检测;
将存在敏感数据的响应报文所对应的API接口确定为目标接口。
10.根据权利要求1-8任意一项所述的方法,其特征在于,所述敏感数据检测具体包括:
对响应报文的响应体进行解析,提取出响应体中所携带的字段作为待检测字段,将所述待检测字段与敏感词库中预设的敏感关键词进行匹配,将存在匹配的敏感关键词的待检测字段确定为敏感字段;
和/或,对响应报文的响应体进行解析,提取出响应体中所携带字段的字段取值,根据所述字段取值的数据类型调用对应的正则匹配规则对所述字段取值进行正则匹配,将满足对应正则匹配规则的字段取值确定为敏感数据值;
和/或,对响应报文的响应体进行分词处理,得到多个分词,基于预设的正则匹配规则对所述多个分词分别进行正则匹配,将满足任意一个正则匹配规则的分词确定为敏感分词;
将响应报文中包含敏感字段、敏感数据值和敏感分词中至少一个的响应数据确定为敏感数据,其中,所述响应报文为所述第一响应报文或所述第二响应报文。
11.一种敏感数据过度暴露的检测装置,其特征在于,所述装置包括:
第一数据检测模块,用于对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量;
第一判断模块,用于确定所述第一响应报文中、第一数据量超过数据量阈值的目标响应报文存在敏感数据过度暴露风险。
12.一种敏感数据过度暴露的检测装置,其特征在于,所述装置包括:
第二数据检测模块,用于对目标接口进行流量检测,对检测到的每条待检测的第一响应报文进行敏感数据检测,得到每条第一响应报文所包含的敏感数据的第一数据量及所包含的敏感数据类型;
第二判断模块,用于根据所述第一数据量及所包含的敏感数据类型,确定所述第一响应报文中的目标响应报文存在敏感数据过度暴露风险,其中,所述目标响应报文为第一数据量超过数据量阈值和/或所包含的敏感数据类型不全属于常见敏感数据类型的响应报文。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时执行如权利要求1-4、9-10任一项所述的敏感数据过度暴露的检测方法的步骤,或,所述处理器执行所述计算机可读指令时执行如权利要求5-8、9-10任一项所述的敏感数据过度暴露的检测方法的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时,使得所述处理器执行如权利要求1-4、9-10任一项所述的敏感数据过度暴露的检测方法的步骤,或,使得所述处理器执行如权利要求5-8、9-10任一项所述的敏感数据过度暴露的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214780.0A CN115801313A (zh) | 2022-09-30 | 2022-09-30 | 敏感数据过度暴露的检测方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214780.0A CN115801313A (zh) | 2022-09-30 | 2022-09-30 | 敏感数据过度暴露的检测方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115801313A true CN115801313A (zh) | 2023-03-14 |
Family
ID=85432521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211214780.0A Pending CN115801313A (zh) | 2022-09-30 | 2022-09-30 | 敏感数据过度暴露的检测方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801313A (zh) |
-
2022
- 2022-09-30 CN CN202211214780.0A patent/CN115801313A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10554813B2 (en) | Systems and methods for automatically conducting risk assessments for telephony communications | |
CN113347205B (zh) | 一种检测业务访问请求的方法及装置 | |
CN104486140B (zh) | 一种检测网页被劫持的装置及其检测方法 | |
CN110851872B (zh) | 针对隐私数据泄漏的风险评估方法及装置 | |
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN110650117B (zh) | 跨站攻击防护方法、装置、设备及存储介质 | |
CN112751835B (zh) | 一种流量预警方法、系统、设备和存储介质 | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
CN114553523A (zh) | 基于攻击检测模型的攻击检测方法及装置、介质、设备 | |
CN109684878B (zh) | 一种基于区块链技术隐私信息防篡改方法及系统 | |
CN115314255B (zh) | 攻击结果的检测方法、装置、计算机设备和存储介质 | |
CN113992356A (zh) | Ip攻击的检测方法、装置和电子设备 | |
CN108234426B (zh) | Apt攻击告警方法和apt攻击告警装置 | |
CN113553583A (zh) | 信息系统资产安全风险评估方法与装置 | |
CN114338915B (zh) | 来电号码风险识别方法、装置、设备及存储介质 | |
CN111131166B (zh) | 一种用户行为预判方法及相关设备 | |
CN115801313A (zh) | 敏感数据过度暴露的检测方法、装置、设备和存储介质 | |
CN114862212A (zh) | 互联网资产的管理方法及其装置、电子设备及存储介质 | |
CN110995848B (zh) | 一种服务治理方法、装置、系统、电子设备及存储介质 | |
CN113709136A (zh) | 一种访问请求验证方法和装置 | |
CN114095936A (zh) | 短信验证码请求方法、攻击防御方法、装置、介质及设备 | |
CN111447211A (zh) | 一种网络防诈骗系统 | |
CN115964582B (zh) | 一种网络安全风险评估方法及系统 | |
CN114611122A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN112040068B (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 |