用于处理网络元数据的流式传输方法和系统的制作方法

文档序号:7994048阅读:354来源:国知局
用于处理网络元数据的流式传输方法和系统的制作方法
【专利摘要】本发明描述一种用于处理网络元数据的方法和系统。可以通过动态地实例化的可执行软件模块来处理网络元数据,所述动态地实例化的可执行软件模块关于网络元数据的特性和关于网络元数据向网络元数据所承载的信息的消耗方的呈现作出基于策略的决策。可以对所述网络元数据进行类型分类,并且可以通过唯一指纹值将类型内的每一子类映射到一个定义。可以使用所述指纹值根据相关策略和变换规则匹配所述网络元数据子类。对于例如NetFlow?v9等基于模板的网络元数据,本发明的一实施例可以不断地监控网络业务以发现未知的模板、捕获模板定义,并且告知管理员不存在定制策略和转换规则的模板。转换模块可以高效地将所选类型和/或子类的网络元数据转换成替代的元数据格式。
【专利说明】用于处理网络元数据的流式传输方法和系统

【技术领域】
[0001] 总的来说本发明涉及网络监控和事件管理。更确切地说,本发明涉及处理通过网 络监控活动和随后对元数据的处理而获得的网络元数据,这可以高效地使得有用信息用及 时的方式被报告给元数据的消耗方。

【背景技术】
[0002] 网络监控是企业和服务提供者经常使用的一种至关重要的信息技术(IT)功能, 其涉及监视在内部网络上发生的活动以便发现与性能有关的问题、有不当操作的主机、可 疑的用户活动等。由于多个网络装置提供的信息,所以可以进行网络监控。所述信息总地 来说被称作网络元数据,即,描述网络上的活动的与经由网络发射的其余信息补充和互补 的一类信息。
[0003] Syslog是常用于网络监控的一种类型的网络元数据。Syslog是用于记录程序 消息的一种标准,并且提供原本将不能够传送用以通知管理员问题或性能的手段的装置。 Syslog通常用于计算机系统管理和安全审核以及一般化的信息、分析和调试消息。多种多 样的装置(比如打印机和路由器)和接收器跨越多个平台支持syslog。因为这一点,syslog 可以用于将来自许多不同类型的系统的日志数据集成到中心储存库中。
[0004] 最近,另一种类型的网络元数据(被多个供应商称为NetFlow、jFlow、sFlow等) 也被作为标准网络业务的一部分引入(下文总地来说被称作"NetFlow")。NetFlow是用于 收集IP业务信息的已成为业务监控的业界标准的一种网络协议。NetFlow可以通过例如路 由器、交换机、防火墙、入侵检测系统(IDS)、入侵保护系统(IPS)、网络地址翻译(NAT)实体 和许多其它装置等多种网络装置产生。但是,直至近年来,NetFlow网络元数据一直被专门 用于事后网络监管目的,例如网络拓扑发现、定位网络吞吐量瓶颈、服务水平协议(SLA)验 证等。NetFlow元数据的此有限使用总地来说可以归因于网络装置产生的信息的大量和高 传递速率、信息源的多样性和将额外信息流集成到现有事件分析器中的整体复杂度。更具 体来说,NetFlow元数据产生方产生的信息通常比在实时设置中消耗方可以分析和使用的 信息多。举例来说,网络上的单个中等到大型交换机可能每秒产生400, 000份NetFlow记 录。
[0005] 现今的syslog收集器、syslog分析器、安全信息管理(SM)系统、安全事件管理 (SEM)系统、安全信息和事件管理(SIEM)系统等(下文统称为"SIEM系统")或者不能接收 和分析NetFlow、或者限于处理NetFlow包中容纳的基本信息,或者对NetFlow包的处理速 率比此类包的通常产生速率低许多。
[0006] 例如 NetFlow v9(RFC3954)和 IPFIX(RFC5101 和相关 IETF RFC)等稳固网络监控 协议的出现大幅度地扩展了在网络安全和智能网络管理领域使用网络元数据的机会。同 时,由于上文所指出的约束,所以现今的系统除了简单地报告观察到的字节和包计数之外 总地来说不能够利用网络监控信息。


【发明内容】

