CN117688540B - 接口敏感数据泄露检测防御方法、装置及计算机设备 - Google Patents

接口敏感数据泄露检测防御方法、装置及计算机设备 Download PDF

Info

Publication number
CN117688540B
CN117688540B CN202410137819.6A CN202410137819A CN117688540B CN 117688540 B CN117688540 B CN 117688540B CN 202410137819 A CN202410137819 A CN 202410137819A CN 117688540 B CN117688540 B CN 117688540B
Authority
CN
China
Prior art keywords
sensitive
interface
data
request
identity
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.)
Active
Application number
CN202410137819.6A
Other languages
English (en)
Other versions
CN117688540A (zh
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.)
Hangzhou Meichuang Technology Co ltd
Original Assignee
Hangzhou Meichuang 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 Hangzhou Meichuang Technology Co ltd filed Critical Hangzhou Meichuang Technology Co ltd
Priority to CN202410137819.6A priority Critical patent/CN117688540B/zh
Publication of CN117688540A publication Critical patent/CN117688540A/zh
Application granted granted Critical
Publication of CN117688540B publication Critical patent/CN117688540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了接口敏感数据泄露检测防御方法、装置及计算机设备。所述方法包括:采集接口流量数据;提取请求数据以及响应数据,以得到提取结果;统计同一接口的相关信息;确定统计结果中属于业务接口的接口,以得到业务接口数据集;进行敏感字段的识别,以得到敏感字段集;获取敏感接口集;获取敏感接口身份集;获取身份敏感接口指纹集;实时收集请求对应的通信数据包并提取相关信息;判断请求是否存在敏感数据泄露行为;若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理。通过实施本发明实施例的方法可实现有效识别与防御多变的接口敏感数据泄露检测行为。

Description

