用于保护指定数据组合的系统和方法.pdf

上传人:1** 文档编号:5777850 上传时间:2019-03-18 格式:PDF 页数:41 大小:6.55MB
返回 下载 相关 举报
摘要
申请专利号:

CN201180058414.4

申请日:

2011.02.15

公开号:

CN103430504A

公开日:

2013.12.04

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/06申请日:20110215|||公开

IPC分类号:

H04L29/06; G06F17/30; H04L12/22

主分类号:

H04L29/06

申请人:

迈克菲公司

发明人:

R·P·S·阿胡贾; W·J·德宁格尔

地址:

美国加利福尼亚

优先权:

2010.11.04 US 12/939,340

专利代理机构:

永新专利商标代理有限公司 72002

代理人:

张晰;王英

PDF下载: PDF下载
内容摘要

本发明公开了一种方法,包括:从数据文件的记录中提取多个数据元;将所述多个数据元标记化成多个标记;将所述多个标记存储在登记列表的第一元组中;选择所述多个标记中的一个作为用于所述第一元组的标记关键字,其中所述标记关键字比所述第一元组中的所述多个标记中的其它每个标记更不频繁地出现在所述登记列表中。还在实施例中公开并要求保护相应的其它装置和方法。

权利要求书

权利要求书
1.  一种方法,包括:
从数据文件的记录中提取多个数据元;
将所述多个数据元标记化成多个标记;
将所述多个标记存储在登记列表的第一元组中;
选择所述多个标记中的一个作为用于所述第一元组的标记关键字,其中所述标记关键字比所述第一元组中的所述多个标记中的其它每个标记更不频繁地出现在所述登记列表中。

2.  如权利要求1所述的方法,其中所述多个数据元中的至少一个是由一个或多个连续必要字符的字符模式限定的词语。

3.  如权利要求1所述的方法,其中至少一个数据元是由与预定义的表达模式匹配的字符模式限定的表达元,所述预定义的表达模式表示至少两个词语和所述词语之间的分隔符。

4.  如权利要求1所述的方法,其中所述多个标记中的每个标记是对应数据元的数值表示。

5.  如权利要求1所述的方法,还包括:
通过识别指示所述记录的末尾的预定义的定界符来确定所述记录的末尾。

6.  如权利要求1所述的方法,其中所述登记列表包括多个元组,所述登记列表的每个元组仅与一个或多个数据文件的一条记录相关联。

7.  如权利要求1所述的方法,其中所述标记关键字存储在索引表的索引中,所述索引包括指示所述登记列表中的所述第一元组的位置的第一偏移。

8.  如权利要求7所述的方法,其中所述索引包括与所述第一偏移相关联的文档标识符,所述文档标识符表示包含所述记录的数据文件。

9.  如权利要求7所述的方法,其中所述索引包括第二偏移,所述第二偏移对应于所述登记列表中的具有另外多个标记的第二元组,所述第二偏移指示所述登记列表中的所述第二元组的位置,其中所述第二元组中的所述另外多个标记中的一个等同于所述标记关键字。

10.  如权利要求1所述的方法,其中选择所述多个标记中的一个作为用于所述第一元组的标记关键字还包括:
生成包括每个标记在所述登记列表中的出现总数的计数表;以及
搜索所述计数表以识别所述多个标记中相对于所述第一元组中的其它每个标记具有最低出现总数的一个标记。

11.  一种装置,包括:
一个或多个登记模块,其用于生成具有多个元组的登记列表,每个元组表示指定数据元组合;以及
处理器,其用于执行与所述一个或多个登记模块相关联的指令,包括:
从数据文件的记录中提取多个数据元;
将所述多个数据元标记化成多个标记;
将所述多个标记存储在所述登记列表的第一元组中;
选择所述多个标记中的一个作为用于所述第一元组的标记关键字,其中所述标记关键字比所述第一元组中的所述多个标记中的其它每个标记更不频繁地出现在所述登记列表中。

12.  如权利要求11所述的装置,其中至少一个数据元是由与预定义的表达模式匹配的字符模式限定的表达元,所述预定义的表达模式表示至少两个词语和词语之间的分隔符。

13.  如权利要求11所述的装置,其中所述处理器用于执行另外的指令,包括:
通过识别指示所述记录的末尾的预定义的定界符来确定所述记录的末尾。

14.  如权利要求13所述的装置,其中所述登记列表的每个元组仅与一个或多个数据文件的一条记录相关联。

15.  如权利要求11所述的装置,其中所述标记关键字存储在索引表的索引中,所述索引包括指示所述登记列表中的所述第一元组的位置的第一偏移。

16.  如权利要求15所述的装置,其中所述索引包括第二偏移,所述第二偏移对应于所述登记列表中的具有另外多个标记的第二元组,所述第二偏移指示所述登记列表中的所述第二元组的位置,其中所述第二元组中的所述另外多个标记中的一个等同于所述标记关键字。

17.  如权利要求11所述的装置,其中选择所述多个标记中的一个作为用于所述第一元组的标记关键字还包括:
生成包括每个标记在所述登记列表中的出现总数的计数表;以及
搜索所述计数表以识别所述多个标记中相对于所述第一元组中的其它每个标记具有最低出现总数的一个标记。

18.  一种方法,包括:
识别数据文件的记录中的第一数据元的起始;
如果开始于所述第一数据元的起始处的第一字符串与预定义的表达模式匹配,则确定所述第一数据元为表达元,所述预定义的表达模式表示至少两个词语和所述两个词语之间的分隔符;
提取所述表达元;
将所述表达元标记化成第一标记;以及
将所述第一标记存储在登记列表的第一元组中。

19.  如权利要求18所述的方法,还包括:
在对所述表达元进行标记化之前对所述表达元进行规格化。

20.  如权利要求19所述的方法,其中所述规格化包括从所述表达元中去除所述分隔符。

21.  如权利要求18所述的方法,其中所述预定义的表达模式是多个预定义的表达模式中与开始于所述第一数据元的起始处的任意字符串匹配的最长的一个。

22.  如权利要求18所述的方法,还包括:
识别所述记录中的第二数据元的起始;
确定所述第二数据元为词语,其中多个预定义的表达模式中没有一个与开始于所述第二数据元的起始处的第二字符串匹配;
提取所述词语;
将所述词语标记化成第二标记;以及
将所述第二标记存储在所述登记列表的所述第一元组中。

23.  如权利要求18所述的方法,其中预定义的定界符将所述数据文件中的各连续记录对分隔开。

24.  如权利要求18所述的方法,其中预定义的定界符位于所述数据文件中的记录的末尾,所述预定义的定界符选自由分号、换行、回车、冒号和句号组成的组。

25.  如权利要求18所述的方法,其中所述登记列表的每个元组仅与所述数据文件的一条记录相关联。

26.  如权利要求18所述的方法,其中所述至少两个词语中的每个均由一个或多个连续必要字符的字符模式限定。

27.  如权利要求26所述的方法,其中所述必要字符选自由数字、书面语言的字母和表示书面语言的语音段的符号组成的组。

28.  如权利要求18所述的方法,其中所述分隔符不等同于必要字符,并且其中,如果所述分隔符等同于预定义的定界符,则将所述分隔符区分于所述预定义的定界符,所述预定义的定界符指示所述记录的末尾。

29.  一种装置,包括:
登记列表模块;以及
处理器,其用于执行与所述登记列表模块相关联的指令,包括:
识别数据文件的记录中的第一数据元的起始;
如果开始于所述第一数据元的起始处的第一字符串与预定义的表达模式匹配,则确定所述第一数据元为表达元,所述预定义的表达模式表示至少两个词语和所述两个词语之间的分隔符;
提取所述表达元;
将所述表达元标记化成第一标记;以及
将所述第一标记存储在登记列表的第一元组中。

30.  如权利要求29所述的装置,其中所述处理器用于执行另外的指令,包括:
在对所述表达元进行标记化之前对所述表达元进行规格化,其中所述规格化包括从所述表达元中去除所述分隔符。

31.  如权利要求29所述的装置,其中所述预定义的表达模式是多个预定义的表达模式中与开始于所述第一数据元的起始处的任意字符串匹配的最长的一个。

32.  如权利要求29所述的装置,其中所述处理器用于执行另外的指令,包括:
识别所述记录中的第二数据元的起始;
确定所述第二数据元为词语,其中多个预定义的表达模式中没有一个与开始于所述第二数据元的起始处的第二字符串匹配;
提取所述词语;
将所述词语标记化成第二标记;以及
将所述第二标记存储在所述登记列表的所述第一元组中。

33.  如权利要求29所述的装置,其中预定义的定界符将所述数据文件中的各连续记录对分隔开。

34.  如权利要求29所述的装置,其中所述登记列表的每个元组仅与所述数据文件的一条记录相关联。

35.  一种方法,包括:
从对象中提取多个数据元;
将所述多个数据元标记化成多个对象标记;
识别登记列表中的多个元组中的第一元组,所述第一元组包括多个关联标记;
确定所述多个关联标记中的每一个是否对应于所述多个对象标记中的至少一个;以及
如果所述多个关联标记和所述多个对象标记之间的对应量满足预定阈值,则确认事件。

36.  如权利要求35所述的方法,其中识别所述第一元组还包括:
识别来自所述多个对象标记中的未决关键字;以及
搜索索引表以找到与所述未决关键字对应的标记关键字,其中偏移与所述标记关键字链接,所述偏移指示所述登记列表中的所述第一元组的位置。

37.  如权利要求36所述的方法,其中所述未决关键字包括在未决关键字列表中,所述未决关键字列表是通过搜索所述索引表以确定所述多个对象标记中的任一个是否对应于所述索引表中的多个标记关键字中的一个而生成的,其中对应于所述多个标记关键字中的一个的每个对象标记被存储在所述未决关键字列表中。

38.  如权利要求36所述的方法,其中所述标记关键字比所述第一元组中的所述多个关联标记中的其它每个关联标记更不频繁地出现在所述登记列表中。

39.  如权利要求35所述的方法,其中当所述第一元组中的所述多个关联标记中的每个对应于所述多个对象标记中的至少一个时,满足所述预定阈值。

40.  如权利要求35所述的方法,还包括:
通过为所述多个对象标记中的每个设定位而在位散列表中表示所述多个对象标记,所述位散列表包括多个位,每个位均在所述位散列表中具有单独的位位置。

41.  如权利要求40所述的方法,其中所述确定还包括:评估所述位散列表以确定所述位散列表的对应于所述多个关联标记中的一个的每个位位置上是否设定了位。

42.  如权利要求35所述的方法,其中所述多个数据元中的至少一个为由一个或多个连续必要字符的字符模式限定的词语。

43.  如权利要求35所述的方法,其中所述多个数据元中的至少一个为具有与预定义的表达模式匹配的字符模式的表达元,所述预定义的表达模式表示至少两个词语和词语之间的分隔符。

44.  一种装置,包括:
一个或多个检测模块,其用于接收包括用于与具有多个元组的登记列表进行比较的多个数据元的对象,每个元组均表示指定数据元组合;以及
处理器,其用于执行与一个或多个检测模块相关联的指令,包括:
从对象中提取多个数据元;
将所述多个数据元标记化成多个对象标记;
识别登记列表中的多个元组中的第一元组,所述第一元组包括多个关联标记;
确定所述多个关联标记中的每一个是否对应于所述多个对象标记中的至少一个;以及
如果所述多个关联标记和所述多个对象标记之间的对应量满足预定阈值,则确认事件。

45.  如权利要求44所述的装置,其中识别所述第一元组还包括:
识别来自所述多个对象标记中的未决关键字;以及
搜索索引表以找到与所述未决关键字对应的标记关键字,其中偏移与所述标记关键字链接,所述偏移指向所述登记列表中的所述第一元组的位置。

46.  如权利要求45所述的装置,其中所述未决关键字包括在未决关键字列表中,所述未决关键字列表是通过搜索所述索引表以确定所述多个对象标记中的任一个是否对应于所述索引表中的多个标记关键字中的一个而生成的,其中对应于所述多个标记关键字中的一个的每个对象标记被存储在所述未决关键字列表中。

47.  如权利要求44所述的装置,其中所述标记关键字比所述第一元组中的所述多个关联标记中的其它每个关联标记更不频繁地出现在所述登记列表中。

48.  如权利要求44所述的装置,其中当所述第一元组中的所述多个关联标记中的每个对应于所述多个对象标记中的至少一个时,满足所述预定阈值。

49.  如权利要求44所述的装置,其中所述多个数据元中的至少一个为由一个或多个连续必要字符的字符模式限定的词语。

50.  如权利要求44所述的装置,其中所述多个数据元中的至少一个为具有匹配预定义的表达模式的字符模式的表达元,所述预定义的表达模式表示至少两个词语和词语之间的分隔符。

说明书

