掌桥专利:专业的专利平台
掌桥专利
首页

一种敏感数据传输检测方法、装置、介质及设备

文献发布时间:2024-04-29 00:47:01


一种敏感数据传输检测方法、装置、介质及设备

技术领域

本申请涉及网络传输数据检测领域,尤其涉及一种敏感数据传输检测方法、装置、介质及设备。

背景技术

敏感数据传输检测旨在检测用户个人或企业敏感信息是否被泄露,来确定用户在使用互联网产品过程中是否存在数据泄露或隐私泄露。

现有技术中,对于敏感数据的检测,通常只局限于利用正则表达式或关键词的方式对各用户端的网络传输数据进行匹配,再根据匹配结果判定是否发生了敏感数据泄露,检测手段过于简略与粗糙,从而导致可能出现大量敏感数据误报的问题,检测准确率低。

发明内容

有鉴于此,本申请提供一种敏感数据传输检测方法、装置、介质及设备,对敏感数据进行多层校验,减少误报可能性,提升敏感数据的检测准确率。

第一方面,本申请提供一种敏感数据传输检测方法,所述方法包括:

捕获并解析网络传输报文,获得解析后的网络传输报文;

利用预设正则表达式和/或预设关键字库对所述解析后的网络传输报文进行初步筛选,获得疑似敏感数据以及对应的数据属性;

提取所述疑似敏感数据在所述解析后的网络传输报文中的若干上下文;

根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据。

可选地,所述捕获并解析网络传输报文,包括:

将所述网络传输报文镜像至预设网络接口;

利用流量检测引擎监听所述网络接口,捕获并解析所述网络传输报文。

可选地,所述解析后的网络传输报文为应用层协议报文。

可选地,所述疑似敏感数据的数据属性包括所述疑似敏感数据的字段类型;

根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据,包括:

查找与所述疑似敏感数据的字段类型相同的敏感基准特征,其中,所述敏感基准特征为预先被标定为敏感数据的指定字段类型的数据;

若所述上下文与所述敏感基准特征匹配,则所述疑似敏感数据为敏感数据。

可选地,所述方法还包括:利用词义消歧算法,对所述敏感基准特征中的歧义敏感基准特征进行消歧,所述歧义敏感基准特征为预先被同时标定为敏感数据以及非敏感数据的指定字段类型的数据。

可选地,所述疑似敏感数据的数据属性包括所述疑似敏感数据的字符类型;

根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据,包括:

获取所述上下文的字符类型,确定与所述上下文的字符类型不完全相同的疑似敏感数据为敏感数据。

可选地,所述提取所述疑似敏感数据在所述解析后的网络传输报文中的若干上下文,包括:

通过预设分隔符,将所述解析后的网络传输报文分隔成若干字符串;

根据预设的字符串间距以及字符串长度提取所述上下文。

第二方面,本申请还提供一种敏感数据传输检测装置,所述装置包括:

报文解析模块,用于捕获并解析网络传输报文,获得解析后的网络传输报文;

初步筛选模块,用于利用预设正则表达式和/或预设关键字库对所述解析后的网络传输报文进行初步筛选,获得疑似敏感数据以及对应的数据属性;

上下文提取模块,用于提取所述疑似敏感数据在所述解析后的网络传输报文中的若干上下文;

语义分析模块,用于根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据。

第三方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述敏感数据传输检测方法的步骤。

第四方面,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述敏感数据传输检测方法的步骤。

采用本申请的技术方案,至少具有以下有益效果:

本申请中,在利用正则表达式或关键字对解析后的网络传输报文进行初步筛选,获得疑似敏感数据的基础上,再结合疑似敏感数据的数据属性以及上下文,对疑似敏感数据进行语义分析,进一步实现对敏感数据的精确判定,完成敏感数据的多层校验,从而减少误报可能性,提升敏感数据的检测准确率。

附图说明

图1是本申请一示例性实施例示出的一种敏感数据传输检测方法流程图;

图2是本申请一示例性实施例示出的一种敏感数据传输检测方法中捕获并解析网络传输报文步骤流程图;

图3是本申请一示例性实施例示出的一种敏感数据传输检测方法中语义分析步骤流程图;

图4是本申请一示例性实施例示出的一种敏感数据传输检测装置所在电子设备的结构示意图;

图5是本申请一示例性实施例示出的一种敏感数据传输检测装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了便于理解,对本申请所涉及到的部分概念进行解释说明:

端口镜像:port mirroring通过在交换机或路由器上,将一个或多个源端口的数据流量转发到另一个指定端口来实现对网络的监听。

报文:message是网络中交换与传输的数据单元,传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。

应用层协议:application layer protocol定义了运行在不同端系统上的应用程序进程如何互相传递报文。

正则表达式:regular expression是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、以及这些特定字符的组合,组成一个“规则字符串”,用来表达对字符串的一种过滤逻辑。

语义分析:semantic analysis是指对自然语言文本进行深度理解和分析,从而识别文本中的实体、关系等语义信息的过程。

语料库:corpus指经科学取样和加工的大规模电子文本库。

敏感数据传输检测旨在检测用户个人或企业敏感信息是否被泄露,来确定用户在使用互联网产品过程中是否存在数据泄露或隐私泄露。

现有技术中,对于敏感数据的检测,通常只局限于利用正则表达式或关键词的方式对各用户端的网络传输数据进行匹配,根据匹配结果判定是否发生了敏感数据泄露。

然而,正则表达式或关键词匹配是基于固定的规则进行匹配,无法灵活适应不同的数据格式和变化,仅通过该种方式对敏感数据检测很容易产生误报问题。例如,在匹配敏感数据时,如果存在同样的关键词在其他上下文中出现,就可能将正常的非敏感数据误判为敏感数据。

因此,为了解决现有技术中仅利用正则表达式或关键词匹配的不足,本申请提供一种敏感数据传输检测方法、装置、介质及设备,对敏感数据进行多层校验,减少误报可能性,提升敏感数据的检测准确率。

下面将结合实施例,针对本申请的技术方案进行详细介绍。

图1为本申请根据一示例性实施例示出的一种敏感数据传输检测方法的流程图。

如图1所示,所述方法包括以下步骤:

步骤S101:捕获并解析网络传输报文,获得解析后的网络传输报文。

在步骤S101中,捕获网络传输报文的方式可以是现有技术中的任何一种,例如直接从进行数据传输的各用户端的网络接口获取,或者将网络传输报文转移至其他非用户端的第三方网络接口中再进行获取。

然而,如若直接从进行数据传输的各用户端的网络接口捕获其网络传输报文,并进行后续的解析及敏感数据检测步骤,可能造成用户端的本地存储内容泄露,损害用户的数据信息安全,同时,侵占用户设备资源,影响用户体验。

于是,为了更优的进行网络传输报文的捕获与解析,在一些实施例中,步骤S101的捕获并解析网络传输报文,如图2所示,包括:

步骤S201、将所述网络传输报文镜像至预设网络接口;

步骤S202、利用流量检测引擎监听所述网络接口,捕获并解析所述网络传输报文。

具体地,可以通过交换机端口或者其他端口配置复制一份真实网络流量即网络传输报文的镜像至预设的准备监听的网络接口中,然后配置并初始化流量检测引擎,利用流量检测引擎开始持续捕获并解码网络传输报文。其中,流量检测引擎可以使用开源引擎suricata,suricata是基于规则的网络流量入侵检测系统,具备监听、捕获、解析、json序列化输出等功能,而配置及初始化指对应设置引擎监听的网络接口及相关检测协议、参数等。具体实施过程中,对于网络传输报文的镜像方式以及流量检测引擎的选择,本申请不做限制。

本实施例中,将实时网络传输报文镜像转移至预设的网络接口中,利用流量引擎对该网络接口进行监听,捕获并解析网络传输报文,使得后续的敏感数据检测可以在用户终端之外的网络接口进行,从而减少用户设备资源的占用,提升用户体验,同时维护用户数据信息安全。

同时,传统方案中,通常并不会对用户传输过程中的各个网络层的传输协议进行区分,而是直接通过正则表达式或关键字对所有层次的协议报文进行统一匹配,然而数据传输中的敏感数据通常仅存在于应用层协议中,这便导致这种检测手段可能匹配出大量非应用层协议的误报数据,大大降低敏感数据的检测准确率,且检测数据量庞大,占用大量系统资源,导致检测时间长、系统卡顿等问题。

针对上述问题,在一些实施例中,步骤S101中的解析后的网络传输报文为应用层协议报文。通过仅针对应用层协议报文进行后续敏感数据检测,减小误报数据的出现频率,提升敏感数据的检测准确率,同时,缩小报文检测数据量,减轻系统资源负担,缩短检测时间。