[0007] 网络管理方和网络安全专业人员不断地面对和对抗业界通常称为"大数据"的问 题。大数据问题产生的一些问题包含无法分析和存储大量的通常以不同格式和结构存在的 机器产生的数据。通常经历的问题可以概括如下:
[0008] 1.要实时分析以获得对网络条件的及时洞察的数据太多。
[0009] 2.数据从网络上的不同装置类型以不同格式到达,从而使得来自不同装置类型的 数据的相关困难并且缓慢;以及
[0010] 3.要存储的数据太多(例如,为了稍后分析和/或为了遵守数据保存要求)。
[0011] 本发明提供了一种能够解决与大数据相关联的所有以上所识别的问题的系统和 方法,方法是通过提供以下能力:实时分析大量元数据,将大量元数据转换成允许与单个监 控系统内的其它数据容易地相关的常用格式,和通过例如包验证、过滤、集合和去除重复等 实时数据减少技术显著减少传入数据量。
[0012] 本发明的实施例能够检查网络元数据传入包的有效性,并且丢弃残缺的或不当的 消息。实施例还能够实时地检查和过滤网络元数据传入包,以便识别其信息内容和片段的 相关方面,或路由传入网络元数据的不同流以便在本发明的处理引擎内进行不同处理。此 不同处理中包含着减少输出元数据业务的概率,方法是通过基于可以由网络管理方配置并 且在及早检查传入消息的过程中所确定的准则来丢弃特定消息或所选消息流。这使得网络 管理方能够使网络分析在进行中的基础上聚焦网络分析或响应于特定网络条件暂时聚焦 网络分析。作为一实例,网络管理方可以选择将注意力集中于仅仅网络上的边缘装置产生 的系统内的网络元数据以便研究可能的入侵事件。
[0013] 本发明的实施例进一步能够集合网络元数据传入包中含有的信息内容,并且将大 数量的相关包替换成捕获相同信息但比原始元数据流产生小得多的下游显示、分析和存储 要求的一个或小得多的数目的其它包。
[0014] 本发明的实施例进一步能够将网络装置产生的正常元数据流的内容去除重复。因 为传入业务通常在网络内穿过一序列的网络装置路由到其目的地装置,并且因为每一网络 装置通常为穿越它的每一流产生网络元数据,所以会产生大量冗余元数据,这会促成业界 中的大数据问题。
[0015] 本发明涉及一种能够接收任意结构化数据(例如,网络或机器产生的元数据,采 用多种数据格式(下文中的网络元数据)、高效地处理网络元数据和转发接收到的网络元 数据和/或从原始网络元数据导出的多种数据格式的网络元数据的系统和方法。网络元 数据可以通过例如路由器、交换机、防火墙、入侵检测系统(IDS)、入侵保护系统(IPS)、网 络地址翻译(NAT)实体和许多其它装置等多种网络装置产生。网络元数据信息用多种格式 产生,包含但不限于NetFlow和其变化形式,(例如,jFlow、cflowd、sFlow、IPFIX)、SNMP、 SMTP、syslog等。本文所述的方法和系统能够用多种格式输出网络元数据信息,包含但不 限于 NetFlow 和其版本,(jFlow、cflowd、sFlow、IPFIX)、SNMP、SMTP、syslog、OpenFlow 等。 此外,本发明的实施例能够用足以允许提供实时或近实时网络服务的速率输出所选类型的 网络元数据信息。因此,所述系统能够在具有N(N > 1)个网络元数据产生方和M(M > 1) 个原始或衍生网络元数据消耗方的部署中提供有意义的服务。可以理解,本发明的特定实 施例符合RFC5982中反映的IPFIX调介装置的定义。
[0016] 本发明的实施例提供一种用于识别接收到的网络元数据的性质、特性和/或类型 ("类")并且将接收到的信息组织成类别或类的方法和系统。这在用于与NetFlow V9和 基于模板的类似消息关联时可能特别有用,并且可以具有多种不同的内容和目的。一旦被 归类或分类,就可以进一步根据零、一个或多个类特定处理规则或根据默认处理规则("策 略")来处理每一单独的类成员例子。本发明的这个方面使得能够对无限种类的网络元数 据类型进行精细粒度的处理。
[0017] 通过在操作的早期阶段识别传入网络元数据的类,实施例能够高效地组织对网络 元数据的处理,并且在适当情况下,通过过滤、合并和/或排除系统管理员兴趣有限的网络 元数据部分来减少必需的处理量,由此促成系统的实时或近实时操作,并且潜在地减少网 络元数据收集器处的存储要求。举例来说,随着网络业务的特定主体穿越网络中的多个装 置,可以从每一穿越装置产生含有冗余信息的网络元数据。依据SIEM系统内定义的监控焦 点或区域,可能需要从被转发到SIEM系统的元数据流过滤、集合、合并或消除含有冗余信 息的元数据记录。可以引入从针对SIEM系统的某些类的网络元数据移除冗余性的策略,同 时为针对收集器的流保存所有此元数据。
[0018] 因而将理解,可以用支持在网络内操作的SIEM系统和/或元数据收集器的策略或 焦点区域和/或与之协调的方式定义本发明的实施例所实施的策略。
[0019] 可以出于检测重要或不寻常的网络事件(可能指示安全攻击)、报告网络上的业 务尖峰、检测网络上的攻击、促进对网络资源的更好使用和/或识别在网络上运行的应用 的目的引入策略,以便实现网络管理和安全的目的。策略可以是通用的或基于时间的,并且 可以应用于穿过网络的特定类或子集的网络元数据。本发明的一实施例涵盖提供与多个策 略模块协作操作以便增加系统吞吐量和性能的多个工作线程。
[0020] 可以引入专门或经过调谐用于特定类或子类的网络元数据以便进一步增强系统 性能和吞吐量的工作线程。此类专门工作线程和策略模块可以并联地对网络元数据流的不 同部分执行处理操作,以便增强系统性能和吞吐量。此外,响应于大量特定类或子类的网络 元数据,可以将专门工作线程和/或策略模块的多个例子实例化以并联操作,以便进一步 增强系统性能和吞吐量。
[0021] 举例来说,本发明的实施例提供检测驻留在内部网络上的受外部控制的网络主机 ("僵尸网络成员")的独特能力。考虑通过中央控制器("僵尸网络主装置")操作的受到 感染的网络主机。通常,检测网络主机上的恶意内容需要在所述主机上安装专用插件模块。 这种方法并不对抗通过任何基于主机的手段无法检测的复杂恶意代理("根套件")。本发 明的实施例引入一种能够识别和通知安全系统僵尸网络主装置与内部网络上的僵尸网络 成员之间的通信的动作的策略。
[0022] 由于使用网络元数据信息,所以本发明提供的智能实现比通过暴露于网络业务的 类似用途装置提供的智能更高的可信程度。举例来说,暴露于恶意业务的在线入侵检测系 统(IDS)或入侵检测系统(IPS)可能被破解或遭受拒绝服务("DoS")攻击,而本发明可以 部署在此类攻击无法接入的内部网络上。
[0023] 另外,本发明能够变换网络元数据,这使得其适合于需要网络元数据模糊处理的 部署。
[0024] 根据本发明的另一实施例,所述方法和系统可以用流式传输方式实施,S卩,在输入 网络元数据到达时对其进行处理("实时或近实时"),而不需要求助网络元数据的永久性 存储。本发明的这个实施例允许在具有有限存储空间和存储容量的计算机上部署所述系统 和方法,这使得实施例尤其好地适合于部署在计算云中。
[0025] 在根据一个策略或多个策略处理类成员例子之后,本发明的实施例可以提供一种 用于将策略的应用的结果转换成适合于通过转换的网络元数据或原始网络元数据的接收 者进一步处理的零、一个或多个表示的高效方法("转换器")。因此,本文所揭示的系统和 方法格外好地适合于部署在现有环境中,其中其输出可以被引导而朝向现有的不同组件, 例如适于与syslog元数据一起使用的SIEM系统。
[0026] 本发明的一实施例提供多个转换器,其可以被定制而用于特定类的网络元数据和 /或输出格式,由此增加系统的吞吐量以便更好地实现网络上的实时或近实时服务。此外, 响应于大量特定类或子类的网络元数据,可以将定制工作线程和/或转换模块的多个例子 实例化以并联操作,以便进一步增强系统性能和吞吐量。
[0027] 另外,本发明的实施例能够通过附加消息验证代码而确保转换的网络元数据的完 整性。本发明的这个实施例使得复杂网络元数据接收者能够验证接收到的信息的真实性。
[0028] 本发明的又一实施例是能够用对于现有网络生态系统透明的方式部署所述系统 和方法。这个实施例不需要现有网络组件的配置有任何变化。
[0029] 本发明的另一实施例提供一种用于以视觉或以文本术语或其组合描述网络元数 据处理和转换规则的方法和设备。一旦策略的描述完成并且被验证为不矛盾,那么适用于 接受所述规则的一类成员的策略和转换器就可以实例化为同时从网络元数据处理和转换 规则定义中的一个或多个导出的一个或多个可执行模块。因此,跨越多个模块实现系统策 略一致性。另外,实施策略和转换规则的模块的二进制性质使得系统能够以明显地超过解 释可比较处理规则的环境中的处理速率的速率处置输入网络元数据。

【专利附图】

【附图说明】
[0030] 为了可以更加明确地确定本发明,现在将借助于实例参看附图描述一些实施例, 其中:
[0031] 图1提供根据本发明的实施例的包含产生可以分析的元数据的多种网络装置的 网络系统的简化示意图;
[0032] 图2提供包含产生元数据的多种网络装置和根据本发明的实施例的用于分析此 元数据的系统的网络系统的简化示意图;
[0033] 图3提供包含根据本发明的实施例产生可以分析的元数据的多种网络装置和根 据本发明的实施例经过分析的元数据可以提供到的网络装置的网络系统的简化示意图;
[0034] 图4提供根据本发明的实施例的包含协作分析元数据的多种处理模块的网络系 统的简化示意图;
[0035] 图5提供根据本发明的实施例的协作分析元数据的处理模块的一些部分的更详 细示意图;
[0036] 图6是说明根据本发明的实施例的可用于分析元数据的一个逻辑流的表;
[0037] 图7提供说明根据本发明的实施例的元数据的数据结构和协作分析元数据的多 种处理模块的简化示意图;
[0038] 图8提供根据本发明的实施例的协作分析元数据的多种处理模块的简化示意图;
[0039] 图9提供说明根据本发明的实施例的协作分析元数据的多种处理模块的简化框 图和流程图;
[0040] 图9a提供说明根据本发明的实施例可以实施的策略的简化框图和流程图;
[0041] 图9b提供说明根据本发明的实施例可以实施的另一策略的简化框图和流程图;
[0042] 图9c提供说明根据本发明的实施例可以实施的另一策略的简化框图和流程图;
[0043] 图9d提供说明根据本发明的实施例可以实施的另一策略的简化框图和流程图;
[0044] 图9e提供说明根据本发明的实施例可以实施的另一策略的简化框图和流程图;
[0045] 图9f提供说明根据本发明的实施例可以实施的另一策略的简化框图和流程图;
[0046] 图9x提供说明根据本发明的实施例可以实施的另一策略的简化框图和流程图;
[0047] 图10提供说明根据本发明的实施例将NetFlow元数据转换和分析成OpenFlow的 简化框图和流程图;
[0048] 图11提供说明根据本发明的实施例处理Syslog元数据的简化框图和流程图;
[0049] 图11a提供说明根据本发明的实施例的大型网络的分支子网中的元数据的处理 的简化框图;
[0050] 图lib提供说明根据本发明的实施例的大型网络的分支子网中的元数据的处理 的简化框图;
[0051] 图11c提供说明根据本发明的实施例的基于云的实施方案中的网络中的元数据 的处理的简化框图;
[0052] 图12提供说明根据本发明的实施例的网络中的元数据的路由的简化框图;以及
[0053] 图13提供说明根据本发明的实施例的网络中对一般化的格式的元数据的分析和 路由的简化框图。

【具体实施方式】
[0054] 总的来说本发明涉及网络监控和事件管理。更确切地说本发明涉及处理由于网络 监控活动和随后处理元数据所获得的网络元数据,这可以使得有用信息用及时的方式被报 告给事件管理实体。
[0055] 在以下描述中,仅仅出于说明的目的,在网络元数据处理的背景下揭示本发明。但 是,应了解,本发明适合于多种多样的应用和使用,并且本发明的某些实施例在除了网络元 数据处理之外的背景下也适用。举例来说,在兼容OpenFlow的环境中,系统可以从网络接 收NetFlow信息,并且向OpenFlow控制器输出指令。
[0056] 在本发明的一个实施例中,所述方法和系统可以使用NetFlow/Syslog转换器 ("NF2SL")实施,NetFlow/Syslog 转换器是能够集成 NetFlow 版本 1 到 8、NetFlow v9、 jFlow、sflowd、sFlow、NetStream、IPFIX 和具有任何能够处理 syslog 的 SIEM 系统的类 似("NetFlow")产生方的软件程序。所述集成是通过将通过网络上的NetFlow产生方产 生的网络元数据转换成网络监控系统的通用语言(lingua franCa)-syslog而实现的。将 NetFlow信息映射成对应syslog信息可以根据由NF2SL管理员建立的策略、规则和优先级 来执行。
[0057] 现今的syslog收集器、syslog分析器、SIM、SEM和SIEM系统等(下文中统称为 "SIEM系统")不能接收和分析NetFlow,或限于处理NetFlow包中容纳的基本信息,或执行 这些操作的速率较低,这会限制结果的及时性和有用性。经由NF2SL系统实施的本发明的 实施例可以充当网络上的NetFlow产生方与SIEM系统之间的智能中间设备,从而使得SIEM 系统能够以原本不可能实现的粒度、深度和速度来评估信息。
[0058] 当部署在网络上时,NF2SL系统的实施例总地来说可以包含以下功能:接收 NetFlow包、识别和分类包中的NetFlow记录、对照NF2SL管理员提供的策略匹配在接收到 的包中找到的NetFlow记录、根据适用的策略处理NetFlow记录、将NetFlow记录中的信息 映射成NF2SL管理员规定的syslog包、将接收到的、联合的和/或新产生的NetFlow记录 从NetFlow格式转换成syslog格式,和将所得的syslog包转发给一个或多个指定SIEM系 统。此NF2SL系统可以明显地增加信息源的数目和可供SIEM系统用于数据分析和相关的 有用信息的量和及时性。
[0059] 图1描绘示范性网络,其包括首端路由器100、外部防火墙101、内部防火墙102、 在"DMZ"网络中部署在防火墙101与102之间的公开可用的网络服务器103、数据中心交换 机104和应用服务器105。在典型部署中,以上实体经配置以将所产生的syslog消息转发 给SIEM系统106。向SIEM系统106报告syslog消息的实体的示范性集合被识别为"群组 A"。
[0060] 参看图2,当将使用NF2SL系统107实施的本发明的一实施例引入到网络中时,首 端路由器100、外部防火墙101、内部防火墙102和数据中心交换机104中的一个或多个可 以经配置用于将NetFlow消息导出给NF2SL系统107。在这个示范性网络拓扑中,NF2SL系 统107接收NetFlow包中的网络元数据、识别和/或分类NetFlow记录、根据NF2SL管理 员配置的策略来处理在这些包中找到的网络元数据(包含过滤以寻找和集合特别关注的 NetFlow消息)、任选地产生此处理所得的额外NetFlow消息、将NetFlow消息中的所选消 息高效地转换成syslog消息,和将所得的syslog消息转发给SIEM系统106。因而,网络首 端路由器100、外部防火墙101、内部防火墙102、网络服务器103、应用服务器105和数据中 心交换机104 (NF2SL系统107的NetFlow产生方配置在其上)的网络接口包括"实时"或 接近实时地向SIEM系统106报告可能有用的信息(通过NF2SL系统107调解)的额外群 组的实体。经由NF2SL系统向SIEM系统106报告的实体的集合被识别为"群组B"。
[0061] 比较图1和图2上的信息源的数目,可以容易认识到,引入图2的NF2SL系统107 几乎实际上使向SIEM系统106产生适合于相关和分析的数据的可能信息源的数目加倍。本 发明的这个方面明显地增加了对于网络上的状况和活动的可见度。
[0062] 本发明的这个实施例的又一方面是NF2SL系统实施方案的通用性。由于其与平台 无关的性质,可以(但不限于)在专用网络电器上、独立服务器上、基于云的虚拟机上或任 何其它联网计算装置上实施NF2SL系统。因此,用户可以选择最好地满足其需要和预算的 NF2SL实施方案。其还可以被实施以从所选的网络装置而非从网络上的所有产生NetFlow 的装置接收NetFlow信息。
[0063] 图3展示配合NetFlow产生方和syslog和NetFlow消耗方的示范性NF2SL系统 部署。在这个实施例中,NF2SL系统107从由路由器120和交换机121表示的NetFlow产 生方的示范性集合接收NetFlow消息122。在根据NF2SL管理员供应的策略处理接收到的 NetFlow消息后,NF2SL系统107即刻将所得的syslog消息124转发给图3上通过SIEM系 统/syslog分析器125和syslog收集器126举例说明的syslog信息消耗方的集合。必 要时,NF2SL系统107还可经配置以将原始NetFlow消息、原始NetFlow消息的子集或原始 NetFlow消息123的超集转发给NetFlow收集器装置127。顺应规则通常要求网络管理员分 别在syslog收集器126和NetFlow收集器127中保持所有syslog和NetFlow消息业务。
[0064] 参看图3,在NetFlow收集器装置127已经部署在网络上并且路由器120和交换机 121在向NetFlow收集器装置127导出NetFlow信息的情形中,NF2SL系统107可以(举例 来说)用几种不同的示范性方式相对于NetFlow产生方路由器120和交换机121和NetFlow 收集器装置127配置,例如:
[0065] -路由器120和交换机121配置可以经过修正以将NetFlow消息122转发给NF2SL 系统107,并且NF2SL系统107可经配置以将所得的NetFlow消息123转发给NetFlow收集 器装置127。
[0066] -NetFlow收集器装置127的IP地址可以经过修正并且被指派给NF2SL系统107。 后者接着接收NetFlow消息122,并且可以将那些消息转发给新指派给NetFlow收集器装置 127的IP地址。
[0067] -NF2SL系统107可以用"混杂"模式部署,在这种模式中,所有在局域网上经过的 业务都可以由NF2SL系统107看见,并且因而使得NF2SL系统对于NetFlow收集器装置127 来说全部是透明的。这个NF2SL系统107部署模式要求的努力最少,因为NetFlow收集器 装置127和路由器120和交换机121的配置不改变。使用这个NF2SL系统107部署模式的 缺点是更难提供影响NetFlow消息流122的策略。应了解,在这个部署模式中,NF2SL系统 107仍然能够产生额外消息和将额外消息注入到NetFlow消息流123中。
[0068] NF2SL系统优选地经设计以利用现代的多核处理器,并且可以构造成多线程软件 或固件应用。
[0069] 图4描绘反映 NF2SL系统的功能组件的示范性集合的实施例。参看图4,NF2SL输 入线程(1)141优选地是通过计算机编程代码实施的充当NetFlow产生方(例如,路由器、 交换机等)发出的NetFlow消息140的接收方的逻辑块。可能存在"侦听"从多个NetFlow 产生方传入的NetFlow消息140的一个或多个输入线程141。在一个实施例中,所有输入线 程141可以结合到在配置端口上侦听的单个UDP套接字。
[0070] 在接收到NetFlow消息140后,输入线程141即刻可以对NetFlow消息140执行初 始检查(例如,通过验证其NetFlow协议版本,最小NetFlow消息大小等)。如果接收到的 包未通过初始检查,那么输入线程141可以丢弃消息或用某种其它适当方式处理消息。一 旦包通过初始检查,输入线程141就可以将其传递给NF2SL工作者(W)线程143中的一个, 所述线程也优选地是通过计算机编程代码实施的逻辑块。可以经由轻权重队列机构142或 经由本领域已知的任何其它机构实施NF2SL系统的线程间通信。总的来说,当NF2SL线程 想要将包传递给另一线程时,其可以将包放置在接收方的线程队列上。举例来说,队列机构 142为工作者线程143服务,并且队列机构148为输出线程149服务。在将包放置在队列上 之后,线程即刻向接收方线程发送其具有未决的工作的信号。
[0071] 当选择接收方线程时,NF2SL系统可以使用轮循方法或本领域已知的任何其它机 构。应了解,可以利用例如随机选择或根据限定的优先权状态选择的其它选择方法。
[0072] NF2SL工作者线程143负责执行NF2SL管理员阐述的策略和格式转换变换。NF2SL 策略是NetFlow记录处理规则的集合。策略可以适用于特定的NetFlow记录类型,适用于 一群组的NetFlow记录类型或适用于所有穿过NF2SL系统的NetFlow消息。优选地,策略 被定义成支持和/或补充可在任何可在网络中操作的SIEM系统125中操作的策略,以及定 义所部署的任何syslog和/或NetFlow收集器的操作的策略。
[0073] 当产生或定义策略时,NF2SL管理员还可指定一个或多个基于时间("kron")的 策略。可以通过Kron(K)线程144执行基于时间的NF2SL策略。预计除了这里描述的策略 之外其它类型的策略也是可能的-举例来说,通过某些事件计数、日时等触发的策略。
[0074] NF2SL管理员可以经由内置式⑶I、经由NF2SL软件开发工具包("SDK")或本领 域已知的任何其它机构来编辑策略。当使用GUI方法时,一旦策略定义完成,NF2SL系统就 经配置以产生能够实施这些策略的可执行软件程序(策略模块146)、对应的转换变换(转 换模块147)和基于时间的策略(基于时间的策略模块145),前提是定义了这些模块。在一 示范性实施例中,所产生的软件程序可以编译成动态链接库(DLL或"共享对象")。这些共 享对象可以在运行时加载到NF2SL系统中。或者,预期策略、转换变换和基于时间的策略可 以实例化成单个可执行模块而非内聚的多个可执行模块。
[0075] 可能NF2SL策略和基于时间的策略的范围仅仅受到NetFlow产生方发出的信息的 范围的限制。举例来说,考虑NetFlow产生方(例如,首端路由器),其报告含有关于入站业 务流的信息的NetFlow消息。对应策略可以经过定义以指令NF2SL系统维持以内部网络上 的特定http服务器为目的地的IP包的计数,并且每60秒向SIEM系统125报告累积IP包 计数。SIEM系统125可以有利地利用此信息来通知操作人员异常网络状况。在现有技术实 施方案中通常传递到SIEM系统125的Syslog消息将总地来说不含有足以使得SIEM系统 125能够辨识网络上的此类状况的足够信息。
[0076] 可以定义适用于特定记录类型的一批策略,并且优选地,对照适用于所述记录类 型的所有策略评估在NetFlow消息140中找到的每一记录。网络管理员可以定义与记录类 型有关的一批策略的应用次序或其它优先权逻辑和/或其它可用于定义此次序的逻辑。当 策略评估完成后,处理模块146即刻指示NetFlow记录处理是应继续还是应丢弃所讨论的 记录。策略模块还可选择形成新(衍生)NetFlow消息,NF2SL系统连同或代替从NetFlow 产生方接收到的原始NetFlow消息140中的一个或多个处理所述新NetFlow消息。在一示 范性实施例中,通过基于时间的策略创建的NetFlow消息不受到策略的评估。预期在本发 明的其它实施例中,可以通过一个或多个策略来评估通过基于时间的策略创建的NetFlow 消息。
[0077] 在NetFlow消息140处理的下一个步骤中,工作者线程143可以定位适用于这个 NetFlow记录类型的NetFlow记录/syslog包转换规则("转换规则"),并且调用转换模块 147以执行转换程序。
[0078] NF2SL转换规则是将原始NetFlow记录140或衍生NetFlow记录152映射成一个 或多个syslog或NetFlow消息150的指令的集合。由NF2SL管理员经由NF2SL⑶I指定 在NetFlow记录中找到的信息到经由syslog报告的信息的映射。一个简单转换规则实例 将是在syslog包150中报告NetFlow记录中的所有字段的内容。
[0079] -旦工作者线程143已经向NetFlow消息140中的记录应用所有相关转换规则, 其便将所得syslog包传递到输出(0)线程149中的一个,用于传递到所配置的syslog和 /或NetFlow消息消耗方。
[0080] 应了解,NF2SL系统中的输入线程141、工作者线程143和输出线程149的数目是 可配置的,并且NF2SL系统能够处理更高许多的量的消息业务,因为输入线程141、工作者 线程143和输出线程149的多个例子可以并联操作。
[0081] NF2SL系统拥塞控制机构
[0082] 在一示范性实施例中,为了适应NetFlow业务突发,NF2SL系统可包含拥塞控制机 构。参看图5,NF2SL系统可以使用WRED( "加权随机早期检测")方法来确定工作线程队列 163拥塞水平。
[0083] 每一工作线程165可以具有大小有限的立即工作线程队列163和无界工作线程 WRED队列164。在接收到NetFlow消息MSG160后,输入线程161即刻选择应处理NetFlow 消息MSG160的工作线程165。工作线程165的选择可以用轮询方式进行,或者用任何其它 被认为有利的方式进行。一旦选择了工作线程165,输入线程161就咨询WRED 0raclel62, 其确定应将传入包放置在哪个工作线程165队列上。WRED 0raclel62可以基于当前工作线 程队列163长度和根据WRED方法准则计算的平均队列长度来作出这个确定。
[0084] 在常规负载状况下,WRED 0raclel62可以指令输入线程161将包放置在工作线 程队列163上。在高业务量下,WRED 0raclel62可以使用概率方法来确定NetFlow消息 MSG160是应放置在工作线程队列163上还是工作线程WRED队列164上。随着业务量增长, 将NetFlow消息MSG160放置在工作线程WRED队列164上的概率可能会增加。
[0085] 将NetFlow包MSG160转移到工作线程WRED队列164的概率还可取决于与NetFlow 消息MSG160的特定源相关联的权重。NetFlow源的权重可以由NF2SL管理员确定。
[0086] 应了解,可以在NF2SL系统中使用除了 WRED之外的算法以用于拥塞控制目的。 举例来说,原始RED( "随机早期检测")算法、ARED( "自适应随机早期检测")、思科系统 DBL( "动态缓冲器限制")等可以用于减轻NF2SL系统中的拥塞。
[0087] NF2SL系统NetFlow业务处理规则
[0088] 再次参看图4, NF2SL系统可包含默认转换模块151,NF2SL管理员可以启用所述 默认转换模块以转换没有专用转换模块147的NetFlow记录。默认转换模块151可以实施 默认转换规则,其将NetFlow记录字段映射成类型特定的格式化ASCII串,其前面是字段的 NetFlow类型id,通过冒号(":分开:
[0089] 〈记录字段id> :〈记录字段值〉
[0090] 图6说明在配置或不配置记录特定的策略和转换规则的情况下,并且当启用或不 启用图4上的默认转换模块151时,对类型R的NetFlow数据FlowSet记录("记录R") 的示范性处理。预期可能存在其它用于处理NetFlow数据FlowSet记录的选项,例如当未 配置策略和转换规则和默认转换规则时丢弃接收到的NetFlow消息等。
[0091] 应了解,常用事件报告协议并不提供确保所传递的信息的完整性的内置机构。 NF2SL系统提供能够在NF2SL系统产生的输出消息上附加校验和或其它确保完整性的要素 的高级特征。校验和可以是例如CRC-16等校验码、例如md5、sha-l,FNV等消息散列或其一 部分,或例如HMAC等键控验证码。校验和的存在使得信息的接收器能够在接收到消息后即 刻验证其真实性或在稍后时间验证其真实性。
[0092] 识别和追踪NetFlow v9数据FlowSet记录身份
[0093] 如RFC3954中所描述的NetFlow v9协议向网络管理员提供用于产生丰富的网 络流描述的机构。这个机构是基于模板FlowSets和选项模板FlowSets的概念。模板是 NetFlow产生方在运行时间发出的NetFlow数据记录的字段类型和字段大小的列表。举例 来说,模板字段可以含有在流中观察到的字节的数目。选项模板是含有关于NetFlow产生 方的信息的NetFlow记录的字段类型和字段大小的列表。举例来说,选项模板字段可以含 有发出NetFlow信息的NetFlow产生方的接口的全称。
[0094] NetFlow v9协议的称为NetFlow v5的先前版本定义了单个类型的数据记录。应 了解,可以借助于NetFlow v9协议模板工具描述NetFlow v5记录。这种方法允许将NF2SL 策略和转换机构的益处扩展到NetFlow v5产生方。
[0095] 在引入NetFlow的版本9的情况下,可以用更大许多量的可变性和对应信息和含 义产生NetFlow消息。举例来说,NetFlow版本9消息可包含NetFlow v5消息的所有字段, 并且可以任选地包含额外信息,例如多协议标签切换(MPLS)标签和IPv6地址和端口。但 是,虽然有用性更大,但经设计以解释和使用NetFlow v9消息的系统复杂度也更大。版本9 导出格式使用模板用灵活并且可扩展的方式提供对IP包流的观察结果的接入。模板定义 字段和字段长度的集合,以及对结构和语义的对应描述。
[0096] 下文识别和论述与NetFlow v9相关联的有用术语中的一些:
[0097] IP流或流:IP流(也称为流)是在某一时间间隔期间穿过网络中的观察点的一组 IP包。所有属于特定流的包都具有从包中含有的数据和从观察点处的包处理导出的一组共 用属性。
[0098] 导出器:导出器是启用了 NetFlow服务的装置(举例来说,路由器)。导出器监控 进入观察点的包,并且从这些包产生流。来自这些流的信息用流记录的形式导出。
[0099] 导出包:导出包是在承载这个导出器的流记录的导出器处起始并且其目的地可以 是NetFlow收集器或本发明的NF2SL的包。
[0100] 包标头:包标头是导出包的第一部分。包标头提供关于包的例如NetFlow版本、包 内含有的记录的数目和序列编号等基本信息。
[0101] 模板记录:模板记录定义流数据记录中的字段的结构和解释。
[0102] 模板ID :模板ID是暂时与模板记录相关联的数值。
[0103] 模板流组:模板流组是使模板记录与瞬时模板ID相关联的结构。
[0104] 流数据记录:流记录提供关于在观察点处观察到的IP流的信息。流数据记录是含 有对应于模板记录的流参数的值的数据记录。
[0105] 数据流组:数据流组是组合一个或多个流数据记录与相同模板ID的结构。
[0106] 因而,并且参看图7, NetFlow v9流数据记录204可能不具有将NetFlow v9流数 据记录204结合到众所周知的定义的唯一识别符。实情为,NetFlow v9导出器可以周期性 地发出通过称为模板ID 202的值所识别的NetFlow v9记录模板FlowSet 200。模板ID 202记录类型识别符不结合到特定NetFlow v9流数据记录,并且可以随时间变化,例如,当 NetFlow导出器的配置变化时或当导出器装置重启时。因而,流数据记录204的内容和含义 的定义取决于可能会不可预测地变化的模板。
[0107] NF2SL系统的示范性实施例提供确定和追踪NetFlow v9流数据记录204定义和身 份的一种新颖的方法。应了解,相同或类似方法也可以适用于确定和追踪用于从NetFlow v9导出的协议(例如IPFIX、NetStream、sf lowd等)或在这方面类似于NetFlow v9的协 议(例如IPFIX、NetStream、sflowd等)的网络元数据记录的身份。
[0108] 为了处理模板ID 202值的变化,NF2SL系统计算NetFlow v9模板FlowSet部分 201的校验和。模板ID字段202和字段计数字段217不需要包含在校验和中。经由NetFlow v9模板FlowSet部分201计算的校验和值可以称为"记录指纹"。
[0109] 某些NetFlow v9数据类型定义为具有可变长度(例如,IF_NAME或IF_DESC,其分 别含有接口简称和全称)。当计算含有一个或多个可变大小字段的记录的记录指纹时,可以 假设此类字段的长度是0。
[0110] 应了解,可以使用多个算法(包含但不限于md5、sha-1、sha_256、FNV等)计算校 验和值。在图7的示范性实施例中,NF2SL系统使用md5算法计算NetFlow v9数据流记录 204指纹。
[0111] 当在NF2SL系统上登记时,每一转换器和策略模块可以提供NetFlow v9数据 Fl〇wSetS203(这个模块针对其实施策略或转换规则,或这两者)的函数向量和md5指纹值。 NF2SL系统可以在容器F205中保存指印和模块的函数向量。
[0112] 根据NetFlow v9协议,在发出给定记录类型的NetFlow v9数据FlowSet消息 203之前,NetFlow v9导出器发出相应模板FlowSet消息200,其使随后NetFlow v9数据 FlowSet消息203与某一瞬时模板ID值202 (IdO)相关联。NF2SL系统能够计算NetFlow v9数据Fl〇wSet200记录指纹值(fi),并且使用其作为在容器F205中定位对应于这个特定 模板FlowSet200的条目的关键。如果找到容器F205中的对应条目,那么NF2SL系统可以 在容器R206中创建对象rm208。
[0113] 为了识别多个NetFlow v9导出器,NF2SL系统可以使用NetFlow v9导出器的源 ID和源IP地址连同瞬时模板ID202(Id0)。这个信息可以作为{IdO,源ID,源IP地址}元 组211存储在对象rm208中。
[0114] 除了 {IdO,源ID,源IP地址}元组211之外,对象rm208还可以具有对于与对象 rm208相关联的容器F205中的对象fi207的参考ref(fi)209。如果容器R206中的一个以上 对象与对象fi207相关联,那么收集对于容器R206中的这些对象的参考,并且将其放置在fi 的参考的容器210中。
[0115] 在一示范性实施例中,容器?205和容器1?206实施为4¥14对。丨丨的参考的容器210 被实施为经排序列表。应了解,容器F205、容器R206和fi的参考的容器210可以用例如散 列表、链接列表、红-黑树等不同方式实施。
[0116] 在一示范性实施例中,当NF2SL系统接收到具有模板ID202值IdO的NetFlow v9 数据FlowSet203时,其查看容器R206中的{IdO,源ID,源IP地址}元组211,并且使用参 考ref(fi)209在容器F205中定位对象fi207。对象fi207可以含有执行适用于NetFlow v9 数据Fl〇wSet203的策略的策略模块的函数向量。重复相同的查找程序以定位和执行适用 于NetFlow v9数据FlowSet203的转换规则。
[0117] 应了解,当针对已知源ID、SID和源IP地址(SRC)引入新NetFlow v9模板 FlowSet205模板ID202时,可以考虑以下场景。有用的是注意经由NetFlow v9模板FlowSet 部分201计算的数据流记录204指纹值不改变,并且对象fi207可以容易地在容器F205中 被定位。
[0118] 场景1 :NetFlow v9产生方将模板FlowSet fi模板ID202从IdO改变成Idl
[0119] 在这种情况下,容器R206中不存在元组{Idl,SID,SRC}211。NF2SL系统可以创 建保持元组{Idl,SID,SRC}215的对象rk212,并且将其插入到容器R206中,并且插入到fi 的参考的容器210中。可以在稍后时间的闲置对象清理程序期间从fi的参考的容器210和 容器R206移除与元组{IdO, SID,SRC}相关联的先前存在的对象,或在将元组{Idl,SID, SRC} 215插入到容器R206中并且插入到fi的参考的容器210中之后立刻移除。
[0120] 场景2 :NetFl〇w v9产生方引入与先前已知的模板FlowSet fi模板ID (后者不再 使用)的模板ID相同的模板ID(Idl)的模板FlowSetfj。
[0121] 在这种情况下,元组{IdO,SID,SRC}211已经存在于容器R206中在对象rk212中。 NF2SL系统在容器R206中定位对象rk212,并且推导其是在参考不同模板FlowSetf j213, 而不是先前参考的模板FlowSet fi207。NF2SL系统可以通过比较模板FlowSet fi207与 模板FlowSetf j213的指纹值来检测不匹配。接着NF2SL系统从fi的参考的容器211移 除对象rk212,移除参考ref (fi)209,并且用指向对象f j213的参考ref (f j)214替代参考 ref(fi)209。其还可将对象rk212插入到f j的参考的容器216中。
[0122] 场景3 :NetFlow v9产生方刷新模板FlowSet fi模板ID202而不改变值IdO
[0123] 在这种情况下,元组{IdO,SID,SRC}211已经存在于容器R206中在对象rm212中。 NF2SL系统在容器R206中定位对象rm212,并且推导出其在参考与先前相同的模板FlowSet fi。NF2SL系统不采取进一步的动作。
[0124] 在NF2SL系统上登记NetFlow数据FlowSet对象
[0125] v9之前的NetFlow协议版本仅仅支持每个版本单种数据类型。可以基于这些数据 类型的相应记载的描述在NF2SL系统中登记这些数据类型。
[0126] 如上所述,NetFlow v9协议、其衍生协议和后续版本支持任意的数据类型。借助 于NetFlow v9模板FlowSet结构描述这些数据类型。
[0127] 为了将NetFlow v9数据FlowSet转换成一个或多个syslog消息,必须使得NF2SL 系统知道数据FlowSet定义。在一示范性实施例中,NF2SL系统使用以下方法捕获NetFlow v9数据FlowSet定义:
[0128] 1.根据NetFlow v9协议,在导出数据FlowSets之前,NetFlow v9产生方必须发 出模板FlowSet和选项模板FlowSet消息,其描述有待导出的NetFlow v9数据FlowSet对 象。NF2SL系统可以捕获NetFlow产生方导出的NetFlow v9模板FlowSet消息,并且将其 保持在内部XML表示中。
[0129] 2. NetFlow v9产生方(例如,思科I0S、Juniper网络JunOS等)提供用于配置 和导出NetFlow v9信息的全面的命令行接口。NF2SL系统支持从NetFlow产生方提取与 NetFlow有关的配置,并且将其转换成内部XML表示。
[0130] 3. NF2SL系统提供用于详细解释NetFlow v9数据FlowSet定义的⑶I工具。 NetFlow v9数据FlowSets的定义存储在内部XML表示中。
[0131] -旦捕获了 NetFlow v9模板FlowSet记录定义,NF2SL管理员就可以使用这个定 义来指定NetFlow v9数据FlowSets信息到syslog包的映射和/或定义用于此NetFlow v9数据FlowSet处理的策略。
[0132] 预期NF2SL系统的其它实施例可以实施捕获NetFlow v9数据FlowSet定义的上 述方法之外的方法。
[0133] NF2SL策略和转换机构
[0134] 参看图8,在一示范性实施例中,NF2SL系统允许NF2SL管理员创建影响如何处理 正穿越NF2SL系统的NetFlow数据FlowSet对象的策略。NF2SL系统策略可以是基于内容 的("内容策略")、基于时间的("kron策略")或基于其它因素的。在NF2SL系统中,策 略可以由NF2SL策略管理方241管理,并且由可执行策略模块242执行。
[0135] 在一示范性实施例中,NF2SL系统策略模块242是优选地提供标准化接口的动态 地加载的可执行扩展(DLL或"共享对象")。NF2SL策略管理方241动态地加载策略模块 242,并且可以通过调用众所周知的入口点函数来发现其接口函数向量。策略模块242函数 向量可以含有指向实施加载策略模块242中含有的基于内容的策略函数和基于时间的策 略函数的多批函数指针。
[0136] NF2SL策略管理方241对与所述数据FlowSet记录指纹匹配的NetFlow数据 FlowSet对象应用策略。每个数据FlowSet可能存在零或更多个基于内容的策略。将基于 内容的策略以NF2SL管理员指派给每一基于内容的策略的优先次序应用于数据FlowSet。
[0137] NF2SL策略管理方241可以剖析在输入消息240中提交的数据FlowSet,并且将在 数据FlowSet中找到的每一 NetFlow记录传递251到相关策略模块242。当处理NetFlow 记录后,策略模块242即刻可以确定所讨论的输入消息240中的零或更多个NetFlow记录 应被转发以便进一步处理252,将NetFlow记录标记为不适合进一步考虑250,有意地修正 NetFlow记录数据以便打乱敏感信息或创建一个或多个衍生消息243。为了避免可能的循 环处理,不需要对照NF2SL的基于内容的策略匹配NF2SL策略模块242创建的衍生消息,并 且可以将所述衍生消息直接转发给NF2SL转换管理方244。
[0138] NF2SL Kron策略管理方246可以周期性地调用基于时间的("kron")策略。通 过Kron策略模块247执行kron策略。可以在kron策略在NF2SL Kron策略管理方246上 登记时规定kron策略调用的频率。kron策略可以对其管理的信息执行任意动作,并且另 外发出一个或多个Kron消息248。总地来说不需要对照NF2SL的基于内容的策略来匹配 Kron消息248,并且可以将所述消息直接转发给NF2SL转换管理方244,但是替代的行为也 是可能的。
[0139] 在NF2SL系统的这个实施例中,转换规则通过NF2SL转换管理方244管理,并且通 过可执行转换模块245实施。
[0140] 在一示范性实施例中,NF2SL系统转换模块245是优选地提供标准化接口的动态 地加载的可执行扩展(DLL或"共享对象")。NF2SL转换管理方244动态地加载转换模块 245,并且通过调用众所周知的入口点函数来发现其接口函数向量。转换模块245函数向量 含有到将在输入消息240、衍生消息243和Kron消息248中找到的NetFlow数据FlowSet 记录转换成一个或多个syslog输出消息249的函数的函数指针。
[0141] NF2SL策略和转换规则表示
[0142] 参看图9,可以在策略和转换规则创建程序中利用NetFlow数据FlowSet记录定 义260。在NF2SL系统中,可以通过经由NetFlow数据FlowSet记录的NetFlow v9型式模 板FlowSet定义计算的校验和值来唯一地识别所述记录。同样可以通过NetFlow v9-型式 模板FlowSet为NetFlow v5记录建模。在一示范性实施例中,NF2SL使用XML格式来表示 NetFlow数据FlowSet记录定义260。
[0143] 在创建了 NetFlow数据FlowSet记录定义260之后,NF2SL管理员可以使用⑶I工 具或NF2SL SDK来创建策略和转换规则。NF2SL管理员可以创建策略和kron策略261和转 换规则262的图形表示。NF2SL系统使用GraphML XML语法将所述图形表示翻译成文本表 /_J、1 〇
[0144] 一旦策略和kron策略261和转换规则262的图形表示完成,就可以将GraphML符 号翻译成描述策略和kron策略263和转换规则264的一序列的规则。所述序列的规则可 以使用RuleML语法编写。
[0145] 策略和kron策略263和转换规则264的RuleML表示可以翻译成用机器编程语言 编写的等效的规则序列,其可以编译成二进制表示并且接着被高效地执行。翻译的结果是 用编程语言术语描述策略和kron策略265和转换规则266的两个模块。随后编译的结果 是两个二进制可执行模块,其实施策略和kron策略267和转换规则268。
[0146] 在一示范性实施例中,NF2SL系统使用"C"编程语言作为用编程语言术语呈现策 略和kron策略265和转换规则266时所选的机器编程语言。应了解,策略和kron策略265 和转换规则266和策略和kron策略267和转换规则268可以合并为单个对象而不是多个 对象。
[0147] 还应理解,可以使用GraphML、RuleML和"C"编程语言之外的语法来表达策略和转 换规则。本发明的优选实施例的一个有用方面是提出用于实施策略和转换规则的专用可执 行模块。所述实施例的这个方面与解释输入数据的类似用途的系统相比确保性能更快至少 一个数量级。
[0148] NF2SL 策略
[0149] NF2SL的基于内容的策略总地来说与外部NetFlow产生方发出的NetFlow业务相 关联,而基于时间的策略通常处理由于处理原始NetFlow业务而产生的数据,并且发出额 外NetFlow信息。应了解,以下NF2SL策略、策略参数和策略实施方案是示范性的,并且可 以用除了这里明确地描述的哪些方式之外的方式执行。
[0150] 图9a说明用于NetFlow模板X400的示范性基于内容的策略和发出NetFlow模板 Y401的示范性基于时间的策略。NetFlow模板X400含有以下示范性字段:
[0151] src_ip_addr_ 流源 IP 地址
[0152] src_port_ 流源端口
[0153] dst_ip_addr-流目的地 IP 地址
[0154] dst_port_ 流目的地端口
[0155] in_pkts_流中的包的数目
[0156] in_bytes-流中的字节的数目
[0157] app_tag_与流相关联的应用的id
[0158] 模板X400可以具有与这个实例无关的其它字段。
[0159] 使用伪码语法,可以将基于内容的过滤策略表达如下:
[0160] 对于X类型的所有数据FlowSet记录:
[0161]
[0162]
[0163] 以上伪码对应于以下人类可读策略说明:
[0164] "观察X类型的数据FlowSet记录。
[0165] 如果记录描述到web服务("http :80"或"https :443")的流,那么将流中的包 的数目和在流中观察到的字节的数目加起来得到以网络服务为目的地的先前观察到的包 和字节的总数。不转发所述记录。
[0166] 如果记录描述到目录服务的流,那么转发所述记录。
[0167] 否则的话不转发所述记录。"
[0168] 在本发明的一个实施例中,NF2SL管理员能够使用NF2SL⑶I工具创建以上策略 的定义。在第一步骤中,NF2SL管理员可以借助于模板建立器工具403制订模板X400的内 容,并且通过使模板X400与策略条目对象402相关联而将模板X400指定为主题数据类型 的基于内容的策略。
[0169] 在下一个步骤中,NF2SL管理员可以创建条件性对象404,其评估模板X400dst_ port字段值是否等于80( "http")。倘若评估得出"真",那么经由求和对象405将在模板 X400中找到的值" in_pkts "和" in_bytes "字段转发给累加器对象406。
[0170] 在下一个步骤中,NF2SL管理员可以创建条件性对象408,其评估模板X400 "dst_ port"字段值是否等于443( "http")。倘若评估得出"真",那么经由求和对象405将在模 板X400 " in_pkts"和" in_bytes"字段中找到的值转发给累加器对象406。当产生条件性 对象404和408时,NF2SL管理员可以利用条件性对象建立器407。
[0171] 在下一个步骤中,NF2SL管理员可以创建条件性对象409,其评估模板X400 "app_ tag"字段是否含有与目录服务相关联的值。倘若评估得出"真",那么转发记录以供进一步 处理410。
[0172] 除了满足条件性对象409的准则的记录之外的所有记录都不接受进一步处理并 且被丢弃411。
[0173] 可以每10秒执行此示范性的基于时间的策略,并且此策略发出对应于NetFlow模 板Y401的NetFlow数据FlowSet记录。进一步参看图9a,NetFlow模板Y401含有以下示 范性字段:
[0174] in_pkts_在流中观察到的包的累计数目
[0175] in_bytes_在流中观察到的字节的累计数目
[0176] 当调用时,基于时间的策略412检索在累加器对象406中找到的值,并且使计数器 414的值复位。接着基于时间的策略412将对应于NetFlow模板401的数据记录格式化,并 且转发其以供进一步处理410。
[0177] NF2SL策略:检测和报告业务尖峰
[0178] 图9b说明示范性NF2SL策略模块,其向NF2SL管理员指定的某些网络主机报告业 务中的尖峰。
[0179] 这个NF2SL示范性策略模块的基于内容的策略获得思科系统的预定义的"原始输 入" NetFlow数据流记录440,并且使用条件性对象441确定记录440的dst_ip_addr字段 是否含有所监控的IP地址的列表442中存在的IP地址。如果在监控到的IP地址的列表 中找到所述IP地址,那么将in_bytes字段的内容添加到在收集器对象443中找到的对应 条目,并且转发所述记录以供进一步处理449。如果在监控到的IP地址的列表中找不到所 述IP地址,那么转发所述记录以供进一步处理449。
[0180] NF2SL系统可以用预定义的间隔(例如每10秒)调用这个NF2SL示范性策略模块 的基于时间的策略444。在调用后,所述策略即刻逐个检查收集器对象443中的条目,并且 提取445在最后收集间隔期间观察到的到网络装置的业务量。接着基于时间的策略444使 收集器对象443中的条目446复位。
[0181] 如果基于时间的部分策略444条件性对象447发现,与平均业务量相比,在观察到 的间隔期间到所述网络IP地址的业务速率增加了 NF2SL管理员阐述的一个量度(例如,增 加了一个数量级),那么基于时间的策略444可以产生并且根据"警报:尖峰"定义448格式 化NetFlow数据FlowSet记录,并且转发所述记录以供进一步处理。
[0182] NF2SL策略:检测内部网络上被破解的主机
[0183] 图9c说明警告网络管理员内部网络上有被破解的网络主机的示范性NF2SL策略 模块。这个策略模块监控内部网络上的非服务器网络主机对外部网络实体进行的未经请求 的连接作出回应时的情况。此事件以高概率指示所讨论的非服务器网络主机被破解,并且 可能受到恶意外部实体的控制。
[0184] 首先,这个NF2SL示范性策略模块的基于内容的策略获得思科系统的预定义的 "原始输入"NetFlow数据流记录440,并且使用条件性对象461确定记录440的dst_ip_ addr字段是否含有所监控的IP地址的列表462中存在的IP地址。如果在监控到的IP地 址的列表中找到所述IP地址,那么将dst_ip_addr、dst_port、src_ip_addr和src_port字 段的内容放置在收集器对象463中,并且转发所述记录以供进一步处理449。如果在监控到 的IP地址的列表中找不到所述IP地址,那么简单地转发所述记录以供进一步处理449。
[0185] 第二,这个NF2SL示范性策略模块的基于内容的策略获得思科系统的预定义的 "原始输出"NetFlow数据流记录460,并且使用条件性对象464来确定收集器对象463中是 否存在记录460的src_ip_addr、src_port、dst_ip_addr和dst_port字段。如果收集器对 象 463 中不存在记录 460 的 src_ip_addr、src_port、dst_ip_addr 和 dst_port 字段,那 么简单地转发记录以供进一步处理469。如果收集器对象463中存在记录460的src_ip_ addr、src_port、dst_ip_addr和dst_port字段,那么第二策略可以产生和格式化"警报: 业务"NetFlow记录465,其含有关于内部网络主机与外部实体之间的观察到的通信的信息, 并且转发所述记录以供进一步处理466。其还可将条目标记为匹配。还可转发"原始输出" 记录460以供进一步处理469。
[0186] NF2SL系统用预定义的间隔(例如每60秒)调用这个NF2SL示范性策略模块的基 于时间的策略466。基于时间的策略466可以接入收集器对象463中的条目,并且使用条件 性对象467评估收集器对象中的条目是否不匹配,并且从收集器对象463中移除老于60秒 的不匹配条目。
[0187] NF2SL策略:检测"低且慢"的网络扫描
[0188] 目标网络扫描通常是任何高级网络攻击的第一阶段。入侵者使用网络扫描识别网 络上的活动主机。当扫描网络时,攻击者找到关于可以经由因特网接入的特定IP地址、其 操作系统、系统架构和在每一计算机上运行的服务的信息。
[0189] 所谓的"低且慢"的扫描出了名地难检测。攻击者可能花费几天、几周甚至几个月 来扫描目标主机或网络。这种扫描技术允许攻击者将其探针掺和到网络噪声中,从不超过 检测阈值或耗尽常规入侵检测系统的资源。
[0190] 使用TCP/IP FIN包的网络扫描是最复杂的扫描技术之一。由于TCP/IP协议的性 质,所以FIN包能够有意不加修改地穿过防火墙。响应于未经请求的FIN包,封闭端口用适 当RST包答复,而开放端口忽略杂散的FIN包。
[0191] 图9d说明可以告知网络管理员有低且慢的扫描的可能尝试同时消耗的NF2SL系 统和其它网络资源极少的示范性NF2SL策略模块。
[0192] 首先,这个NF2SL示范性策略模块的基于内容的策略获得思科系统的预定义的 "原始输入"NetFlow数据流记录440,并且使用条件性对象481确定由单个包组成的流是否 具有TCP/IP旗标FIN组。如果这个状况评估为"真",那么将"原始输入"NetFlowDataFlow 记录 440 的 src_ip_addr、src_port、dst_ip_addr、dst_port 和 tcp_f lag 字段保存在收集 器对象482中,并且转发所述记录以供进一步处理449。如果所述状况评估为"假",那么简 单地转发所述记录以供进一步处理449。
[0193] 第二,这个NF2SL示范性策略模块的基于内容的策略获得思科系统的预定义的 "原始输出"NetFlow数据流记录460,并且使用条件性对象483确定由单个包组成的流是否 具有TCP/IP旗标RST组。如果这个状况评估为"真",那么使"原始输出" NetFlow数据流 记录 460 的 dst_ip_addr、dst_port、src_ip_addr、src_port 和 tcp_f lag 字段与收集器对 象482中的条目匹配。如果定位了一个匹配条目,那么对"原始输出" NetFlow数据流记录 460和"原始输入"NetFlow数据流记录440的tcp_flag字段进行逻辑或运算,并且转发所 述记录以供进一步处理449。如果未定位到匹配条目,那么简单地转发所述记录以供进一步 处理449。
[0194] NF2SL系统用预定义的间隔(例如每6小时)调用这个NF2SL示范性策略模块的 基于时间的策略484。基于时间的策略484从收集器对象482检索485和移除486每一记 录,并且用"Info :Fin扫描"NetFlow模板488格式输出487所述记录。转发"Info :Fin扫 描" NetFlow模板488格式的输出记录以供进一步处理489。
[0195] NF2SL策略:网络监控
[0196] 网络监控是当代网络管理系统(NMS)的基本组成部分。网络管理员必须知道确切 的网络拓扑、每一网络装置的健康状况或条件、多个网络片段上的业务负载、多个应用的网 络带宽消耗等。
[0197] 接口条件监控:
[0198] 图9e说明能够跨越一个或多个网络装置监控一个或多个网络接口的健康状况或 条件的示范性NF2SL策略模块。
[0199] 参看图9e,监控一个或多个网络装置接口的基于内容的策略基于一序列的 "AS(自主系统)集合方案"流记录500( "报告")作出决策。如果监视接口列表503中包 含一个输入接口("1即此_迎111?"),那么这个策略使用条件性对象501作出决策。如果所 述接口不在监视接口列表503上,那么转发记录500以供进一步处理502。如果所述接口在 监视接口列表上,那么将记录500中含有的关于在接口上观察到的流的时序信息("last_ switched")传播到状态报告列表504中,并且可以转发记录500以供进一步处理506。
[0200] 进一步参看图9e,还可用常规间隔(例如每60秒)调用示范性的基于时间的策略 507。这种策略能够读取状态报告列表504中的条目508,并且如果条件性对象509检测到 超过预设报告延迟阈值,那么基于时间的策略507产生定制的信息流记录"接口关闭"510, 转发所述记录以供进一步处理511。
[0201] 带宽消耗监控:图9f说明能够监控一个或多个软件应用的网络带宽消耗的示范 性NF2SL策略模块。
[0202] 参看图9f,评估一个或多个软件应用的网络带宽消耗的基于内容的策略利用预定 义的思科系统"协议端口"流记录520。如果追踪应用列表523中包含应用(通过用于入业 务的" 14_dst_port "或用于出业务的" 14_src_port "定义),那么这个策略使用条件性对象 521作出决策。如果所述应用不在追踪应用列表523上,那么可以简单地转发记录520以供 进一步处理522。如果所述应用在追踪应用列表上,那么将关于流中的和记录520中含有的 观察到的包的数目("in_pkts")和字节的数目("in_bytes")的信息与每个应用集合数 据列表524中的相应信息求和,并且可以接着转发记录520以供进一步处理526。
[0203] 进一步参看图9f,可用常规间隔(例如每60秒)调用示范性的基于时间的策略 527。这个策略读取每个应用集合数据列表524中的条目528,并且针对任何或每一条目,可 以创建定制的信息流记录"集合应用数据"530,并且使条目复位532。可以接着转发创建的 定制的信息流记录"集合应用数据"530以供进一步处理531。
[0204] 应了解,如果NetFlow导出器配备有基于网络的应用辨识(NBAR)机构,那么可以 增强以上策略以利用在定制的"协议端口"流记录中报告的应用分类信息("application tag"),因而实现较高粒度的应用带宽消耗。
[0205] 本发明的实施例可以支持的额外示范性策略包含:
[0206] 每个应用协议每次链路监控的网络业务
[0207] 这个策略模块的一个实施例输入NetFlow消息,其含有关于网络装置入和出接 口(流通过所述接口进入和离开网络装置)的信息,并且可以产生流分类信息、在流中观 察到的字节和包计数和与流的开始和结束相关的时序信息。对于每一 NetFlow导出器或 NetFlow导出器的所选组合,这个策略模块能够将每个应用协议和接口对的包的数目和字 节的数目总加起来。
[0208] 可以包含监视协议列表,并且所述列表可以是可配置的。监视列表中不包含的所 有应用协议可以在指定为"其它"的协议下总加。应用协议可以解释为0SI层3协议(例 如TCP)、0SI层4目的地端口(例如端口 80-http)、解释为0SI层7分类器(例如分类器 引擎ID,例如PANA-L7,接着是这个分类内的供应商特定的应用ID)或任何其它网络业务分 类模式。
[0209] -对网络接口构成一个链接。链接中的接口可以通过其相应SNMP索引(input_ snmp和〇UtpUt_snmp)来识别。链接的数目可以在运行时间确定,通过配置或硬编码而限于 某一子集的接口。总的来说,观察到的链接的数目没有局限性。策略模块可包含基于时间 的触发器,其能够以可配置的时间周期报告集合结果,基于某一计数器发出集合报告,或报 告业务的每一感兴趣的链接穿越。
[0210] 网络管理方可以使用通过利用这个策略模块可得出的信息来实时地查看网络业 务的细节,包含但不限于每个以下项目的字节或包的数目:
[0211] 特定网络装置
[0212] 网络装置的链接
[0213] 应用协议
[0214] 对于所选网络装置,网络管理方可以看到每一链接内的应用协议或每一应用协议 内的链接的网络业务的组成。网络管理方还可辨别当通过链接的业务变得反常地繁重时或 当某一链接上的包大小大幅减小时的事件。后一事件可以表示硬件故障或是网络攻击的标 〇
[0215] 这个策略模块产生的数据可以用于(但不限于)网络带宽负载均衡(例如,通过 将网络业务从网络的更大量地使用的部分移动到网络的较少使用的部分)、从应用识别信 息导出的基于内容的路由和其它类似目的。这个数据的又一用法总的来说是对网络的业务 研究和容量规划。
[0216] 识别每个协议的首要主机连接
[0217] 这个策略模块的一个实施例输入NetFlow消息,所述消息含有关于连接主机的源 和目的地IP地址的信息,并且通过将每一观察到的主机进行的连接的数目总加而产生一 段时间周期内活动最多的主机的列表。活动主机列表可包含在某一周期上观察到的所有主 机、N个活动最多的主机的群组("首要N个连接"),或根据一些其它准则所选的主机的群 组。
[0218] 所述策略可包含基于时间的触发器,其能够报告在可配置的时间周期上集合的结 果,或者基于某一计数器或其它准则发出集合报告。
[0219] 网络管理方可以使用通过利用这个策略模块可得出的信息来识别在指定时间周 期中正起始最多连接的主机。这个信息可以是对扩散病毒或蠕虫或垃圾电子邮件的受到感 染的主机的指示。
[0220] 识别首要主机说话者
[0221] 这个策略模块的实施例输入含有关于通信网络主机的源和目的地IP地址的信息 的NetFlow消息,并且将每一观察到的主机所发送的字节的数目和包的数目总加,以在预 定义的时间周期上产生活动最多的主机的列表。
[0222] 可以包含监视协议列表并且所述列表可以是可配置的。监视列表中不包含的所有 应用协议可以在指定为"其它"的协议下应用总加。应用协议可以解释为0SI层3协议(例 如TCP)、0SI层4目的地端口(例如端口 80-http)、解释为0SI层7分类器(例如分类器 引擎ID,例如PANA-L7,接着是这个分类内的供应商特定的应用ID)或任何其它网络业务分 类模式。
[0223] 活动主机列表可包含在某一周期上观察到的所有主机、N个活动最多的主机的群 组("首要N个说话者"),或根据一些其它准则所选的主机的群组。
[0224] 所述策略可包含基于时间的触发器,其能够报告在可配置的时间周期上集合的结 果,或者基于某一计数器或某种其它准则发出集合报告。策略模块可以产生多个消息类型, 例如用于总最高业务产生方的一个消息类型,和用于产生了最多包的主机的另一消息类 型。
[0225] 网络管理方可以使用通过利用这个策略模块可得出的信息来分析网络业务以得 出指示DoS或低强度DoScyber攻击的模式和总体负载均衡、业务研究和容量规划。
[0226] 这个规则的一个额外益处是即使可以在一些网络装置上配置首要主机说话者的 报告,但是在NF2SL中配置这个实际上就是一次在连接到NF2SL的所有网络装置上对其进 行配置。
[0227] 监控边缘装置接入控制违规
[0228] 这个策略模块的实施例输入NetFlow和其衍生物,例如思科ASA NetFlow安全事 件语言(NSEL),这是含有关于网络边缘装置上的事件的信息的消息。在一示范性实施例 中,NF2SL输入思科ASA NSEL消息,并且处理与安全事件有关的字段(例如NSEL NF_F_FW_ EVENT字段)中的信息。通过评估在此类字段中报告的值,NF2SL能够识别所有或所选网络 策略违反者,并且产生一段时间中违规次数最多的主机的列表(首要N)。所述策略可包含 基于时间的触发器,其能够报告在可配置的时间周期上集合的结果,或者基于某一计数器 或某种其它准则发出报告。如果所监控的边缘装置集成有AAA系统(例如微软活动目录, RADIUS等),那么报告可以含有网络策略违规者的用户id。所述报告可包含关于确切的被 违反的策略(即,识别被违反的ACL)的信息,如果边缘装置能够产生此类信息的话。
[0229] 网络管理方可以使用通过利用这个策略模块可得出的信息来识别展示出不稳定 行为的主机并且识别从事不当活动的用户。这可能表明是不良行动者或受到感染的主机。 另外,通过使与受违规的网络策略有关的信息与实际边缘装置配置信息相关,网络管理方 可以发现违规者对哪个资源感兴趣,并且如果必需的话,调整组织的安全姿态。
[0230] 监控DNS服务器行为
[0231] 这个策略模块的实施例输入含有与主机跟DNS服务器之间的网络业务有关的信 息的NetFlow消息,并且能够计算平均DNS服务器的响应时间和在一段时间间隔中交换的 包的平均大小。所述策略能够报告所选服务器列表或所有观察到的DNS服务器的平均响应 时间和平均包大小。所述策略可包含基于时间的触发器,其能够报告在可配置的时间周期 上集合的结果,或者基于某一计数器或某种其它准则发出报告。
[0232] 这个策略模块可以扩展到特征在于众所周知的0SI层4端口数目(例如,端口 80 上的http服务器)或0SI层7分类器(例如,PANA-L7伴随应用识别符)的任意网络服务。 应用
[0233] 当DNS响应时间增加时,网络管理方可以使用通过利用这个策略可得出的信息来 识别与DNS服务有关的问题。因为DNS服务能够向最终用户传递所述内容,所以其必须跨 越广泛分布的网络提供最高水平的可用性和最短响应时间。因为DNS对于企业操作的作用 至关重要,所以安全攻击通常以DNS服务器为目标,在DNS服务器中大量灌注业务,期望其 达到故障点,以便破坏服务。DNS服务响应时间变慢可能指示正在发生破坏性攻击。接着, 网络管理方可以采取保护措施,并且将其本地主机DNS请求重路由到其它DNS服务器。
[0234] 另外,通过研究DNS服务器与DNS服务请求者交换的平均包大小,网络管理方可以 识别DNS服务是否遭到破坏。举例来说,DNS服务响应包大小的增加可以指示遭到破坏的 DNS服务器正试图发出以DNS服务请求者为目标的缓冲区溢出攻击。
[0235] 还应了解,通过研究在随后主机通信中反映的DNS服务提供的下一跳信息和注意 DNS服务提出的路由路径的激烈变化,这个策略可以识别例如DNS变换器恶意软件等恶意 活动。
[0236] 监控每个链接的平均包大小
[0237] 这个策略模块的实施例输入含有关于网络业务的信息的NetFlow消息,并且能够 计算一段时间间隔中穿过一对网络装置接口("链接")的网络包的平均大小。所述策略可 包含基于时间的触发器,其能够报告在可配置的时间周期上集合的结果,或者基于某一计 数器或某种其它准则发出报告。
[0238] 网络管理方可以使用通过利用这个策略可得出的信息来识别网络瓶颈或恶意活 动。包大小的意外减小(包断裂)可能表示出故障的硬件或进行中的网络攻击。另外,通 过使这个信息与从网络上的服务器获得的信息相关,网络管理方可以识别信息传递问题是 起始于网络上还是由于服务器性能不佳:健康的网络会将所述服务器确定地识别为有问题 的行为者。在后一种情况下,网络管理员可以识别表现不佳的应用,并且采取校正措施。
[0239] 监控每个应用协议每个链接的平均包大小
[0240] 这个策略模块的实施例输入含有关于网络业务的信息的NetFlow消息,并且能够 计算一段时间间隔中所监视的应用协议中的每一个的穿过一对网络装置接口("链接")的 网络包的平均大小。所述策略能够报告每个监视协议的平均包大小。所述策略可包含基于 时间的触发器,其能够报告在可配置的时间周期上集合的结果,或者基于某一计数器或某 种其它准则发出报告。
[0241] 网络管理方可以使用通过利用这个策略可得出的信息来识别网络瓶颈或恶意活 动。包大小的意外减小(包断裂)可能表明出故障的硬件或进行中的网络攻击。另外,通 过使这个信息与从服务器获得的信息相关,网络管理方可以识别信息传递问题是起始于网 络上还是由于服务器性能不佳:健康的网络会将所述应用服务器确定地识别为有问题的行 为者。在后一种情况下,网络管理员可以识别表现不佳的应用,并且采取校正措施。
[0242] 识别边缘装置首要带宽用户
[0243] 这个策略模块的实施例输入NetFlow和其衍生物,例如思科ASA NetFlow安全事 件语言(NSEL),这是含有关于穿过边缘装置的业务的信息的消息。通过将观察到的通信总 力口,这个策略能够识别一段时间间隔中边缘装置带宽的首要N个消耗方。可以作为通信网 络主机的IP地址提供关于消耗方的信息。如果边缘装置集成有AAA系统(例如,微软活动 目录、RADIUS等),那么报告可以将所消耗的带宽归属给特定用户id。所述策略可包含基 于时间的触发器,其能够报告在可配置的时间周期上集合的结果,或者基于某一计数器或 某种其它准则发出报告。
[0244] 网络管理方可以使用通过利用这个策略模块可得出的信息来识别穿过边缘装置 的网络的最高带宽用户。这个信息可以用于识别员工对网络的不当使用(举例来说,流式 传输视频、过度的因特网浏览等)或从网络内部向未经授权的外部位置传递大文件。
[0245] 另外,由于典型边缘装置部署中的高业务量和流动速率,所以一般不收集关于装 置带宽消耗的信息。这个不足是由于当产生syslog时边缘装置上的繁重负载,并且日志集 合和SIEM系统无法接受和使用如此大量的传入日志。
[0246] 由于其高性能和数据集合能力,NF2SL使得网络管理员能够在总网络管理数据池 中包含边缘装置带宽消耗信息,并且导出对网络容量和安全姿态的有价值的洞察。
[0247] 网络装置通过应用协议识别边缘装置首要带宽用户
[0248] 这个策略模块的实施例输入NetFlow (和其衍生物,例如NetFlow v9、IPFIX、思科 ASA NetFlow安全事件语言(NSEL)、Palo Alto网络NetFlow),这是含有关于穿过边缘装置 的业务和引起此类消息的产生的应用的信息的消息,其程度为使得此类应用的特征在于众 所周知的0SI层4端口数目(例如,端口 80上的http服务器)或0SI层7分类器(例如 PANA-L7伴随应用识别符)。通过将观察到的通信总加,这个策略能够识别一段时间间隔中 特定应用的边缘装置带宽的首要N个消耗方。可以作为通信网络主机的IP地址提供关于 消耗方的信息。如果边缘装置集成有AAA系统(例如,微软活动目录、RADIUS等),那么报 告可以将所消耗的带宽归属给特定用户id。所述策略可包含基于时间的触发器,其能够报 告在可配置的时间周期上集合的结果,或者基于某一计数器或某种其它准则发出报告。
[0249] 网络管理方可以使用通过利用这个策略模块可得出的信息以识别穿过边缘装置 的网络的最高带宽用户,并且识别首要带宽消耗应用。这个信息可以用于识别员工对应用 的不当使用(举例来说,使用未批准的应用)和恶意软件应用(例如受僵尸网络控制的软 件)在内部主机上的存在。
[0250] 另外,由于典型边缘装置部署中的高业务量和流动速率,所以一般不收集关于装 置带宽消耗的信息。这个不足是由于当产生syslog时边缘装置上的繁重负载,并且集合和 SIEM系统无法接受和分析如此大量的传入日志。
[0251] 由于其高性能和数据集合能力,NF2SL使得网络管理员能够在总网络管理数据池 中包含以每个应用为基础的边缘装置带宽消耗信息,并且导出对网络容量和安全姿态的有 价值的洞察。
[0252] 网络子网监控
[0253] 这个策略模块的实施例输入含有关于通信网络主机的目的地IP地址的信息的 NetFlow消息,并且能够将每一观察到的主机发送到监控外部子网列表的字节的数目和包 的数目总加。这个策略模块能够产生预定义时间周期中具有最多业务的子网的列表。可以 包含监视协议列表并且所述列表可以是可配置的。可以在指定为"其它"的协议下将协议 监视列表中不包含的所有应用协议总加。应了解,应用协议可以解释为0SI层3协议(例 如TCP)、0SI层4目的地端口(例如端口 80-http)、解释为0SI层7分类器(例如分类器 引擎ID,例如PANA-L7,接着是这个分类内的供应商特定的应用ID)或任何其它网络业务分 类模式。
[0254] 子网的列表可包含所有受监控的子网、N个接入最多的子网的群组或根据一些其 它准则所选的子网的群组。
[0255] 所述策略可包含基于时间的触发器,其能够报告在可配置的时间周期上集合的结 果,或者基于某一计数器或某种其它准则发出集合报告。策略模块可以产生多个消息类型, 例如用于总最高业务接收器的一个消息类型,和用于接收到最多包的子网的另一消息类 型。
[0256] 网络管理方可以使用通过利用这个策略模块可得出的信息来分析内部主机与例 如专用于基于云的资源的那些子网的远程子网之间的网络业务,确定到每一远程子网的业 务量和业务模式,并且用最优方式操作远程资源。
[0257] 基于行为的网络监控器
[0258] 这个策略模块的实施例通过参与至少两个操作模式-学习和监控,来实施"超过 基线"策略。为了聚集基线网络业务信息,可以开启学习模式。监控模式使用在操作的学习 周期期间获得的信息来监视网络条件。这两个操作模式不是互斥的:当监控开启时,学习过 程可以继续。
[0259] 当学习模式在操作时,策略能够聚集基线信息,并且将其存储在例如永久性存储 装置中,例如本地数据库(例如,作为NF2SL的一部分提供的一个本地数据库)。基线信息 可以是例如5分钟的短时间间隔中的流行为的合并。由于学习行为信息的普遍性,基线策 略能够根据日时、一周中的哪天甚至月份而考虑业务模式。除了基于时间的业务模式之外, 基线行为中还包含以下业务模式:
[0260] -并行流的数目
[0261] -全局包速率
[0262] -全局吞吐量
[0263] -每个协议的吞吐量
[0264] -新流创建速率
[0265] -发送和接收的TCP/IP SYN包的数目
[0266] -TCP/IP连接复位次数
[0267] -平均流持续时间
[0268] -流持续时间分散
[0269] -远程子网利用
[0270] -VLAN 利用
[0271] -全局应用组成
[0272] -等等。
[0273] 应了解,以上业务模式列表并不是完全包含性的,并且基线行为计算中可以包含 其它业务特性。
[0274] -旦收集到基线信息,就可以将其导出到例如电子表格等工具以便分析和定义阈 值。或者,基线策略可以实施内置式机构来确定与正常业务模式的偏差。
[0275] 如果合乎需要的话可以利用3层级的设置阈值方法:预测、警告和断点。应了解, 阈值可以手动确定、从统计分析导出或配合到模糊行为模型中。
[0276] 优选地在开启策略操作的监控模式之前设置阈值。当开启监控模式时,策略能够 使用对应阈值模型将目前观察到的行为与基线信息比较。当超过阈值时,可以产生例如 syslog消息或电子邮件等警告消息,并且直接将其发送到网络管理方或SIEM系统用于警 告网络监控分析员。
[0277] 基线策略可通过基于进一步观察结果调整基线网络行为以自适应方式操作,或者 由例如网络管理方命令等外部事件触发。
[0278] 网络管理方可以使用通过利用这个策略可得出的信息来用及时方式检测由感染 了恶意软件的主机引起的或不良行为者引起的异常网络活动。
[0279] 僵尸网络活动检测
[0280] 受僵尸网络控制的软件出了名地难以通过传统的基于主机和基于网络的手段 来检测。通常受僵尸网络控制的软件通过把自身安装成无法从主机内检测到的根套件 (root-kits)来避免被基于主机的机构检测到。对受僵尸网络控制的软件的传统的基于网 络的检测依赖于收集庞大数量的信息和查找受僵尸网络控制的软件的信标的广泛的辩论 式调查。可通过采用一种用流式传输方式处理网络信息的系统来解决这些问题。
[0281] 僵尸网络活动检测策略模块的实施例能够识别当内部网络上"超限"的装置对外 部对等装置作出响应时的事件。内部网络上的主机一般可以起始到外部世界的连接(例 如,网络浏览),但是如果连接是从外部起始的,那么对这个业务的响应可能就表示内部网 络上存在受僵尸网络控制的软件。
[0282] 这个策略模块的实施例输入含有关于通信网络主机的目的地IP地址的信息的 NetFlow消息,并且将这些IP地址与受到监控的超限网络装置的配置列表比较。如果IP地 址不在列表上,那么不采取动作。如果在受监控装置列表中找到目的地IP地址,那么将源 IP地址和目的地0SI层4端口以及目的地IP地址和源0SI层4端口连同例如字节和包计 数等其它信息一起存储在可能警告列表中。还可在可能警告列表中指出应用协议信息。在 此上下文中,协议信息可以解释为0SI层3协议(例如TCP)、0SI层4目的地端口(例如端 口 80-http)、解释为0SI层7分类器(例如分类器引擎ID,例如PANA-L7,接着是这个分类 内的供应商特定的应用ID)或任何其它网络业务分类模式。
[0283] 在下一个步骤中,策略模块监视是否存在从所监控的超限的内部装置对连接起始 器的响应。如果在预先配置的周期内发生此通信,那么策略模块通过使用例如syslog、电子 邮件等标准通信协议中的一个发送对应消息而警告网络管理方或SIEM系统。如果预先配 置的响应时间周期已经过去,那么所述策略可以从可能警告列表中移除超限的装置。
[0284] 将装置包含到可能警告列表中的时间间隔可能会变化。这个步骤允许抓获知道存 在僵尸网络监控系统并且试图通过延迟响应而避免检测的僵尸网络通信。
[0285] 僵尸网络检测策略模块的另一实施例输入含有与内部网络主机的IP地址、其通 信对等装置和在这些通信期间利用的协议有关的信息的NetFlow消息。在此上下文中,协 议信息可以解释为0SI层3协议(例如TCP)、0SI层4目的地端口(例如端口 80-http)、 解释为0SI层7分类器(例如分类器引擎ID,例如PANA-L7,接着是这个分类内的供应商特 定的应用ID)或任何其它网络业务分类模式。
[0286] 因而,策略模块逐渐编译所有观察到的通信的数据库,可以分析所述数据库以便 发现不寻常的通信。可以使用例如STREAM、BIRCH等数据流式传输群集方法来执行这个分 析,以便用流式传输方式确定大型网络业务模式群组和识别离群值。较小"不正常"群集的 存在是对异常网络活动的确定的指示,这是僵尸网络通信的特性。如果发现此类异常群集, 那么策略模块可以通过使用例如syslog、电子邮件等标准通信协议中的一个发送对应消息 而警告网络管理方或SIEM系统。
[0287] 应了解,发现所有观察到的通信的数据库中的不寻常通信可以通过其它典型数据 分析方法或用静态方式通过离线进行群集计算而执行。
[0288] 网络管理方可以使用通过利用这个策略可得出的信息来用及时并且有成本效益 的方式识别和根除网络上的受僵尸网络控制的软件,这使用当前方法是不可能实现的,当 前方法是试图通过收集最不相关数据的过大数据库并且事后离线分析这些数据库来发现 网络装置感染。美国联邦通信委员会(FCC)近年来颁布的规则使得本文中的技术对网络携 带的恶意软件的及时发现的有用性变得清晰。
[0289] 对话
[0290] 这个策略的实施例能够合并在一段时间周期T中装置之间的对话,并且向SIEM系 统发送N个首要对话。对话定义为由于两个主机(源IP和目的地IP)之间的交互而产生 的一系列NetFlow消息,其使用相同端口(源端口和目的地端口)、经由相同传输(TCP或 UDP),并且穿过相同路由器/交换机(导出器)。可以在限定的一段时间中将这些流的字节 和包的数目总加,并且在合并syslog或其它格式的消息中推出这个数目。这种技术可以用 作显著减少被发送以便由下游SIEM系统收集和/或分析的机器数据量的一种方法。
[0291] 基于名誉的警告
[0292] 这个策略的实施例能够检测从网络装置流动或流动到网络装置的被视为通信起 来不安全的网络业务。将网络装置分类为不安全的准则可以是基于通过其IP地址或完全 合格可分辨名称(FQDN)所识别的此类网络装置的公开可用的或私人的数据库。举例来说, AlienVault提供已知参与钓鱼攻击、恶意软件扩散、僵尸网络主控软件等的网络装置的公 开可用数据库。将装置根据其恶劣性的假定水平(称为名誉)进行排序。举例来说,与已 知僵尸网络主控软件通信的危险性的排序高于到钓鱼主机的连接。
[0293] 根据这个实施例的策略能够从外部装置接收此类不安全IP地址或FQDN的列表, 或者直接查询此列表的提供者,并且报告受保护网络上的网络装置与不安全装置列表上的 网络装置之间的通信的出现。所述策略能够用及时的方式发出警告,其指示通信动作和所 接触的外部网络装置的名誉水平。
[0294] 来自某些国家的业务
[0295] 已知某些国家参与工业间谍和网络恶意软件行为。这个策略的实施例追踪从驻留 在此类国家中的网络装置到内部网络装置的通信和从内部网络装置到此类国家中的主机 的通信。每个国家的IP地址范围列表可从因特网地址分配组织(IANA)公开获得。所述策 略使用此列表或此列表的子集来确定外部网络装置从其通信的国家,并且用及时的方式报 告此类通信的动作。
[0296] 0SI 层 3 协议
[0297] 网络利用监控对于企业和电信提供者来说非常重要。此类环境中的大部分应用数 据是经由m)P(0SI层3协议idl7)和TCP/IP(0SI层3协议id6)发射的。除了这些"主力" 协议之外,还有与网络维护有关的大量通信。举例来说,ICMP(因特网控制消息接发协议) 协议(0SI层3协议1)包含用以验证网络装置的状态、追踪网络路线等的消息。与ICMP和 如ISIS、EGP、RSVP以及其它协议的其它类似实用协议相关联的网络包构成整个网络业务 的相当大的份额。由于网络上存在相当大的控制业务,所以电信提供者需要不断地监控此 业务。
[0298] 这个策略的实施例收集关于经由除了 TCP和UDP之外的OSI L3协议转发的控制 业务的信息。策略可以追踪所有OSI层3协议或使用应监视的OSI层3协议的配置列表。 对于一些协议(例如ICMP),所述策略可经配置以仅仅追踪某些特定子类型的所发射数据。 举例来说,追踪未批准的网络装置发布的重定向ICMP包可以提供对网络上的破坏性活动 的清晰指示。
[0299] 所述策略的又一实施例经配置以监视受限制的通信。举例来说,GRE协议经设计 以经由IP网络运载任何非IP业务。这个GRE能力可用于屏蔽不合法业务,所述业务如果 未被GRE包封的话将被网络安全基础设施检测到。所述策略监视GRE包封的网络流,检查 所述流的源IP地址是否在合法GRE业务源列表上,并且用及时的方式报告合法源列表中未 包含的网络装置尝试的通信。
[0300] 应了解,以上策略的两个实施例都可以在单个策略模块中或在多个策略模块中实 施。
[0301] 集合(合并)业务
[0302] 这个策略的实施例使用目的地网络子网列表和网络子网掩码,并且将局域网装置 发送到此类子网的字节的数目与此类子网发送到本地主机的字节的数目总加。这个策略能 够向网络管理方提供对例如基于云的私人数据中心的远程资源的利用的有价值的洞察。
[0303] 应了解,随着业务量增加,使用例如NetFlow收集器等传统手段不再可能用这里 描述的方式测量网络带宽利用率。问题的根源在于现代的网络装置发出的NetFlow业务的 速率极其高。举例来说,例如思科ASR1000等80Gbps中程路由器能够每秒处理和报告多达 400, 000个流。即使保存接收到的NetFlow记录以供随后处理的非常高端的NetFlow收集 器也不能够用此类速率处理消息并且很少达到每秒100, 〇〇〇份记录的壁垒。只有当用流式 传输方式进行NetFlow处理时此类高速率才能持续。
[0304] 这个策略的又一实施例提供对内部网络利用的洞察。在这个实施例中,策略集合 每个VLAN而非子网IP地址和IP地址掩码的网络业务信息。
[0305] 实时接口利用
[0306] 网络性能和可靠性是现今的企业和服务提供者组织的至关重要的组成部分。重要 的是要确保所有网络组件恰当地执行并且在尽可能短的时间检测到问题。
[0307] 这个策略的实施例将穿过网络装置接口的业务总加,并且通知何时接口容量未被 充分利用或接口利用水平变得太高,这可能会导致网络包被丢弃以及整体拥塞。可以通过 所述接口的SNMP索引识别所述接口。从网络装置发出的NetFlow选项FlowSets推断出接 口类型和容量。接口利用阈值可以手动指定、从统计分析导出或配合到模糊行为模型中。
[0308] 应了解,这个策略可以追踪单个接口或多个接口的利用。
[0309] NetFlow 去除重复
[0310] NetFlow 去除重复(NetFlow deduplication)是一种消除"重复"NetFlow 记录的 技术。
[0311] 为了获得对网络条件的完整可见,许多组织在所有网络装置上启用NetFlow。随着 网络包从一个主机行进到另一主机,其穿过多个路由器和交换机,其中的每一个将产生表 示相同网络流的NetFlow记录。包含关于重复流的信息可能会引起不正确的业务量计算或 错报了安全事件的重要性。此外,还可能会导致存储和软件许可成本明显增加。
[0312] 这个策略的实施例能够基于针对每一源IP-目的地IP主机对对于权威导出器的 动态选择而实施流去除重复。
[0313] 在一示范性实施例中,这个策略构建和在存储器中维持源IP地址、目的地IP地 址、网络上可见的NetFlow导出器和导出器最后报告通过其IP地址所识别的一对通信端点 之间的通信的时间的四维矩阵。在接收到流描述(例如NetFlow记录)后,策略即刻更新 在接收到的流描述中找到所述导出器在端点之间观察到的流计数。将具有当前最高数目的 观察到的流("权重")的导出器指定为权威导出器,并且在总得分中只考虑它的流报告。
[0314] 如果两个或更多个导出器在动态流矩阵中具有相同权重,那么可以例如通过比较 每一导出器报告相同流时的相对时间来解决模糊性。将在较早时间报告所述流的导出器指 定为权威导出器,因为其位于给定通信端点的其它导出器的上游。所述策略能够计算导出 器的相对时间,例如通过将每一导出器报告的本机时间标准化成其自身的时间("时钟偏 斜")和基于此时钟偏斜计算流观察的相对时间。例如,通过研究流描述记录中报告的下一 跳IP地址进一步将路由路径消除模糊。或者,流描述中一般报告的存活时间(TTL)值指示 在发出报告的导出器之间的流穿越序列,并且可以用于这些目的。
[0315] 在任何给定时间,这种方法还能够提供网络的当前路由拓扑的快照。可以向能够 以图形方式、用文本表格形式、二维图或通过其它手段向最终用户呈现这个信息的实体报 告这个网络拓扑。
[0316] 策略的这个实施例可以通过动态地提供网络带宽消耗的确切计数向网络管理方 提供有效值。只有当用流式传输方式而非事后(例如传统手段的做法,比如从流收集器数 据库检索)报告的时候,才能及时传递这个信息。另外,用流式传输方式为流信息去除重复 明显地降低了传统流收集器对于存储的需要,传统流收集器可用于在将流信息保存在流收 集器数据库中之后为流信息去除重复。
[0317] NF2SL 转换器
[0318] NF2SL转换器总地来说获得NetFlow数据FlowSet记录,并且根据NF2SL管理员指 定的映射产生syslog消息。图9X说明在NF2SL的基于⑶I的转换工具431的帮助下将示 范性NetFlow模板FlowSet420映射成Syslog消息421。
[0319] NF2SL管理员可以通过拖曳NetFlow模板FlowSet420中的字段描述符并且将其 在转换工具431背景上丢弃而将来自NetFlow模板的syslog消息格式化。举例来说,将 ipv4_src_addr 和 14_src_port 字段 422 和 ipv4_dst_addr 和 14_dst_port 字段 423 放置 在转换工具431背景上。用相同方式,NF2SL管理员能够映射in_pkts字段424。
[0320] 示范性所得Syslog消息421由以下各项组成:NetFlow产生方时戳425、NetFlow 产生方IP地址426、NetFlow产生方NetFlow源ID427、流源IP地址和源端口 428、流目的 地IP地址和目的地端口 429和在流430中观察到的包的数目。
[0321] 使流式传输系统能力通用化
[0322] NF2SL系统是本发明的示范性实施例。应了解,能够接收多种格式的网络元数据、 根据一个策略或多个策略处理和任选地变换此类接收到的网络元数据、将此类经处理的网 络元数据转换成多种格式以及实时中继经转换的网络元数据的这个所揭示的流式传输系 统的概念可以扩展到其它实际的应用。
[0323] 举例来说,并且参看图10,流式传输系统可以用于提高OpenFlow控制器282管理 流过例如交换机或路由器等产生NetFlow的OpenFlow兼容装置280的能力。
[0324] OpenFlow兼容装置280上的NetFlow产生方285可经配置以发出NetFlow协议 消息283,所述消息不仅指示穿过端口或在流中观察到的业务量,而且指示关于确切是哪个 应用使所述流实例化的信息和其它额外信息。关于业务量和其来源的这个增强信息接着可 以被流式传输系统281的NetFlow/0penFl〇 W(NF20F)实施例摘录,并且经由例如端口统计 数据、流统计数据和单独流统计数据或其类似物等扩展OpenFlow协议消息284被传递到 OpenFlow控制器282上。
[0325] 本发明的这个方面使普通OpenFlow控制器的网络管理能力达到较高复杂水平, 方法是通过提供对应用水平服务质量(QoS)要求的洞察。
[0326] 由于例如付费卡业界数据安全标准(PCI_DSS)、2002联邦信息安全管理法案 (FISMA)、萨班斯-奥克斯利法案(S0X)、医疗责任携带和责任法案(HIPAA)等规则顺从要 求,所以组织必须连续监控和报告多种多样的安全相关数据,包含事件、系统配置、网络业 务和性能。这个要求的主要部分是收集和保存日志。事实证明日志收集是一个艰难的任务, 原因在于使用UDP运输syslog消息的syslog协议有容易丢失的性质。
[0327] 参看图11,本发明的实施例可以用于确保日志传递的目的。在这个实施例中,在非 常接近驻留在计算装置300上的syslog产生方301之处部署SL2ASL (syslog/确保syslog) 系统303。在非常接近网络元数据产生方之处部署SA2ASL系统会使网络元数据丢失的风险 减到最小。
[0328] 在这个实施例中,SL2ASL系统303使用标准syslog协议消息304传递UDP传输 将接收到的syslog协议消息302复制给多个syslog消耗方装置305。这种技术增加了完 整日志信息保存的概率。
[0329] 进一步参看图11,在又一实施例中,SL2ASL系统303可以通过经由可靠的TCP/IP 连接306发送接收到的syslog协议消息302而与增强Syslog消耗方装置308通信。保活 信道307确保在增强Syslog消耗方308出现故障的情况下,SL2ASL系统303使用本地拥 塞控制设施暂时累积syslog协议消息302,同时增强Syslog消耗方装置308重新启动。
[0330] 本发明的这个实施例明显地简化了对日志集合规则顺从要求的满足。
[0331] 本发明的实施例可以用于经由WAN将NetFlow信息从远程网络可靠地传递到中心 网络。
[0332] 参看图1 la,在典型分支601部署中,支持NetFlow的路由器603收集分支网络602 上的NetFlow信息606并且通过在HQ600处部署的路由器605将NetFlow信息606经由 WAN604发射到NetFlow收集器607。
[0333] 但是,由于用于在分支601和HQ600之间传输NetFlow信息606的UDP协议的不 可靠性质,所以所发射的NetFlow信息606的一部分可能会在传输中丢失,从而导致不完整 的NetFlow*信息608到达NetFlow收集器607。
[0334] 使用例如SCTP等可靠的或半可靠的传输协议通常是不合需要的,因为支持 NetFlow的路由器603上的NetFlow事件速率较高,这是可靠的传输协议不能处理的。在此 些情况下,网络管理员被迫求助于采样的NetFlow报告,因而进一步增加了网络元数据的 稀疏性。
[0335] 参看图11b,这里称为NF2ASL(NetFlow/确保SysLog)的本发明的实施例防止 NetFlow信息606在传输中的丢失,同时支持高速率的NetFlow信息606发射。
[0336] 进一步参看图11b,支持NetFlow的路由器603收集分支网络602上的NetFlow 信息606,并且将NetFlow信息606发射到NF2ASL服务器620。因为支持NetFlow的路由 器603和NF2ASL服务器620部署成彼此非常接近,所以不存在NetFlow信息606丢失或者 NetFlow信息606的丢失是可忽略的。在接收到NetFlow信息606之后,NF2ASL服务器620 即刻将NetFlow信息606转换成syslog信息621。可以根据部署在NF2ASL服务器620上 的一个或多个策略和转换规则或根据默认转换规则来执行转换过程。
[0337] 为了使NetFlow信息606到HQ600的传递的可靠性最大化,NF2ASL服务器620经 配置以将syslog信息621复制到部署在HQ600处的多个syslog服务器622。经由WAN604 向部署在HQ600处的路由器605传递复制的syslog信息612。
[0338] 通过复制syslog信息621,NF2ASL服务器620增加了 NetFlow信息606的保存 概率。预期NetFlow信息606的保存概率随着syslog信息621被复制到的syslog服务器 620的数目而增加。
[0339] 参看图11c,本发明的实施例可以用于促进虚拟机超管理器312在其控制下管理 虚拟机器的组成的能力。
[0340] NetFlow产生方315可经配置以发出NetFlow协议消息313,其指示以执行虚拟机 超管理器312的服务器310为目的地的业务的量以及这个业务属于哪个应用。关于业务量 和其语义组成的信息可以通过流式传输系统311的NetFlow/超管理器(NF2HV)实施例摘 录,并且在信息协议消息314中被传递到在服务器310上执行的虚拟机超管理器312上。
[0341] 本发明的这个方面使得虚拟机超管理方312能够使用实时网络负载和组成信息 来供应在服务器310上执行的关键任务应用所必需的资源。
[0342] 参看图12,本发明的实施例可以进一步被通用化以便用于具有m个不同网络元数 据产生方321和η个不同网络元数据消耗方324的环境。
[0343] 应了解,系统320的mX2nY示范性实施例能够辨别网络元数据产生方321用于 发射网络元数据的多个输入协议322。举例来说,网络元数据产生方321中的一些发出 NetFlow协议消息,而其它网络元数据产生方经由syslog传送网络元数据。
[0344] 在接收到可接受格式中的一个的含有网络元数据的消息322后,系统320的mX2nY 实施例可以将消息在内部调度给针对所述消息的输入格式配置的一个策略或多个策略。可 以经由多个输出协议323将策略应用的结果转发到网络元数据消耗方324中的一个或多 个。
[0345] 图13说明系统320的mX2nY实施例的示范性内部组成。在这个实例中,专用接收 器模块RX341接收到某一类型的输入协议消息322,所述专用接收器模块将输入协议消息 322转发到专用格式器模块F342。格式器模块F342可以将输入协议消息322变换成策略模 块P343理解的常用网络元数据格式。接着,格式器模块F342可以将经变换的输入协议消 息322传递到策略模块P343,策略模块P在应用配置策略后即刻可以将输入协议消息322 连同任何衍生网络元数据一起转发到调度器模块344。调度器模块344可经配置以将输出 协议消息322分配给转换器模块345,转换器模块可以将输出协议消息323传递到发射模块 346用于转发到网络元数据消耗方。
[0346] 应了解,系统320的mX2nY实施例的内部组成可以不同于上述组成。举例来说,多 个格式化模块342可以实施为单个通用格式化模块等。
[0347] 进一步参看图13,还应了解,可以部署系统320的mX2nY实施例的例子以便从系 统320的mX2nY实施例的另一例子接收网络元数据322。以相同方式,应了解可以部署系统 320的mX2nY实施例的一个例子以便将网络元数据处理323的结果转发到系统320的mX2nY 实施例的另一例子。
[0348] 虽然已关于几个实施例描述了本发明,但存在属于本发明的范围内的更改、修改、 置换和替代等效物。虽然已经为了帮助描述本发明而提供了子章节标题,但是这些标题只 是说明性的,而并不希望限制本发明的范围。
[0349] 还应注意,有许多替代的实施本发明的方法和设备的方式。因而希望所附权利要 求书解释为包含属于本发明的真实精神和范围内的所有此类更改、修改、置换和替代等效 物。
【权利要求】
1. 一种处理在使用一个或多个网络协议发射网络业务的网络上产生的网络元数据的 方法,所述网络包含一些装置,所述装置中的至少一些通过入接口接收网络业务,并且通过 出接口发射网络业务,所述方法包括以下步骤: 以至少一种数据格式从数据处理系统中的多个源接收网络元数据; 确定所述网络元数据的类型或特性; 处理所述网络元数据以从其提取有用信息;以及 至少部分响应于所述确定步骤的结果,将所述网络元数据的至少一部分转换成在所述 数据处理系统中用于其它系统元数据的一个或多个不同数据格式。
2. 根据权利要求1所述的方法,其中在所述网络元数据在所述网络上在产生了所述网 络元数据的网络装置与能够存储所述网络元数据的装置之间移行时执行所述处理步骤。
3. 根据权利要求2所述的方法,其中通过应用管理网络元数据处理的至少一种策略来 实现所述处理步骤。
4. 根据权利要求3所述的方法,其中出于检测所述网络上指示可能的安全威胁的业务 的目的应用所述至少一种策略。
5. 根据权利要求4所述的方法,其中所述至少一种策略包含以下步骤: 对传入网络业务源与所述网络上的受监控超限装置预定义列表进行比较; 在目的地IP地址在超限装置预定义列表上的情况下,将源IP/端口以及目的地IP/端 口连同入NetFlow记录中报告的字节和包的数目存储在可能警告列表中; 检查输出记录以确定所述源IP/端口和所述目的地IP/端口是否与所述可能警告列表 中的条目匹配; 如果发现匹配,那么将此匹配视为内部主机对外部对等装置请求作出了答复的指示; 以及 用及时的方式产生警告消息以告知可能的僵尸网络感染。
6. 根据权利要求4所述的方法,其中所述至少一种策略包含以下步骤: 收集关于与外部网络装置通信的内部网络装置的信息;所述信息包括通信装置的IP 地址和协议列表; 应用流式传输群集分析方法以确定所述通信装置之间的通信的模式; 通过所有所计算模式的集合中存在较小不相交模式来识别所述通信装置之间的通信 的异常例子; 在识别出至少一种异常通信模式的情况下,用及时的方式产生警告消息以告知可能的 僵尸网络感染。
7. 根据权利要求3所述的方法,其中出于识别所述网络上的业务尖峰的目的应用所述 至少一种策略。
8. 根据权利要求7所述的方法,其中所述至少一种策略包含以下步骤: 将所述传入网络业务源与所述网络上的受监控装置预定义列表比较; 在所述源IP地址在装置预定义列表上的情况下,将所述源IP连同所述入NetFlow记 录中报告的字节和包的所述数目存储在存储器内数据库中; 以预定义间隔检查所述存储器内数据库,并且识别超出网络管理方所阐述的阈值的装 置; 用及时的方式产生警告消息以告知业务尖峰。
9. 根据权利要求3所述的方法,其中出于改善在所述网络上捕获NetFlow业务的可靠 性的目的应用所述至少一种策略。
10. 根据权利要求9所述的方法,其中所述至少一种策略包含以下步骤:经由不可靠网 络传输协议接收一个或多个NetFlow消息; 任选地将所述接收到的NetFlow消息转换成除了 NetFlow之外的一个或多个格式、 NetFlow的不同衍生格式或与所述接收到的NetFlow相同的格式; 将所述接收到的或转换的消息经由不可靠网络传输协议转发到多个端点,经由可靠的 网络传输协议转发到至少一个端点,或经由不可靠网络传输协议转发到至少一个端点和经 由可靠的网络传输协议转发到至少一个端点。
11. 根据权利要求3所述的方法,其中出于减少到达存储所述网络上的所述网络元数 据的装置的NetFlow消息的数目的目的应用所述至少一种策略。
12. 根据权利要求11所述的方法,其中所述至少一种策略包含以下步骤: 接收多个NetFlow消息; 识别所述接收到的NetFlow消息中的类似性; 将被识别为类似的所述接收到的NetFlow消息中的信息合并成一个或多个NetFlow消 息; 丢弃信息被合并的NetFlow消息;以及 将合并的NetFlow消息转发到存储所述网络上的网络元数据的所述装置。
13. 根据权利要求12所述的方法,其中在可配置时间周期逝去之后执行所述转发合并 的NetFlow消息的步骤。
14. 根据权利要求3所述的方法,其中出于检测所述网络上的网络接口何时变得不可 操作的目的应用所述至少一种策略。
15. 根据权利要求14所述的方法,其中所述至少一种策略包含以下步骤: 确立其间所述传入网络元数据中不存在接口识别符表示所述网络接口的不可操作状 态的阈值时间周期, 所述确立的阈值时间周期可以根据时间和地理准则而变化; 监控与所述网络接口有关的网络元数据; 在超出所述阈值时间周期的周期中未能检测到与所述网络接口有关的网络元数据的 情况下,用及时的方式产生警告消息以告知所述网络接口的不可操作状态。
16. 根据权利要求3所述的方法,其中出于使用所述网络上的网络元数据测量网络等 待时间的目的应用所述至少一种策略。
17. 根据权利要求16所述的方法,其中所述至少一种策略包含以下步骤: 确立其间请求了域名服务器DNS服务的网络装置必须从所述DNS服务接收到响应的阈 值时间周期; 监控描述网络装置与DNS服务之间的通信的网络元数据; 计算所述网络装置请求DNS服务与从所述DNS服务接收到响应之间经过的时间; 将所述经过的时间与所述阈值时间周期比较;以及 产生警告消息以告知过多的网络等待时间。
18. 根据权利要求3所述的方法,其中出于跨越所述网络上的多个装置提供每个应用 类型的实时网络可见度的目的应用所述至少一种策略。
19. 根据权利要求3所述的方法,其中出于产生所述网络上在指定时间周期中活动最 多的主机的列表的目的应用所述至少一种策略。
20. 根据权利要求19所述的方法,其中所述至少一种策略包含以下步骤: 接收多个网络元数据消息; 识别与各个网络主机有关的网络元数据; 集合每一所识别网络主机的网络元数据; 选择产生了最多网络连接的所述网络主机的可配置大小列表;以及 报告产生了最多网络连接的所述网络主机的所述列表。
21. 根据权利要求3所述的方法,其中出于产生所述网络上在指定时间周期中具有最 多接入控制列表违规的装置的列表的目的应用所述至少一种策略。
22. 根据权利要求21所述的方法,其中所述至少一种策略包含以下步骤: 接收含有网络元数据的多个消息;所述元数据含有关于接入控制列表违规的信息; 选择所述消息的子集,使得每一消息报告至少一个接入控制列表违规; 集合每个所报告的网络装置的消息的所述子集; 以递减顺序将所集合消息的所述子集排序,使得具有最多接入控制列表违规的网络装 置处在所述列表的头部; 从所述经排序列表的所述头部检索可配置数目的条目;以及 用及时的方式产生警告消息以告知在所述列表的所述头部的所述条目中找到的具有 所述最多接入控制列表违规的所述网络装置。
23. 根据权利要求3所述的方法,其中出于计算在可指定的时间间隔中经由可指定的 入接口和出接口穿过网络装置的网络包的平均大小的目的应用所述至少一种策略。
24. 根据权利要求23所述的方法,其中所述至少一种策略包含以下步骤: 接收含有网络元数据的多个消息;所述元数据含有关于在相异的入接口与相异的出接 口之间传递的包的数目和字节的数目的信息; 集合每个相异的接口对的所述信息; 计算穿过每一相异的接口对的所述网络包的移动平均大小; 用及时的方式报告关于在所述相异的网络接口对的至少一部分之间传递的所述网络 包的平均大小的信息。
25. 根据权利要求3所述的方法,其中出于识别所述网络上在可指定的时间间隔中是 所述网络的带宽的首要消耗方的装置的目的应用所述至少一种策略。
26. 根据权利要求25所述的方法,其中所述至少一种策略包含以下步骤: 接收多个网络元数据消息; 识别与各个网络主机有关的网络元数据; 集合每一所识别网络主机的网络元数据; 选择产生了最多网络业务的所述网络主机的可配置大小列表;以及 报告产生了最多网络业务的所述网络主机的所述列表。
27. 根据权利要求26所述的方法,其中出于识别所述网络上在可指定的时间间隔中通 过网络协议通过网络装置是所述网络的所述带宽的首要消耗方的装置的目的应用所述至 少一种策略。
28. 根据权利要求3所述的方法,其中出于识别所述网络上的活动超过此活动的基线 水平的目的应用所述至少一种策略。
29. 根据权利要求28所述的方法,其中所述至少一种策略包含以下步骤:在可指定的 时间周期中在学习模式中操作以确定相对于所述网络的管理方所关注的网络条件特性的 可能正常的参数的基线,以及在监控模式中操作以向所述管理方报告所述网络上的活动何 时超出所述基线可预定义的水平。
30. 根据权利要求29所述的方法,其中所述基线包括与来自由以下各项组成的群组的 一个或多个网络属性相关的网络信息: 并行流的数目,全局包速率,全局吞吐量,新流创建速率,所发送的SYN包的数目,接收 到的SYN包的数目,连接复位的数目,平均流持续时间,流持续时间分散和日时。
31. 根据权利要求3所述的方法,其中出于将流导出器所报告的流信息去除重复的目 的应用所述至少一种策略。
32. 根据权利要求31所述的方法,其中所述至少一种策略包含以下步骤: 接收含有通信端点的IP地址和提供了所述流记录的装置的IP地址的流记录; 指出接收到所述记录的时间; 在存储器中维持关于通信端点的IP地址、流报告装置的IP地址和最后观察到的通信 的时间的信息;所述信息是所述流报告装置所利用的至少一些通信路径的频率的指示符; 基于所述存储器信息选择报告所述流的其它流报告装置当中具有最高使用频率的流 报告装置,并且将所述最高频率流报告装置指定为关于所述网络端点之间的通信的权威信 息源; 在一个以上流报告装置具有在所述存储器信息中反映的相同最高使用频率的情况下, 进一步基于从由以下各项组成的群组选出的准则将关于所述网络端点之间的通信的所述 权威信息源的身份去除模糊:流报告装置报告所述流的时间,所述流报告装置提交的所述 流记录中报告的存活时间计数器,和所述流报告装置所提交的所述流记录中报告的下一跳 IP地址; 转发关于所述通信端点之间的通信的从所述权威流报告装置接收到的流记录以供进 一步处理;以及 丢弃关于所述通信端点之间的通信的从其它流报告装置接收到的流记录。
33. 根据权利要求31所述的方法,其中所述至少一种策略包含以下步骤: 从穿越所述网络的所述网络元数据收集与IP地址和接口索引相关的邻界列表; 从所述邻界列表建立表示所述网络的装置和拓扑的计算机模型; 用统计法识别原先编辑与所述网络上的特定网络业务流相关的网络元数据的装置;以 及 使下游网络装置可以产生的网络元数据信息去除重复以反映相同网络业务穿过所述 下游装置的流动。
34. 根据权利要求1所述的方法,其进一步包括以下步骤: 将所述接收到的网络元数据转发到网络元数据的下游消耗方或收集器,同时保持其至 少一种数据格式。
35. 根据权利要求1所述的方法,其进一步包括以下步骤: 将转换的网络元数据转发到所述一个或多个不同数据格式的网络元数据的下游消耗 方或收集器。
36. 根据权利要求1所述的方法,其中所述确定步骤包括确认与所述接收到的网络元 数据的有效性相关的至少一个断言。
37. 根据权利要求1所述的方法,其中所述转换步骤包括将所述接收到的网络元数据 转换成常用数据格式。
38. 根据权利要求1所述的方法,其中所述确定步骤包括查找指派给所述网络元数据 的瞬时识别符。
39. 根据权利要求38所述的方法,其中使瞬时网络元数据识别符与指派给所述网络元 数据的永久识别符动态地相关联。
40. 根据权利要求39所述的方法,其中进一步使永久性网络元数据识别符与一个或多 个策略相关联。
41. 根据权利要求40所述的方法,其中所述处理步骤包括向所述网络元数据应用一个 或多个策略。
42. 根据权利要求1所述的方法,其中所述确定步骤包括将所述网络元数据分类。
43. 根据权利要求42所述的方法,其中通过应用管理网络元数据处理的至少一种策略 来实现所述分类步骤。
44. 根据权利要求43所述的方法,其中所述至少一种策略是基于所述网络元数据的内 容。
45. 根据权利要求43所述的方法,其中所述至少一种策略是基于时间的。
46. 根据权利要求43所述的方法,其中通过并入有可动态加载的软件模块来实施所述 至少一种策略。
47. 根据权利要求46所述的方法,其中所述可动态加载的软件模块是二进制可执行模 块。
48. 根据权利要求43所述的方法,其中所述应用所述至少一种策略会产生从所述经处 理网络元数据导出的额外网络元数据。
49. 根据权利要求48所述的方法,其中所述额外网络元数据是采用与所述经处理网络 元数据相同的格式。
50. 根据权利要求48所述的方法,其中所述额外网络元数据是采用除了所述经处理网 络元数据之外的格式。
51. 根据权利要求43所述的方法,其中应用所述至少一种策略会变换网络元数据内 容。
52. 根据权利要求1所述的方法,其中所述转换网络元数据的步骤包括应用转换规则。
53. 根据权利要求52所述的方法,其中所述转换规则是基于所述网络元数据的内容。
54. 根据权利要求52所述的方法,其中所述转换规则是默认转换规则。
55. 根据权利要求52所述的方法,其中通过并入有可动态加载的软件模块来实施所述 转换规则。
56. 根据权利要求55所述的方法,其中所述可动态加载的软件模块是二进制可执行模 块。
57. 根据权利要求2所述的方法,其中所述转发接收到的网络元数据的步骤改变所述 网络元数据的来源的指示符。
58. 根据权利要求2所述的方法,其中所述转发接收到的网络元数据的步骤不改变所 述网络元数据的来源的所述指示符。
59. 根据权利要求3所述的方法,其进一步包括所述验证所转发的转换的网络元数据 的步骤。
60. 根据权利要求59所述的方法,其中所述验证步骤实施密码较强的验证。
61. 根据权利要求59所述的方法,其中所述验证步骤实施密码不强的验证。
62. -种将网络元数据分类的方法,其包括以下步骤: 计算不变的网络元数据定义唯一识别符; 使至少一种处理规则与所述网络元数据唯一识别符相关联; 将所述网络元数据定义唯一识别符存储在第一信息容器中; 将所述至少一种处理规则存储在所述第一信息容器中; 在所述第一信息容器中使所述至少一种处理规则与所述网络元数据定义唯一识别符 相关联; 从唯一地识别的源接收含有网络元数据定义和第一瞬时网络元数据识别符的第一信 息包; 在所述第一包中定位不变网络元数据定义; 计算对应于所述第一包中的所述网络元数据定义的不变网络元数据定义唯一识别 符; 在所述第一信息容器中定位所述网络元数据定义唯一识别符; 将所述第一瞬时网络元数据识别符和所述源识别符存储在第二信息容器中; 使所述第二信息容器中的所述第一瞬时网络元数据识别符与所述第一信息容器中的 所述网络元数据定义唯一识别符相关联; 接收含有网络元数据、所述第一瞬时网络元数据识别符和所述源识别符的第二信息 包; 在所述第二信息容器中定位所述第一瞬时网络元数据识别符和所述源识别符; 使用所述第二信息容器中的所述关联在所述第一信息容器中定位网络元数据定义唯 一识别符; 使用所述第一信息容器中的网络元数据定义唯一识别符的所述关联来定位所述处理 规则;以及 执行所述处理规则以将网络元数据分类。
63. 根据权利要求62所述的方法,其进一步包括: 从所述唯一地识别的源接收含有网络元数据定义和第二瞬时网络元数据识别符的第 二息包; 在所述第三包中定位不变网络元数据定义; 计算对应于所述第三包中的所述网络元数据定义的不变网络元数据定义唯一识别 符; 在所述第一信息容器中定位所述网络元数据定义唯一识别符; 将所述第二瞬时网络元数据识别符和所述源识别符存储在第二信息容器中; 使所述第二信息容器中的所述第二瞬时网络元数据识别符与所述第一信息容器中的 所述网络元数据定义唯一识别符相关联; 使用所述源识别符在所述第二信息容器中定位所述第一瞬时网络元数据识别符; 从所述第二容器移除所述第一瞬时网络元数据识别符和所述源识别符; 接收含有网络元数据、所述第二瞬时网络元数据识别符和所述源识别符的第四信息 包; 在所述第二信息容器中定位所述第二瞬时网络元数据识别符和所述源识别符; 使用所述第二信息容器中的所述关联在所述第一信息容器中定位网络元数据定义唯 一识别符; 使用所述第一信息容器中的网络元数据定义唯一识别符的所述关联来定位所述处理 规则;以及 执行所述处理规则以将网络元数据分类。
64. 根据权利要求62所述的方法,其中通过向所述第二容器中存储的所述要素应用老 化算法而执行所述从所述第二容器移除所述第一瞬时网络元数据识别符和所述源识别符 的步骤。
65. 根据权利要求62所述的方法,其中所述计算不变网络元数据定义唯一识别符的步 骤包括计算不变网络元数据定义散列值。
66. 根据权利要求65所述的方法,其中使用密码较强的算法计算所述散列值。
67. 根据权利要求65所述的方法,其中使用密码不强的算法计算所述散列值。
68. 根据权利要求62所述的方法,其中所述处理规则是管理网络元数据处理的策略。
69. 根据权利要求68所述的方法,其中所述策略至少部分是基于所述网络元数据的内 容。
70. 根据权利要求68所述的方法,其中所述策略是基于时间的。
71. -种选择性减少供应到网络上的SIEM系统的网络元数据的量的方法,其包括以下 步骤: 识别含有至少部分冗余的元数据的网络元数据包;以及 处理所述含有至少部分冗余的元数据的网络元数据包以将所述包集合成较小数目的 包,同时保持所关注的所述元数据。
72. -种用于处理网络元数据的系统,其包括以下步骤: 适于以至少一种数据格式从多个源接收网络元数据的网络节点; 用于确定所述网络元数据的类型或特性的处理模块; 用于处理所述网络元数据以从其提取有用信息的处理模块;以及 用于至少部分响应于所述确定步骤的结果将所述网络元数据的至少一部分转换成一 个或多个不同数据格式的处理模块。
73. -种用于将网络元数据分类的系统,其包括以下步骤: 用于计算不变的网络元数据定义唯一识别符的处理器; 用于使至少一种处理规则与所述网络元数据唯一识别符相关联的处理器; 用于将所述网络元数据定义唯一识别符存储在第一信息容器中的处理器; 用于将所述至少一种处理规则存储在所述第一信息容器中的处理器; 用于在所述第一信息容器中使所述至少一种处理规则与所述网络元数据定义唯一识 别符相关联的处理器; 用于接收含有网络元数据定义和瞬时网络元数据识别符的第一信息包的处理器; 用于在所述第一包中定位不变网络元数据定义的处理器; 用于计算对应于所述第一包中的所述网络元数据定义的不变网络元数据定义唯一识 别符的处理器; 用于在所述第一信息容器中定位所述网络元数据定义唯一识别符的处理器; 用于将所述瞬时网络元数据识别符存储在第二信息容器中的处理器; 用于使所述第二信息容器中的所述瞬时网络元数据识别符与所述第一信息容器中的 所述网络元数据定义唯一识别符相关联的处理器; 用于接收含有网络元数据和所述瞬时网络元数据识别符的第二信息包的处理器; 用于在所述第二信息容器中定位所述瞬时网络元数据识别符的处理器; 用于使用所述第二信息容器中的所述关联在所述第一信息容器中定位网络元数据定 义唯一识别符的处理器; 用于使用所述第一信息容器中的网络元数据定义唯一识别符的所述关联来定位所述 处理规则的处理器;以及 用于执行所述处理规则以将网络元数据分类的处理器。
74. -种联网系统,其包括: 局域网,其包括 所述网络上的产生syslog格式的第一网络元数据集合的多个装置; 适于接收syslog数据的网络监控设施; 所述网络上的产生除了 syslog数据的格式之外的格式的第二网络元数据集合的多个 装置; 能够将所述第二网络元数据集合的至少部分转换成syslog格式的第一网络元数据处 理设施;以及 用于将所述第一网络元数据处理设施的所述转换的输出作为输入供应到所述网络监 控设施的通信媒体。
75. 根据权利要求74所述的联网系统,其中所述第一网络元数据处理设施包括用于先 处理所述第二网络元数据集合的至少一些部分然后将所述第二网络元数据集合的所述至 少一些部分转换成syslog格式的过程。
76. 根据权利要求75所述的联网系统,其中所述处理器包括能够确定所述第二网络元 数据集合内包含的消息的类型的分类器。
77. 根据权利要求75所述的联网系统,其中所述处理器包括能够至少部分基于所述分 类器的类型确定来选择性处理所述第二网络元数据集合内的每一消息的策略模块。
78. 根据权利要求77所述的联网系统,其中所述策略模块至少部分基于所述分类器的 所述类型确定向每一消息应用一个或多个策略。
79. 根据权利要求74所述的联网系统,其进一步包括远程子网,所述远程子网包括: 所述远程子网上的产生syslog格式的第三网络元数据集合的多个装置; 所述子网上的产生除了 syslog数据的格式之外的格式的第四网络元数据集合的多个 装置;以及 能够将所述第四网络元数据集合的至少一些部分转换成syslog格式的第二网络元数 据处理设施;以及 用于将所述第二网络元数据处理设施的所述转换的输出作为输入供应到所述网络监 控设施的通信媒体。
80. -种提高经由WAN从分支网络向主网络发射NetFlow消息的可靠性的方法,其包括 以下步骤: 将在所述分支网络上产生的所述NetFlow消息的至少一部分转换成syslog消息;以及 利用比UDP更可靠的网络协议将所述转换的syslog消息从所述分支网络传递到所述 主网络上的服务器。
【文档编号】H04L29/06GK104115463SQ201280066276
【公开日】2014年10月22日 申请日期:2012年11月6日 优先权日:2011年11月7日
【发明者】威廉·G·弗里德曼, 亚历山大·韦莱德尼特斯基 申请人:网络流逻辑公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1