说明书用于保护指定数据组合的系统和方法
相关美国申请信息
本申请与William Deninger等人共同转让给其受让人的、于2009年1月23日递交的、发明名称为“SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT”、共同未决的美国临时专利申请序列No.12/358,399(代理人案号004796.1042)相关。该申请的公开内容被视为本文的一部分并且以引用方式全部并入本文。
技术领域
本发明一般涉及数据管理领域,并且更特别地,涉及用于保护指定数据组合的系统和方法。
背景技术
计算机网络已变成现代商业不可或缺的工具。企业能够利用网络来进行通信,并且还能够以各种形式存储数据并且将数据存储在各个位置处。关键信息频繁地在商业企业网络上传播。一些联邦和州的规定提供了通过各种组织或商业覆盖特定类型信息的散播的限制。因此,除了业主信息可能丢失以及对商业造成负面影响之外,企业还可能面临由于一些数据的无意或故意泄漏的法律责任。现代企业经常采用多种工具来控制这种信息的散播,并且许多这样的工具试图阻止局外人、入侵者和未经授权的人员存取或接收机密的、有价值的或其它敏感信息。通常地,这些工具可包括防火墙、入侵检测系统和分组嗅探器设备。
提供配备有能够保护并控制重要信息的移动的有效数据管理系统的系统或协议的能力对于安全专业人员、部件制造商、服务提供商和系统管理者等都是很大的挑战。
附图说明
为了提供对本发明及其特征和优点的更全面的理解,参照以下结合附图进行的说明,其中相似的附图标记表示相似的部分,其中:
图1为根据本公开的一个实施例的用于在网络环境中保护指定数据组合的系统的示例性实现的简化框图;
图2为可用于根据本公开的数据组合保护系统的实施例的计算机的简化框图;
图3为根据本公开的一个实施例的数据组合保护系统中的登记系统的框图;
图4为根据本公开的一个实施例的数据组合保护系统中的各种数据文件结构的框图;
图5为根据本公开的登记系统的一个方面的示例性数据输入和输出的简化框图;
图6A、图6B和图7为示出与登记系统相关联的一系列示例步骤的简化流程图;
图8示出了根据本公开的一个实施例的与登记系统处理相关联的示例性场景中的文件内容;
图9为根据本公开的一个实施例的数据组合保护系统中的检测系统的框图;
图10为根据本公开的检测系统的一个方面的示例性数据输入和输出的简化框图;
图11-12为示出与检测系统相关联的一系列示例步骤的简化流程图;以及
图13示出了根据本公开的一个实施例的与检测系统处理相关联的示例性场景中的文件内容。
具体实施方式
概述
一个示例性实施例中的方法包括:从数据文件的记录中提取多个数据元;将多个数据元标记化(tokenize)成多个标记;以及将多个标记存储在登记列表的第一元组中。该方法还包括:选择多个标记中的一个作为用于 第一元组的标记关键字,其中所述标记关键字比第一元组中的其它每个标记更不频繁地出现于登记列表中。在更具体的实施例中,至少一个数据元为具有与预定义的表达模式匹配的字符模式的表达元,其中预定义的表达模式表示至少两个词语字和词语字之间的分隔符。在其它具体的实施例中,至少一个数据元是由一个或多个连续必要字符的字符模式限定的词语。其它更具体的实施例包括通过识别预定义的定界符来确定记录的末尾。
另一示例性实施例中的方法包括:从对象提取多个数据元;将多个数据元标记化成多个对象标记;以及识别登记列表中的第一元组。该方法还包括:确定第一元组中的多个关联标记中的每一个是否对应于对象标记中的至少一个。另外,该方法包括:如果第一元组中的多个关联标记和多个对象标记之间的对应量满足预定阈值,则确认事件。在更具体的实施例中,当第一元组中的关联标记中的每个对应于多个对象标记中的至少一个时,满足预定阈值。
示例性实施例
图1是示出用于在示例性网络100中登记和检测指定数据组合的数据组合保护系统10的示例性实现的简化框图。数据组合保护系统10可以包括多个网络元件,例如具有登记系统22的网络装置(appliance)12以及分别具有检测系统24、26和28的多个网络装置14、16和18。这些网络装置12、14、16和18能够由数据保护管理器32借助于诸如网络装置30的另一网络元件管理,或者与诸如网络装置30的另一网络元件耦合。另外,网络安全平台140可提供用于网络100的现有的网络安全基础结构,并且可与数据组合保护系统10适当地集成。
图1所示的网络环境可通常被配置或布置成表示能够交换分组的任何通信架构。这种配置可以包括诸如图1中为示例目的而显示的既定商业实体的单独部门(例如,市场部152、销售部154、生产部156)。另外,还可以在网络100中设置诸如电子邮件网关162、web网关164、交换机172、防火墙174和至少一个客户端设备130的其它共同的网络元件。网络100还可配置为通过防火墙174与诸如因特网180的其它网络交换分组。
数据组合保护系统10能够帮助组织保护机密数据免于从网络环境无意 和有意的披露。数据组合保护系统10的实施例能够用于登记数据元的指定组合,并且用于检测网络环境的对象内的登记数据组合。例如,当组合以识别个体时是足够有区分性并且可能暴露关于个体的机密或敏感信息的数据元,能够通过数据组合保护系统10被登记为组合并且能够在网络中的对象中被检测到。系统10能够创建登记列表,其中,以登记列表中的单独的元组或记录表示数据元的每个指定组合或集合。能够对具有一个或多个数据元集合的任何数据文件执行创建登记列表中的这些元组的登记操作,每个数据元集合通过预定义的定界符与其它数据元集合定界。登记列表能够由关键字索引,其中每个关键字对应于以元组表示的数据元中的一个。
数据组合保护系统10能够执行检测操作以找到网络环境中的对象(例如,文字处理文件、电子表格、数据库、电子邮件文件、明文文件、任何人类语言文本文件等)中的一个或多个登记的数据元组合。对象可在网络中被捕获并且被格式化以便于传输(例如,HTML、FTP、SMTP、Webmail等)或存储在数据库、文件系统或其它存储仓库中。在一个实施例中,当在对象中检测到登记的数据元组合(即,以登记列表的一个元组表示)中的所有数据元时,可对事件加标志或进行确认,并且可防止传送对象和/或可以将对象报告给网络操作员或其它被授权人以进行监控并采取任何适当的补救措施。在其它实施例中,如果在对象中找到登记的数据元组合的特定阈值量,则可确认一个事件。
为了示出数据组合保护系统10的技术,重要的是理解诸如图1所示的网络的既定网络中可能存在的活动和安全考虑。下面的基础性信息可被视为正确地解释本公开的基础。仅为说明的目的而认真提供这种信息,因此,不应被解释为以任何方式限制本公开的宽泛范围及其可能的应用。
许多安全环境中的挑战是控制机密电子数据的能力。在一个示例性的安全问题中,许多组织收集并存储能够用于识别可能与组织相关联或者可能仅为普通公共机构或其各部门的成员的个体的数据。该敏感数据可以包括例如姓名、社会安全号码、信用卡号码、地址、电话号码、出生日期、国籍、账号、雇员、婚姻状况等。对象中的仅敏感数据元或者甚至对象中的少量敏感数据元可能不具有充分的区别性以识别特定的人或透露机密信息。然而,随着对象内与特定人相关联的敏感数据元的数量增加,人变得 可识别的可能性也增加,并且因此,暴露相关机密信息的风险增大。类似地,其它类型的机密信息也可能随着与机密信息相关的关联数据元(例如,与知识产权、公司金融数据、机密政府信息等相关的数据元)的数量增加而变得可识别。
各联邦和州的法律也通过一些组织或实体来规定个体非公共个人信息以及个人可识别信息的披露。例如,1996年的健康保险可携性和责任法案(Health Insurance Portability and Accountability Act)(HIPAA)规定:如果信息是个体可识别的(即,包含诸如姓名、地址、出生日期、社会安全号码或可用于识别特定人的其它信息的信息),则使用和披露受保护的健康信息(PHI)。类似地,1999年的金融服务业现代化法案(Gramm-Leach-Bliley Act)(GLBA)寻求通过规定金融机构对非公共个人信息的披露来保护个体的个人金融信息。在另一示例中,支付卡行业(Payment Card Industry)(PCI)数据安全标准也规定支付卡上的数据元的使用和披露。这些规定可禁止未经授权散播包括可能识别特定个体及其个人信息的预定数据元组合(例如,姓名、社会安全号码和出生日期)的电子数据。
监控用于敏感数据元的对象由于多种原因可能存在问题。首先,保持在一些网络中的数据量要求复杂的处理技术来最小化网络性能退化。仅仅是美国的大概3亿人,与那些个体相关的数据元的数量会快速增加到数十亿的数据元。标准的计算机存储器和处理能力需要进行优化,从而高效地处理对象以登记并评估数十亿的数据元。
因为一些数据不总是以标准格式存在,所以出现了另外的监控问题。例如,多种格式可用于出生日期(例如,‘6月25日,1964’、‘06-25-1964’、‘1964年5月25日’等)或电话号码(例如,‘(000)000-0000’、‘000-000-0000’、‘000.000.0000’等)。在一个示例性场景中,数据元可以一种格式存储在网络中,并且随后以不同的格式披露于对象中。然而,规定以及对于未经授权数据披露的最终惩罚可应用于机密信息的披露,而不考虑在该披露中使用的格式。因此,检测对象中的敏感数据元要求识别特定数据的各种格式。
电子数据能够电子共享的多种格式还可能阻碍安全系统成功地监控机密信息的电子披露。能够以多种配置提供电子数据(例如,具有预定义的 列和行的电子表单、电子邮件消息、文字处理文件、数据库、使用限定协议格式化的发送对象,等等)。结果是,在监控数据元指定组合的系统中,这些元件可能无需位于同一指定组合的其它相关数据元紧附近。特定的指定组合中的数据元可由对象内的词语、格式化字符、线或任何分隔符或定界符分隔开。需要复杂的技术来评估和确认包含数据元的指定组合的对象,而不考虑这种数据元出现在对象内的何处。
用于保护图1所列出的指定数据组合的系统能够解决这些问题中的许多问题。根据数据组合保护系统10的一个示例性实现,登记系统22设置在网络100中,以创建待监控的数据元的指定组合或集合的登记列表。登记系统能够识别并登记以各种字符格式或模式呈现的数据元,并且所述数据元是以在每个数据元集合之间具有预定义的定界符的各种电子文件格式提供的。多个检测系统24、26和28还可以设置为评估网络环境中捕获和/或存储的对象,以确定哪个对象包含一个或多个登记的数据元集合。检测系统可被配置为识别对象内的数据元,并且确定登记的数据元组合中的每个数据元是否包含在对象的界限内的某位置。可通过检测系统以优化计算机资源并使得任何网络性能问题最小化的方式索引并搜索登记列表。
注意的是,在该说明书中,对包括在“一个实施例”、“示例性实施例”、“实施例”、“另一实施例”、“一些实施例”、“各种实施例”、“其它实施例”、“可选实施例”等中的各特征(例如,元件、结构、模块、部件、步骤等)的指代意在表示任何这样的特征可包含在本公开的一个或多个实施例中,但是可以或者可以不必要地包括在同一实施例中。
转到图1的基础结构,数据组合保护系统10可实现在示例性网络100中,网络100可配置为局域网(LAN),并且可利用各种有线配置(例如,以太网)和/或无线技术(例如,IEEE802.11x)来实现。在一个实施例中,网络100通过因特网服务提供商(ISP)或者通过具有专用带宽的因特网服务器来与因特网180可操作地耦合。网络100还可连接到配置为LAN或任何其它适当的网络类型的其它逻辑上不同的网络。此外,网络100可适当地以及根据特定需要而由任何其它类型的网络来替代。这些网络包括无线LAN(WLAN)、城域网(MAN)、宽域网(WAN)、虚拟私人网络(VPN),或有利于网络环境中的通信的任何其它适当的架构或系统。与因特网180 和其它逻辑上不同的网络的连接可以包括任何适当的介质,例如数字用户线路(DSL)、电话线路、T1线路、T3线路、无线、卫星、光纤、电缆、以太网等或其任意组合。诸如网关、路由器、交换机(例如,172)等多种网络部件可用于有助于网络100内的电子通信以及网络100、因特网180以及任何其它与网络100链接的逻辑上不同的网络之间的电子通信。
网络100可配置为容许传输控制协议/互联网协议(TCP/IP)通信,以用于电子分组的传输或接收。网络100还可以适当地以及基于特定需要与用户数据报协议/IP(UDP/IP)或任何其它适合的协议相结合地运行。另外,电子邮件网关162可允许与网络100可操作地连接的客户端计算机(诸如客户端设备130)利用简单邮件传递协议(SMTP)或任何其它适合的协议来发送和接收电子邮件消息。
客户端设备130代表希望影响或管理网络100中的电子通信的一个或多个端点或顾客。术语“客户端设备”可包含用于发起电子通信的设备,诸如计算机、个人数字助理(PDA)、膝上型计算机或电子笔记本、蜂窝电话或任何其它设备、部件、元件或能够发起网络100内的语音、音频或数据交换的对象。端点还可以包括与人类用户的适当接口,诸如麦克风、显示器或键盘或其它终端设备。端点还可以为试图代表另一实体或元件发起电子通信的任何设备,诸如程序、数据库或任何其它部件、设备、元件或能够发起网络100内的语音或数据交换的对象。
具有登记和检测系统的网络装置能够提供网络100中的数据组合保护系统10,其能够保护而免于无意或故意的信息泄漏,其中泄漏数据的特定组合可能会潜在暴露机密信息。这些网络装置能够访问与网络配置相关联的通信路径,使得一个或多个装置能够访问电子邮件流量、其它网络流量或仅驻存在商业基础结构中的某位置(例如,服务器上、仓库等等)的数据。特别地,具有登记系统22的网络装置12能够部署于网络100中,用以访问包含敏感数据元的数据库和仓库112。登记系统22能够登记来自数据库和仓库112或者来自适当格式的其它文件或对象的特定数据组合。登记的数据组合能够由网络装置14、16和18的检测系统24、26和28使用,以检测网络流量中的任何完整的登记数据组合或其预定部分的泄漏,或者用于检测驻存在商业基础结构的未经授权部门中的这种数据组合或其预定 部分的存在。
具有检测系统24、26和28的网络装置14、16和18能够部署在网络出口点(例如,电子邮件网关162、web网关164、交换机172等)处,以保护内到外以及内到内的网络流量。当网络装置检测到风险事件时,其能够警告管理员,而管理员能够衡量现有的基础结构以阻挡或隔离敏感信息以免其离开网络。作为利用诸如网络分流器或流量镜像的被动拦截技术部署的设备,网络装置能够非破坏性地操作,无需改变应用程序、服务器、工作站或其网络自身。网络装置能够实时地监控并分析所有的应用程序、协议和内容类型并触发执行动作。
图1所示的网络装置30中的数据保护管理器32可设计成数据组合保护系统10的简化管理,因为其能够提供集中化接口以管理遍及多个网络装置的登记系统22和所有的检测系统24、26和28。数据保护管理器32可被配置为集中地维护由登记系统22和检测系统24、26和28生成的数据,并且协调能够驻存于如图1所示的各网络装置中的分布式登记和检测系统之间的数据流。特别地,一个实施例包括由登记系统22创建的登记列表和所述登记列表的索引,登记列表和所述登记列表的索引能够由数据保护管理器32分配给分布式检测系统24、26和28中的每个。
数据保护管理器32还可配置成允许经授权的安全专业人员(例如,IT管理员、网络操作员等)来确定将何种数据输入提供给登记系统22,包括哪个数据库或其它仓库登记系统22爬取数据输入,来指定与个体检测系统相关联的强制执行或监控状态,并且指定谁能够访问对应的查找结果。强制执行动作能够包括警告适当的管理员、引导强制执行设备阻挡或隔离可疑流量、和/或对流量进行报告。监控动作能够包括警告适当的管理员和/或对可疑流量进行报告,而没有阻挡或隔离动作。
数据保护管理器32还可以提供集中的查询机构,其允许组织快速地搜索同时包含于多个分布式网络装置上的捕获数据库。通过允许管理员统一地浏览遍及部署有网络装置的网络中的点所捕获的所有历史数据,组织能够快速地执行取证分析、行为调查,并且衡量捕获数据来更新安全形势从而保护敏感信息或处理出现的威胁。另外,数据保护管理器可以提供统一的报告和诊断信息。
一个或多个表格和列表可包括在这些网络装置中。在一些实施例中,这些表格和列表可从外部提供给这些元件或以任何适当的方式合并。表格和列表为用于存储待由其对应网络装置参考的信息的存储器元件。如该文件中所使用的,术语“表格”和“列表”包括能够维护与本说明书中在此详细描述的操作有关的信息的任何适当的数据库或存储介质(以任何适当的格式提供)。例如,表格和列表可以将信息存储在电子寄存器、图表、记录、索引或队列中。表格和列表可将这些信息适当地以及根据特定需要而保存在任何适当的随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除PROM(EEPROM)、专用集成电路(ASIC)、软件、硬件或任何其它适合的部件、设备、元件或对象中。
捕获系统29还可以为一个或多个网络装置(诸如网络装置18)的一部分(或与一个或多个网络装置耦合),并且可与对应的捕获数据库118可操作地连接。在一个示例性实施例中,捕获系统29可以为如William Deninger等人于2009年1月23日递交的、发明名称为“SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT”、共同未决的美国临时专利申请序列No.12/358,399中所图示和所描述的捕获系统,该申请在前文中以引用方式全部并入本文。捕获系统29可配置为拦截离开网络(例如网络100)的数据,或者与网络(例如网络100)进行内部通信的数据。捕获系统29能够对离开网络或在内部通信的对象(例如,文件或其它文档)进行重构,并且以可搜索方式将经过重构的对象存储在例如捕获数据库118中。
在一些实施例中,捕获系统29还可与网络100的其它各检测系统24和26相结合地实现,以捕获来自对应出口点(例如,电子邮件网关162和web网关164)的数据。捕获系统29还可以与其它相关联的但是逻辑上和/或地理上不同的网络中的检测系统相结合地实现。这些捕获系统可包括在具有如图1所示的检测系统的网络装置内,或者设置为单独的部件。在其它实施例中,拦截网络流量的任何其它适当的形式可用于为检测系统24、26和28提供待分析的网络100的内部和流出的网络流量。
在图1中,交换机172连接到网络装置18并通过防火墙174连接到因特网180。交换机172可实现为路由器或其它能够将网络部件互连的网络设备,其能够将输出数据流传输到因特网180并且将该流的副本传输到捕获 系统29。交换机172还可以将输入数据发送到捕获系统29以及网络100。在可替换的实施例中,捕获系统29、登记系统22、检测系统24、26和28以及数据保护管理器30可被包括以作为其它网络设备的一部分,所述其它网络设备例如为交换机、路由器、网关、桥接器、负载平衡器、服务器或可操作以在网络环境中交换信息的任何其它适合的设备、部件或元件。
因为分布式网络能够包括用于保护网络基础结构的分布式网络区段(例如,具有单独的存取点、在地理上分散的等)上的数据泄漏的额外的检测系统,所以数据组合保护系统10还可以扩展。除了设置在网络100的分布式区段中的检测系统之外,数据保护管理器32可继续协调登记系统22和检测系统24、26和28之间的数据流。
转到图2,图2为与网络100连接的诸如网络装置12、14、16、18和30或其它计算设备的通用或专用计算机200的简化框图。计算机200可以包括各种部件,诸如处理器220、主存储器230、辅助储存器240、网络接口250、用户接口260和可移除存储器接口270。诸如系统总线的总线210可以提供处理器210与计算机200的其它部件、存储器和接口之间的电子通信。
处理器220也可称为中央处理单元(CPU),其可以包括能够执行机器可读指令并根据机器可读指令所指示地对数据执行操作的任何通用或专用的处理器。主存储器230可以直接访问处理器220以存取机器指令,并且可以为随机存取存储器(RAM)或任何类型的动态储存器(例如,动态随机存取存储器(DRAM))的形式。辅助储存器240能够为诸如硬盘的任何非易失性存储器,其能够存储包括可执行软件文件的电子数据。外部存储的电子数据可通过可移除存储器接口270提供给计算机200。可移除存储器接口270表示与任何类型的外部存储器的连接,所述外部存储器例如为光盘(CD)、数字视频盘(DVD)、闪存驱动、外部硬驱动或任何其它外部介质。
网络接口250可以为任何网络接口控制器(NIC),其提供计算机200和任何网络元件(例如,电子邮件网关162、web网关164、交换机172、数据库和仓库118和112、其它网络装置等)与计算机200所连接的网络之间的适当的网络连接,以用于发送和接收电子数据。例如,网络接口250 可以为以太网适配器、标记环适配器或无线适配器。可设置用户接口260以允许用户经由包括图形用户接口显示器的任何适当的器件与计算机200交互。另外,还可以包括任何适当的输入机构,诸如键盘、鼠标、语音识别、触摸板、输入屏等。
图2中未示出额外的硬件,其可适当地耦合到呈存储器管理单元(MMU)、额外的对称多处理(SMP)元件、只读存储器(ROM)、可擦写可编程ROM(EPROM)、电可擦写PROM(EEPROM)、外围部件互连(PCI)总线和对应桥接器、小型计算机系统接口(SCSI)/集成驱动电子(IDE)元件等形式的处理器220和总线210。任何适当的操作系统也可以配置在计算机200中,以适当地管理其中硬件部件的操作。而且,这些计算机可以包括任何其它适合的有利于其操作的硬件、软件、部件、模块、接口或对象。这可包括有利于本文详述的登记和检测操作的适当的算法和通信协议。
参照计算机200所图示和/或所描述的这些元件旨在示例说明的目的,而不意在暗示根据本公开使用的诸如网络装置12、14、16、18和30的计算机的架构限制。另外,包括网络装置12、14、16、18和30的每台计算机可适当地以及基于特定的需要而包括更多或更少的部件。如本说明书中在此使用的,术语“计算机”是指涵盖任何个人计算机、网络装置、路由器、交换机、网关、处理器、服务器、负载平衡器、防火墙,或可操作以影响或处理网络环境中的电子信息的任何其它适合的设备、部件、元件或对象。
登记系统
转到图3,示出了登记系统300的一个实施例的简化框图。登记系统300可以包括登记列表模块310和索引表模块320。登记列表模块310的输入可以包括定界的数据文件330和常规表达表350,并且登记列表模块310的输出可以包括登记列表360。在一个实施例中,定界的数据文件330可以表示对于各数据库生成的多个定界的数据文件和/或网络中以及设置为登记列表模块310的输入的文件。这些定界的数据文档包括待由登记系统300登记的指定数据元组合或指定数据元集合。
登记列表模块310可以执行提取函数312、标记化函数314和元组存储316函数。在一个实施例中,定界的数据文件330包括由例如回车的预定义 的定界符定界的多条记录。每条记录可以包括由提取函数312提取的一个或多个数据元。记录内的数据元集合可以为需要保护的相关数据元的指定组合(例如,姓名、电话号码、社会安全号码、账户等)。记录的每个数据元由标记化函数314标记化成标记(例如,数值表示),随后标记由元组存储函数316存储在登记列表360的元组或记录中。这样,登记列表360中的元组可以包括寻求保护的相关数据元的一个特定组合中每个数据元的数值表示或标记。
从定界的数据文件330中提取出并标记化的数据元可以包括词语和/或表达元,其可具有多种可能的格式(例如,电话号码、出生日期、账户等)。数据元可与常规表达表350进行比较,以确定数据元的特定字符模式是否与预定义的表达模式(即,常规表达)匹配,如2009年1月23日递交的、发明名称为“SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT”的美国专利申请序列No.12/358,399中所描述的,该申请在前文中以引用方式全部并入本文。尽管数据组合保护系统10可配置为使用如美国申请序列No.12/358,399中所图示和描述的常规表达表,但是显而易见的是,数据组合保护系统10所使用的常规表达表350可以多种其它方式配置,只要表350包括预定义的表达模式即可。
在一个实施例中,常规表达表350包括多种表达模式,包括用于同一概念的多个表达模式。例如,电话号码概念可包括以下常规表达模式:‘(nnn)nnn-nnnn’、‘nnn-nnn-nnnn’和‘nnn.nnn.nnnn’,其中‘n’表示数字0-9。类似地,对于驾驶员证件号码,不同的州使用不同的字符序列和分隔符。因此,驾驶员证件概念可包括用于每个唯一字符序列的常规表达模式和表示不同州的驾驶员证件的可能号码的分隔符。例如,‘dnnn-nnnn-nnnn-nn’、和‘dnnn-nnnn-nnnn’可以为威斯康星和伊利诺州的证件号码的表达模式,其中‘n’表示数字0-9并且‘d’表示字母A-Z。
常规表达表350中的表达模式可以由用户通过接口进行配置,所述接口允许用户限定用于特定概念的表达模式。另外,在数据组合保护系统10中,可自动地生成或者可预先配置一些表达模式。例如,共同的或普遍的常规表达模式的列表可预先配置在常规表达表350中,可以针对数据组合保护系统10所售予的行业对所述常规表达表350进行具体地调整。
索引表模块320可以执行标记计数操作函数322、标记关键字选择函数324和索引存储函数326以创建索引表370。标记计数操作函数322处理登记列表360,以对登记列表360中的每个标记的所有出现进行计数。可以创建临时素数计数表340以存储计数和。标记关键字选择函数324随后能够处理每个元组,并且利用素数计数表340从每个元组中选择最不频繁出现的一个标记作为标记关键字。每个唯一的标记关键字随后可以存储在索引表370的索引中。因此,索引表370能够包含多个索引,每个索引均具有唯一标记关键字,并且每个索引均与登记列表360的一个或多个元组相关联。
图4更详细地图示出具有示例记录1的定界的数据文件330、具有示例元组362的登记列表360和具有示例索引372的索引表370的示例性文件结构。显示定界的数据文件330具有详细的第一条记录332,其示出了具有数据元类型示例性组合(即,词语和表达元)的记录1的可能的配置。第一条记录332对应于登记列表360的元组362,其中来自第一条记录332的每个词语和表达元对应于元组362中的一个标记。通过索引表370的索引372在登记列表360中对元组362编索引,索引表370包括登记列表偏移,该登记列表偏移为元组362的开始(即,标记1)指针(即,偏移4)。
在一个示例性实施例中,定界的数据文件330可配置为具有多条记录(例如,记录1、记录2、记录3等)的文件,每条记录之间具有预定义的定界符。定界符可以为任意格式的字符或用于指定一条记录的末尾和下一记录的开始的其它字符。一些常用的定界符包括回车、换行、分号和句号。然而,如果数据文件适当地配置有特定的定界符,则可将任意字符指定为定界符。在一个示例实施例中,如果回车被限定为用于定界的数据文件330的定界符,则每条记录将以回车结束。
如扩展的第一条记录332中所示,每条记录可由多个数据元(即,词语或表达元)构成。定界的数据文件330的每条记录内的数据元由至少一个分隔符(例如,逗号、空格、破折号等)分隔开。词语可由具有一个或多个连续必要字符而不具有任何分隔符的字符串构成。表达元可由具有至少两个词语和词语之间的一个或多个分隔符的字符串构成。在一个实施例中,必要字符可以包括书面语言的基本单元,包括数位、书面语言的字母 和/或表示书面语言的语音段的符号(例如,音节等)。语言的语音段可包括词语、词语的音节、不同的声音、短语等。
分隔符可以包括不是必要字符且不被识别为指示数据文件中的记录的末尾的预定义的定界符的任何字符。分隔符的例子包括标点符号、词语分割符和指示书面语言的结构和组织的其它符号(例如,破折号、正斜线、反斜线、左括号、右括号、左方括号、右方括号、句号、空格、“@”符号、“&”符号、“*”符号、英镑符号、美元符号、百分比符号、引号、回车、换行等)。在一些数据文件配置中,分隔符可以包括等同于数据文件的预定义的定界符的字符。然而,在这些数据文件中,记录内的等同字符必须区分于指示记录末尾的预定义的定界符。这样,记录内的等同字符将被处理为数据元之间的分隔符或处理为包含于表达元内的分隔符。
在示例性实施例中,定界的数据文件330为逗号分隔变量(CSV)列表,其可以是为数据库或具有表格式数据格式的其它文件而生成的文本格式。CSV列表可以在每条记录中包括多个数据元,数据元由逗号分隔开。CSV列表中的每条记录包括被指定为指示记录末尾的预定义的定界符的字符,例如回车或换行。这些预定义的定界符与请求评论(RFC)4180一致,其中记录内的回车和换行被封装到引号内或者适当地换码,以便将其与指示记录末尾的预定义的定界符区分开。另外,在CSV列表中,如果适当地换码(即,一组空的引号指示文字引用),则引号还可用作数据元之间或表达元内的分隔符。
一般地,对于数据库或具有表格式数据格式的其它文件,每个CSV记录包括相同数量的数据元。然而,登记系统300的实施例能够在每条记录中容纳不同数量的数据元,这是因为每条记录是由系统300所识别的预定义的定界符描绘的。而且,登记系统300还能够容纳其它格式的定界的数据文件330,只要每条记录(包括期望的数据元组合)是由为数据文件330指定且由登记系统300识别的预定义的定界符描绘的即可。例如,如果预定义的定界符(例如,换行、回车、句号等)用于分隔连续的记录对并且被指定为数据文件的定界符以使其由登记系统300识别,则其中各种分隔符(例如,空格、破折号等)将数据元分隔开的自由形式文本文档可设置为定界的数据文件。
在图4的示例的第一条记录332中,示出了十个数据元,包括2个词语、2个表达元以及连续的6个词语。分隔符设在各连续数据元之间,并且定界符设在第一条记录332的末尾。在登记系统300的登记列表模块310已从第一条记录332识别并提取数据元之后,可将数据元标记化成一个标记(例如,标记1至标记10)并且存储在登记列表360的元组362中。还可设置末尾标志以表示登记列表360中的元组的末尾。登记列表模块310能够处理定界的数据文件330的每条记录,并且在登记列表360中创建与每条记录对应的单独的元组。
一旦以与定界的数据文件330的每条记录对应的元组完成登记列表360,索引表模块320就可以处理登记列表360以创建索引表370。在图4所示的示例中,索引表模块320生成索引372以提供用于将元组362定位在登记列表360中的索引。能够生成素数计数表340,其存储登记列表360中每个标记的出现总数。然后,能够通过搜索素数计数表340来计算用于元组362的标记关键字,以从元组362中找到相对于元组362中的其它标记最不频繁地出现于整个登记列表360中的标记。在该示例说明中,与标记1和标记3-10的出现总数相比,标记2显示为最不频繁出现(即,最低的出现和)的标记。因此,可将标记2选为标记关键字并且用于创建索引372。
在一个实施例中,能够利用强制散列数(例如,标记关键字)的已知技术将索引表370生成为具有模数的窄边界,其中边界由素数限定。这对于尤其大量的数据是有利的,其中可分配存储器的较小区域来容纳数据,并且数据通常均匀地分布在分配的存储器中。因此,能够更加高效地处理极大量的数据。基于系统10的资源供应期间经授权用户所选择的资源,可通过例如系统10的数据保护管理器32来生成索引表370的大小。一旦存储器被分配,每个索引能够置于索引表370内的与通过对具有索引表的素数大小的标记关键字执行模运算而计算出的值(例如,余数)对应的空间中。如果发生统计冲突(即,不同的标记关键字具有由模运算得到的相同结果),则不同的标记关键字能够链接列于索引表370的相同空间中。
指向元组362的开始的登记列表偏移(例如,指向标记1的偏移4)可添加到索引372中并且与标记关键字相关联。另外,能够识别定界的数据 文件330的文档标识符(“文档ID”或“docID”)也可添加到索引372中并且与标记关键字相关联。因此,当多个定界的数据文件用于创建登记列表360时,索引中的文档ID字段识别哪个定界的数据文件与随附的登记列表的偏移所指向的元组相关联。另外,如果两个或更多个标记关键字链接列于索引表370内的空间中,则与特定标记关键字对应的偏移和文档ID与索引中的特定标记关键字相关联。
索引372中的<NEXT>字段表示可与索引372中的相同标记关键字相关联的另外的登记列表偏移和文档ID。例如,在登记列表360中具有第二偏移的第二元组也可包含标记2。如果标记2为第二元组中相对于第二元组中的其它标记最不频繁地出现于登记列表360中的标记,则第二元组的标记2可被选为用于第二元组的标记关键字。这样,相同的索引372可用于通过在<NEXT>指针之后添加第二登记列表偏移和适当的文档ID来指定第二元组。
转到图5,图5是示出示例性数据输入和所得到的素数计数表540的简化框图,素数计数表540可由索引表模块320的标记计数操作322生成。数据元501(词语1)、数据元502(词语1)、数据元503(表达元1)和数据元504(表达元2)表示定界的数据文件(例如定界的数据文件330)的示例性数据元,所述数据元被存储为登记列表(例如登记列表360)的一个或多个元组中的标记。标记计数操作函数322可对为每个数据元501、502、503和504所生成的标记计数,并且可产生素数计数表540。在一个实施例中,素数计数表540可以包括具有对应标记和544的‘n’个条目542。在该示例中,‘n’等于素数并且对每个标记执行模运算以确定哪个条目对应于待增的标记和。因此,在该示例中,条目2对应于表示数据元501(词语1)和数据元502(词语1)的标记,并且因此具有标记和2。另外,条目4和7分别对应于表示数据元503(表达元1)和数据元504(表达元2)的标记,并且各具有标记和1。
转到图6A、图6B和图7,其为示出了登记系统300的操作处理的简化流程图。图6A和图6B为示出登记系统300的登记列表模块310的示例操作步骤的简化流程图。图7是示出登记系统300的索引表模块320的示例操作步骤的简化流程图。
图6A示出了登记列表模块310的整体流程600,包括处理一个或多个定界的数据文件、处理每个定界的数据文件的每条记录,以及处理一个或多个定界的数据文件的每条记录中的每个数据元。流程可开始于图6A的步骤602,其中获得第一定界的数据文件。在一个实施例中,登记系统300能够配置为爬取一个或多个期望的数据库或其它数据文件,并且将数据库或其它数据文件转换成一个或多个定界的数据文件。如之前所讨论的,在一个示例中,数据库或其它数据文件可转换成逗号分隔变量表(CSV),其可设为定界的数据文件。
一旦获得定界的数据文件,在步骤604中取得第一条记录。在步骤606,在取得的记录中识别第一数据元的起始。在步骤608,对当前数据元执行可应用的提取、标记化和存储操作,下文将参照图6B对此进行更详细说明。在已对当前数据元执行可应用的提取、标记化和存储操作之后,流程移至决策框610以确定在该条记录中是否存在更多的数据元。如果在该条记录中存在更多的数据元,则在步骤612中识别该条记录中下一数据元的起始。然后,流程循环回到步骤608以对新的数据元执行提取、标记化和存储。
再次参照决策框610,如果在当前数据元之后在记录中识别出预定义的定界符,则确定出在该条记录中不存在更多的数据元。然后流程可移至决策框614,以确定在定界的数据文件中是否存在更多记录。如果在定界的数据文件中存在更多记录,则在步骤616中取得下一条记录,并且流程循环回到步骤606以识别新记录中第一数据元的起始。
然而,如果在决策框614中确定出在定界的数据文件中不存在更多的记录,则流程进行到决策框618以确定是否存在更多的待处理的定界的数据文件。如果确定出存在一个或多个尚未处理的定界的数据文件,则在步骤620中获得下一定界的数据文件,并且流程循环回到步骤604并从新的定界的数据文件中取得第一条记录。然而,如果在决策框618中确定出已处理了所有的定界的数据文件,则流程结束。
图6B示出了图6A中的步骤608的总流程,图示出提取、标记化和存储来自定界的数据文件的记录的数据元的示例性操作步骤。流程可开始于步骤652,其中搜索常规表达表350以查找开始于数据元的起始的字符串的字符模式的最长匹配。在一个实施例中,按从最长到最短的大小次序对来 自常规表达表350的表达模式进行比较,以确定是否存在匹配。在决策框654中,对是否找到来自常规表达表350的匹配进行查询。
如果确定出没有一个常规表达模式与开始于数据元的起始处的任何字符串的字符模式相匹配(即,数据元不与常规表达表350中的任何常规表达模式匹配),则数据元表示词语并且流程移至步骤660以查找数据元(即,词语)的末尾。词语的末尾是开始于数据元的起始处的最后连续的必要字符。在步骤662中提取词语之后,流程进行到决策框664,其中可对词语进行评估以确定其是否为“停止词语”。“停止词语”可包括由管理员确定或通过其它方式指定为停止词语的任意词语,例如简单语法构造词语(例如,类似于、并且、但是、或者、是、所述、一个、一、作为、等等)。如果词语被确定为是停止词语,则其被忽略并且流程结束,而不对该词语进行标记化或存储。然而,如果词语被确定为不是停止词语,则流程移至步骤668,其中可对该词语进行词干处理。词干处理例如为已知的词干提取算法(porter stemming algorithm),其可应用于词语,其中能够从该词语的词干提取出任何后缀和/或词缀。
在已经根据需要进行了词干处理之后,流程可进行到步骤670,其中对词语(或经词干处理的词语)进行标记化。在一个实施例中,标记化包括将词语(或经词干处理的词语)转换成32位数值表示或标记。在步骤672中,标记存储在登记列表360的元组中,其中元组对应于从其提取数据元的记录。在已存储标记之后,流程结束并且处理在图6A的步骤610处继续。
在一个实施例中,利用联邦信息处理标准(FIPS)认可的散列函数来生成标记的数值表示。通常,如果散列函数具有较低的数值强度并且因此为较不安全的散列,则使用较少的计算机资源来计算散列。然而,因为登记列表360可存储在网络中的多个位置处并且由如图1所示的多个检测系统进行重复地搜索,所以期望散列函数具有较大的数值强度。因此,期望的是对于包含私人以及其它敏感信息的词语和表达元生成更安全的标记,即使生成这样的标记需要更多的计算机资源。
另一考虑是用于标记的数值表示的大小。仅32位的数值在统计学上是不可行的。也即,如果一个检测系统仅对表示数据元的一个32位标记搜索目标文档或文件,则仅一个词语或表达元可生成多个误报(false positive) 结果。然而,当记录包括必须被在文档中找到以确认匹配的两个或更多个数据元时,能够减小误报的概率。对于包括在元组中且必须在文档中被找到以确认匹配的每个额外的标记,能够使误报的概率减小232。例如,对于一对词语而言,误报的概率是264;而对于三个词语而言误报的概率是296。因此,在一个实施例中,每个元组包括至少两个标记。
再次参照决策框654,如果确定出在常规表达表350的表达模式与开始于数据元的起始处的字符串的字符模式之间找到匹配,则数据元表示表达元并且具有与匹配的表达模式相同的长度。可在步骤656中提取表达元,并且在步骤658中将表达元规格化。在一个实施例中,规格化表达元可以包括从表达元中消除任何分隔符。例如,可将电话号码规格化成‘nnnnnnnnnn’,‘n’表示0至9的任何数字。在其它实施例中,规格化可包括修改表达元的分隔符和/或特定的必要字符,以实现该表达元的预定义的标准形式。例如,所有的日期可标准化成形式‘YYYY-MM-DD’,‘YYYY’表示年,‘MM’表示月,‘DD’表示日。
一旦表达元已被提取和规格化,流程可移至步骤670,其中表达元被标记化,并且在步骤672中,所得到的标记存储在登记列表360的元组中。在标记已存储在登记列表360中之后,流程返回到图6A的步骤610。
转到图7,图7示出了索引表模块320的总流程700,索引表模块320生成具有标记关键字的索引表370以及与存储在登记列表360中的对应元组相关联的偏移。为了减少图1所示的检测系统24、26和28的处理的开销,通过标记关键字对每个元组进行索引。在一个实施例中,与相同元组中的其它标记相比,标记关键字可以为在整个登记列表360的所有元组中具有最低频率出现的标记。因此,如果使用多个定界的数据文件来创建登记列表360,则可选择在由多个定界的数据文件创建的所有元组中具有最低频率的标记关键字。
在一个示例性实施例中,可利用诸如图3所示的素数计数表340以及在图5的示例性素数计数表540中进一步图示的素数计数表来确定标记关键字。开始于流程700的步骤702,对于存储在登记列表360中的标记,利用如本文之前所述的强制散列数(例如,标记)将素数计数表340生成为具有模数的窄边界,其中所述边界由素数限定。使用素数计数表能够减少 处理可能为数以几十亿的数据元所需的计算机资源。理论上,32位数值表示(232)可表示大于40亿的可能的标记。在实际的示例场景中,如果企业具有针对3亿个体的敏感数据的四种不同条目,则条目的数量将超过十亿。如果每个个体的条目被计数以生成索引表370,则计算机资源或许不能足以执行处理功能。然而,素数计数表340的使用允许较小区域的存储器被分配且用于对登记列表360中的标记进行计数,并选择最低频率的标记作为标记关键字。
在一个实施例中,可基于由经授权用户在系统10的资源供应期间所选择的资源,通过例如系统10的数据保护管理器32来生成素数计数表的大小。在一个示例性场景中,对于已收集用于3亿人的敏感数据的企业而言,如果确定出1亿条目足以对标记进行计数,则素数计数表的大小可由最接近的素数(例如,100,000,007)来限定。因此,能够创建具有100,000,007个条目的表,并且每个条目清除为零值。
一旦对于素数计数表已经分配并限定存储器,能够对登记列表360中的每个标记进行处理以确定素数计数表340中的哪个条目增加。在一个实施例中,可以从第一个元组中的第一个标记到最后一个元组中的最后一个标记对登记列表360进行顺序地处理。对于每个标记,能够利用素数和特定标记的数值来执行模运算。模运算的余数值位于素数计数表340中并且加1。可能出现一些统计上的冲突,其中对于两个不同的数据元所生成的标记得到相同的余数。在这种情况下,能够增加素数计数表340中的相同条目,从而人为地增加条目的计数,该计数对应于多于一个的标记。然而,词语计数的人为增加不会显著地减弱确定每个元组中在登记列表中具有最低频率的标记的可行性。
在步骤702中生成素数计数表340之后,流程进行到步骤704,在该步骤中在登记列表360中识别第一元组。然后,循环执行步骤706至722以确定用于每个元组的标记关键字并且生成索引表370。因此,循环开始于步骤706,其中搜索素数计数表340以确定当前元组中的哪一个标记具有最低计数或频率。在步骤708中,当前元组的根据素数计数表340具有最低频率的标记被选为当前元组的标记关键字。
在选定当前元组的标记关键字之后,流程可进行到步骤710,在该步骤 中可以搜索索引表370中的所有索引以查找匹配的标记关键字。参照决策框712,如果未找到具有与当前元组的选定的标记关键字匹配的标记关键字的索引,则流程进行到步骤716,在该步骤中,利用选定的标记关键字在索引表370中创建新的索引。流程随后进行到步骤718,在该步骤中将文档标识符和偏移添加到新的索引。在一个实施例中,可从登记列表360中的对应元组的报头信息中获得文档ID。偏移可以为登记列表360中的对应元组的指针或索引。例如,偏移可以为出现在对应元组中的第一个标记的索引数。
再次参考决策框712,如果在索引表370中找到具有与当前元组的选定的标记关键字匹配的标记关键字的索引,则已利用同一标记关键字为另一元组创建索引。在该场景中,流程可进行到步骤714,在该步骤中可将当前元组信息添加到现有的索引中。指针(例如,<NEXT>指针)可添加到现有索引的末尾,然后能够添加与当前元组对应的文档ID和偏移。因此,具有相同标记关键字的任何数量的元组能够使用相同的索引。
在步骤718中创建索引或者在步骤714中更新索引之后,流程进行到决策框720以确定当前的元组是否为登记列表360中的最后一个元组。如果当前的元组不是最后一个元组,则在步骤722中识别下一个元组,并且流程回到步骤706以开始处理下一个元组,从而选择标记关键字并更新索引表370。然而,如果在决策框720中确定出当前的元组为登记列表360中的最后一个元组,则已经处理完所有的元组并且流程700结束。
选择最低频率标记作为用于元组的标记关键字有助于提高检测处理活动过程中的处理效率,本文将参照图9-13进行进一步的说明。通过使用最低频率标记作为索引表中的标记关键字,登记列表中的元组无需与正在评估的对象进行比较,除非该对象含有当被标记化时等同于索引表中的标记关键字的数据元。因此,与选择最常出现的标记作为标记关键字相比,在该实施例中可从不必要的处理中排除更多的元组。
可以实现可选的实施例以减少为索引表生成最低频率标记关键字所需的处理。尽管这些实施例可减少后端登记处理,但是检测系统可能需要额外的处理。在一个这样的可选实施例中,可以使用不同的标记关键字选择标准(即,不是最低频率选择标准)。例如,基于记录中的数据元的预定列 或位置,可将来自元组的标记选为标记关键字。尽管结果是可以更快速地生成索引表,但是在检测处理过程中会对更多的元组进行评估,尤其是在标记关键字中的至少一些标记关键字对应于更常出现的数据元时。尽管如此,可以基于实现的特定需要而期望该实施例。另外,标记关键字选择标准可以为用户可配置的,使得经授权用户能够确定登记系统300在选择标记关键字时要使用的选择标准。
图8示出了通过登记系统300处理具有示例性数据元的记录802的场景。记录802为可具有多条记录的定界的数据文件(例如定界的数据文件330)的示例性单条记录。记录802包括由空格分隔且以作为预定义的定界符的回车结束的数据元。对每个数据元进行评估以确定其是否为词语或表达元。提取并标记化表示为词语的数据元(即,Carol、Deginger、123、Apple、Lane、Boise,ID和99999)。提取并规格化被确定为与常规表达模式匹配的数据元。在该示例情况下,规格化表达元包括移除任何非必要的字符。随后将规格化的表达元标记化。
下面的表表示数据类型,记录802的示例性数据元内容对应于每种数据类型,并且对于每个数据元生成标记:
表1
数据类型数据元/规格化的数据元标记(数据元的数值表示)Carol23Deninger55社会安全号码000-00-0000/00000000099出生日期1960-01-01/1960010169街道地址112319街道地址2Apple44街道地址3Lane32城市Boise73ID29邮政编码9999907
通过登记记录802来创建登记列表810的元组812。由记录802生成的 标记804可按顺序存储在登记列表810的元组812中。在一个实施例中,元组812包括报头信息(未示出),报头信息包括识别定界的数据文件或与记录802相关联的关联数据存储(例如,销售的顾客记录数据库)的文档标识符。而且,登记列表810中的每个元组的末尾可由诸如零的结束条目限定,如元组812的末尾所示。另外,偏移814设有登记列表810,每个偏移指向登记列表810中的单独的标记条目。
可以为登记列表810生成索引表820,索引822对应于元组812。索引822包括标记关键字(55),其显示为元组812中第二个出现的标记。如本文之前所描述的,如果标记关键字(55)为元组812的在整个登记列表810中具有最低频率出现的标记,则可以选择标记关键字(55)。另外,偏移(1001)设有标记关键字(55)并且指向元组812中第一次出现的标记(23)。因此,偏移(1001)指示元组812的开始。索引822还可以包括指示定界的数据文件或与记录802相关联的数据存储的docID或文档标识符。
检测系统
转到图9,示出了检测系统900的一个实施例的简化框图。检测系统900能够包括评估模块910和确认模块920。评估模块910的输入可以包括输入对象930、常规表达表350和索引表370。评估模块910的输出可以包括位散列表940和未决关键字列表950,两者均可为临时性的。评估模块910可执行提取函数912、标记化函数914、位设定操作函数916和未决关键字列表创建函数918。一般地,评估模块910处理诸如输入对象930的文件,以与登记系统300对定界的数据文件330的数据元进行提取和标记化基本相同的方式对文件的每个数据元进行提取和标记化。因此,从文件中提取和标记化的数据元可与从定界的数据文件330提取和标记化的数据元进行比较。
输入对象930可以包括任何类型的数据文件或文档,所述数据文件或文档待被分析以确定在该文件或文档中是否存在任何登记的数据元组合或其预定阈值量。在一个实施例中,当网络100中的捕获系统29(如图1所示)截取分组并且通过截取的分组重构对象时,输入对象930可由捕获系统29来提供,如本文之前所述的以及之前已经通过引用以其全文合并于本文中的美国专利申请序列No.12/358,399中所描述的。示例性的输入对象包 括但不限于:Microsoft Office文档(诸如Word、Excel、Power Point等)、可移植文件格式(PDF)文件、文本文件、电子邮件消息、电子邮件附件、任何人类语言文本文档(例如,英语文本、法语文本、德语文本、西班牙语文本、日语文本、中文文本、韩语文本、俄语文本等)等等。除了这些各种对象之外,例如数据库的存储仓库还可通过检测系统900处理,以对存在的任何登记的数据组合的内容进行评估。在一个示例实施例中,诸如CSV列表的共同文件能够为数据库或其它文件生成并提供给检测系统900作为输入对象930。
输入对象930可以包括由任意数量的分隔符和/或定界符分隔开的词语和/或表达元。在一个实施例中,能够顺序地处理输入对象930的内容。输入对象930的每个数据元的字符模式能够与常规表达表350进行比较,以确定数据元是否与如本文之前所描述以及之前已经通过引用以其全文合并于本文中的发明名称为“SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT”、于2009年1月23日递交的美国专利申请序列No.12/358,399中所描述的预定义的表达模式匹配。如果数据元与预定义的表达元匹配,则能够对整个表达元进行提取和规格化,从而能对规格化的表达元执行标记化函数914。如果数据元与预定义的表达模式不匹配,则数据元为词语,其可通过标记化函数914进行提取和标记化。
位设定操作916和未决关键字列表创建918也可由评估模块910来执行。位设定操作916将与每个标记化的数据元对应的位设定在位散列表940中,由此提供指示输入文档930的每个标记化的数据元的有效方式。未决关键字列表创建918将输入对象930的每个标记化的数据元与索引表370进行比较,以识别索引中的对应的标记关键字。在一个实施例中,当标记关键字与标记化的数据元等同(即,具有相同的数值表示)时,识别对应的标记关键字。如果识别对应的标记关键字,则将标记化的数据元或对象标记保存到未决关键字列表950中以便由确认模块920进行进一步的分析。
检测系统900的确认模块920可以执行登记列表和位散列表比较922和事件列表更新924的功能。登记列表和位散列表比较922能够处理来自未决关键字列表950的未决关键字(即,标记),以找到索引表370中的对应索引。在一个实施例中,当未决关键字等同于标记关键字(即,具有相 同的数值表示)时,未决关键字对应于索引中的标记关键字。索引随后能够用于定位在登记列表360中的对应元组。在一个实施例中,识别的元组中的标记能够与位散列表940进行比较,以确定在输入对象930中存在多少在识别的元组中的标记。如果确定出输入对象930包含当标记化时与元组的所有标记对应或者与其预定阈值量对应的数据元,则事件被确认。本文将参照图10-13进一步说明使用位散列表940来确定输入对象930的标记化的数据元是否对应于元组中的标记。事件列表更新924能够更新事件列表960,指示在输入对象930中找到的特定的登记数据组合、与特定的登记数据组合相关联的文档标识符,以及任何其它期望的信息(例如,日期和时间戳、网络流量的源和/或目的地地址、端口数量等)。
转到图10,图10为示出示例性数据输入以及可由评估模块910的位设定操作916生成的结果位向量或位散列表1040的简化框图。数据元1001(词语1)、数据元1002(词语1)、数据元1003(表达元1)和数据元1004(表达元2)表示输入对象(例如输入对象930)的示例性数据元。通过取决于哪个值为缺省值而将位从“0”变成“1”或从“1”变成“0”来完成对位位置的设定。在一个实施例中,如果在输入对象中找到与相同的位位置对应的数据元,则将位散列表1040中的所有位初始化成“0”,并且将与位散列表1040中的特定位位置相关联的位设定成“1”。
在一个示例实施例中,位设定操作916能够通过利用已知的素数散列技术来确定哪个数据元与位散列表1040的哪个位位置对应。位散列表1040可以包括m位,其中m等于素数。当对为数据元1001-1004中的一个生成的标记执行模运算时,模运算的结果可指示与由标记所表示的数据元对应的位位置。因此,随后可设定与特定的位位置对应的位以指示在输入对象中数据元的存在。在图10的示例中,位位置2可与数据元1001(词语1)和数据元1002(词语1)对应,位位置5可与数据元1003(表达元2)对应,并且位位置10可与数据元1004(表达元1)对应。因此,与位位置2、5和10对应的各个位可设定为1。
参照图11和图12,其是图示了检测系统900的操作处理的简化流程图。图11为示出用于检测系统900的评估模块910的示例操作步骤的简化流程图,并且图12为示出用于检测系统900的确认模块920的示例操作步骤的 简化流程图。
转到图11,评估处理流程1100可以包括用于输入对象930的提取和标记化函数,其与通过图6A和图6B的登记列表处理流程600应用于定界的数据文件的提取和标记化函数类似。评估处理流程1100可开始于步骤1102,在其中识别输入对象930中的第一数据元的起始。在步骤1104中,搜索常规的表达表350以找到开始于数据元的起始处的字符串的字符模式的最长匹配。在一个实施例中,按尺寸从最长到最短来比较来自常规表达表350的表达模式以确定是否存在匹配。
在决策框1106中,对于是否找到来自常规表达表350的匹配进行查询。如果确定出没有常规表达模式与开始于数据元的起始处的任何字符串的字符模式匹配(即,数据元不与常规表达表350中的任何常规表达模式匹配),则数据元表示词语并且流程移至步骤1112以查找数据元(即,词语)的末尾,可在步骤1114中提取数据元。词语的末尾是开始于数据元的起始处的最后一个连续的必要字符。在步骤1114中已经提取词语之后,流程移至决策框1116,其中可对词语进行评估以确定其是否为“停止词语”,如本文之前所描述的。如果词语被确定为停止词语,则其被忽略并且流程进行到决策框1128,以确定当前词语是否为输入对象930中的最后的数据元。如果当前词语为最后的数据元,则处理结束。然而,如果词语不是输入对象930中最后的数据元,则流程移至步骤1130以查找下一个数据元的起始。然后,流程循环回到步骤1104以执行新的数据元的提取、标记化和存储。
再次参照决策框1116,如果当前词语被确定为不是停止词语,则流程移至步骤1118,在该步骤中可对词语进行词干处理。例如词干提取算法的词干处理可应用于词语,其中可从该词语的词干提取出任何后缀和/或词缀。在已根据需要执行词干处理之后,流程可进行到步骤1120,其中对词语(或经词干处理的词语)进行标记化。在一个实施例中,标记化包括将词语(或经词干处理的词语)转换成32位数值表示或标记,这是利用登记列表模块310所使用的同一技术(例如,联邦信息处理标准(FIPS)认可的散列函数)来实现的。
在步骤1120中已经为词语生成标记之后,可在步骤1122中在位散列表940中设定位。设定的位对应于通过利用位散列表的素数大小对标记执 行模运算所确定的位散列表940中的位位置,如本文之前所描述的。位被设定以表明在输入对象930中找到标记所表示的词语。可能会发生一些统计上的冲突,其中为两个不同的数据元生成的标记得到相同的余数。然而,系统保持统计可行性,至少部分是因为触发事件需要在文档中找到特定的数据元组合,而不是单个的个体数据元。另外,当表被充分地定尺寸成一素数时,冲突通常是不频繁的。
在将正确的位设定在位散列表940中之后,流程进行到决策框1124以确定标记是否对应于索引表370的一个索引中的标记关键字。如果标记对应于一个索引中的标记关键字,则流程进行到步骤1126并且将标记保存到未决关键字列表950中。在标记被保存到未决关键字列表950中之后,或者如果标记不对应于索引表370中的索引的任何标记关键字,则流程进行到决策框1128以确定与当前标记对应的数据元是否为输入对象930中的最后的数据元。如果数据元不是输入对象930中的最后的数据元,则流程进行到步骤1130,在该步骤中查找下一个数据元的起始。然后,流程循环回到步骤1104以执行新的数据元的提取、标记化和存储。再次参照决策框1128,如果数据元为输入对象930中的最后的数据元,则已对整个输入对象930进行了处理并且流程1100结束。
返回参照决策框1106,如果确定出找到在常规表达表350的表达模式与开始于数据元的起始处的字符串的字符模式之间的匹配,则数据元表示表达元并且具有与匹配的表达模式相同的长度。能够在步骤1108中提取表达元,并且在步骤1110中使表达元规格化。在一个实施例中,评估模块910所采用的特定类型的规格化与登记列表模块310中所采用的规格化类型相同。如本文之前所描述的,使表达元规格化可以包括:从表达元消除任何分隔符或者修改分隔符和/或表达元的特定必要字符以实现表达元的预定义的标准形式。
一旦表达元已经提取和规格化,流程可移至步骤1120,在该步骤中使规格化的表达元标记化。在步骤1122中,如本文之前所描述的,可对应于由利用位散列表的素数大小对标记进行模运算所得到的余数的值,而将位设定在位散列表940中。在将正确的位设定在位散列表940中之后,流程进行到决策框1124以确定标记是否对应于索引表370的一个索引中的标记 关键字。如果标记对应于一个索引中的标记关键字,则流程进行到步骤1126并且将标记保存到未决关键字列表950中。在标记被保存到未决关键字列表950中之后,或者如果标记不对应于索引表370的索引中的任意标记关键字,则流程进行到决策框1128以确定与当前标记对应的数据元是否为输入对象930中的最后的数据元。如果数据元不是输入对象930中的最后的数据元,则流程进行到步骤1130,在该步骤中,查找下一个数据元的起始。然后,流程循环回到步骤1104以执行新的数据元的提取、标记化和存储。再次参照决策框1128,如果数据元是输入对象930中的最后的数据元,则已经处理了整个输入对象930并且流程1100结束。
转到图12,图12示出了检测系统900的确认模块920的确认处理流程1200中的示例性操作步骤。一般地,确认处理流程1200使用位散列表940、未决关键字列表950、登记列表360和索引表370来确定登记的数据元组合或其预定的阈值量是否包含在输入对象930中。
流程可开始于步骤1202,在该步骤中从未决关键字列表950取回第一个未决关键字。然后,流程移至步骤1204,在该步骤中搜索索引表370以查找具有与未决关键字对应的标记关键字的索引。一旦找到索引,流程移至步骤1206以查找索引中识别的第一元组。可利用与索引中的标记关键字链接的第一个偏移来识别第一元组。偏移可指向标记的登记列表中对应元组开始的位置。
一旦在步骤1208中在登记列表360中已识别出对应元组的第一个标记,操作步骤1210至1222处理元组,直到事件被确认(即,登记数据组合的所有数据元或数据元的阈值量存在于输入对象中)或者未被确认(即,在输入对象中未找到登记数据组合的所有数据元或数据元的阈值量)。在决策框1210中,对与标记对应的位是否设定在位散列表940中进行查询。因此,可以利用位散列表940的素数大小对标记进行模运算以确定在位散列表940中检验哪个位位置。如果设定了恰当的位位置上的位,则流程可进行到步骤1212,在该步骤中可以增加数据元计数。数据元计数表示在位散列表940中找到的来自正在处理的元组的标记总数。在数据元计数已经增加之后,或者如果位未设定在位散列表940中,则流程进行到决策框1214以确定当前标记是否为元组中最后的标记。如果当前标记不是元组中最后 的标记,则流程进行到步骤1216以识别元组中的下一个标记。然后,流程循环回到决策框1210以确定对应于新标记的位是否被设定。
一旦已经处理了元组中的每个标记,在决策框1214中确定已经对元组中最后的标记进行了评估。流程随后可进行到决策框1218,其中对数据元计数是否大于或等于预定的阈值量进行查询。在一个实施例中,当在输入文档中找到定界的数据文件的单条记录的所有数据元时,可以对事件进行确认。因此,在该实施例中,预定的阈值量将等于记录中的数据元数量(即,对应元组中的标记数)。然而,其它实施例可以使用来自单条记录的数据元总数的一定百分比(例如,50%、75%等)或特定的最小数(例如,2、3、4等)。从管理上看,图1所示的数据保护管理器32可配置为允许授权用户根据需要设定预定的阈值量。
如果在步骤1218中数据元计数满足或超过预定的阈值量,则事件被确认并且流程进行到步骤1220,在该步骤中取回任务和文件信息。在一个示例实施例中,文件信息可根据对应于索引中用于定位当前元组的特定偏移的文档ID(docID)取回。另外,可获得与输入对象930有关的其它信息(例如,诸如源地址和目的地地址的传输信息、源端口和地址端口、日期和时间、关联电子邮件消息的电子邮件地址、文档的文件路径、数据库或其它存储仓库等),以便正确地识别包含登记数据组合的特定对象。另外,在输入对象930中找到的登记数据元组合的特定数据元可存储和/或显示以便授权用户查看。
一旦已经取回经确认事件的所有所需信息,流程进行到步骤1222,其中事件可记录在事件列表960中和/或包括一些或全部取回信息的适当通知(例如,电子邮件通知、系统记录通知、状况消息等)可提供给授权用户。事件的确认也能够触发动作以防止传输触发事件确认的对象或者锁闭触发事件确认的数据库或其它存储仓库。这种强制执行动作能够经由捕获系统29或被设计成停止数据传输流的其它现有架构来实现。
再次参照决策框1218,如果数据元计数不满足预定阈值,则没有事件被确认并且绕过步骤1220和1222。在当前元组的所有标记已被处理以及事件已被确认或没有事件已被确认之后,则流程进行到决策框1224,其中确定正在处理的元组是否为索引中识别的最后的元组。如果当前元组不是索 引中的最后的元组,则索引中的后续<NEXT>指针通过指定登记列表360中的下一个元组的偏移而表示待进行处理的下一个元组。因此,如果索引具有不为空的<NEXT>指针,则流程进行到步骤1226并且通过与<NEXT>指针链接的偏移来识别下一个元组。然后,流程循环回到步骤1208以开始处理下一个元组的标记从而确定是否为下一个元组确认事件。
再次参照决策框1224,如果当前元组被确定为是索引中的最后的元组,则流程进行到决策框1228以确定未决关键字是否为未决关键字列表950中最后的未决关键字。如果当前未决关键字不是未决关键字列表950中的最后一个,则在步骤1230中从未决关键字列表950取回下一个未决关键字,并且流程循环回到步骤1204,在该步骤中搜索索引表370以查找与新的未决关键字对应的标记关键字。然后,流程继续处理以确定对于由索引表370的特定索引所表示的每个元组是否确认事件。
再次参照决策框1228,如果当前的未决关键字为未决关键字列表950中最后的未决关键字,则已经处理了在输入对象930中识别的所有未决关键字并且适当地对于对应的元组已经确认了事件。然而,在图12中未显示,可以在已经处理了所有的未决关键字之后执行另外的步骤,以准备用于后续检测系统处理的存储器分配。例如,位散列表940中的所有位可设定成缺省值(例如,“0”),并且未决关键字列表950中的指针可复位到列表的开始。
转到图13,图13示出了通过检测系统300处理示例的输入文档1302的场景。输入文档1302中示出了数据元的代表性样本,椭圆表示未示出的额外的数据元。另外,显示已由登记系统300创建了登记列表1310和索引表1320。标记化的词语1304显示出对于输入文档1302中所示的每个数据元所生成的对象标记。在检测系统300的评估处理过程中,对于位散列表1350中显示出的每个对象标记设定位。另外,对于每个对象标记,搜索索引表1320以查找索引中与对象标记对应的标记关键字。在图13的示例数据中,在具有标记关键字(55)的索引中找到了对象标记(55),并且因此将对象标记(55)存储在未决关键字列表1340中。
在位散列表1350和未决关键字列表1340已经生成之后,对未决关键字列表1340中的每个未决关键字进行处理,以确定标记的对应元组或者对 应元组中的标记的预定阈值量是否呈现在位散列表1350中。在图13的示例性场景中,搜索索引表1320以查找具有与未决关键字(55)对应的标记关键字的索引。找到具有标记关键字(55)的索引1322,并且如框1306中所示执行确认处理。索引1322的偏移1001用于识别元组1312。对元组1312中的每个标记进行分析,以确定对应的位是否设定在位散列表1350中。在该情况下,元组1312的所有标记都由位散列表1350中设定的位来表示。因此,满足预定的阈值,确认了事件,并且可如框1308所示更新事件列表。因此,在该示例中,检测系统300确定输入文档1302包含登记数据元组合(即,由元组1312表示的数据元)的阈值量并且因此确认事件。
尽管上述处理流程示出了示例性实施例,但是可选地,可以实现其它处理流程。例如,除了顺序地处理定界的数据文件330中的记录的每个数据元之外或者顺序地处理输入对象930的每个数据元之外,可使用如之前已通过引用合并于本文中的美国专利申请序列No.12/358,399中所描述的分析程序。在这种实施例中,分析程序能够对提取的数据进行分析,以识别在特定的记录或对象内的所有表达元。能够通过在记录或对象内对来自常规表达表350的表达模式进行分析来识别表达元。在一个实施例中,以从最长到最短的降序在记录或对象内对表达模式进行分析。一旦已识别所有的表达元,则可从记录或对象中的其余数据提取出每个词语。
用于实现本文所概括的登记和检测操作的软件能够设在各位置处(例如,公司IT总部、分布到网络的出口点的网络装置,等等)。在其它实施例中,该软件可从web服务器接收或下载(即,在对于单独的网络、设备、服务器等购买单独的终端用户许可的背景下),从而提供用于保护指定数据组合的该系统。在一个示例实现中,该软件驻存于寻求保护免受安全攻击(或保护免受非期望或非授权数据操纵)的一台或多台计算机中。
在各个示例中,用于在计算机网络环境中保护指定数据组合的系统的软件可涉及到私有元件(例如,作为带有网络数据丢失预防(NDLP)软件、ePolicy Orchestrator(ePO)软件等的网络安全解决方案的一部分),其可设置在这些识别的元件中(或与这些识别的元件邻近),或者可设置在任何其它设备、服务器、网络装置、控制台、防火墙、交换机、信息技术(IT)设备、分布式服务器等,或者可设置为补充方案 (例如,与防火墙相结合),或者设置在网络中的某个位置处。
在一些示例实现中,本文所概括的登记和检测活动可以软件来实现。这可以包括设置在网络装置12、14、16、18和30(例如,登记系统22、检测系统24、26和28以及捕获系统29)中的软件。这些元件和/或模块能够彼此协作,从而执行如本文所讨论的登记和检测活动。在其它实施例中,这些特征可设置在这些元件之外,包括在其它设备中以实现这些预期的功能,或者以任何适合的方式进行合并。例如,可移除与各元件相关联的一些处理器,或者以其它方式合并所述处理器以使单个处理器和单个存储器位置负责一些活动。在一般意义上,图1所描绘的布置可在其表示上更逻辑化,而物理架构可包括各种置换、组合和/或这些元件的混合。
在各个实施例中,所有这些元件(例如,网络装置12、14、16、18和30)包括能够协调、管理或以其它方式协作以实现如本文所概括的登记和检测操作的软件(或往复式软件)。这些元件中的一个或所有可以包括任何适合的算法、硬件、软件、部件、模块、接口或便于其操作的对象。在涉及软件的实现中,这种配置可包括以可包含非暂态介质的一种或多种有形介质编码的逻辑(例如,设置在专用集成电路(ASIC)中的嵌入式逻辑、数字信号处理器(DSP)指令、待由处理器执行的软件(可能包含对象代码和源代码)或其它相似的机器等)。
在这些实例中的一些实例中,一个或多个存储元件(例如,主存储器230、辅助储存设备240等)能够存储用于本文所描述的操作的数据。这包括能够存储被执行以实施本说明书中所描述的活动的软件、逻辑、代码或处理器指令的存储器元件。处理器能够执行与数据相关联的任何类型的指令以实现本说明书中详述的操作。在一个示例中,处理器(如图2所示)可以将元件或物品(例如,数据)从一种状态或情况变换成另一种状态或情况。在另一示例中,本文所罗列的活动可通过固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本文所识别的元件可以为某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、包括数字逻辑、软件、代码、电子指令、闪存、光盘、CD-ROM、DVD ROM、磁卡或光卡、适于存储电子指令的其它类型的 机器可读介质或其任何适合的组合的ASIC。
在各个实施例中,上文中已经将登记和检测系统22、24、26和28描述为以独立设备实现的系统,所述独立设备诸如网络装置12、14、16和18。在一个实施例中,登记和检测系统22、24、26和28能够以利用通常可用的能够支持软件要求的计算设备和存储系统所构造的装置来实现。然而,登记和检测系统可以可选地在能够拦截并存取来自网络的数据的任何计算机上实现。例如,登记系统22可在图1所示的网络100的服务器上实现。在另一示例中,检测系统14、16和18可在其各自的网关和路由器/交换机上实现。
本文讨论的任意存储器项应当解释为被包含在宽泛术语“存储器元件”内。类似地,该说明书中描述的所有可能的处理元件、模块和机器应当解释为被包含在宽泛术语“处理器”内。每台计算机还可以包括用于接收、传送和/或以其它方式在网络环境中传输数据或信息的适合的接口。
注意的是,通过本文提供的多个示例,可依据两个、三个、四个或更多的网络元件来描述交互作用。然而,仅为了清晰和示例的目的已经完成了这点。应当理解的是,系统能够以任何适当的方式进行合并。伴随相似的设计可选项,图1所图示的计算机、模块、部件和元件中的任一个可以各种可能的配置进行组合,所有这些都明确地在该说明书的宽泛范围内。在一些情况下,仅通过参照有限数量的网络元件可能更容易描述流程的既定设定的一个或多个功能。应当理解的是,图1(及其教导)的系统能够容易地扩展并且能够容纳大量的部件以及复杂/高级的布置和配置。因此,所提供的示例不应限制范围或抑制如可能应用于多个其它架构的数据组合保护系统10的宽泛教导。
还需要强调的是,参照前面的附图描述的操作仅示出了可由系统或在系统内执行的一些可能的场景。可适当地删除或移除这些操作中的一些,或者可以对这些步骤进行大的调整或改变,而不偏离所讨论的构思的范围。另外,这些操作的定时可进行大的改变且仍获得本公开所教导的结果。已经出于示例和讨论的目的提供了前面的操作流程。通过系统提供了实质的灵活性,其在于可以提供任何适当的布置、按时间顺序的表格、配置和定时机理,而不偏离所讨论的构思的教导。