接口敏感数据泄露检测防御方法、装置及计算机设备
技术领域
本发明涉及数据检测方法,更具体地说是指接口敏感数据泄露检测防御方法、装置及计算机设备。
背景技术
传统的接口敏感数据泄露检测防御方法是基于检测接口响应数据包中是否存在不属于对应身份的敏感数据,例如身份证信息、手机号信息等进行检测的。由于对敏感数据的定义过于片面,无法识别多变的敏感数据,所以无法对多变的接口敏感数据泄露行为进行检测,导致在接口敏感数据泄露问题上往往出现大量漏报。因此,当前的接口敏感数据泄露检测防御方法无法有效识别与防御多变的接口敏感数据泄露检测行为。
因此,有必要设计一种新的方法,实现有效识别与防御多变的接口敏感数据泄露检测行为。
发明内容
本发明的目的在于克服现有技术的缺陷,提供接口敏感数据泄露检测防御方法、装置及计算机设备。
为实现上述目的,本发明采用以下技术方案:接口敏感数据泄露检测防御方法,包括:
采集接口流量数据;
对所述接口流量数据提取请求数据以及响应数据,以得到提取结果;
根据所述提取结果统计同一接口的相关信息,以得到统计结果;
确定所述统计结果中属于业务接口的接口,以得到业务接口数据集;
对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集;
通过所述敏感字段集以及所述统计结果获取敏感接口集;
根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集;
根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集;
实时收集请求对应的通信数据包并提取相关信息;
根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为;
若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理。
其进一步技术方案为:所述接口流量数据包括HTTP请求数据包、对应的响应数据包以及请求数据包对应的时间点;所述提取结果包括各个请求数据包中的请求接口、认证信息、各个响应数据包内的响应字段,所述响应字段包括响应参数及其值。
其进一步技术方案为:所述根据所述提取结果统计同一接口的相关信息,以得到统计结果,包括:
对所述提取结果提取认证信息,并去重整合为认证信息集;
移除所述提取结果中每个数据的认证信息,以得到三元组;
整合同一接口的三元组,以得到整合结果;
从整合结果中分别从各个同一接口的三元组中任意选择一个三元组中的接口数据组成接口数据集;
统计访问时段;
统计被访问次数;
统计被访问频率;
统计不同响应数据次数;
整合所述接口数据集、认证信息集、访问时段、被访问次数、被访问频率以及不同响应数据次数,以得到统计结果。
其进一步技术方案为:所述确定所述统计结果中属于业务接口的接口,以得到业务接口数据集,包括:
定义业务时段集;
计算业务时段集与所述统计结果内的访问时段数据集中的访问时段的交集,以得到交集结果;
对满足要求的所述交集结果中的访问时段对应的被访问频率对应的值进行求和,以得到求和结果;
根据所述求和结果与满足要求的所述交集结果中的访问时段对应的被访问频率对应的值求商,当商大于设定比值,则确定对应接口为业务接口,并将对应的被访问次数、访问时段、被访问频率以及各个响应字段的不同响应数据次数构成业务接口对应的数据集,统计所有业务接口对应的数据集,以得到业务接口数据集。
其进一步技术方案为:所述对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集,包括:
遍历所述业务接口数据集中业务接口对应的各个响应字段的不同响应数据次数;
将响应字段的不同响应数据次数对应的值不小于认证信息集长度所对应的响应字段整合为第一数据集;
当第一数据集内的元素是一个时,将所述第一数据集内键整合为敏感字段集;若第一数据集内的元素有多个时,计算第一数据集内的元素的交集,以将所有交集中对应的键组成敏感字段集。
其进一步技术方案为:所述通过所述敏感字段集以及所述统计结果获取敏感接口集,包括:
将所述统计结果中的响应字段存在于敏感字段集所对应的接口确定为敏感接口,整合所有敏感接口,以形成敏感接口集。
其进一步技术方案为:所述实时收集请求对应的通信数据包并提取相关信息,包括:
实时收集请求对应的通信数据包,从所述通信数据包内提取被检测请求数据包的请求接口以及认证身份,拦截并提取被检测请求数据包对应的响应数据包中的响应参数及其值,提取请求时间点的请求时段,收集请求时段至一分钟之前认证身份请求接口的请求频率,以形成相关信息。
其进一步技术方案为:所述根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为,包括:
判断所述相关信息内的请求接口是否存在于身份敏感指纹集内;
若所述相关信息内的请求接口不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述相关信息内的请求接口存在于身份敏感指纹集内,则判断所述相关信息内的请求时段是否存在于身份敏感指纹集内;
若所述相关信息内的请求时段不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述相关信息内的请求时段存在于身份敏感指纹集内,则判断所述请求频率是否异常;
若所述请求频率异常,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述请求频率不异常,则提取所述被检测请求数据包对应的响应数据包中的响应参数及其值中的敏感参数字段及值,以得到敏感参数数据;
整合所述敏感参数数据、所述请求接口以及认证身份,并对认证身份进行md5计算,以得到第一计算结果;
判断所述第一计算结果是否存在于身份敏感接口指纹集中;
若所述第一计算结果存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求不存在敏感数据泄露行为;
若所述第一计算结果不存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求存在敏感数据泄露行为。
本发明还提供了接口敏感数据泄露检测防御装置,包括:
采集单元,用于采集接口流量数据;
提取单元,用于对所述接口流量数据提取请求数据以及响应数据,以得到提取结果;
统计单元,用于根据所述提取结果统计同一接口的相关信息,以得到统计结果;
业务接口确定单元,用于确定所述统计结果中属于业务接口的接口,以得到业务接口数据集;
敏感字段识别单元,用于对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集;
敏感接口集获取单元,用于通过所述敏感字段集以及所述统计结果获取敏感接口集;
身份集获取单元,用于根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集;
指纹集获取单元,用于根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集;
数据包收集单元,用于实时收集请求对应的通信数据包并提取相关信息;
判断单元,用于根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为;
防御单元,用于若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过对接口进行业务接口判断,对业务接口进行敏感字段识别,通过敏感字段判断敏感接口,最后获取身份敏感接口指纹,通过敏感接口指纹判断接口请求是否存在敏感数据泄露行为,当接口请求存在敏感数据泄露行为时,防御敏感数据泄露行为,实现有效识别与防御多变的接口敏感数据泄露检测行为。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的接口敏感数据泄露检测防御方法的应用场景示意图;
图2为本发明实施例提供的接口敏感数据泄露检测防御方法的流程示意图;
图3为本发明实施例提供的接口敏感数据泄露检测防御装置的示意性框图;
图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的接口敏感数据泄露检测防御方法的应用场景示意图。图2为本发明实施例提供的接口敏感数据泄露检测防御方法的示意性流程图。该接口敏感数据泄露检测防御方法应用于服务器中。该服务器与终端进行数据交互,利用接口被的各种访问信息判断当前接口是否为业务接口,通过敏感字段识别算法提取业务接口中的敏感字段,再通过敏感字段判断接口是否属于敏感接口,之后获取身份敏感接口指纹,通过身份敏感接口指纹检测接口请求是否存在敏感数据泄露,如存在,通过敏感数据泄露防御算法进行防御,实现有效识别与防御多变的接口敏感数据泄露检测行为。
图2是本发明实施例提供的接口敏感数据泄露检测防御方法的流程示意图。如图2所示,该方法包括以下步骤S110至S220。
S110、采集接口流量数据。
在本实施例中,所述接口流量数据包括HTTP请求数据包、对应的响应数据包以及请求数据包对应的时间点。
具体地,通过在网络端部署接口流量采集装置采集接口流量数据,所述的接口流量采集包括以下内容:
针对某主机Hn,收集所有与Hn通信的HTTP请求数据包G1,G2,G3,G4,……,Gn、该请求包对应的响应数据包R1,R2,R3,R4,……,Rn以及该请求/响应数据包对应的时间点T1,T2,T3,T4,……,Tn,Tn为时:分:秒结构。将请求数据包G1,G2,G3,G4,……,Gn整合为请求包数据集G{G1,G2,G3,G4,……,Gn},响应包R1,R2,R3,R4,……,Rn整合为响应包数据集R{R1,R2,R3,R4,……,Rn},时间点T1,T2,T3,T4,……,Tn整合为时间点数据集T{T1,T2,T3,T4,……,Tn}。
S120、对所述接口流量数据提取请求数据以及响应数据,以得到提取结果。
在本实施例中,所述提取结果包括各个请求数据包中的请求接口、认证信息、各个响应数据包内的响应字段,所述响应字段包括响应参数及其值。
具体地,存在算法A1,该算法针对请求包数据集G{G1,G2,G3,G4,……,Gn}提取各个请求数据包中的请求接口、认证信息,针对响应包数据集R{R1,R2,R3,R4,……,Rn}提取各个响应数据包中响应参数及其值,Rn结构为{响应参数:响应参数值};
算法A1具体如下,针对请求包数据集G{G1,G2,G3,G4,……,Gn},响应包数据集R{R1,R2,R3,R4,……,Rn},时间点数据集T{T1,T2,T3,T4,……,Tn},计算A1(G,R,T)得到数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Tin{In,Cn,RZn,Tn}},其中,I1,I2,I3,……,In为请求数据包G1,G2,G3,G4,……,Gn中的请求接口,C1,C2,C3,……,Cn为请求数据包G1,G2,G3,G4,……,Gn中的认证信息,数据集RZ1,RZ2,RZ3,……,RZn为响应数据包R1,R2,R3,R4,……,Rn中的响应参数及其值{RK1:RV1,RK2:RV2,RK3:RV3,……,RKn:RVn},Tn为请求数据包Gn对应的时间点Tn
S130、根据所述提取结果统计同一接口的相关信息,以得到统计结果。
在本实施例中,统计结果是指同一接口的相关信息,具体包括提取的接口信息、认证信息、访问时段、被访问次数、被访问频率以及不同响应数据次数。
在一实施例中,上述的步骤S130可包括步骤S131~ S139。
S131、对所述提取结果提取认证信息,并去重整合为认证信息集。
在本实施例中,从数据集Ti中的每个数据中提取认证信息C1,C2,C3,……,Cn,并将其去重整合为认证信息集TC。
S132、移除所述提取结果中每个数据的认证信息,以得到三元组。
在本实施例中,将数据集Ti中的每个数据的认证信息C1,C2,C3,……,Cn移除,得到三元组{I1, RZ1, T1}, {I2, RZ2, T2}, ..., {In, RZn, Tn}。
S133、整合同一接口的三元组,以得到整合结果。
在本实施例中,将具有相同I值的三元组整合为同一个数据集TZ1, TZ2, ...,TZn。该数据集作为整合结果。
S134、从整合结果中分别从各个同一接口的三元组中任意选择一个三元组中的接口数据组成接口数据集。
在本实施例中,从每个数据集TZ中任意选择一个三元组中的接口数据组成接口数据集LI。
S135、统计访问时段。
在本实施例中,统计每个数据集TZ中的Tn,去重得到访问时段数据集F。
S136、统计被访问次数。
在本实施例中,计算每个数据集TZ的长度,得到被访问次数数据集LZ。
S137、统计被访问频率。
在本实施例中,统计每个数据集TZ中相同接口在不同时段的被访问次数,得到被访问频率数据集PL。
S138、统计不同响应数据次数。
在本实施例中,统计每个数据集TZ中相同接口在不同时段的被访问次数,得到被访问频率数据集PL。
S139、整合所述接口数据集、认证信息集、访问时段、被访问次数、被访问频率以及不同响应数据次数,以得到统计结果。
在本实施例中,将LI, TC, F, LZ, PL, RC整合为数据集WZ,具体地,存在算法A2,该算法针对数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Tin{In,Cn,RZn,Tn}}收集统计该数据集Ti中同一接口的相关信息;
算法A2具体如下,针对数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Tin{In,Cn,RZn,Tn}},即计算A2(Ti),算法A2首先会将数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Tin{In,Cn,RZn,Tn}}中的各个数据中的认证信息C1,C2,C3,……,Cn提取出并将C1,C2,C3,……,Cn去重整合为认证信息集TC{TC1,TC2,TC3,TC4,……,TCn}。将认证信息C1,C2,C3,……,Cn从Ti1,Ti2,Ti3,Ti4,……,Tin取出后,Ti1,Ti2,Ti3,Ti4,……,Tin变为三元组{I1,RZ1, T1}, {I2, RZ2, T2}, ..., {In, RZn, Tn},针对三元组{I1, RZ1, T1}, {I2, RZ2,T2}, ..., {In, RZn, Tn},算法A2会将三元组{I1, RZ1, T1}, {I2, RZ2, T2}, ..., {In,RZn, Tn}中I1,I2,I3,……,In值相同的三元组整合为同一个数据集TZ1,TZ2,……,TZn{{I1,RZ1,T1},……,{In,RZn,Tn}},算法A2会提取出TZ1,TZ2,……,TZn中各个数据集中的任意一接口组成一个接口数据集,TZ1,TZ2,……,TZn经提取后得到LI1,LI2,LI3,……,LIn;LI1,LI2,LI3,……,LIn,整合为数据集LI{ LI1,LI2,LI3,……,LIn,}。之后,算法A2会根据TZ1,TZ2,……,TZn各个数据集中的Tn整理同个接口被访问的时段即统计并去重Tn中的时,TZ1,TZ2,……,TZn经统计后,得到F1,F2,F3,……,Fn;F1,F2,F3,……,Fn整合为数据集F{F1,F2,F3,……,Fn}。之后,算法A2会统计各个相同接口的总被访问次数即分别计算数据集TZ1,TZ2,……,TZn的长度len(TZ1),len(TZ2),……,len(TZn),TZ1,TZ2,……,TZnn经计算后得到LZ1,LZ2,LZ3,……,LZn;LZ1,LZ2,LZ3,……,LZn整合为数据集LZ{LZ1,LZ2,LZ3,……,LZn}。之后,算法A2会统计各个相同接口在各个时段的被访问频率即统计数据集TZ1,TZ2,……,TZn中相同接口在相同时段的被访问次数,TZ1,TZ2,……,TZn经计算后得到PL1,PL2,PL3,……,PLn{1:n1,2:n2,……,24:nn},PL1,PL2,PL3,……,PLn整合为PL{PL1,PL2,PL3,……,PLn}。之后,算法A2会统计各个相同接口不同响应数据的次数,算法A2首先会对TZ1,TZ2,……,TZn中各个数据集中的RZ1,……,RZn值为布尔值true或fasle、时间戳值的数据进行删除,然后算法A2会统计各个数据集中的RZ1,……,RZn相同响应参数的不同响应参数值次数,TZ1,TZ2,……,TZn经计算后得到RC1,RC2,……,RCn{RK1:N1,RK2:N2,RK3:N3,……,RKn:Nn},RC1,RC2,……,RCn整合为RC{RC1,RC2,……,RCn}。A2(Ti)计算后得到LI,TC,F,LZ,PL,RC,LI,TC,F,LZ,PL,RC整合为数据集WZ{LI,TC,F,LZ,PL,RC},形成统计结果。
S140、确定所述统计结果中属于业务接口的接口,以得到业务接口数据集。
在本实施例中,业务接口数据集包括属于业务接口的数据集合,这个集合内的元素包括业务接口的标识,表示该接口是业务接口;接口对应的请求时段集合,即在哪些时段内有请求发生;接口在接口对应的请求时段集合中各时段的请求频率值的集合,用于计算业务指标。接口在接口对应的请求时段集合中各时段的请求次数的集合,用于计算业务指标。
在一实施例中,上述的步骤S140可包括步骤S141~ S144。
S141、定义业务时段集。
在本实施例中,设置一个业务时段集Y,默认为{8, 9, 10, 11, 14, 15, 16, 17,18, 19, 20, 21},这些时段代表了业务活动发生的时间段。
S142、计算业务时段集与所述统计结果内的访问时段数据集中的访问时段的交集,以得到交集结果。
在本实施例中,计算业务时段集Y与访问时段数据集F中每个Fn的交集,得到Y与Fn的交集数据集。
S143、对满足要求的所述交集结果中的访问时段对应的被访问频率对应的值进行求和,以得到求和结果。
在本实施例中,于每个Fn,判断Y与Fn的交集长度是否大于等于Y的长度的三分之一,即判断len(Y∩Fn) en(Y)/3。对于满足条件的Fn,将其对应的PLn中键为Y∩Fn中的时段的值进行求和,得到求和的值NZ。
S144、根据所述求和结果与满足要求的所述交集结果中的访问时段对应的被访问频率对应的值求商,当商大于设定比值,则确定对应接口为业务接口,并将对应的被访问次数、访问时段、被访问频率以及各个响应字段的不同响应数据次数构成业务接口对应的数据集,统计所有业务接口对应的数据集,以得到业务接口数据集。
在本实施例中,计算NZ除以Fn对应的被访问次数LZn,即计算NZ/LZn,若NZ/LZn不小于3/4,则认为Fn对应的接口LIn为业务接口。将符合业务接口判断算法A3的接口LIn、Fn、PLn、RCn整合为YIn{LIn、Fn、PLn、RCn}。将所有符合业务接口判断算法A3的YIn整合为数据集YI{YI1, YI2, YI3, ..., YIn}。即A3(WZ) = YI{YI1, YI2, YI3, ..., YIn}。
具体地,存在算法A3,通过该算法对数据集WZ中接口集LI中的接口进行业务接口判断;
业务接口判断算法A3具体实现如下,针对数据集WZ{LI,TC,F,LZ,PL,RC},即计算A3(WZ),存在业务时段集Y,可自主设置,默认为{8,9,10,11,14,15,16,17,18,19,20,21},计算Y与F中Fn的交集,若Y与Fn的交集长度大于等于Y的长度的三分之一,即len(Y∩Fn)>=len(Y)/3,则对Fn对应的PLn中键为Y∩Fn中的时段的值进行求和,求和的值为NZ,之后计算NZ除Fn对应的LZn,即计算NZ/LZn,若NZ/LZn 3/4,则认为Fn对应的接口LIn为业务接口,将Fn对应的LIn、Fn、PLn、Fn对应的RCn整合为YIn{LIn、Fn、PLn、RCn},所有符合业务接口判断算法A3的YIn整合为数据集YI{YI1, YI2, YI3, ..., YIn}。即A3(WZ)= YI{YI1, YI2, YI3, ...,YIn}。
S150、对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集。
在本实施例中,敏感字段集包括了在所述业务接口数据集YI{YI1,YI2,YI3,……,YIn}中被识别为敏感字段的键值对。敏感字段集的每个元素RYRn表示一个敏感字段,包含以下字段:
RCKn:敏感字段的键,即响应参数的名称。
RCVn:敏感字段的值,即响应参数的具体数值。
算法A4通过检查数据集YI中每个业务接口的各个响应字段的不同响应数据次数,判断各个响应参数的不同响应数据次数是否大于等于认证信息集长度YBT。如果存在一个或一个以上的响应参数满足该条件,则将这些数据整合为一个新的数据集RCZn。然后,对所有满足条件的RCZn进行进一步判断,如果存在交集不为空集的情况,将交集中的键视为敏感字段
在一实施例中,上述的步骤S150可包括步骤S151~ S153。
S151、遍历所述业务接口数据集中业务接口对应的各个响应字段的不同响应数据次数。
在本实施例中,设置一个阈值YBT,表示认证信息集的长度,即YBT=len(TC)。遍历数据集YI{YI1, YI2, YI3, ..., YIn}:对于每个YIn{LIn、Fn、PLn、RCn},其中RCn{RK1:N1,RK2:N2,RK3:N3,……,RKn:Nn}表示响应字段。
S152、将响应字段的不同响应数据次数对应的值不小于认证信息集长度所对应的响应字段整合为第一数据集。
在本实施例中,对于每个RCn中的键值对RKn:Nn,判断Nn是否不小于YBT,若大于等于YBT,记录该键值对。
S153、当第一数据集内的元素是一个时,将所述第一数据集内键整合为敏感字段集;若第一数据集内的元素有多个时,计算第一数据集内的元素的交集,以将所有交集中对应的键组成敏感字段集。
在本实施例中,将所有符合条件的键值对RKn:Nn,整合为一个新的数据集RCZn{RCK1:RCV1,RCK2:RCV2,……,RCKn:RCVn}。判断敏感字段集RYR是否为空:如果只存在RCZn这一个数据集,则认为RCZn中的键为敏感字段,将RCZn中的键整合为敏感字段集RYR{RYR1,RVR2,RVR3,……,RVRn}。判断RCZn与其他数据集RCZexcept(n)的交集是否为空:如果存在一个以上的RCZn数据集,判断RCZn与其他数据集RCZexcept(n)的交集是否为空集,即计算RCZn∩RCZexcept(n)。整合符合条件的敏感字段集RCJn:将所有符合条件的交集RCJn中的键整合为敏感字段集RYR{RYR1,RVR2,RVR3,……,RVRn}。
具体地,存在算法A4,通过该算法对数据集YI{YI1,YI2,YI3,……,YIn}中业务接口的响应字段进行敏感字段识别;
敏感字段识别算法A4具体实现如下,存在阈值YBT为认证信息集长度,即YBT=len(TC),判断数据集YI{YI1, YI2, YI3, ..., YIn}中数据YI{YI1, YI2, YI3, ..., YIn}中RCn{RK1:N1,RK2:N2,RK3:N3,……,RKn:Nn}中的各个响应参数不同响应数据次数Nn是否大于等于YBT,若RCn中存在一个或一个以上的响应参数不同响应数据次数Nn大于等于YBT,则将RCn中所有符合该条件的数据RKn:Nn整合为一个新的数据集RCZn{RCK1:RCV1,RCK2:RCV2,……,RCKn:RCVn},对YI1, YI2, YI3, ..., YIn进行计算后若只存在RCZn,则认为RCZn中各个数据的键为敏感字段,将RCZn中各个数据的键整合为RYR{RYR1,RVR2,RVR3,……,RVRn},若存在一个以上RCZn,则判断RCZn与其他数据RCZexcept(n)的交集是否不为空集,即计算RCZn∩RCZexcept(n),若存在一个或一个以上的交集不为空集,则认为RCZn∩RCZexcept(n)=RCJn中各个数据的键为敏感字段,将所有符合条件的RCJn中的各个数据的键整合为敏感字段集RYR{RYR1,RVR2,RVR3,……,RVRn}。即A4(YI{YI1,YI2,YI3,……,YIn})= RYR{RYR1,RVR2,RVR3,……,RVRn}。
S160、通过所述敏感字段集以及所述统计结果获取敏感接口集。
在本实施例中,将所述统计结果中的响应字段存在于敏感字段集所对应的接口确定为敏感接口,整合所有敏感接口,以形成敏感接口集。
在本实施例中,定义一个空的敏感接口集MI{MI1,MI2,MI3,……,MIn},用于存储所有符合条件的敏感接口。遍历数据集WZ{LI,TC,F,LZ,PL,RC}:对于每个WZ中的数据LIn、RCn{RK1:N1,RK2:N2,RK3:N3,……,RKn:Nn},其中RCn表示响应字段。判断RCn中的键是否存在于敏感字段集RYR中:对于每个键值对RKn:Nn,判断RKn是否存在于敏感字段集RYR中,若存在,则认为该RCn对应的LIn为敏感接口。将符合条件的敏感接口整合到敏感接口集MI中:将符合条件的LIn添加到敏感接口集MI中。返回敏感接口集MI:返回所有符合条件的敏感接口集MI{MI1,MI2,MI3,……,MIn}。通过以上步骤,算法A5对数据集WZ{LI,TC,F,LZ,PL,RC}中RC中的各个数据RCn{RK1:N1,RK2:N2,RK3:N3,……,RKn:Nn}进行检查,将符合条件的敏感接口整合为敏感接口集MI{MI1,MI2,MI3,……,MIn}。最终输出MI集合。
具体地,存在算法A5,该算法通过敏感字段集RYR获取敏感接口集;算法A5具体实现如下,算法A5会对数据集WZ{LI,TC,F,LZ,PL,RC}中RC中的各个数据RCn{RK1:N1,RK2:N2,RK3:N3,……,RKn:Nn}进行检查,若RCn中一个或一个以上的键存在于敏感字段集RYR{RYR1,RVR2,RVR3,……,RVRn},则认为该RCn对应的LIn为敏感接口,将所有符合的LIn整合为敏感接口集MI{MI1,MI2,MI3,……,MIn}。即A5(WZ{LI,TC,F,LZ,PL,RC}, RYR{RYR1,RVR2,RVR3,……,RVRn})= MI{MI1,MI2,MI3,……,MIn}。
S170、根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集。
在本实施例中,存在算法A6,该算法用于获取敏感接口身份集;
算法A6具体实现如下,算法A6首先会对数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Tin{In,Cn,RZn,Tn}}中的各个数据中的In进行检查,若In∩MI≠,则将In对应的RZn中的键与敏感字段集RYR{RYR1,RVR2,RVR3,……,RVRn}进行匹配,将RZn中键为敏感字段集中的数据以及其键值整合为新的数据集RMZn{RMK1:RMV1,RMK2:RMV2,……,RMKn:RMVn},将符合条件的In、In对应的Cn、RMZn整合为敏感接口身份集CIR{CIR1,CIR2,CIR3,……,CIRn{In,Cn,RMZn}}。即A6(Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Tin{In,Cn,RZn,Tn}},MI{MI1,MI2,MI3,……,MIn})= CIR{CIR1,CIR2,CIR3,……,CIRn{In,Cn,RMZn}。
S180、根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集。
在本实施例中,存在算法A7,该算法用于获取身份敏感接口指纹集;
算法A7具体实现如下,算法A7会将数据集WZ{LI,TC,F,LZ,PL,RC}中的数据集LI{LI1,LI2,LI3,……,LIn}与敏感接口集MI{MI1,MI2,MI3,……,MIn}进行匹配,若LIn位于MI中,则将LIn,LIn对应的Fn,LIn对应的PLn整合为ZJYn{LIn,Fn,PLn},将所有符合该条件的ZJYn整合为数据集ZJY{ZJY1,ZJY2,……,ZJYn{LIn,Fn,PLn}},之后,算法A7会再将ZJY{ZJY1,ZJY2,……,ZJYn{LIn,Fn,PLn}}}与CIR{CIR1,CIR2,CIR3,……,CIRn{In,Cn,RMZn}}进行匹配,若LIn=In,则将CIRn{In,Cn,RMZn}并入ZJYn{LIn,Fn,PLn}中得到ZJZn{LIn,Fn,PLn,CIRn{In,Cn,RMZn}},将所有符合条件的ZJZn整合为数据集ZJZ{ZJZ1,ZJZ2,……, ZJZn{LIn,Fn,PLn,CIRn{In,Cn,RMZn}}},之后,算法A7会对数据集ZJZ中数据ZJZn的数据CIRn{In,Cn,RMZn}进行md5计算得到CIR(md5)n,在对数据集ZJZ中数据ZJZn的所有数据CIRn进行md5计算后得到身份敏感接口指纹集ZJF{ZJF1,ZJF2,……,ZJFn{LIn,Fn,PLn,CIR(md5)n}}。即A7(WZ{LI,TC,F,LZ,PL,RC},MI{MI1,MI2,MI3,……,MIn})= ZJF{ZJF1,ZJF2,……,ZJFn{LIn,Fn,PLn,CIR(md5)n}}。
S190、实时收集请求对应的通信数据包并提取相关信息。
在本实施例中,实时收集请求对应的通信数据包,从所述通信数据包内提取被检测请求数据包的请求接口以及认证身份,拦截并提取被检测请求数据包对应的响应数据包中的响应参数及其值,提取请求时间点的请求时段,收集请求时段至一分钟之前认证身份请求接口的请求频率,以形成相关信息。
具体地,实时收集某HOST Hn通信的请求数据包Gdetection以及该请求数据包的请求时间点TG(detection){hdetection:mdetection},提取被检测请求数据包Gdetection的请求接口Idetection,认证身份Cdetection,拦截并提取Gdetection对应的响应数据包Rdetection中的响应参数及其值RKVdetection{RKdetection1:RVdetection1,RKdetection2:RVdetection2,……,RKdetectionn:RVdetectionn},提取请求时间点TG(detection){hdetection:mdetection}的请求时段Fdetection,收集hdetection:mdetection至一分钟之前认证身份Cdetection请求接口Idetection的次数countdetection
S200、根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为。
在一实施例中,上述的步骤S200可包括步骤S201~ S209。
S201、判断所述相关信息内的请求接口是否存在于身份敏感指纹集内;
S202、若所述相关信息内的请求接口不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
S203、若所述相关信息内的请求接口存在于身份敏感指纹集内,则判断所述相关信息内的请求时段是否存在于身份敏感指纹集内;
S204、若所述相关信息内的请求时段不存在于身份敏感指纹集内,则执行步骤S204;
S205、若所述相关信息内的请求时段存在于身份敏感指纹集内,则判断所述请求频率是否异常;
若所述请求频率异常,则执行步骤S204;
S206、若所述请求频率不异常,则提取所述被检测请求数据包对应的响应数据包中的响应参数及其值中的敏感参数字段及值,以得到敏感参数数据;
S207、整合所述敏感参数数据、所述请求接口以及认证身份,并对认证身份进行md5计算,以得到第一计算结果;
S208、判断所述第一计算结果是否存在于身份敏感接口指纹集中;
S209、若所述第一计算结果存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求不存在敏感数据泄露行为;
若所述第一计算结果不存在于身份敏感接口指纹集中,则执行步骤S204。
在本实施例中,存在算法A8,通过该算法对接口是否存在敏感数据泄露进行检测;算法A8具体实现如下,判断Idetection是否位于身份敏感接口指纹ZJF中的某一指纹ZJFn中,若Idetection不在身份敏感接口指纹ZJF中的某一指纹ZJFn中,则A8(Gdetection,ZJF)=1;若Idetection位于身份敏感接口指纹集ZJF的指纹ZJFn,但Fdetection不位于指纹ZJFn中的Fn中,则代表该次请求存在接口敏感数据泄露,A8(Gdetection,ZJF)=0;若Idetection位于身份敏感接口指纹集ZJF的指纹ZJFn,Fdetection位于指纹ZJFn中的Fn中,查看Fdetection在PLn中对应请求时段的请求频率nn,如countdetection nn/60,则代表该次请求存在接口敏感数据泄露,A8(Gdetection,ZJF)=0;若Idetection位于身份敏感接口指纹集ZJF的指纹ZJFn,Fdetection位于指纹ZJFn中的Fn中,查看Fdetection在PLn中对应请求时段的请求频率nn,如countdetection<nn/60,提取RKVdetection中的敏感参数字段及其值整合为MKVdetection{MKdetection1:MVdetection1,MKdetection2:MVdetection2,……,MKdetectionn:MVdetectionn},将Idetection、Cdetection、MKVdetection整合为CIRdetection{Idetection,Cdetection,MKVdetection}并将CIRdetection进行md5计算得到CIR(md5)detection,如CIR(md5)detection≠CIR(md5)n,则代表该次请求存在接口敏感数据泄露,A8(Gdetection,ZJF)=0,如CIR(md5)detection=CIR(md5)n,则代表该次请求不存在接口敏感数据泄露,A8(Gdetection,ZJF)=1;若算法A8结果为1即A8(Gdetection,ZJF)=1,则代表该次请求不存在接口敏感数据泄露,将该次请求数据包Gdetection对应的响应数据包Rdetection响应该请求包;若算法A8结果为0即A8(Gdetection,ZJF)=0,则代表该次请求存在接口敏感数据泄露。
S210、若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理。
具体地,将该次请求数据包Gdetection对应的响应数据包Rdetection的响应正文修改为{msg:”存在敏感数据泄露行为,请稍后再试!”}
S220、若所述通信数据包所对应的请求不存在敏感数据泄露行为,则响应所述通信数据包所对应的请求。
举个例子:通过外部网络与H1之间的流量采集设备采集所有与H1通信的HTTP请求数据包,这些请求数据包对应的应答响应数据包以及这些请求数据包的请求时间点,假设收集到2000个HTTP请求数据包、2000个应答响应数据包、2000个请求时间点,即采集的数据为:
请求数据包集G:{G1,G2,G3,G4,……,G2000};
应答响应数据包集R:{R1,R2,R3,R4,……,R2000};
请求时间点集T:{T1,T2,T3,T4,……,T2000};
通过算法A1对请求数据包集G{G1,G2,G3,G4,……,G2000}、应答响应数据包集R{R1,R2,R3,R4,……,R2000}、请求时间点集T{T1,T2,T3,T4,……,T2000}进行计算得到数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Ti2000{I2000,C2000,RZ2000,T2000}},其中,I1,I2,I3,……,I2000为请求数据包G1,G2,G3,……,G2000中提取的请求接口,C1,C2,C3,……,C2000为请求数据包G1,G2,G3,……,G2000中提取的认证信息,数据集RZ1,RZ2,RZ3,……,RZ2000为响应数据包R1,R2,R3,R4,……,R2000中提取的响应参数及其值。
使用算法A2收集统计数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Ti2000{I2000,C2000,RZ2000,T2000}}中同一接口的相关信息。在本实施例中,将数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Ti2000{I2000,C2000,RZ2000,T2000}}中的各个数据中的认证信息C1,C2,C3,……,C2000提取并去重整合为认证数据集TC{TC1,TC2,TC3,TC4,……,TC140},将认证信息提取出后,数据集Ti中的四元组数据变为三元组数据Ti{Ti1{I1,RZ1,T1},Ti2{I2,RZ2,T2},……,Ti2000{I2000,RZ2000,T2000}},算法A2会将三元组{I1,RZ1,T1},{I2,RZ2,T2},……, {I2000,RZ2000,T2000}中I1,I2,I3,I4,……,I2000值相同的三元组整合为同一个数据集,经整合后,得到TZ1,TZ2,……,TZ100{{I1915,RZ1915,T1915},……,{I2000,RZ2000,T2000}},之后,算法A2会提取出TZ1,TZ2,……,TZ100中各个数据集中的任意一接口组成一个接口数据集,TZ1,TZ2,……,TZ100经提取整合后得到数据集LI{LI1,LI2,LI3,……,LI100}。之后,算法A2会根据TZ1,TZ2,……,TZ100各个数据集中的Tn整理同个接口被访问的时段即统计并去重Tn中的时,TZ1,TZ2,……,TZ100经统计并整合后,得到数据集F{F1,F2,F3,……,F100}。之后,算法A2会统计数据集TZ1,TZ2,……,TZ100的长度len(TZ1),len(TZ2),……,len(TZ100),经统计整合得到数据集LZ{LZ1,LZ2,LZ3,……,LZ100}。之后,算法A2会统计数据集TZ1,TZ2,……,TZ100中相同接口在相同时段的被访问次数,TZ1,TZ2,……,TZ100经统计整合后得到PL{PL1,PL2,PL3,……,PL100}。之后,算法A2会统计各个相同接口不同响应数据的次数,经统计后得到数据集RC{RC1,RC2,……,RC100}。最后,算法A2会将数据集LI,TC,F,LZ,PL,RC整合为数据集WZ{LI,TC,F,LZ,PL,RC}。
业务时段集Y为默认值{8,9,10,11,14,15,16,17,18,19,20,21},len(Y)/3=4。在本实施例中,len(Y∩F1)4、len(Y∩F5)/>4、len(Y∩F9)/>4、len(Y∩F11)/>4、len(Y∩F17)4、len(Y∩F22)/>4、len(Y∩F31)/>4、len(Y∩F42)/>4、len(Y∩F47)/>4、len(Y∩F52)/>4、len(Y∩F59)/>4、len(Y∩F61)/>4、len(Y∩F64)/>4、len(Y∩F75)/>4、len(Y∩F81)/>4、len(Y∩F84)/>4、len(Y∩F89)/>4、len(Y∩F91)/>4、len(Y∩F95)/>4、len(Y∩F98)/>4,对PL1、PL5、PL9、PL11、PL17、PL22、PL31、PL42、PL47、PL52、PL59、PL61、PL64、PL75、PL81、PL84、PL89、PL91、PL95、PL98中键为Y∩F1、Y∩F5、Y∩F9、Y∩F11、Y∩F17、Y∩F22、Y∩F31、Y∩F42、Y∩F47、Y∩F52、Y∩F59、Y∩F61、Y∩F64、Y∩F75、Y∩F81、Y∩F84、Y∩F89、Y∩F91、Y∩F95、Y∩F98中的时段的值进行求和,求和值NZ分别为253、255、255、19、37、147、167、155、29、155、18、18、31、33、18、25、6、7、12、17,LZ1、LZ5、LZ9、LZ11、LZ17、LZ22、LZ31、LZ42、LZ47、LZ52、LZ59、LZ61、LZ64、LZ75、LZ81、LZ84、LZ89、LZ91、LZ95、LZ98值分别为254、256、256、22、40、150、172、168、31、157、20、18、37、36、21、27、7、8、13、20,在本实施例中,253/LZ1,255/LZ5、255/LZ9、19/LZ11、37/LZ17、147/LZ22、167/LZ31、155/LZ42、29/LZ47、155/LZ52、18/LZ59、18/LZ61、31/LZ64、33/LZ75、18/LZ81、25/LZ84、6/LZ89、7/LZ91、12/LZ95、17/LZ98的值大于等于3/4,故其对应的{LI1,F1,PL1,RC1}、{LI5,F5,PL5,RC5}、{LI9,F9,PL9,RC9}、{LI11,F11,PL11,RC11}、{LI17,F17,PL17,RC17}、{LI22,F22,PL22,RC22}、{LI31,F31,PL31,RC31}、{LI42,F42,PL42,RC42}、{LI47,F47,PL47,RC47}、{LI52,F52,PL52,RC52}、{LI59,F59,PL59,RC59}、{LI61,F61,PL61,RC61}、{LI64,F64,PL64,RC64}、{LI75,F75,PL75,RC75}、{LI81,F81,PL81,RC81}、{LI84,F84,PL84,RC84}、{LI89,F89,PL89,RC89}、{LI91,F91,PL91,RC91}、{LI95,F95,PL95,RC95}、{LI98,F98,PL98,RC98},将以上数据整合为YI{YI1{LI1,F1,PL1,RC1},YI2{LI5,F5,PL5,RC5},……,YI20{LI98,F98,PL98,RC98}}。
阈值YBT=len(TC)=140,RC1为{“username”:253,”idcard”:253,”phone”:253,”size”:5,”page”:1}、RC5为{“username”:255,”address”:255,”size”:3,”page”:1}、RC9为{”idcard”:255,“phone”:255,”address”:”255”,”email:”255”,”size”:1,”page”:1}、RC11为{“content”:21,”size”:1,”page”:1}、RC17为{“api”:35,”size”:1,”page”:1}、RC22为{“username”:147,”signature”:147,”size”:1,”page”:1}、RC31为{“username”:167,”BH”:52}、RC42为{“username”:155,”email”:155,”phone”:155,”size”:1,”page”:1}、RC47为{“info”:30}、RC52为{“username”:155,”example”:155,”size”:3,”page”:2}、RC59为{“sl”:19}、RC61为{“code”:18}、RC64为{“s”:15,”qa”:10}、RC75为{“key”:36}、RC81为{“res”:13,”msg”:13}、RC84为{“st”:27,”size”:1,”page”:2}、RC89为{“sys”:7,”msg”:7}、RC91为{“new”:8}、RC95为{“tst”:3,”info”:6}、RC98为{“nid”:20,”now”:20},将键值大于YBT=len(TC)=140的键与键值提取出得到RCZ1{“username”:253,”idcard”:253,”phone”:253,”size”:5,”page”:1}、RCZ2{“username”:255,”address”:255,”size”:3,”page”:1}、RCZ3{”idcard”:255,“phone”:255,”address”:”255”,”email:”255”,”size”:1,”page”:1}、RCZ4{“username”:147,”signature”:147,”size”:1,”page”:1}、RCZ5{“username”:167,”BH”:52}、RCZ6{“username”:155,”email”:155,”phone”:155,”size”:1,”page”:1}、RCZ7{{“username”:155,”example”:155,”size”:3,”page”:2},计算以上各个数据集与其他非本数据集的交集,并将交集整合为RYR,在本实施例中,经计算后,得到敏感字段集RVR{“username”,”idcard”,”phone”,”address”,”email”}。
步骤S6中,算法A5根据步骤S5获得的敏感字段集RVR{“username”,”idcard”,”phone”,”address”,”email”}对WZ{LI,TC,F,LZ,PL,RC}中RC中的RC1,RC2,……,RC100进行匹配,经匹配RC1、RC5、RC9、RC15、RC22、RC27、RC31、RC33、RC42、RC45、RC52、RC69、RC78、RC86中存在敏感字段,其对应的LI1、LI5、LI9、LI15、LI22、LI27、LI31、LI33、LI42、LI45、LI52、LI69、LI78、LI86整合为敏感接口集MI{ LI1、LI5、LI9、LI15、LI22、LI27、LI31、LI33、LI42、LI45、LI52、LI69、LI78、LI86}。
算法A6根据获得的敏感接口集MI{ LI1、LI5、LI9、LI15、LI22、LI27、LI31、LI33、LI42、LI45、LI52、LI69、LI78、LI86}中的数据对数据集Ti{Ti1{I1,C1,RZ1,T1},Ti2{I2,C2,RZ2,T2},……,Ti2000{I2000,C2000,RZ2000,T2000}}中Ti1,……,Ti2000中的I1,……,I2000进行匹配,在本实施例中,存在1800个I1,……,I2000中的数据I3,I11,I32,……,I1987存在于敏感接口集MI{ LI1、LI5、LI9、LI15、LI22、LI27、LI31、LI33、LI42、LI45、LI52、LI69、LI78、LI86}中,之后,算法A6会对符合条件的接口数据I3,I11,I32,……,I1987对应的响应参数及其值RZ3,RZ11,RZ32,……,RZ1987中的响应参数与敏感字段集RVR{“username”,”idcard”,”phone”,”address”,”email”}进行匹配,将存在于敏感字段集RVR中的响应参数及其值重新整合为RMZ3,RMZ11,RMZ32,……,RMZ1987,最后,算法A6将I3,I11,I32,……,I1987、C3,C11,C32,……,C1987、RZ3,RZ11,RZ32,……,RZ1987整合为敏感接口身份集CIR{CIR1{I3,C3,RMZ3},CIR2{I11,C11,RMZ11},CIR3{I32,C32,RMZ32},……,CIR1800{I1987,C1987,RMZ1987}}。
步骤S8中,通过算法A7将WZ{LI,TC,F,LZ,PL,RC}中的接口数据集LI{LI1,LI2,LI3,……,LI100}与敏感接口集MI{ LI1、LI5、LI9、LI15、LI22、LI27、LI31、LI33、LI42、LI45、LI52、LI69、LI78、LI86}中的数据进行匹配,将敏感接口集MI中敏感接口对应的请求时段,请求频率进行整合,在本实施例中,经匹配整合后得到数据集ZJY{ZJY1{LI1,F1,PL1},ZJY2{LI5,F5,PL5},……,ZJY14{LI86,F86,PL86}},之后,算法将ZJY{ZJY1{LI1,F1,PL1},ZJY2{LI5,F5,PL5},……,ZJY14{LI86,F86,PL86}}与CIR{CIR1{I3,C3,RMZ3},CIR2{I11,C11,RMZ11},CIR3{I32,C32,RMZ32},……,CIR1800{I1987,C1987,RMZ1987}}进行匹配,将ZJY中的数据中的接口集与其CIR中的数据中的接口集相同的数据进行整合,经整合后得到ZJZ{ZJZ1{LI1,F1,PL1,CIR1{I3,C3,RMZ3}},ZJZ2{LI1,F1,PL1,CIR2{I11,C11,RMZ11}},……,ZJZ1800{LI86,F86,PL86,CIR1800{I1987,C1987,RMZ1987}}},之后,算法A7对ZJZ中的数据中的敏感接口身份进行md5计算,经计算后得到身份敏感接口指纹集ZJF{ZJF1{LI1,F1,PL1,CIR(md5)1},ZJF2{LI1,F1,PL1,CIR(md5)2},……,ZJF1800{LI86,F86,PL86,CIR(md5)1800}}。
通过算法A8对接口是否存在敏感数据泄露进行检测。在本实施例中,在15:04收集到与H1通信的请求数据包Gdetection,Gdetection对应的请求时间点TG(detection)为TG(detection){15:04},提取被检测请求数据包Gdetection的请求接口Idetection,认证身份Cdetection,拦截并提取Gdetection对应的响应数据包Rdetection中的响应参数及其值RKVdetection{“username”:”test”,”idcard”:”xxxxxx19951122xxxx”,”phone”:”xxxx7182xxxx”,”size”:10,”page”:1},收集请求时间点TG(detection){15:04}的请求时段Fdetection{15},15:04至15:03认证身份Cdetection请求接口Idetection的次数countdetection经收集后得到countdetection=1,在本实施例中,Idetection位于身份敏感接口指纹集ZJF中的254个身份敏感接口指纹中ZJF1{LI1,F1,PL1,CIR(md5)1},ZJF2{LI1,F1,PL1,CIR(md5)2},……,ZJF798{LI1,F1,PL1,CIR(md5)798}中,Fdetection{15}位于F1中,PL1中15时段的访问频率为200,故15时段每分钟的访问平均频率为200/60≈3.33,countdetection<3.33,提取RKVdetection中的敏感参数字段及其值整合为MKVdetection{username”:”test”,”idcard”:”430721199511227329”,”phone”:”18271829101”},将Idetection、Cdetection、MKVdetection整合为CIRdetection{Idetection,Cdetection,MKVdetection},并将CIRdetection进行md5计算得到CIR(md5)detection,在本实施例中CIR(md5)detection=CIR(md5)798,故该次请求不存在接口敏感数据泄露,令A8(Gdetection,ZJF)=1;
将通过算法A9对接口敏感数据泄露行为进行防御。在本实施例中,A8(Gdetection,ZJF)=1,该次请求不存在接口敏感数据泄露,将该次请求数据包Gdetection对应的响应数据包Rdetection响应Gdetection请求包。
上述的接口敏感数据泄露检测防御方法,通过对接口进行业务接口判断,对业务接口进行敏感字段识别,通过敏感字段判断敏感接口,最后获取身份敏感接口指纹,通过敏感接口指纹判断接口请求是否存在敏感数据泄露行为,当接口请求存在敏感数据泄露行为时,防御敏感数据泄露行为,实现有效识别与防御多变的接口敏感数据泄露检测行为。
图3是本发明实施例提供的一种接口敏感数据泄露检测防御装置300的示意性框图。如图3所示,对应于以上接口敏感数据泄露检测防御方法,本发明还提供一种接口敏感数据泄露检测防御装置300。该接口敏感数据泄露检测防御装置300包括用于执行上述接口敏感数据泄露检测防御方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图3,该接口敏感数据泄露检测防御装置300包括采集单元301、提取单元302、统计单元303、业务接口确定单元304、敏感字段识别单元305、敏感接口集获取单元306、身份集获取单元307、指纹集获取单元308、数据包收集单元309、判断单元310及防御单元311。
采集单元301,用于采集接口流量数据;提取单元302,用于对所述接口流量数据提取请求数据以及响应数据,以得到提取结果;统计单元303,用于根据所述提取结果统计同一接口的相关信息,以得到统计结果;业务接口确定单元304,用于确定所述统计结果中属于业务接口的接口,以得到业务接口数据集;敏感字段识别单元305,用于对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集;敏感接口集获取单元306,用于通过所述敏感字段集以及所述统计结果获取敏感接口集;身份集获取单元307,用于根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集;指纹集获取单元308,用于根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集;数据包收集单元309,用于实时收集请求对应的通信数据包并提取相关信息;判断单元310,用于根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为;防御单元311,用于若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理。
在一实施例中,所述统计单元303包括:
信息集整合子单元,用于对所述提取结果提取认证信息,并去重整合为认证信息集;移除子单元,用于移除所述提取结果中每个数据的认证信息,以得到三元组;三元组整合子单元,用于整合同一接口的三元组,以得到整合结果;选择子单元,用于从整合结果中分别从各个同一接口的三元组中任意选择一个三元组中的接口数据组成接口数据集;第一统计子单元,用于统计访问时段;第二统计子单元,用于统计被访问次数;第三统计子单元,用于统计被访问频率;第四统计子单元,用于统计不同响应数据次数;内容整合子单元,用于整合所述接口数据集、认证信息集、访问时段、被访问次数、被访问频率以及不同响应数据次数,以得到统计结果。
在一实施例中,所述业务接口确定单元304包括:
定义子单元,用于定义业务时段集;交集计算子单元,用于计算业务时段集与所述统计结果内的访问时段数据集中的访问时段的交集,以得到交集结果;求和子单元,用于对满足要求的所述交集结果中的访问时段对应的被访问频率对应的值进行求和,以得到求和结果;统计整合子单元,用于根据所述求和结果与满足要求的所述交集结果中的访问时段对应的被访问频率对应的值求商,当商大于设定比值,则确定对应接口为业务接口,并将对应的被访问次数、访问时段、被访问频率以及各个响应字段的不同响应数据次数构成业务接口对应的数据集,统计所有业务接口对应的数据集,以得到业务接口数据集。
在一实施例中,所述敏感字段识别单元305包括:
遍历子单元,用于遍历所述业务接口数据集中业务接口对应的各个响应字段的不同响应数据次数;数据整合子单元,用于将响应字段的不同响应数据次数对应的值不小于认证信息集长度所对应的响应字段整合为第一数据集;字段集确定子单元,用于当第一数据集内的元素是一个时,将所述第一数据集内键整合为敏感字段集;若第一数据集内的元素有多个时,计算第一数据集内的元素的交集,以将所有交集中对应的键组成敏感字段集。
在一实施例中,所述敏感接口集获取单元306,用于将所述统计结果中的响应字段存在于敏感字段集所对应的接口确定为敏感接口,整合所有敏感接口,以形成敏感接口集。
在一实施例中,所述数据包收集单元309,用于实时收集请求对应的通信数据包,从所述通信数据包内提取被检测请求数据包的请求接口以及认证身份,拦截并提取被检测请求数据包对应的响应数据包中的响应参数及其值,提取请求时间点的请求时段,收集请求时段至一分钟之前认证身份请求接口的请求频率,以形成相关信息。
在一实施例中,所述判断单元310包括:
第一判断子单元,用于判断所述相关信息内的请求接口是否存在于身份敏感指纹集内;
确定子单元,用于若所述相关信息内的请求接口不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
第二判断子单元,用于若所述相关信息内的请求接口存在于身份敏感指纹集内,则判断所述相关信息内的请求时段是否存在于身份敏感指纹集内;若所述相关信息内的请求时段不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
第三判断子单元,用于若所述相关信息内的请求时段存在于身份敏感指纹集内,则判断所述请求频率是否异常;若所述请求频率异常,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;数据提取子单元,用于若所述请求频率不异常,则提取所述被检测请求数据包对应的响应数据包中的响应参数及其值中的敏感参数字段及值,以得到敏感参数数据;第一计算子单元,用于整合所述敏感参数数据、所述请求接口以及认证身份,并对认证身份进行md5计算,以得到第一计算结果;第四判断子单元,用于判断所述第一计算结果是否存在于身份敏感接口指纹集中;若所述第一计算结果存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求不存在敏感数据泄露行为;若所述第一计算结果不存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求存在敏感数据泄露行为。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述接口敏感数据泄露检测防御装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述接口敏感数据泄露检测防御装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种接口敏感数据泄露检测防御方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种接口敏感数据泄露检测防御方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
采集接口流量数据;对所述接口流量数据提取请求数据以及响应数据,以得到提取结果;根据所述提取结果统计同一接口的相关信息,以得到统计结果;确定所述统计结果中属于业务接口的接口,以得到业务接口数据集;对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集;通过所述敏感字段集以及所述统计结果获取敏感接口集;根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集;根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集;实时收集请求对应的通信数据包并提取相关信息;根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为;若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理。
其中,所述接口流量数据包括HTTP请求数据包、对应的响应数据包以及请求数据包对应的时间点;所述提取结果包括各个请求数据包中的请求接口、认证信息、各个响应数据包内的响应字段,所述响应字段包括响应参数及其值。
在一实施例中,处理器502在实现所述根据所述提取结果统计同一接口的相关信息,以得到统计结果步骤时,具体实现如下步骤:
对所述提取结果提取认证信息,并去重整合为认证信息集;移除所述提取结果中每个数据的认证信息,以得到三元组;整合同一接口的三元组,以得到整合结果;从整合结果中分别从各个同一接口的三元组中任意选择一个三元组中的接口数据组成接口数据集;统计访问时段;统计被访问次数;统计被访问频率;统计不同响应数据次数;整合所述接口数据集、认证信息集、访问时段、被访问次数、被访问频率以及不同响应数据次数,以得到统计结果。
在一实施例中,处理器502在实现所述确定所述统计结果中属于业务接口的接口,以得到业务接口数据集步骤时,具体实现如下步骤:
定义业务时段集;计算业务时段集与所述统计结果内的访问时段数据集中的访问时段的交集,以得到交集结果;对满足要求的所述交集结果中的访问时段对应的被访问频率对应的值进行求和,以得到求和结果;根据所述求和结果与满足要求的所述交集结果中的访问时段对应的被访问频率对应的值求商,当商大于设定比值,则确定对应接口为业务接口,并将对应的被访问次数、访问时段、被访问频率以及各个响应字段的不同响应数据次数构成业务接口对应的数据集,统计所有业务接口对应的数据集,以得到业务接口数据集。
在一实施例中,处理器502在实现所述对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集步骤时,具体实现如下步骤:
遍历所述业务接口数据集中业务接口对应的各个响应字段的不同响应数据次数;将响应字段的不同响应数据次数对应的值不小于认证信息集长度所对应的响应字段整合为第一数据集;当第一数据集内的元素是一个时,将所述第一数据集内键整合为敏感字段集;若第一数据集内的元素有多个时,计算第一数据集内的元素的交集,以将所有交集中对应的键组成敏感字段集。
在一实施例中,处理器502在实现所述通过所述敏感字段集以及所述统计结果获取敏感接口集步骤时,具体实现如下步骤:
将所述统计结果中的响应字段存在于敏感字段集所对应的接口确定为敏感接口,整合所有敏感接口,以形成敏感接口集。
在一实施例中,处理器502在实现所述实时收集请求对应的通信数据包并提取相关信息步骤时,具体实现如下步骤:
实时收集请求对应的通信数据包,从所述通信数据包内提取被检测请求数据包的请求接口以及认证身份,拦截并提取被检测请求数据包对应的响应数据包中的响应参数及其值,提取请求时间点的请求时段,收集请求时段至一分钟之前认证身份请求接口的请求频率,以形成相关信息。
在一实施例中,处理器502在实现所述根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为步骤时,具体实现如下步骤:
判断所述相关信息内的请求接口是否存在于身份敏感指纹集内;若所述相关信息内的请求接口不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;若所述相关信息内的请求接口存在于身份敏感指纹集内,则判断所述相关信息内的请求时段是否存在于身份敏感指纹集内;若所述相关信息内的请求时段不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;若所述相关信息内的请求时段存在于身份敏感指纹集内,则判断所述请求频率是否异常;若所述请求频率异常,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;若所述请求频率不异常,则提取所述被检测请求数据包对应的响应数据包中的响应参数及其值中的敏感参数字段及值,以得到敏感参数数据;整合所述敏感参数数据、所述请求接口以及认证身份,并对认证身份进行md5计算,以得到第一计算结果;判断所述第一计算结果是否存在于身份敏感接口指纹集中;若所述第一计算结果存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求不存在敏感数据泄露行为;若所述第一计算结果不存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求存在敏感数据泄露行为。
应当理解,在本申请实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
采集接口流量数据;对所述接口流量数据提取请求数据以及响应数据,以得到提取结果;根据所述提取结果统计同一接口的相关信息,以得到统计结果;确定所述统计结果中属于业务接口的接口,以得到业务接口数据集;对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集;通过所述敏感字段集以及所述统计结果获取敏感接口集;根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集;根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集;实时收集请求对应的通信数据包并提取相关信息;根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为;若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理。
其中,所述接口流量数据包括HTTP请求数据包、对应的响应数据包以及请求数据包对应的时间点;所述提取结果包括各个请求数据包中的请求接口、认证信息、各个响应数据包内的响应字段,所述响应字段包括响应参数及其值。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述提取结果统计同一接口的相关信息,以得到统计结果步骤时,具体实现如下步骤:
对所述提取结果提取认证信息,并去重整合为认证信息集;移除所述提取结果中每个数据的认证信息,以得到三元组;整合同一接口的三元组,以得到整合结果;从整合结果中分别从各个同一接口的三元组中任意选择一个三元组中的接口数据组成接口数据集;统计访问时段;统计被访问次数;统计被访问频率;统计不同响应数据次数;整合所述接口数据集、认证信息集、访问时段、被访问次数、被访问频率以及不同响应数据次数,以得到统计结果。
在一实施例中,所述处理器在执行所述计算机程序而实现所述确定所述统计结果中属于业务接口的接口,以得到业务接口数据集步骤时,具体实现如下步骤:
定义业务时段集;计算业务时段集与所述统计结果内的访问时段数据集中的访问时段的交集,以得到交集结果;对满足要求的所述交集结果中的访问时段对应的被访问频率对应的值进行求和,以得到求和结果;根据所述求和结果与满足要求的所述交集结果中的访问时段对应的被访问频率对应的值求商,当商大于设定比值,则确定对应接口为业务接口,并将对应的被访问次数、访问时段、被访问频率以及各个响应字段的不同响应数据次数构成业务接口对应的数据集,统计所有业务接口对应的数据集,以得到业务接口数据集。
在一实施例中,所述处理器在执行所述计算机程序而实现所述对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集步骤时,具体实现如下步骤:
遍历所述业务接口数据集中业务接口对应的各个响应字段的不同响应数据次数;将响应字段的不同响应数据次数响应字段对应的值不小于认证信息集长度所对应的响应字段整合为第一数据集;当第一数据集内的元素是一个时,将所述第一数据集内键整合为敏感字段集;若第一数据集内的元素有多个时,计算第一数据集内的元素的交集,以将所有交集中对应的键组成敏感字段集。
在一实施例中,所述处理器在执行所述计算机程序而实现所述通过所述敏感字段集以及所述统计结果获取敏感接口集步骤时,具体实现如下步骤:
将所述统计结果中的响应字段存在于敏感字段集所对应的接口确定为敏感接口,整合所有敏感接口,以形成敏感接口集。
在一实施例中,所述处理器在执行所述计算机程序而实现所述实时收集请求对应的通信数据包并提取相关信息步骤时,具体实现如下步骤:
实时收集请求对应的通信数据包,从所述通信数据包内提取被检测请求数据包的请求接口以及认证身份,拦截并提取被检测请求数据包对应的响应数据包中的响应参数及其值,提取请求时间点的请求时段,收集请求时段至一分钟之前认证身份请求接口的请求频率,以形成相关信息。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为步骤时,具体实现如下步骤:
判断所述相关信息内的请求接口是否存在于身份敏感指纹集内;若所述相关信息内的请求接口不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;若所述相关信息内的请求接口存在于身份敏感指纹集内,则判断所述相关信息内的请求时段是否存在于身份敏感指纹集内;若所述相关信息内的请求时段不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;若所述相关信息内的请求时段存在于身份敏感指纹集内,则判断所述请求频率是否异常;若所述请求频率异常,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;若所述请求频率不异常,则提取所述被检测请求数据包对应的响应数据包中的响应参数及其值中的敏感参数字段及值,以得到敏感参数数据;整合所述敏感参数数据、所述请求接口以及认证身份,并对认证身份进行md5计算,以得到第一计算结果;判断所述第一计算结果是否存在于身份敏感接口指纹集中;若所述第一计算结果存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求不存在敏感数据泄露行为;若所述第一计算结果不存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求存在敏感数据泄露行为。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.接口敏感数据泄露检测防御方法,其特征在于,包括:
采集接口流量数据;
对所述接口流量数据提取请求数据以及响应数据,以得到提取结果;
根据所述提取结果统计同一接口的相关信息,以得到统计结果;
确定所述统计结果中属于业务接口的接口,以得到业务接口数据集;
对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集;
通过所述敏感字段集以及所述统计结果获取敏感接口集;
根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集;
根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集;
实时收集请求对应的通信数据包并提取相关信息;
根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为;
若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理;
其中,所述根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为,包括:
判断所述相关信息内的请求接口是否存在于身份敏感指纹集内;
若所述相关信息内的请求接口不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述相关信息内的请求接口存在于身份敏感指纹集内,则判断所述相关信息内的请求时段是否存在于身份敏感指纹集内;
若所述相关信息内的请求时段不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述相关信息内的请求时段存在于身份敏感指纹集内,则判断请求频率是否异常;
若所述请求频率异常,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述请求频率不异常,则提取被检测请求数据包对应的响应数据包中的响应参数及其值中的敏感参数字段及值,以得到敏感参数数据;
整合所述敏感参数数据、所述请求接口以及认证身份,并对认证身份进行md5计算,以得到第一计算结果;
判断所述第一计算结果是否存在于身份敏感接口指纹集中;
若所述第一计算结果存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求不存在敏感数据泄露行为;
若所述第一计算结果不存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求存在敏感数据泄露行为。
2.根据权利要求1所述的接口敏感数据泄露检测防御方法,其特征在于,所述接口流量数据包括HTTP请求数据包、对应的响应数据包以及请求数据包对应的时间点;所述提取结果包括各个请求数据包中的请求接口、认证信息、各个响应数据包内的响应字段,所述响应字段包括响应参数及其值。
3.根据权利要求2所述的接口敏感数据泄露检测防御方法,其特征在于,所述根据所述提取结果统计同一接口的相关信息,以得到统计结果,包括:
对所述提取结果提取认证信息,并去重整合为认证信息集;
移除所述提取结果中每个数据的认证信息,以得到三元组;
整合同一接口的三元组,以得到整合结果;
从整合结果中分别从各个同一接口的三元组中任意选择一个三元组中的接口数据组成接口数据集;
统计访问时段;
统计被访问次数;
统计被访问频率;
统计不同响应数据次数;
整合所述接口数据集、认证信息集、访问时段、被访问次数、被访问频率以及不同响应数据次数,以得到统计结果。
4.根据权利要求3所述的接口敏感数据泄露检测防御方法,其特征在于,所述确定所述统计结果中属于业务接口的接口,以得到业务接口数据集,包括:
定义业务时段集;
计算业务时段集与所述统计结果内的访问时段数据集中的访问时段的交集,以得到交集结果;
对满足要求的所述交集结果中的访问时段对应的被访问频率对应的值进行求和,以得到求和结果;
根据所述求和结果与满足要求的所述交集结果中的访问时段对应的被访问频率对应的值求商,当商大于设定比值,则确定对应接口为业务接口,并将对应的被访问次数、访问时段、被访问频率以及各个响应字段的不同响应数据次数构成业务接口对应的数据集,统计所有业务接口对应的数据集,以得到业务接口数据集。
5.根据权利要求4所述的接口敏感数据泄露检测防御方法,其特征在于,所述对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集,包括:
遍历所述业务接口数据集中业务接口对应的各个响应字段的不同响应数据次数;
将响应字段的不同响应数据次数对应的值不小于认证信息集长度所对应的响应字段整合为第一数据集;
当第一数据集内的元素是一个时,将所述第一数据集内键整合为敏感字段集;若第一数据集内的元素有多个时,计算第一数据集内的元素的交集,以将所有交集中对应的键组成敏感字段集。
6.根据权利要求5所述的接口敏感数据泄露检测防御方法,其特征在于,所述通过所述敏感字段集以及所述统计结果获取敏感接口集,包括:
将所述统计结果中的响应字段存在于敏感字段集所对应的接口确定为敏感接口,整合所有敏感接口,以形成敏感接口集。
7.根据权利要求6所述的接口敏感数据泄露检测防御方法,其特征在于,所述实时收集请求对应的通信数据包并提取相关信息,包括:
实时收集请求对应的通信数据包,从所述通信数据包内提取被检测请求数据包的请求接口以及认证身份,拦截并提取被检测请求数据包对应的响应数据包中的响应参数及其值,提取请求时间点的请求时段,收集请求时段至一分钟之前认证身份请求接口的请求频率,以形成相关信息。
8.接口敏感数据泄露检测防御装置,其特征在于,包括:
采集单元,用于采集接口流量数据;
提取单元,用于对所述接口流量数据提取请求数据以及响应数据,以得到提取结果;
统计单元,用于根据所述提取结果统计同一接口的相关信息,以得到统计结果;
业务接口确定单元,用于确定所述统计结果中属于业务接口的接口,以得到业务接口数据集;
敏感字段识别单元,用于对所述业务接口数据集中业务接口对应的响应字段进行敏感字段的识别,以得到敏感字段集;
敏感接口集获取单元,用于通过所述敏感字段集以及所述统计结果获取敏感接口集;
身份集获取单元,用于根据所述敏感接口集以及所述提取结果获取所述敏感接口集的敏感接口身份集;
指纹集获取单元,用于根据所述统计结果、所述敏感接口集以及所述敏感接口身份集获取身份敏感接口指纹集;
数据包收集单元,用于实时收集请求对应的通信数据包并提取相关信息;
判断单元,用于根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为;
防御单元,用于若所述通信数据包所对应的请求存在敏感数据泄露行为,则对存在敏感数据泄露的请求进行防御处理;
其中,其中,所述根据所述相关信息、敏感接口身份集以及身份敏感接口指纹集以判断所述通信数据包所对应的请求是否存在敏感数据泄露行为,包括:
判断所述相关信息内的请求接口是否存在于身份敏感指纹集内;
若所述相关信息内的请求接口不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述相关信息内的请求接口存在于身份敏感指纹集内,则判断所述相关信息内的请求时段是否存在于身份敏感指纹集内;
若所述相关信息内的请求时段不存在于身份敏感指纹集内,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述相关信息内的请求时段存在于身份敏感指纹集内,则判断请求频率是否异常;
若所述请求频率异常,则确定所述通信数据包所对应的请求存在敏感数据泄露行为;
若所述请求频率不异常,则提取被检测请求数据包对应的响应数据包中的响应参数及其值中的敏感参数字段及值,以得到敏感参数数据;
整合所述敏感参数数据、所述请求接口以及认证身份,并对认证身份进行md5计算,以得到第一计算结果;
判断所述第一计算结果是否存在于身份敏感接口指纹集中;
若所述第一计算结果存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求不存在敏感数据泄露行为;
若所述第一计算结果不存在于身份敏感接口指纹集中,则确定所述通信数据包所对应的请求存在敏感数据泄露行为。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
CN202410137819.6A 2024-02-01 2024-02-01 接口敏感数据泄露检测防御方法、装置及计算机设备 Active CN117688540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410137819.6A CN117688540B (zh) 2024-02-01 2024-02-01 接口敏感数据泄露检测防御方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410137819.6A CN117688540B (zh) 2024-02-01 2024-02-01 接口敏感数据泄露检测防御方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN117688540A CN117688540A (zh) 2024-03-12
CN117688540B true CN117688540B (zh) 2024-04-19

Family

ID=90137452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410137819.6A Active CN117688540B (zh) 2024-02-01 2024-02-01 接口敏感数据泄露检测防御方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN117688540B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019127467A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种数据访问方法及装置
US10445292B1 (en) * 2016-03-30 2019-10-15 Veritas Technologies Llc Sharing services between deduplication systems
CN114297717A (zh) * 2021-12-31 2022-04-08 湖北天融信网络安全技术有限公司 一种数据防泄漏方法、装置、电子设备及存储介质
CN114826946A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 未授权访问接口的检测方法、装置、设备及存储介质
CN115510485A (zh) * 2022-09-27 2022-12-23 上汽通用五菱汽车股份有限公司 敏感数据的脱敏方法、装置、终端设备及计算机存储介质
CN116232767A (zh) * 2023-05-06 2023-06-06 杭州美创科技股份有限公司 DDoS防御方法、装置、计算机设备及存储介质
CN116432190A (zh) * 2023-06-15 2023-07-14 杭州美创科技股份有限公司 接口未授权访问检测方法、装置、计算机设备及存储介质
CN116881971A (zh) * 2023-08-02 2023-10-13 企知道科技有限公司 一种敏感信息泄露检测方法、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445292B1 (en) * 2016-03-30 2019-10-15 Veritas Technologies Llc Sharing services between deduplication systems
WO2019127467A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种数据访问方法及装置
CN114297717A (zh) * 2021-12-31 2022-04-08 湖北天融信网络安全技术有限公司 一种数据防泄漏方法、装置、电子设备及存储介质
CN114826946A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 未授权访问接口的检测方法、装置、设备及存储介质
CN115510485A (zh) * 2022-09-27 2022-12-23 上汽通用五菱汽车股份有限公司 敏感数据的脱敏方法、装置、终端设备及计算机存储介质
CN116232767A (zh) * 2023-05-06 2023-06-06 杭州美创科技股份有限公司 DDoS防御方法、装置、计算机设备及存储介质
CN116432190A (zh) * 2023-06-15 2023-07-14 杭州美创科技股份有限公司 接口未授权访问检测方法、装置、计算机设备及存储介质
CN116881971A (zh) * 2023-08-02 2023-10-13 企知道科技有限公司 一种敏感信息泄露检测方法、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Detecting Android Malware and Sensitive Data Flows Using Machine Learning Techniques;Ramakrishnan Raman et al.;IEEE;20230322;全文 *
一种事件驱动的生物特征识别框架服务的设计与实现;蒋林轩;余杰;刘晓东;吴庆波;孔金珠;;信息技术与网络安全;20181210(第12期);全文 *
图书馆大数据平台多维度敏感数据保护研究;马晓亭;;图书馆;20170215(第02期);全文 *

Also Published As

Publication number Publication date
CN117688540A (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
EP3771168B1 (en) Abnormal user identification method
EP3780541B1 (en) Identity information identification method and device
CN110209660B (zh) 欺诈团伙挖掘方法、装置及电子设备
CN109889550B (zh) 一种DDoS攻击确定方法及装置
KR102345780B1 (ko) 신분 인증 방법, 장치, 서버 및 컴퓨터 판독 가능 매체
WO2020056968A1 (zh) 数据降噪方法、装置、计算机设备和存储介质
CN106960153B (zh) 病毒的类型识别方法及装置
CN109815702B (zh) 软件行为的安全检测方法、装置及设备
CN111064719B (zh) 文件异常下载行为的检测方法及装置
CN110647895B (zh) 一种基于登录框图像的钓鱼页面识别方法及相关设备
CN112819611A (zh) 欺诈识别方法、装置、电子设备和计算机可读存储介质
CN114785567A (zh) 一种流量识别方法、装置、设备及介质
CN111652284A (zh) 扫描器识别方法及装置、电子设备、存储介质
US11412063B2 (en) Method and apparatus for setting mobile device identifier
CN110599278B (zh) 聚合设备标识符的方法、装置和计算机存储介质
CN110827036A (zh) 一种欺诈交易的检测方法、装置、设备及存储介质
CN114726571A (zh) 一种网络安全预警管理平台和方法
CN117688540B (zh) 接口敏感数据泄露检测防御方法、装置及计算机设备
CN113901441A (zh) 一种用户异常请求检测方法、装置、设备及存储介质
CN107332856B (zh) 地址信息的检测方法、装置、存储介质和电子装置
CN117391214A (zh) 模型训练方法、装置及相关设备
CN112085590B (zh) 规则模型的安全性的确定方法、装置和服务器
CN112073360B (zh) 超文本传输数据的检测方法、装置、终端设备及介质
CN112733916B (zh) 虚假证件图片的识别方法、装置、电子设备及存储介质
CN115665286B (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