步骤S102:利用预设正则表达式和/或预设关键字库对所述解析后的网络传输报文进行初步筛选,获得疑似敏感数据以及对应的数据属性。

步骤S103:提取所述疑似敏感数据在所述解析后的网络传输报文中的若干上下文。

其中,提取疑似敏感数据的上下文的方式可以涵盖现有技术中的所有方式,例如直接选取解析后的网络传输报文中指定位置的数据作为疑似敏感数据的上下文,或者随机在解析后的网络传输报文中选取除疑似敏感数据之外的数据作为疑似敏感数据的上下文。

为了更合理、有规律性地提取疑似敏感数据的上下文,在一些实施例中,步骤S103的提取所述疑似敏感数据在所述解析后的网络传输报文中的若干上下文,包括:

通过预设分隔符,将所述解析后的网络传输报文分隔成若干字符串;

根据预设的字符串间距以及字符串长度提取所述上下文。

具体地,预设的分隔符可以设置为除数字、字母外的其他特殊符号,预设的字符串间距以及字符串长度可以根据用户需求进行自由设定,例如,需要提取疑似敏感数据在解析后的网络传输报文中的5个上下文字符串,可以根据分隔符分隔,在解析后的网络传输报文中疑似敏感数据所处位置之前的数据,取其中长度最短、距离疑似敏感数据最近的3个子字符串,以及在解析后的网络传输报文中疑似敏感数据所处位置之后的数据,取其中长度最短、距离疑似敏感数据最近的2个子字符串。具体实施过程中,对于分隔符以及预设的字符串间距和字符串长度的选择,本申请不做限制。

步骤S104:根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据。

数据属性是用来描述数据的本质和特点的数据,可以包括有数据的字段类型、字符类型、格式、长度等,进而能够通过分析疑似敏感数据与其上下文各自的数据属性,对疑似敏感数据进行语义分析,理解疑似敏感数据在解析后的网络传输报文中的含义与目的,实现对疑似敏感数据进行进一步校验,确定其是否为敏感数据,从而对敏感数据的精确判定,减少误报可能性,提升敏感数据的检测准确率。

对于步骤S104,在一些实施例中,所述疑似敏感数据的数据属性包括所述疑似敏感数据的字段类型;

根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据,如图3所示,包括:

步骤S301、查找与所述疑似敏感数据的字段类型相同的敏感基准特征,其中,所述敏感基准特征为预先被标定为敏感数据的指定字段类型的数据;

步骤S302、若所述上下文与所述敏感基准特征匹配,则所述疑似敏感数据为敏感数据。

在网络传输报文中,上下文的内容之间通常具有一定语义关联性,共同构成某一种语义表达,因此也通常会被判定为同属一个字段类型的敏感数据或非敏感数据。

故,本实施例中,要想进一步对步骤S102获得的疑似敏感数据进行敏感检测,则可以提取疑似敏感数据在原网络传输报文中的上下文,通过确定其上下文是否为敏感数据,进而指示该疑似敏感数据是否为敏感数据,而至于如何确定其上下文是否为敏感数据,则可以将其上下文和预先被标定为敏感数据的敏感基准特征进行匹配,若匹配成功,即敏感基准特征中包含其上下文中任一项,则代表其上下文为敏感数据,进而指示该疑似敏感数据为敏感数据。

具体实施过程中,可以预先构建一个语料库,从该语料库中查找到与疑似敏感数据的字段类型相同的敏感基准特征,进而继续执行后续上下文和敏感基准特征的匹配操作。

该语料库中纳入各种网络传输报文中常见的字符串作为基准特征,每个基准特征预先对其字段类型和是否为敏感数据进行标定。

例如,语料库示例如下:

男子学校(性别误报)

性别(性别敏感信息)

“female”(性别敏感信息)

Male(性别误报)

sex(性别敏感信息)

民族(民族敏感信息)

汉字(民族误报)

87yhwef7uj*-3278h7f数字符号组合的乱码(手机号误报、护照号误报、身份证号误报...)

其他报文中常见的通用字符串,如可能被误判为手机号的部分时间戳、base64加密格式等(手机号误报、经纬度误报...)等。