用于保护指定数据组合的系统和方法.pdf_第1页
第1页 / 共41页
用于保护指定数据组合的系统和方法.pdf_第2页
第2页 / 共41页
用于保护指定数据组合的系统和方法.pdf_第3页
第3页 / 共41页
点击查看更多>>
资源描述

《用于保护指定数据组合的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于保护指定数据组合的系统和方法.pdf(41页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103430504 A (43)申请公布日 2013.12.04 CN 103430504 A *CN103430504A* (21)申请号 201180058414.4 (22)申请日 2011.02.15 12/939,340 2010.11.04 US H04L 29/06(2006.01) G06F 17/30(2006.01) H04L 12/22(2006.01) (71)申请人 迈克菲公司 地址 美国加利福尼亚 (72)发明人 RPS阿胡贾 WJ德宁格尔 (74)专利代理机构 永新专利商标代理有限公司 72002 代理人 张晰 王英 (54) 发明名称 。

2、用于保护指定数据组合的系统和方法 (57) 摘要 本发明公开了一种方法, 包括 : 从数据文件的 记录中提取多个数据元 ; 将所述多个数据元标记 化成多个标记 ; 将所述多个标记存储在登记列表 的第一元组中 ; 选择所述多个标记中的一个作为 用于所述第一元组的标记关键字, 其中所述标记 关键字比所述第一元组中的所述多个标记中的其 它每个标记更不频繁地出现在所述登记列表中。 还在实施例中公开并要求保护相应的其它装置和 方法。 (30)优先权数据 (85)PCT申请进入国家阶段日 2013.06.04 (86)PCT申请的申请数据 PCT/US2011/024902 2011.02.15 (87)。

3、PCT申请的公布数据 WO2012/060892 EN 2012.05.10 (51)Int.Cl. 权利要求书 5 页 说明书 22 页 附图 13 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书5页 说明书22页 附图13页 (10)申请公布号 CN 103430504 A CN 103430504 A *CN103430504A* 1/5 页 2 1. 一种方法, 包括 : 从数据文件的记录中提取多个数据元 ; 将所述多个数据元标记化成多个标记 ; 将所述多个标记存储在登记列表的第一元组中 ; 选择所述多个标记中的一个作为用于所述第一元组的标记关键字, 其中所。

4、述标记关键 字比所述第一元组中的所述多个标记中的其它每个标记更不频繁地出现在所述登记列表 中。 2. 如权利要求 1 所述的方法, 其中所述多个数据元中的至少一个是由一个或多个连续 必要字符的字符模式限定的词语。 3. 如权利要求 1 所述的方法, 其中至少一个数据元是由与预定义的表达模式匹配的 字符模式限定的表达元, 所述预定义的表达模式表示至少两个词语和所述词语之间的分隔 符。 4. 如权利要求 1 所述的方法, 其中所述多个标记中的每个标记是对应数据元的数值表 示。 5. 如权利要求 1 所述的方法, 还包括 : 通过识别指示所述记录的末尾的预定义的定界符来确定所述记录的末尾。 6. 如。

5、权利要求 1 所述的方法, 其中所述登记列表包括多个元组, 所述登记列表的每个 元组仅与一个或多个数据文件的一条记录相关联。 7. 如权利要求 1 所述的方法, 其中所述标记关键字存储在索引表的索引中, 所述索引 包括指示所述登记列表中的所述第一元组的位置的第一偏移。 8. 如权利要求 7 所述的方法, 其中所述索引包括与所述第一偏移相关联的文档标识 符, 所述文档标识符表示包含所述记录的数据文件。 9. 如权利要求 7 所述的方法, 其中所述索引包括第二偏移, 所述第二偏移对应于所述 登记列表中的具有另外多个标记的第二元组, 所述第二偏移指示所述登记列表中的所述第 二元组的位置, 其中所述第。

6、二元组中的所述另外多个标记中的一个等同于所述标记关键 字。 10. 如权利要求 1 所述的方法, 其中选择所述多个标记中的一个作为用于所述第一元 组的标记关键字还包括 : 生成包括每个标记在所述登记列表中的出现总数的计数表 ; 以及 搜索所述计数表以识别所述多个标记中相对于所述第一元组中的其它每个标记具有 最低出现总数的一个标记。 11. 一种装置, 包括 : 一个或多个登记模块, 其用于生成具有多个元组的登记列表, 每个元组表示指定数据 元组合 ; 以及 处理器, 其用于执行与所述一个或多个登记模块相关联的指令, 包括 : 从数据文件的记录中提取多个数据元 ; 将所述多个数据元标记化成多个标。

7、记 ; 将所述多个标记存储在所述登记列表的第一元组中 ; 选择所述多个标记中的一个作为用于所述第一元组的标记关键字, 其中所述标记关键 权 利 要 求 书 CN 103430504 A 2 2/5 页 3 字比所述第一元组中的所述多个标记中的其它每个标记更不频繁地出现在所述登记列表 中。 12. 如权利要求 11 所述的装置, 其中至少一个数据元是由与预定义的表达模式匹配的 字符模式限定的表达元, 所述预定义的表达模式表示至少两个词语和词语之间的分隔符。 13. 如权利要求 11 所述的装置, 其中所述处理器用于执行另外的指令, 包括 : 通过识别指示所述记录的末尾的预定义的定界符来确定所述记。

8、录的末尾。 14. 如权利要求 13 所述的装置, 其中所述登记列表的每个元组仅与一个或多个数据文 件的一条记录相关联。 15. 如权利要求 11 所述的装置, 其中所述标记关键字存储在索引表的索引中, 所述索 引包括指示所述登记列表中的所述第一元组的位置的第一偏移。 16. 如权利要求 15 所述的装置, 其中所述索引包括第二偏移, 所述第二偏移对应于所 述登记列表中的具有另外多个标记的第二元组, 所述第二偏移指示所述登记列表中的所述 第二元组的位置, 其中所述第二元组中的所述另外多个标记中的一个等同于所述标记关键 字。 17. 如权利要求 11 所述的装置, 其中选择所述多个标记中的一个作。

9、为用于所述第一元 组的标记关键字还包括 : 生成包括每个标记在所述登记列表中的出现总数的计数表 ; 以及 搜索所述计数表以识别所述多个标记中相对于所述第一元组中的其它每个标记具有 最低出现总数的一个标记。 18. 一种方法, 包括 : 识别数据文件的记录中的第一数据元的起始 ; 如果开始于所述第一数据元的起始处的第一字符串与预定义的表达模式匹配, 则确定 所述第一数据元为表达元, 所述预定义的表达模式表示至少两个词语和所述两个词语之间 的分隔符 ; 提取所述表达元 ; 将所述表达元标记化成第一标记 ; 以及 将所述第一标记存储在登记列表的第一元组中。 19. 如权利要求 18 所述的方法, 还。

10、包括 : 在对所述表达元进行标记化之前对所述表达元进行规格化。 20. 如权利要求 19 所述的方法, 其中所述规格化包括从所述表达元中去除所述分隔 符。 21. 如权利要求 18 所述的方法, 其中所述预定义的表达模式是多个预定义的表达模式 中与开始于所述第一数据元的起始处的任意字符串匹配的最长的一个。 22. 如权利要求 18 所述的方法, 还包括 : 识别所述记录中的第二数据元的起始 ; 确定所述第二数据元为词语, 其中多个预定义的表达模式中没有一个与开始于所述第 二数据元的起始处的第二字符串匹配 ; 提取所述词语 ; 将所述词语标记化成第二标记 ; 以及 权 利 要 求 书 CN 10。

11、3430504 A 3 3/5 页 4 将所述第二标记存储在所述登记列表的所述第一元组中。 23. 如权利要求 18 所述的方法, 其中预定义的定界符将所述数据文件中的各连续记录 对分隔开。 24. 如权利要求 18 所述的方法, 其中预定义的定界符位于所述数据文件中的记录的末 尾, 所述预定义的定界符选自由分号、 换行、 回车、 冒号和句号组成的组。 25. 如权利要求 18 所述的方法, 其中所述登记列表的每个元组仅与所述数据文件的一 条记录相关联。 26. 如权利要求 18 所述的方法, 其中所述至少两个词语中的每个均由一个或多个连续 必要字符的字符模式限定。 27. 如权利要求 26 。

12、所述的方法, 其中所述必要字符选自由数字、 书面语言的字母和表 示书面语言的语音段的符号组成的组。 28. 如权利要求 18 所述的方法, 其中所述分隔符不等同于必要字符, 并且其中, 如果所 述分隔符等同于预定义的定界符, 则将所述分隔符区分于所述预定义的定界符, 所述预定 义的定界符指示所述记录的末尾。 29. 一种装置, 包括 : 登记列表模块 ; 以及 处理器, 其用于执行与所述登记列表模块相关联的指令, 包括 : 识别数据文件的记录中的第一数据元的起始 ; 如果开始于所述第一数据元的起始处的第一字符串与预定义的表达模式匹配, 则确定 所述第一数据元为表达元, 所述预定义的表达模式表示。

13、至少两个词语和所述两个词语之间 的分隔符 ; 提取所述表达元 ; 将所述表达元标记化成第一标记 ; 以及 将所述第一标记存储在登记列表的第一元组中。 30. 如权利要求 29 所述的装置, 其中所述处理器用于执行另外的指令, 包括 : 在对所述表达元进行标记化之前对所述表达元进行规格化, 其中所述规格化包括从所 述表达元中去除所述分隔符。 31. 如权利要求 29 所述的装置, 其中所述预定义的表达模式是多个预定义的表达模式 中与开始于所述第一数据元的起始处的任意字符串匹配的最长的一个。 32. 如权利要求 29 所述的装置, 其中所述处理器用于执行另外的指令, 包括 : 识别所述记录中的第二。

14、数据元的起始 ; 确定所述第二数据元为词语, 其中多个预定义的表达模式中没有一个与开始于所述第 二数据元的起始处的第二字符串匹配 ; 提取所述词语 ; 将所述词语标记化成第二标记 ; 以及 将所述第二标记存储在所述登记列表的所述第一元组中。 33. 如权利要求 29 所述的装置, 其中预定义的定界符将所述数据文件中的各连续记录 对分隔开。 34. 如权利要求 29 所述的装置, 其中所述登记列表的每个元组仅与所述数据文件的一 权 利 要 求 书 CN 103430504 A 4 4/5 页 5 条记录相关联。 35. 一种方法, 包括 : 从对象中提取多个数据元 ; 将所述多个数据元标记化成多。

15、个对象标记 ; 识别登记列表中的多个元组中的第一元组, 所述第一元组包括多个关联标记 ; 确定所述多个关联标记中的每一个是否对应于所述多个对象标记中的至少一个 ; 以及 如果所述多个关联标记和所述多个对象标记之间的对应量满足预定阈值, 则确认事 件。 36. 如权利要求 35 所述的方法, 其中识别所述第一元组还包括 : 识别来自所述多个对象标记中的未决关键字 ; 以及 搜索索引表以找到与所述未决关键字对应的标记关键字, 其中偏移与所述标记关键字 链接, 所述偏移指示所述登记列表中的所述第一元组的位置。 37. 如权利要求 36 所述的方法, 其中所述未决关键字包括在未决关键字列表中, 所述 。

16、未决关键字列表是通过搜索所述索引表以确定所述多个对象标记中的任一个是否对应于 所述索引表中的多个标记关键字中的一个而生成的, 其中对应于所述多个标记关键字中的 一个的每个对象标记被存储在所述未决关键字列表中。 38. 如权利要求 36 所述的方法, 其中所述标记关键字比所述第一元组中的所述多个关 联标记中的其它每个关联标记更不频繁地出现在所述登记列表中。 39. 如权利要求 35 所述的方法, 其中当所述第一元组中的所述多个关联标记中的每个 对应于所述多个对象标记中的至少一个时, 满足所述预定阈值。 40. 如权利要求 35 所述的方法, 还包括 : 通过为所述多个对象标记中的每个设定位而在位。

17、散列表中表示所述多个对象标记, 所 述位散列表包括多个位, 每个位均在所述位散列表中具有单独的位位置。 41. 如权利要求 40 所述的方法, 其中所述确定还包括 : 评估所述位散列表以确定所述 位散列表的对应于所述多个关联标记中的一个的每个位位置上是否设定了位。 42. 如权利要求 35 所述的方法, 其中所述多个数据元中的至少一个为由一个或多个连 续必要字符的字符模式限定的词语。 43. 如权利要求 35 所述的方法, 其中所述多个数据元中的至少一个为具有与预定义的 表达模式匹配的字符模式的表达元, 所述预定义的表达模式表示至少两个词语和词语之间 的分隔符。 44. 一种装置, 包括 : 。

18、一个或多个检测模块, 其用于接收包括用于与具有多个元组的登记列表进行比较的多 个数据元的对象, 每个元组均表示指定数据元组合 ; 以及 处理器, 其用于执行与一个或多个检测模块相关联的指令, 包括 : 从对象中提取多个数据元 ; 将所述多个数据元标记化成多个对象标记 ; 识别登记列表中的多个元组中的第一元组, 所述第一元组包括多个关联标记 ; 确定所述多个关联标记中的每一个是否对应于所述多个对象标记中的至少一个 ; 以及 如果所述多个关联标记和所述多个对象标记之间的对应量满足预定阈值, 则确认事 权 利 要 求 书 CN 103430504 A 5 5/5 页 6 件。 45. 如权利要求 4。

19、4 所述的装置, 其中识别所述第一元组还包括 : 识别来自所述多个对象标记中的未决关键字 ; 以及 搜索索引表以找到与所述未决关键字对应的标记关键字, 其中偏移与所述标记关键字 链接, 所述偏移指向所述登记列表中的所述第一元组的位置。 46. 如权利要求 45 所述的装置, 其中所述未决关键字包括在未决关键字列表中, 所述 未决关键字列表是通过搜索所述索引表以确定所述多个对象标记中的任一个是否对应于 所述索引表中的多个标记关键字中的一个而生成的, 其中对应于所述多个标记关键字中的 一个的每个对象标记被存储在所述未决关键字列表中。 47. 如权利要求 44 所述的装置, 其中所述标记关键字比所述。

20、第一元组中的所述多个关 联标记中的其它每个关联标记更不频繁地出现在所述登记列表中。 48. 如权利要求 44 所述的装置, 其中当所述第一元组中的所述多个关联标记中的每个 对应于所述多个对象标记中的至少一个时, 满足所述预定阈值。 49. 如权利要求 44 所述的装置, 其中所述多个数据元中的至少一个为由一个或多个连 续必要字符的字符模式限定的词语。 50. 如权利要求 44 所述的装置, 其中所述多个数据元中的至少一个为具有匹配预定义 的表达模式的字符模式的表达元, 所述预定义的表达模式表示至少两个词语和词语之间的 分隔符。 权 利 要 求 书 CN 103430504 A 6 1/22 页。

21、 7 用于保护指定数据组合的系统和方法 0001 相关美国申请信息 0002 本申请与 William Deninger 等人共同转让给其受让人的、 于 2009 年 1 月 23 日递 交的、 发明名称为 “SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT” 、 共同未决的 美国临时专利申请序列 No.12/358,399(代理人案号 004796.1042) 相关。该申请的公开内 容被视为本文的一部分并且以引用方式全部并入本文。 技术领域 0003 本发明一般涉及数据管理领域, 并且更特别地, 涉及用于保护指定数据组合的系 统和方法。 背。

22、景技术 0004 计算机网络已变成现代商业不可或缺的工具。企业能够利用网络来进行通信, 并 且还能够以各种形式存储数据并且将数据存储在各个位置处。 关键信息频繁地在商业企业 网络上传播。 一些联邦和州的规定提供了通过各种组织或商业覆盖特定类型信息的散播的 限制。 因此, 除了业主信息可能丢失以及对商业造成负面影响之外, 企业还可能面临由于一 些数据的无意或故意泄漏的法律责任。现代企业经常采用多种工具来控制这种信息的散 播, 并且许多这样的工具试图阻止局外人、 入侵者和未经授权的人员存取或接收机密的、 有 价值的或其它敏感信息。通常地, 这些工具可包括防火墙、 入侵检测系统和分组嗅探器设 备。 。

23、0005 提供配备有能够保护并控制重要信息的移动的有效数据管理系统的系统或协议 的能力对于安全专业人员、 部件制造商、 服务提供商和系统管理者等都是很大的挑战。 附图说明 0006 为了提供对本发明及其特征和优点的更全面的理解, 参照以下结合附图进行的说 明, 其中相似的附图标记表示相似的部分, 其中 : 0007 图 1 为根据本公开的一个实施例的用于在网络环境中保护指定数据组合的系统 的示例性实现的简化框图 ; 0008 图 2 为可用于根据本公开的数据组合保护系统的实施例的计算机的简化框图 ; 0009 图 3 为根据本公开的一个实施例的数据组合保护系统中的登记系统的框图 ; 0010 。

24、图 4 为根据本公开的一个实施例的数据组合保护系统中的各种数据文件结构的 框图 ; 0011 图 5 为根据本公开的登记系统的一个方面的示例性数据输入和输出的简化框图 ; 0012 图 6A、 图 6B 和图 7 为示出与登记系统相关联的一系列示例步骤的简化流程图 ; 0013 图 8 示出了根据本公开的一个实施例的与登记系统处理相关联的示例性场景中 的文件内容 ; 0014 图 9 为根据本公开的一个实施例的数据组合保护系统中的检测系统的框图 ; 说 明 书 CN 103430504 A 7 2/22 页 8 0015 图 10 为根据本公开的检测系统的一个方面的示例性数据输入和输出的简化框。

25、 图 ; 0016 图 11-12 为示出与检测系统相关联的一系列示例步骤的简化流程图 ; 以及 0017 图 13 示出了根据本公开的一个实施例的与检测系统处理相关联的示例性场景中 的文件内容。 具体实施方式 0018 概述 0019 一个示例性实施例中的方法包括 : 从数据文件的记录中提取多个数据元 ; 将多个 数据元标记化 (tokenize) 成多个标记 ; 以及将多个标记存储在登记列表的第一元组中。该 方法还包括 : 选择多个标记中的一个作为用于第一元组的标记关键字, 其中所述标记关键 字比第一元组中的其它每个标记更不频繁地出现于登记列表中。在更具体的实施例中, 至 少一个数据元为具。

26、有与预定义的表达模式匹配的字符模式的表达元, 其中预定义的表达模 式表示至少两个词语字和词语字之间的分隔符。在其它具体的实施例中, 至少一个数据元 是由一个或多个连续必要字符的字符模式限定的词语。 其它更具体的实施例包括通过识别 预定义的定界符来确定记录的末尾。 0020 另一示例性实施例中的方法包括 : 从对象提取多个数据元 ; 将多个数据元标记化 成多个对象标记 ; 以及识别登记列表中的第一元组。该方法还包括 : 确定第一元组中的多 个关联标记中的每一个是否对应于对象标记中的至少一个。 另外, 该方法包括 : 如果第一元 组中的多个关联标记和多个对象标记之间的对应量满足预定阈值, 则确认事。

27、件。在更具体 的实施例中, 当第一元组中的关联标记中的每个对应于多个对象标记中的至少一个时, 满 足预定阈值。 0021 示例性实施例 0022 图1是示出用于在示例性网络100中登记和检测指定数据组合的数据组合保护系 统 10 的示例性实现的简化框图。数据组合保护系统 10 可以包括多个网络元件, 例如具有 登记系统 22 的网络装置 (appliance) 12 以及分别具有检测系统 24、 26 和 28 的多个网络装 置 14、 16 和 18。这些网络装置 12、 14、 16 和 18 能够由数据保护管理器 32 借助于诸如网络 装置 30 的另一网络元件管理, 或者与诸如网络装置。

28、 30 的另一网络元件耦合。另外, 网络安 全平台 140 可提供用于网络 100 的现有的网络安全基础结构, 并且可与数据组合保护系统 10 适当地集成。 0023 图 1 所示的网络环境可通常被配置或布置成表示能够交换分组的任何通信架构。 这种配置可以包括诸如图 1 中为示例目的而显示的既定商业实体的单独部门 (例如, 市场 部 152、 销售部 154、 生产部 156) 。另外, 还可以在网络 100 中设置诸如电子邮件网关 162、 web 网关 164、 交换机 172、 防火墙 174 和至少一个客户端设备 130 的其它共同的网络元件。 网络 100 还可配置为通过防火墙 17。

29、4 与诸如因特网 180 的其它网络交换分组。 0024 数据组合保护系统 10 能够帮助组织保护机密数据免于从网络环境无意和有意的 披露。数据组合保护系统 10 的实施例能够用于登记数据元的指定组合, 并且用于检测网络 环境的对象内的登记数据组合。例如, 当组合以识别个体时是足够有区分性并且可能暴露 关于个体的机密或敏感信息的数据元, 能够通过数据组合保护系统 10 被登记为组合并且 说 明 书 CN 103430504 A 8 3/22 页 9 能够在网络中的对象中被检测到。系统 10 能够创建登记列表, 其中, 以登记列表中的单独 的元组或记录表示数据元的每个指定组合或集合。 能够对具有。

30、一个或多个数据元集合的任 何数据文件执行创建登记列表中的这些元组的登记操作, 每个数据元集合通过预定义的定 界符与其它数据元集合定界。登记列表能够由关键字索引, 其中每个关键字对应于以元组 表示的数据元中的一个。 0025 数据组合保护系统 10 能够执行检测操作以找到网络环境中的对象 (例如, 文字处 理文件、 电子表格、 数据库、 电子邮件文件、 明文文件、 任何人类语言文本文件等) 中的一个 或多个登记的数据元组合。对象可在网络中被捕获并且被格式化以便于传输 (例如, HTML、 FTP、 SMTP、 Webmail 等) 或存储在数据库、 文件系统或其它存储仓库中。在一个实施例中, 当。

31、 在对象中检测到登记的数据元组合 (即, 以登记列表的一个元组表示) 中的所有数据元时, 可对事件加标志或进行确认, 并且可防止传送对象和 / 或可以将对象报告给网络操作员或 其它被授权人以进行监控并采取任何适当的补救措施。在其它实施例中, 如果在对象中找 到登记的数据元组合的特定阈值量, 则可确认一个事件。 0026 为了示出数据组合保护系统10的技术, 重要的是理解诸如图1所示的网络的既定 网络中可能存在的活动和安全考虑。下面的基础性信息可被视为正确地解释本公开的基 础。 仅为说明的目的而认真提供这种信息, 因此, 不应被解释为以任何方式限制本公开的宽 泛范围及其可能的应用。 0027 许。

32、多安全环境中的挑战是控制机密电子数据的能力。在一个示例性的安全问题 中, 许多组织收集并存储能够用于识别可能与组织相关联或者可能仅为普通公共机构或其 各部门的成员的个体的数据。该敏感数据可以包括例如姓名、 社会安全号码、 信用卡号码、 地址、 电话号码、 出生日期、 国籍、 账号、 雇员、 婚姻状况等。 对象中的仅敏感数据元或者甚至 对象中的少量敏感数据元可能不具有充分的区别性以识别特定的人或透露机密信息。然 而, 随着对象内与特定人相关联的敏感数据元的数量增加, 人变得可识别的可能性也增加, 并且因此, 暴露相关机密信息的风险增大。 类似地, 其它类型的机密信息也可能随着与机密 信息相关的关。

33、联数据元 (例如, 与知识产权、 公司金融数据、 机密政府信息等相关的数据元) 的数量增加而变得可识别。 0028 各联邦和州的法律也通过一些组织或实体来规定个体非公共个人信息以及个 人可识别信息的披露。例如, 1996 年的健康保险可携性和责任法案 (Health Insurance Portability and Accountability Act) (HIPAA)规定 : 如果信息是个体可识别的 (即, 包含诸如姓名、 地址、 出生日期、 社会安全号码或可用于识别特定人的其它信息的信 息) , 则使用和披露受保护的健康信息 (PHI) 。类似地, 1999 年的金融服务业现代化法案 (。

34、Gramm-Leach-Bliley Act) (GLBA) 寻求通过规定金融机构对非公共个人信息的披露来保 护个体的个人金融信息。在另一示例中, 支付卡行业 (Payment Card Industry)(PCI) 数据 安全标准也规定支付卡上的数据元的使用和披露。 这些规定可禁止未经授权散播包括可能 识别特定个体及其个人信息的预定数据元组合 (例如, 姓名、 社会安全号码和出生日期) 的 电子数据。 0029 监控用于敏感数据元的对象由于多种原因可能存在问题。首先, 保持在一些网络 中的数据量要求复杂的处理技术来最小化网络性能退化。仅仅是美国的大概 3 亿人, 与那 些个体相关的数据元的数。

35、量会快速增加到数十亿的数据元。 标准的计算机存储器和处理能 说 明 书 CN 103430504 A 9 4/22 页 10 力需要进行优化, 从而高效地处理对象以登记并评估数十亿的数据元。 0030 因为一些数据不总是以标准格式存在, 所以出现了另外的监控问题。 例如, 多种格 式可用于出生日期 (例如,6 月 25 日, 1964 、06-25-1964 、1964 年 5 月 25 日 等) 或电 话号码 (例如, (000) 000-0000 、000-000-0000 、000.000.0000 等) 。在一个示例性场 景中, 数据元可以一种格式存储在网络中, 并且随后以不同的格式披。

36、露于对象中。然而, 规 定以及对于未经授权数据披露的最终惩罚可应用于机密信息的披露, 而不考虑在该披露中 使用的格式。因此, 检测对象中的敏感数据元要求识别特定数据的各种格式。 0031 电子数据能够电子共享的多种格式还可能阻碍安全系统成功地监控机密信息的 电子披露。能够以多种配置提供电子数据 (例如, 具有预定义的列和行的电子表单、 电子邮 件消息、 文字处理文件、 数据库、 使用限定协议格式化的发送对象, 等等) 。结果是, 在监控数 据元指定组合的系统中, 这些元件可能无需位于同一指定组合的其它相关数据元紧附近。 特定的指定组合中的数据元可由对象内的词语、 格式化字符、 线或任何分隔符或。

37、定界符分 隔开。需要复杂的技术来评估和确认包含数据元的指定组合的对象, 而不考虑这种数据元 出现在对象内的何处。 0032 用于保护图 1 所列出的指定数据组合的系统能够解决这些问题中的许多问题。根 据数据组合保护系统 10 的一个示例性实现, 登记系统 22 设置在网络 100 中, 以创建待监控 的数据元的指定组合或集合的登记列表。 登记系统能够识别并登记以各种字符格式或模式 呈现的数据元, 并且所述数据元是以在每个数据元集合之间具有预定义的定界符的各种电 子文件格式提供的。多个检测系统 24、 26 和 28 还可以设置为评估网络环境中捕获和 / 或 存储的对象, 以确定哪个对象包含一个。

38、或多个登记的数据元集合。检测系统可被配置为识 别对象内的数据元, 并且确定登记的数据元组合中的每个数据元是否包含在对象的界限内 的某位置。 可通过检测系统以优化计算机资源并使得任何网络性能问题最小化的方式索引 并搜索登记列表。 0033 注意的是, 在该说明书中, 对包括在 “一个实施例” 、“示例性实施例” 、“实施例” 、 “另一实施例” 、“一些实施例” 、“各种实施例” 、“其它实施例” 、“可选实施例” 等中的各特征 (例如, 元件、 结构、 模块、 部件、 步骤等) 的指代意在表示任何这样的特征可包含在本公开的 一个或多个实施例中, 但是可以或者可以不必要地包括在同一实施例中。 0。

39、034 转到图1的基础结构, 数据组合保护系统10可实现在示例性网络100中, 网络100 可配置为局域网 (LAN) , 并且可利用各种有线配置 (例如, 以太网) 和 / 或无线技术 (例如, IEEE802.11x) 来实现。在一个实施例中, 网络 100 通过因特网服务提供商 (ISP) 或者通过 具有专用带宽的因特网服务器来与因特网 180 可操作地耦合。网络 100 还可连接到配置 为 LAN 或任何其它适当的网络类型的其它逻辑上不同的网络。此外, 网络 100 可适当地以 及根据特定需要而由任何其它类型的网络来替代。这些网络包括无线 LAN(WLAN) 、 城域网 (MAN) 、。

40、 宽域网 (WAN) 、 虚拟私人网络 (VPN) , 或有利于网络环境中的通信的任何其它适当的 架构或系统。与因特网 180 和其它逻辑上不同的网络的连接可以包括任何适当的介质, 例 如数字用户线路 (DSL) 、 电话线路、 T1 线路、 T3 线路、 无线、 卫星、 光纤、 电缆、 以太网等或其 任意组合。诸如网关、 路由器、 交换机 (例如, 172) 等多种网络部件可用于有助于网络 100 内 的电子通信以及网络100、 因特网180以及任何其它与网络100链接的逻辑上不同的网络之 间的电子通信。 说 明 书 CN 103430504 A 10 5/22 页 11 0035 网络 1。

41、00 可配置为容许传输控制协议 / 互联网协议 (TCP/IP) 通信, 以用于电子分 组的传输或接收。网络 100 还可以适当地以及基于特定需要与用户数据报协议 /IP(UDP/ IP) 或任何其它适合的协议相结合地运行。另外, 电子邮件网关 162 可允许与网络 100 可操 作地连接的客户端计算机 (诸如客户端设备 130) 利用简单邮件传递协议 (SMTP) 或任何其 它适合的协议来发送和接收电子邮件消息。 0036 客户端设备 130 代表希望影响或管理网络 100 中的电子通信的一个或多个端点 或顾客。术语 “客户端设备” 可包含用于发起电子通信的设备, 诸如计算机、 个人数字助理。

42、 (PDA) 、 膝上型计算机或电子笔记本、 蜂窝电话或任何其它设备、 部件、 元件或能够发起网络 100 内的语音、 音频或数据交换的对象。端点还可以包括与人类用户的适当接口, 诸如麦克 风、 显示器或键盘或其它终端设备。端点还可以为试图代表另一实体或元件发起电子通信 的任何设备, 诸如程序、 数据库或任何其它部件、 设备、 元件或能够发起网络 100 内的语音 或数据交换的对象。 0037 具有登记和检测系统的网络装置能够提供网络 100 中的数据组合保护系统 10, 其 能够保护而免于无意或故意的信息泄漏, 其中泄漏数据的特定组合可能会潜在暴露机密信 息。这些网络装置能够访问与网络配置相。

43、关联的通信路径, 使得一个或多个装置能够访问 电子邮件流量、 其它网络流量或仅驻存在商业基础结构中的某位置 (例如, 服务器上、 仓库 等等) 的数据。特别地, 具有登记系统 22 的网络装置 12 能够部署于网络 100 中, 用以访问 包含敏感数据元的数据库和仓库 112。登记系统 22 能够登记来自数据库和仓库 112 或者 来自适当格式的其它文件或对象的特定数据组合。登记的数据组合能够由网络装置 14、 16 和 18 的检测系统 24、 26 和 28 使用, 以检测网络流量中的任何完整的登记数据组合或其预 定部分的泄漏, 或者用于检测驻存在商业基础结构的未经授权部门中的这种数据组合。

44、或其 预定部分的存在。 0038 具有检测系统 24、 26 和 28 的网络装置 14、 16 和 18 能够部署在网络出口点 (例如, 电子邮件网关 162、 web 网关 164、 交换机 172 等) 处, 以保护内到外以及内到内的网络流量。 当网络装置检测到风险事件时, 其能够警告管理员, 而管理员能够衡量现有的基础结构以 阻挡或隔离敏感信息以免其离开网络。 作为利用诸如网络分流器或流量镜像的被动拦截技 术部署的设备, 网络装置能够非破坏性地操作, 无需改变应用程序、 服务器、 工作站或其网 络自身。网络装置能够实时地监控并分析所有的应用程序、 协议和内容类型并触发执行动 作。 00。

45、39 图 1 所示的网络装置 30 中的数据保护管理器 32 可设计成数据组合保护系统 10 的简化管理, 因为其能够提供集中化接口以管理遍及多个网络装置的登记系统 22 和所有 的检测系统 24、 26 和 28。数据保护管理器 32 可被配置为集中地维护由登记系统 22 和检测 系统 24、 26 和 28 生成的数据, 并且协调能够驻存于如图 1 所示的各网络装置中的分布式登 记和检测系统之间的数据流。特别地, 一个实施例包括由登记系统 22 创建的登记列表和所 述登记列表的索引, 登记列表和所述登记列表的索引能够由数据保护管理器 32 分配给分 布式检测系统 24、 26 和 28 中。

46、的每个。 0040 数据保护管理器 32 还可配置成允许经授权的安全专业人员 (例如, IT 管理员、 网 络操作员等) 来确定将何种数据输入提供给登记系统 22, 包括哪个数据库或其它仓库登记 系统 22 爬取数据输入, 来指定与个体检测系统相关联的强制执行或监控状态, 并且指定谁 说 明 书 CN 103430504 A 11 6/22 页 12 能够访问对应的查找结果。强制执行动作能够包括警告适当的管理员、 引导强制执行设备 阻挡或隔离可疑流量、 和 / 或对流量进行报告。监控动作能够包括警告适当的管理员和 / 或对可疑流量进行报告, 而没有阻挡或隔离动作。 0041 数据保护管理器 3。

47、2 还可以提供集中的查询机构, 其允许组织快速地搜索同时包 含于多个分布式网络装置上的捕获数据库。 通过允许管理员统一地浏览遍及部署有网络装 置的网络中的点所捕获的所有历史数据, 组织能够快速地执行取证分析、 行为调查, 并且衡 量捕获数据来更新安全形势从而保护敏感信息或处理出现的威胁。另外, 数据保护管理器 可以提供统一的报告和诊断信息。 0042 一个或多个表格和列表可包括在这些网络装置中。在一些实施例中, 这些表格和 列表可从外部提供给这些元件或以任何适当的方式合并。 表格和列表为用于存储待由其对 应网络装置参考的信息的存储器元件。如该文件中所使用的, 术语 “表格” 和 “列表” 包括。

48、能 够维护与本说明书中在此详细描述的操作有关的信息的任何适当的数据库或存储介质 (以 任何适当的格式提供) 。例如, 表格和列表可以将信息存储在电子寄存器、 图表、 记录、 索引 或队列中。 表格和列表可将这些信息适当地以及根据特定需要而保存在任何适当的随机存 取存储器 (RAM) 、 只读存储器 (ROM) 、 可擦除可编程 ROM(EPROM) 、 电可擦除 PROM(EEPROM) 、 专用集成电路 (ASIC) 、 软件、 硬件或任何其它适合的部件、 设备、 元件或对象中。 0043 捕获系统 29 还可以为一个或多个网络装置 (诸如网络装置 18) 的一部分 (或与一 个或多个网络装。

49、置耦合) , 并且可与对应的捕获数据库 118 可操作地连接。在一个示例性实 施例中, 捕获系统 29 可以为如 William Deninger 等人于 2009 年 1 月 23 日递交的、 发明名 称为 “SYSTEM AND METHOD FOR INTELLIGENT STATE MANAGEMENT” 、 共同未决的美国临时专 利申请序列 No.12/358,399 中所图示和所描述的捕获系统, 该申请在前文中以引用方式全 部并入本文。捕获系统 29 可配置为拦截离开网络 (例如网络 100) 的数据, 或者与网络 (例 如网络 100) 进行内部通信的数据。捕获系统 29 能够对离开网络或在内部通信的对象 (例 如, 文件或其它文档) 进行重构, 并且以可搜索方式将经过重构的对象存储在例如捕获数据 库 118 中。 0044 在一些实施例中, 捕获系统 29 还可与网络 100 的其它各检测系统 24 和 26 相结合 地实现, 以捕获来自对应出口点 (例如, 电子邮件网关 162 和 web 网关 164) 的数据。捕获系 统 29 还可以与其它相关联的但是逻。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1