其中,括号前部分的内容为语料库中的各个基准特征,括号中的“性别”、“民族”、“手机号”等内容表征预先标定的各个基准特征的字段类型,括号中的“敏感信息”、“误报”内容表征预先标定的各个基准特征是否为敏感数据,括号中标定为“敏感信息”内容的基准特征为敏感基准特征。

此外,在一些实施例中,所述方法还包括:利用词义消歧算法,对所述敏感基准特征中的歧义敏感基准特征进行消歧,所述歧义敏感基准特征为预先被同时标定为敏感数据以及非敏感数据的指定字段类型的数据。

具体实施过程中,由于语料库中包括各种各样的网络传输报文中常见的字符串,而某些字符串在不同的语义环境下或不同的字段类型中可能具有不同的意思,进而导致该字符串可能在部分情况下是敏感数据,在部分情况下是非敏感数据,即该字符串具有多种敏感语义。这种多义性使得这类字符串作为基准特征时,无法被简单划分为敏感基准特征或非敏感基准特征,而无法对其进行正确归类,则可能给后续的敏感数据判定工作带来误报干扰。

为了解决这一问题,本实施例中采用词义消歧算法对这类具有歧义的敏感基准特征进行消歧,以准确判定上下文是否为敏感数据,进而准确判定疑似敏感数据是否为敏感数据,从而提升敏感数据的检测准确率。这样的解决方案可以帮助消除敏感基准特征的歧义,确保敏感数据的准确判定,进而提高整个敏感数据检测方法的可靠性和准确性。

示例性地,本实施例中,可以选择基于互信息的flip-flop词义消歧算法进行敏感基准特征的消歧操作,算法执行过程如下:

1)将是否为敏感数据的结果分为两类,r1=敏感数据,r2=其他干扰误报,记为R={r1,r2};

2)从语料库中,查找与疑似敏感数据的字段类型相同的基准特征,记为v1,v2,...,vn;

3)将v1,v2,...,vn随机分为两类,记作Q={q1,q2},计算Q与R的互信息值I(R,Q),再根据R调整Q的分类;

4)重复过程1,直至I(R,Q)最大(不能再提高或变化甚微),确定q1分类中的所有基准特征则为敏感基准特征。

其中,互信息值计算公式如下:

r

具体实施过程中,还可以选择基于贝叶斯分类等其他词义消歧算法,对于词义消歧算法的选择,本申请不做限制。

对于步骤S104,在另一些实施例中,所述疑似敏感数据的数据属性包括所述疑似敏感数据的字符类型;

根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据,包括:

获取所述上下文的字符类型,确定与所述上下文的字符类型不完全相同的疑似敏感数据为敏感数据。

这是因为在网络传输报文中,如果某一字符串和其多个上下文的字符类型完全相同,例如均为数字,则其很有可能是系统产生的随机乱码,故可以简单判定该类字符串不是敏感数据,而若某一字符串和其多个上下文的字符类型不完全相同,则该字符串很有可能是敏感数据。

因此,对于疑似敏感数据的语义分析,除了可以通过上下文与敏感基准特征的匹配以外,还可以通过对疑似敏感数据及其上下文的字符类型进行比对,从而一定程度减少误报,提升敏感数据检测准确率。

可以理解的是,本申请中,对于疑似敏感数据进行语义分析的方式不仅仅局限于上述两种,还应当涵盖通过其他数据属性形式、其他语义分析方法、以及结合上述两种方式的各种组合方式。

与前述敏感数据传输检测方法的实施例相对应,本申请还提供了敏感数据传输检测装置的实施例及其所应用的电子设备的实施例。

装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请敏感数据传输检测装置所在电子设备的一种硬件结构图,除了图4所示的处理器101、内存102、网络接口103、以及非易失性存储器104之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图5,图5为本申请根据一示例性实施例示出的一种敏感数据传输检测装置的框图,该装置可以应用于如图4所示的电子设备中,以实现本说明书的技术方案。

如图5所示,所述装置包括:

报文解析模块201,用于捕获并解析网络传输报文,获得解析后的网络传输报文;

初步筛选模块202,用于利用预设正则表达式和/或预设关键字库对所述解析后的网络传输报文进行初步筛选,获得疑似敏感数据以及对应的数据属性;

上下文提取模块203,用于提取所述疑似敏感数据在所述解析后的网络传输报文中的若干上下文;

语义分析模块204,用于根据所述疑似敏感数据的数据属性以及上下文,对所述疑似敏感数据进行语义分析,确定出敏感数据。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
技术分类

06120116594518