用于监控和管理数据中心的系统的制作方法

文档序号:13629216阅读:621来源:国知局
用于监控和管理数据中心的系统的制作方法

相关申请

本申请要求于2015年6月5日递交的、名称为“用于监控和管理数据中心的系统”的美国临时申请no.62/171,899的优先权,其全部内容通过引用结合于此。

本技术涉及网络监控,更具体地涉及基于遍及数据中心获取的数据来分析网络流量。



背景技术:

随着数据中心的大小和复杂性的增加,管理数据中心的工具必须能在实现适当的安全策略的同时有效地识别效率低下的情形。传统上,网络管理员必须手动实现安全策略、管理访问控制列表(acl)、配置防火墙、识别被错误配置或感染的机器等。这些任务随着网络大小的增长呈指数地变得更加复杂,并且需要大量数据中心组件的详尽知识。另外,恶意攻击或错误配置的机器会在数分钟内关闭数据中心,而网络管理员需要花费数小时或数天时间来确定根本问题并提供解决方案。

附图说明

为了描述可以得到本公开的上述和其他优点和特征的方式,将参考附图中示出的具体实施例给出对于上述原理的更具体的描述。应该理解的是,这些附图仅描绘了本公开的示例实施例,因此不应该被认为是对本技术的范围的限制。这里,使用附图更详细、具体地描述并说明这些原理,其中:

图1示出了根据一些示例实施例的示例网络流量监控系统;

图2示出了根据一些示例实施例的示例网络环境;

图3示出了根据一些实施例的示例方法;以及

图4a和4b示出了示例系统实施例。

具体实施方式

内容

系统概述…………………………………………………………………4

在计算网络的传感器上自动下载并启动新软件版本…………………20

传感器升级路径-检测非关键时间………………………………………21

数据流的聚集……………………………………………………………22

检测流量监控系统中的传感器类型……………………………………22

传感器配置的自动更新…………………………………………………23

检测流量监控系统中的管理程序使用的转发模型和虚拟交换设备…24

vm和管理程序中的传感器使用的资源的自我监督…………………25

处理vm和管理程序中的妥协传感器…………………………………27

收集器高可用性…………………………………………………………29

识别bogon地址空间……………………………………………………30

从传感器到收集器的流的分层分片……………………………………31

收集器处的数据聚集器…………………………………………………32

检测妥协收集器…………………………………………………………37

检测妥协传感器…………………………………………………………38

故障服务优先修复的有向无环图………………………………………39

用于管道健康检查的综合流量流………………………………………39

使用传感器实施网络策略………………………………………………40

用于检测隐藏的差异分析………………………………………………40

用于检测隐藏流的差异分析……………………………………………43

数据中心中的后期数据检测……………………………………………45

确定事件的因果关系……………………………………………………50

用于网络事件的自定义事件处理器……………………………………52

基于分布式拓扑映射和流量历史的欺骗检测…………………………54

确定分布式传感器-收集器架构中的不同点的分组丢失………………56

检测传感器-收集器拓扑…………………………………………………57

创建主机信誉得分………………………………………………………61

使用主机信誉数据………………………………………………………62

确定网络图并利用延时进行注释………………………………………63

使用上述网络图和延时检测网络异常/故障……………………………63

检测时钟偏移节点………………………………………………………64

检测应用延时……………………………………………………………64

条件策略…………………………………………………………………64

基于外部源的鲁棒主机信誉……………………………………………65

策略利用(以及碎片收集)……………………………………………66

策略模拟…………………………………………………………………67

策略利用(以及碎片收集)……………………………………………69

策略遵循…………………………………………………………………70

网络脆弱性量化和可视化………………………………………………72

流搜索页面上的流排名…………………………………………………73

用于流探测的平行坐标图………………………………………………74

流注解……………………………………………………………………75

克服ddos检测软件上的攻击…………………………………………76

策略的智能实施…………………………………………………………77

数据中心内的ddos检测………………………………………………78

网络脆弱性量化和可视化………………………………………………80

微突发(microburst)检测………………………………………………81

基于顺序号的测量………………………………………………………82

头字段熵…………………………………………………………………83

ttl改变…………………………………………………………………83

基于所发送的分组直方图简要介绍主机………………………………84

流抗混叠(flowanti-aliasing)…………………………………………85

主机设备外部的tcp状态追踪…………………………………………86

流重复数据删除…………………………………………………………86

选择性分组捕捉…………………………………………………………87

唯一传感器id创建……………………………………………………87

分析用于流分析的dhcp………………………………………………88

分析用于流分析的多播…………………………………………………89

应用的崩溃和布置………………………………………………………89

攻击邻居的崩溃和布置…………………………………………………90

具有网络数据库的geo和geo可视化………………………………91

网络监测和分析系统……………………………………………………91

生成通信图的amd管线………………………………………………92

生成计算网络中的节点的向量…………………………………………92

基于计算节点上运行的进程生成向量…………………………………93

改进的amd管线………………………………………………………94

使用最小描述长度(mdl)法生成最佳数目的聚类…………………95

使用轮廓得分(silhouettescore)生成最佳数目的聚类………………97

提取并在ui上显示信息概述…………………………………………98

用于聚类的多个信号的融合……………………………………………99

计算网络中生成的聚类的自动命名…………………………………100

结合用户反馈和校正重新生成adm管线…………………………100

服务器-客户端判定……………………………………………………101

发现时间因果模式……………………………………………………102

ui-adm:用于adm的平行可折叠和弦图…………………………102

基于网络使用情况的业务关键性……………………………………103

使用网络来判定应用中断可能性……………………………………104

总论

一种示例方法包括使用传感器检测遍及数据中心的分组。传感器随后可以将分组日志发送给各种收集器,这些收集器随后可以识别并总结数据中心中的数据流。然后,收集器可以将流日志发送给分析模块,分析模块可以识别数据中心的状态并检测攻击。

描述

下面将详细讨论本公开的各种实施例。尽管讨论了具体实现方式,但是应该理解的是,这么做仅为了说明的目的。相关领域技术人员将认识到,在不偏离本公开的精神和范围的条件下,可以使用其他组件和配置。

系统

图1示出了根据一些示例实施例的示例网络流量监控系统100。网络流量监控系统100可以包括配置和图像管理器102、传感器104、外部数据源106、收集器108、分析模块110、策略引擎112、以及呈现模块116。这些模块可以被实现为硬件和/或软件组件。尽管图1示出了网络流量监控系统100的各种组件的示例配置,但是本领域技术人员将理解的是,网络流量监控系统100或这里描述的任何系统的组件可以被以多种不同方式配置,并且可以包括任意其他类型和数目的组件。例如,传感器104和收集器108可以属于一个硬件和/或软件模块或属于多个单独模块。其他模块也可以被结合为更少的组件和/或进一步划分为更多组件。

配置和图像管理器102可以提供并维护传感器104。在一些示例实施例中,传感器104可以位于虚拟机图像中,并且配置和图像管理器102可以是还提供虚拟机图像的组件。

配置和图像管理器102可以配置并管理传感器104。当新虚拟机被实例化或现有虚拟机被迁移时,配置和图像管理器102可以在该虚拟机上提供并配置新传感器。在一些示例实施例中,配置和图像管理器102可以监控传感器104的健康情况。例如,配置和图像管理器102可以请求状态更新或发起测试。在一些示例实施例中,配置和图像管理器102还可以管理并提供虚拟机。

在一些示例实施例中,配置和图像管理器102可以验证并确认传感器104。例如,传感器104可以被提供以唯一id,该唯一id是使用配置和图像管理器102上存储的密钥和该传感器的基本输入/输出系统(bios)通用唯一标识符(uuid)的单向散列函数创建的。该uuid可以是骗子传感器很难猜到的大数字。在一些示例实施例中,配置和图像管理器102可以通过安装传感器104的新软件版本以及应用补丁来保持传感器104为最新版本的传感器。配置和图像管理器102可以从本地源或互联网自动获取这些更新。

传感器104可以位于数据中心网络的节点(例如,虚拟分区、管理程序、物理服务器、交换机、路由器、网关、其他网络设备、其他电子设备等)上。一般,虚拟分区可以是虚拟机(vm)(例如,vm104a)、沙箱、容器(例如,容器104c)、或其中运行有软件的任意其他孤立环境的实例。软件可以包括操作系统和应用软件。对于在虚拟分区中运行的软件,虚拟分区可以看上去像独立的物理服务器一样。在一些示例实施例中,管理程序(例如,管理程序104b)可以是直接在硬件上运行或者替代地在硬件上执行的主机软件下运行的本地或“裸机”管理程序。传感器104可以监控去往和来自节点的通信,并且报告与节点有关的环境数据(例如,节点id、状态等)。传感器104可以在高速连接上将它们的记录发送给收集器108进行保存。传感器104可以包括(例如,在vm、容器、虚拟交换机、管理程序、物理服务器、或者其他设备上运行的)软件、专用集成电路(asic)(例如,交换机、网关、路由器、独立分组监控器、或者包括分组捕捉(pcap)模块或类似技术的其他网络设备的组件)、或者独立单元(例如,连接到网络设备的监控部分的设备或与数据中心的主要干线串联连接的设备)。应该理解的是,各种软件和硬件配置可以被用作传感器104。传感器104可以轻量型的,从而最小地妨碍数据中心中的正常流量和计算资源。传感器104可以“嗅探”在其主机网络接口卡(nic)上发送的分组,或者单独进程可以被配置为向传感器104报告流量。这种传感器结构允许从每一跳数据传输鲁棒地捕捉颗粒(即,具体)网络流量数据。

当传感器104捕捉通信时,它们可以连续地将网络流量数据发送给收集器108。网络流量数据可以与分组、分组的集合、流、流的群组等有关。网络流量数据还可以包括其他细节,例如,vmbiosid、传感器id、相关进程id、相关进程名称、进程用户名、传感器专用密钥、传感器的地理位置、环境细节等。网络流量数据可以包括描述开放系统互联(osi)模型的所有层上的通信的信息。例如,网络流量数据可以包括信号强度(如果可用)、源/目的地媒体访问控制(mac)地址、源/目的地互联网协议(ip)地址、协议、端口号、加密数据、请求进程、样本分组等。

在一些示例实施例中,传感器104可以在将网络流量数据发送给收集器108之前,对网络流量数据进行预处理。例如,传感器104可以移除无关或重复数据,或者它们可以创建数据的概述(例如,延时、每个流发送的分组和字节、标记的异常活动等)。在一些示例实施例中,传感器104可以被配置为仅捕捉某些类型的连接信息并且忽略其他信息。因为在网络中捕捉每个分组会淹没系统,所以在一些示例实施例中,传感器104可以被配置为仅捕捉分组的代表性样本(例如,每第1000个分组或者其他合适的采样率)。

传感器104可以将网络流量数据发送给一个或多个收集器108。在一些示例实施例中,传感器104可以被分配给主收集器和辅收集器。在其他示例实施例中,传感器104不被分配给收集器,但是可以通过发现进程确定最佳收集器。传感器104可以在它们的环境改变(例如,某些收集器发生故障、或者传感器被迁移到新位置并且变得更接近另一收集器)时改变它们的网络流量数据被发送到的位置。在一些示例实施例中,传感器104可以将不同类型的网络流量数据发送给不同的收集器。例如,传感器104可以将与一种类型的进程有关的网络流量数据发送给一个收集器,并且将与另一种类型的进程有关的网络流量数据发送给另一收集器。

收集器108可以用作传感器104所记录的数据的存储装置。在一些示例实施例中,收集器108可以直接连接到架顶式交换机。在其他示例实施例中,收集器108可以被放置在列端式交换机附近。收集器108可以被放置在房屋上或者离开房屋放置。将明白的是,可以根据诸如,网络容量、成本、以及系统响应之类的各种优先级来优化收集器108的布置。在一些示例实施例中,收集器108的数据存储装置位于内存中数据库中,例如,国际商用机的dashdb。这种方法受益于通常为分析软件所需的快速的随机访问速度。替代地,收集器108可以根据成本、响应、以及尺寸要求,利用固态驱动器、磁盘驱动器、磁带驱动器、或者它们的组合。收集器108可以利用各种数据库结构,例如,规范化关系数据库或nosql数据库。

在一些示例实施例中,收集器108可以仅用作网络流量监控系统100的网络存储装置。在其他示例实施例中,收集器108可以对数据进行组织、总结、以及预处理。例如,收集器108可以用表格示出某些大小或类型的分组被从数据中心的不同节点发送的频率。收集器108还可以表征去往以及来自各种节点的流量流。在一些示例实施例中,收集器108可以基于顺序号来匹配分组,从而识别流量流和连接链路。在一些示例实施例中,收集器108可以对异常数据进行标记。因为不定期地保留所有数据是低效的,所以在一些示例实施例中,收集器108可以周期性地用所整合的概述来替换详细的网络流量数据。这样,收集器108可以保留描述一个时段(例如,上一分钟或者其他适当时段)的完整数据集和另一时段(例如,之前的2-10分钟或者其他适当时段)的较小数据集,并且逐步整合其他时段(例如,天、周、月、年等)的网络流量流数据。通过对网络流量流数据进行组织、总结、以及预处理,收集器108可以帮助网络流量监控系统100高效地缩放。尽管收集器108在这里一般被以复数形式提及,但是将明白的是,收集器108可以使用单个机器实现,尤其是对于较小型的数据中心来说。

在一些示例实施例中,收集器108可以从外部数据源106接收数据,例如,安全报告、白名单(106a)、ip监视列表(106b)、关于是谁的数据(whoisdata)(106c)、或者带外数据(例如,功率状态、温度读数)等。

在一些示例实施例中,网络流量监控系统100可以包括收集器108和分析模块110之间的宽带连接。分析模块110可以包括应用依赖(adm)模块160、信誉模块162、脆弱性模块164、恶意软件检测模块166等,以实现针对由传感器104收集并存储在收集器108中的流数据的各种任务。在一些示例实施例中,网络流量监控系统100可以自动确定网络拓扑。使用传感器104捕捉的网络流量流数据,网络流量监控系统100可以确定存在于网络中的设备的类型(例如,交换机、网关、机器等的品牌和模型)、物理位置(例如,经度和纬度、建筑物、数据中心、房间、行、支架、机器等)、互连类型(例如,10gb以太网、光纤等)、以及网络特性(例如,带宽、延时等)。自动确定网络拓扑有助于网络流量监控系统100在已经建立的数据中心中的一体化。另外,分析模块110可以检测网络拓扑的改变,而不需要进一步的配置。

分析模块110可以使用adm模块160确定网络中的组件的依赖关系。例如,如果组件a常规地向组件b发送数据但是组件b从来不向组件a发送数据,则分析模块110可以确定组件b依赖于组件a,但是组件a不大可能依赖组件b。但是,如果组件b也向组件a发送数据,则它们很可能是相互依赖的。这些组件可以是进程、虚拟机、管理程序、虚拟局域网(vlan)等。一旦分析模块110确定了组件依赖关系,它就可以形成组件(“应用”)依赖图。当分析模块110试图确定故障的根本原因时,该图可以是有指导意义的(因为一个组件的故障可以级联并导致其依赖组件的故障)。该依赖图在分析模块110试图预测在某组件发生掉线的情况下将发生什么情况时也是有帮助的。另外,分析模块110可以将应用依赖图的边缘与针对该边缘的期望延时、带宽等相关联。

分析模块110可以为组件行为建立模式和规范。例如,它可以确定某些进程(在正常工作时)将使用一小组端口向某个vm发送某数量的流量。分析模块可以通过分析各个组件或者通过分析来自类似组件(例如,具有类似配置的vm)的数据来建立这些规范。类似地,分析模块110可以确定对于网络操作的期望。例如,它可以确定两个组件之间的期望延时、组件的期望吞吐量、组件的响应次数、一般分组大小、流量流签名等。在一些示例实施例中,分析模块110可以将其依赖图与模式分析相结合,来创建反应期望。例如,如果一个组件中的流量增加,则其他组件可以作为响应而预测性地增加流量(或者延时、计算时间等)。

在一些示例实施例中,分析模块110可以使用机器学习技术,使用恶意软件检测模块166来识别对网络的安全威胁。例如,恶意软件检测单元166可以被提供以对应于攻击的网络状态以及对应于正常操作的网络状态的示例。恶意软件检测模块166随后可以分析网络流量流数据,来辨认网络何时处于攻击下。在一些示例实施例中,网络可以在值得信赖的环境中操作一段时间,从而使得分析模块110可以建立基线常态。在一些示例实施例中,分析模块110可以包含各种组件的规范和期望的数据库。该数据库可以包括来自网络外部源(例如,外部源106)的数据。分析模块110随后可以使用策略引擎112来创建有关组件可以如何反应的访问策略。在一些示例实施例中,策略可以在网络流量监控系统100外部建立,并且策略引擎112可以检测策略并将它们结合到分析模块110中。网络管理员可以手动调整策略。策略可以事件为条件动态改变。这些策略可以由组件根据由网络实现的网络控制机制实施。策略引擎112可以维护这些策略并且接收改变策略的用户输入。

策略引擎112可以配置分析模块110,以建立或维护网络策略。例如,策略引擎112可以指定某些机器不应该相互通信或者某些端口受限制。网络和安全策略控制器(未示出)可以设置策略引擎112的参数。在一些示例实施例中,可以经由呈现模块116访问策略引擎112。在一些示例实施例中,策略引擎112可以包括策略数据112。在一些示例实施例中,策略数据112可以包括端点群组(epg)数据114,该数据可以包括epg到ip地址和/或mac地址的映射。在一些示例实施例中,策略数据112可以包括用于处理数据分组的策略。

在一些示例实施例中,分析模块110可以模拟网络中的改变。例如,分析模块110可以模拟在机器断线、连接被切断、或者新策略被实施的情况下会发生什么。这种类型的模拟可以为网络管理员提供有关实施什么策略的更多信息。在一些示例实施例中,这种模拟可以用作对于策略的反馈环。例如,存在以下策略,即如果某些策略会影响某些服务(如模拟所预测的),则这些策略不应该被实施。分析模块110可以使用模拟来发现数据中心中的脆弱性。在一些示例实施例中,分析模块110可以确定哪些服务和组件将受到策略改变的影响。分析模块110随后可以采取必要的措施针对该改变对这些服务和组件做出准备。例如,其可以向管理员发送有关这些服务和组件的通知,可以发起组件的迁移,可以关断组件等。

在一些示例实施例中,分析模块110可以通过对数据中心发起综合流量流和综合攻击来对其分析进行补充。这些假动作可以帮助分析模块110收集数据从而增强其模型。在一些示例实施例中,这些综合流和综合攻击被用来验证传感器104、收集器108、以及分析模块110的完整性。随着时间的推移,组件有时会出现异常行为。分析模块110可以分析该异常行为的频率和严重程度,以使用信誉模块162为该组件确定信誉得分。分析模块110可以使用组件的信誉得分来选择性地实施策略。例如,如果某组件具有高信誉得分,则该组件可以被分配以一个或多个更为宽松的策略;相反,如果该组件频繁违反(试图违反)其一个或多个相关策略,则其信誉得分会被降低并且该组件会经受一个或多个更为严格的策略。信誉模块162可以将观察到的信誉得分与组件的特性相关联。例如,具有特定配置的特定虚拟机可能更易于出现错误配置,因此接收较低的信誉得分。当新组建被布置在网络中时,分析模块110可以分配与类似配置的组件的得分类似的起始信誉得分。给定组件配置的期望信誉得分可以从数据中心外部得到。网络管理员可以在安装各种组件之前被呈现以这些组件的期望信誉得分,这有助于网络管理员选择将导致高信誉得分的组件和配置。

一些异常行为可以指示错误配置的组件或恶意攻击。如果某些攻击来自数据中心外部,则这些攻击易于检测;但是,如果某些攻击来自数据中心内部,则可以证明这些攻击难以检测和隔离。一个这样的攻击可以是分布式拒绝服务(ddos),其中,某个组件或组件群组试图用伪造的传输和请求来淹没另一组件。检测攻击或其他恶意网络流量可以通过比较期望的网络条件与实际的网络条件来实现。例如,如果流量流改变了其历史签名(分组大小、传输控制协议头选项等),则其可能是攻击。

在一些情况中,期望流量流由传感器报告,但是传感器没能报告该流量流。这种情形可能是传感器发生故障或者变得妥协的指示。通过比较来自遍布数据中心的多个传感器104的网络流量流数据,分析模块110可以确定某个传感器没能报告特定流向流。

呈现模块116可以包括服务层118、认证模块120、web前端122、公共警报模块124、以及第三方工具126。在一些示例实施例中,呈现模块116可以为网络监控系统100提供外部接口。使用呈现模块116,网络管理员、外部软件等可以经由网页、应用程序编程接口(api)、视听队列等接收与网络监控系统100有关的数据。在一些示例实施例中,呈现模块116可以对数据进行预处理和/或总结,用于外部呈现。在一些示例实施例中,呈现模块116可以生成网页。当分析模块110处理网络流量流数据并生成分析数据时,该分析数据可能不是人类可读形式或者其可能对于管理员来说太长而无法导航。呈现模块116可以接收分析模块110生成的分析数据,并且对该分析数据进行进一步的总结、过滤和组织,从而创建分析数据的直观呈现。

服务层118可以是呈现模块116和分析模块110之间的接口。当分析模块110生成报告、预测、以及结论时,服务层118可以对来自分析模块110的信息进行总结、过滤、和组织。在一些示例实施例中,服务层118还可以从传感器或收集器请求原始数据。

web前端122可以与服务层118联系,以在网页中呈现来自服务层118的数据。例如,web前端122可以在条形图、核心图(corechart)、树形图、无环依赖图、线图、表格等中呈现数据。web前端122可以被配置为允许用户对信息集进行“钻取”,以得到用户希望钻取到的项目专有的经过滤的数据表示。例如,单独流量流、组件等。web前端122还可以被配置为允许用户通过搜索进行过滤。搜索过滤器可以使用自然语言处理来分析用户的输入。存在查看相对于当前秒、分钟、小时、天等的数据的选项。web前端122还允许网络管理员查看流量流、应用依赖图、网络拓扑等。

在一些示例实施例中,web前端122可以仅仅被配置为呈现信息。在其他示例实施例中,web前端122可以从网络管理员接收配置网络流量监控系统100或者数据中心的组件的输入。这些指令可以被传递通过服务层118,从而被发送给配置和图像管理器102或策略引擎112。认证模块120可以验证用户的身份和特权。在一些示例实施例中,认证模块120可以根据所建立的策略向网络管理员授予不同于其他用户的权利。

公共警报模块124可以识别满足规定标准的网络条件,并且将警报推送给第三方工具126。公共警报模块124可以使用通过分析模块110生成或可访问的分析数据。第三方工具126的一个示例是安全信息和事件管理系统(siem)。第三方工具126可以通过api从服务层118获取信息,并且根据siem的用户界面呈现信息。

图2示出了根据一些示例实施例的示例网络环境200。应该理解的是,对于网络环境100和这里讨论的任何环境,可以存在类似或替代配置的更多或更少的节点、设备、链路、网络、或者组件。这里,也可以预见到具有不同数目和/或类型的客户端、网络、节点、云组件、服务器、软件组件、设备、虚拟或物理资源、配置、拓扑、服务、装置、部署、或网络设备的示例实施例。另外,网络环境200可以包括可以被客户或租户访问和利用的任意数目或类型的资源。为了清楚和简要的目的,提供这里的说明和示例。

网络环境200可以包括网络结构212、层2(l2)网络206、层3(l3)网络208、端点210a、210b、…、210d(统称为204)。网络结构212可以包括连接到叶交换机204a、204b、204c、…、204n(统称为204)的骨干交换机202a、202b、…、202n(统称为“202”)。在网络结构212中,骨干交换机202可以连接到叶交换机204。叶交换机204可以包括访问端口(或非光纤端口)和光纤端口。光纤端口可以提供到骨干交换机202的上行链路,访问端口可以为设备、主机、端点、vm、或者其他电子设备(例如,端点204)、内部网络(例如,l2网络206)、或外部网络(例如,l3网络208)提供连通性。

叶交换机204可以位于网络结构212的边缘,并且可以表示物理网络边缘。在一些情况下,叶交换机204可以是根据架顶式架构配置的架顶式交换机。在其他情况下,叶交换机204可以是特定拓扑(例如,列端或列中(middle-of-row)拓扑)中的聚集交换机。叶交换机204还可以表示例如,聚集交换机。

网络结构212中的网络连通性可以流经叶交换机204。这里,叶交换机204可以向服务器、资源、vm、或者其他电子设备(例如,端点210)、内部网络(例如,l2网络206)、或外部网络(例如,l3网络208)提供到网络结构212的入口,并且可以将叶交换机204相互连接。在一些示例实施例中,叶交换机204可以将端点组(epg)连接到网络结构212、内部网络(例如,l2网络206)、和/或任何外部网络(例如,l3网络208)。epg可以被用在网络环境200中,用于将应用映射到网络。具体地,epg可以使用网络中的一组应用端点来向应用组应用连通性和策略。epg可以充当令牌桶、应用集合、或应用组件的容器以及用于实现转发策略逻辑的等级。epg还允许网络策略、安全、以及替代地使用逻辑应用边界通过寻址进行转发的的分离。例如,每个epg可以经由叶交换机204连接到网络结构212。

端点210可以经由叶交换机204连接到网络结构212。例如,端点210a和210b可以直接连接到叶交换机204a,叶交换机204a可以将端点210a和210b连接到网络结构212和/或任何其他一个叶交换机204。端点210c和210d可以经由l2网络206连接到叶交换机204b。端点210c和210d以及l2网络206是lan的示例。lan可以通过位于相同的总体物理位置(例如,建筑物或校园)的专用私人通信链路连接节点。

广域网(wan)212可以经由l3网络208连接到叶交换机204c或204d。wan可以通过长距离通信链路(例如,公用载波电话线、光学光路径、同步光网络(sonet)、或者同步数字体系(sdh)链路)来连接地理上分散的节点。lan和wan可以包括层2(l2)和/或层3(l3)网络和端点。

互联网是连接遍布世界的不同网络从而提供各种网络上的节点之间的全球通信的wan的示例。这些节点一般通过根据预先定义的协议(例如,传输控制协议/互联网协议(tcp/ip))交换离散的数据帧或分组来在网络上通信。在这种背景下,协议可以指定义节点如何相互交互的一组规则。计算机网络还可以通过中间网络节点(例如,路由器)进一步互连,从而扩展每个网络的有效尺寸。端点210可以包括任何通信设备或组件,例如,计算机、服务器、管理程序、虚拟机、容器、进程(例如,在虚拟机上运行的进程)、交换机、路由器、网关、主机、设备、外部网络等。在一些示例实施例中,端点210可以包括配置有虚拟隧道端点(vtep)功能的服务器、管理程序、进程、或者交换机,该vtep功能将覆盖网络与网络结构212相连接。覆盖网络可以允许虚拟网络在物理网络架构上被创建并分层。覆盖网络协议,例如,虚拟可扩展lan(vxlan)、使用通用路由封装的网络虚拟化(nvgre)、网络虚拟化覆盖(nvo3)、以及无状态传输隧道(stt)等,可以提供允许网络流量在逻辑隧道上被携带通过l2和l3网络的流量封装机制。这些逻辑隧道可以通过vtep发起和终结。覆盖网络可以容宿物理设备(例如,服务器)、应用、端点组、虚拟段、虚拟工作负载等。另外,端点210可以容宿虚拟工作负载、聚类、和应用或服务,它们可以与网络结构212或者任何其他设备或网络(包括内部或外部网络)连接。例如,端点210可以容宿或者连接到一群负载均衡器或者各种应用的epg。

网络环境200还可以整合例如,图1中所示的网络流量监控系统。例如,如图2所示,网络流量监控系统可以包括传感器104a、104b、…、104n(统称为104)、收集器108a、108b、…、108n(统称为108)、以及分析模块110。在一些示例实施例中,骨干交换机202不具有传感器104。分析模块110可以接收并处理由放置在遍布网络环境200的节点上的传感器104检测到并由收集器108收集的网络流量数据。在一些示例实施例中,分析模块110可以被实现为确保高可用性的主-备模型,其中,第一分析模块充当主要角色,第二分析模型充当次要角色。如果第一分析模型发生故障,则第二分析模块接管。尽管分析模块110在图2中被示出为单独的网络装置,但是将明白的是,在各种其他示例实施例中,分析模型110也可以被实现为vm图像,该vm图像可以被分布在vm、vm的聚类、软件即服务(saas)、或者其他适当的分布模型上。在一些示例实施例中,传感器104可以在端点210、叶交换机204、骨干交换机202、中间网元(例如,传感器104h)等上运行。在一些示例实施例中,叶交换机204可以分别具有相关联的控制器108。例如,如果叶交换机204是架顶式交换机,则每个支架可以包含所分配的收集器108。

尽管网络结构212在这里被示出并描述为示例的叶-骨干架构,但是本领域普通技术人员将很容易认识到,本技术可以基于包括任何数据中心或云网络结构的任何网络结构实现。实际上,这里预见了其他架构、设计、基础设施和变形。例如,这里公开的原理可以应用于包括三层(例如,核心、聚集、以及访问级)、粗树、网格、总线、集中星型网络架构等的拓扑。应该理解的是,传感器和收集器可以根据各种架构需要,被遍布网络布置。

图3示出了根据一些实施例的示例方法300。示例方法300示出了分析模块110、传感器104、以及收集器108之间的示例交互。示例方法300可以开始于分析模块配置传感器向收集器发送分组日志(步骤301)。这可以包括识别一个或多个收集器、以及基于预先定义的规则或公式指示传感器向所识别的收集器发送分组日志。各种传感器可以被不同地配置;例如,一个传感器可以被配置为向一个收集器发送分组日志,另一个传感器可以被配置为向另一收集器发送器其分组日志。传感器随后可以捕捉分组(步骤302)。传感器随后可以在分组日志中描述分组(步骤304)。例如,分组日志可以包含分组、分组的元数据/头部信息(例如,源地址、目的地地址、大小、协议、顺序号等)、分组的概述(输出、输入、分组类型)等。在一些实施例中,分组日志可以描述多个分组,甚至是无关分组。在一些实施例中,传感器可以根据与分组有关的原理捕捉帧或者其他网络项。传感器随后可以将分组日志发送给收集器(步骤306)。在一些实施例中,传感器将分组日志发送给在步骤301中由分析模块配置的适当收集器。应该理解的是,示例方法300中的各种传感器可以根据需要独立执行与不同分组、分组日志、以及收集器有关的步骤302-306。

尽管示例方法300的原理可以应用于仅具有一个传感器的系统,但是优选系统具有两个或多个传感器。

收集器随后可以接收从多个传感器发送的分组日志(包括上述分组日志)(步骤308)。收集器随后可以确定该日志描述流(步骤310)。流可以是数据中心中的两个端点之间的连接。步骤310可以通过比较分组日志中的分组的描述来实现。例如,确定源地址、目的地地址、顺序号、协议、时间戳等相似。收集器随后可以在流日志中描述流(步骤312)。该流日志可以识别源和目的地主机(例如,地址、名称、位置等)、协议、时间戳、所利用的带宽等。收集器随后可以将流日志发送给分析模块(步骤314)。

分析模块随后可以从收集器接收流日志(步骤316),并且使用流日志确定数据中心的状态(步骤318)。在一些实施例中,步骤318除了利用来自数据中心中的其他收集器的流日志以外,还利用来自上述收集器的其他流日志。在一些实施例中,步骤318包括:创建与数据中心有关的概述统计信息;识别被占用的组件或主机;识别未被利用或占用的组件或主机;比较当前活动和历史或期望活动等。分析模块随后可以检测数据中心中的攻击(步骤320)。攻击可以包括扰乱数据中心操作的错误配置的组件。在一些实施例中,步骤320由数据中心的状态和接收自一个或多个收集器的一个或多个流日志通知。分析模块随后可以基于数据中心的状态修改安全策略(步骤322)。例如,分析模块可以修改访问控制列表、防火墙、子网分配等。分析模块随后可以向例如,管理员呈现描述数据中心的状态的报告(步骤324)。步骤324可以包括创建图表、曲线图、图解、表格、通知等,以及通过web界面、消息(例如,电子邮件、sms、即时消息等)、其他视听手段、应用程序接口等向用户、管理员、客户、顾客、程序等呈现上述报告。

在一些实施例中,示例方法300可以由数据中心中的网络监控系统100执行,其中,防火墙将数据中心与广域网隔离。

示例设备

图4a和4b示出了示例系统实施例。在实施本技术时,本领域普通技术人员将明白更合适的实施例。本领域普通技术人员还将很容易地明白,其他示例实施例也是可能的。

图4a示出了传统的系统总线计算系统架构400,其中,系统组件使用总线405相互电通信。示例系统400包括处理单元(cpu或处理器)410和系统总线405,其中,系统总线405将包括系统存储器415(例如,只读存储器(rom)470和随机存取存储器(ram)475)在内的系统组件耦接到处理器410。系统400可以包括直接与处理器410连接、在处理器410附近、或者作为处理器410的部分被集成的高速缓存存储器。系统400可以将数据从存储器415和/或存储设备430复制到高速缓存412,供处理器410快速存取。这样,高速缓存可以提供避免处理器410在等待数据时的延迟的性能提升。这些和其他模块可以控制或者被配置为控制处理器410执行各种动作。也可以使用其他系统存储器415。存储器415可以包括具有不同性能特征的多种不同类型的存储器。处理器410可以包括任意通用处理器和硬件模块或软件模块,例如,存储在存储设备430中并且被配置为控制处理器910以及专用处理器的模块1437、模块7434、以及模块3436,其中,软件指令在这些处理器处被结合到实际的处理器设计中。处理器410可以基本上是完全自包含计算系统,其包含多个核心或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或者不对称的。

为了使能用户与计算设备400的交互,输入设备445可以表示任意数目的输入机构,例如,用于语音的麦克风、用于姿势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。输出设备435也可以是本领域普通技术人员已知的多种输出机构中的一种或多种。在一些实例中,多模态系统可以使用户提供多种类型的输入来与计算设备400通信。通信接口440一般可以支配并管理用户输入和系统输出。对于任何特定硬件布置上的操作没有限制,因此这里可以简单地替换基本特征来随着硬件或固件布置的发展而改善这些硬件或固件布置。

存储设备430是非易失性存储器,其可以是硬盘或者可以存储计算机可以访问的数据的其他类型的计算机可读媒介,例如,磁盘、闪存卡、固态存储器器件、数字多用盘、录音带盒、随机存取存储器(ram)475、只读存储器(rom)470、或者它们的组合。

存储设备430可以包括用于控制处理器410的软件模块437、434、以及436。可以预见其他硬件或软件模块。存储设备430可以连接到系统总线405。一方面,执行特定功能的硬件模块可以包括实现该功能的存储在计算机可读介质中的软件组件以及必要的硬件组件(例如,处理器410、总线405、显示器435等)。

图4b示出了具有芯片集架构的示例计算机系统450,其中,该芯片集架构可以被用于执行所描述的方法以及生成并显示图形用户界面(gui)。计算机系统450是可以用来实现这里公开的技术的计算机硬件、软件、以及固件的示例。系统450可以包括处理器455,其表示能够执行被配置为执行所识别出的计算的软件、固件、以及硬件的任意数目的物理和/或逻辑上的不同资源。处理器455可以与芯片集460通信,该芯片集可以控制到处理器455的输入和来自处理器455的输出。在该示例中,芯片集460向输出组件465(例如,显示器)输出信息,并且可以读取信息并将信息写入存储设备470,其中,存储设备470可以包括例如,磁介质以及固态介质。芯片集460还可以从ram475读取数据以及向ram475写入数据。用于与各种用户接口组件485接口的网桥480可以被提供,用于与芯片集460接口。这些用户接口组件486可以包括键盘、麦克风、触摸检测和处理电路、指针设备(例如,鼠标)等。一般,系统450的输入可以来自各种来源、机器生成、和/或人类生成中的任意一者。

芯片集460还可以与可以具有不同物理接口的一个或多个通信接口490接口。这些通信接口可以包括用于有线和无线局域网、用于宽带无线网、以及用于个人域网的接口。用于生成、显示、以及使用这里公开的gui的方法的一些应用可以包括接口物理接口上的或者通过处理器455分析存储设备470或475中存储的数据由机器本身生成的有序数据集。另外,机器可以经由用户接口组件485接收来自用户的输入,并且执行适当功能,例如,使用处理器455对这些输入进行解析的浏览功能。

可以理解的是,示例系统400和450可以具有一个以上处理器410,或者可以是联网在一起以提供更强大的处理能力的计算设备的群组或者聚类的一部分。

为了说明简明,在一些实例中,本技术可以被呈现为包括单独功能块,这些功能块包括被实现在软件或者硬件和软件的组合中的方法的步骤或例程、设备、或设备组件。

在一些实施例中,计算机可读存储设备、介质或者存储器可以包括包含有比特流等的有线或无线信号。但是,当被提及时,非瞬态计算机可读存储媒介明确地排除诸如能量、载波信号、电磁波、以及信号本身。

根据上述示例的方法可以使用存储在计算机可读媒介中或者可以从计算机可读媒介中获取的计算机可执行指令实现。这些指令可以包括例如,使得或者配置通用计算机、专用计算机、或者专用处理设备执行某个功能或者某组功能的指令和数据。所使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是诸如,汇编语言、固件、或者源代码之类的二进制代码中间格式指令。可以被用来存储在根据所描述的实施例的方法期间创建的信息、使用的信息和/或指令的计算机可读媒介的示例包括磁或光盘、闪存、被提供以非易失性存储器的usb设备、联网存储设备等。

实现根据这些公开的方法的设备可以包括硬件、固件、和/或软件,并且可以采用各种尺寸外形中的任意尺寸外形。这些尺寸外形的典型示例包括膝上型计算机、智能电话、小型个人计算机、个人数字助理、机架式设备、独立设备等。这里描述的功能还可以被实现在外围设备或者插入卡中。再如,这种功能还可以被实现在单个设备中运行的各种进程或者不同芯片中的电路板上。

指令、用于传送这些指令的介质、用于执行这些指令的计算资源、以及用于支持这些计算资源的其他结构都是用于提供本公开中描述的功能的手段。

尽管使用了各种示例和其他信息来说明所附权利要求的范围内的各个方面,但是不应该基于这些示例中的特定特征或布置来限制权利要求,因为本领域普通技术人员将能够使用这些示例推导出各种实施方式。另外,尽管用对于结构特征和/或方法特征的示例的专用语言描述了一些主题,但是将理解的是,所附权利要求限定的主题不一定限于这些所描述的特征或者活动。例如,这些功能可以被不同地分布在这里所识别的组件以外的组件中或者在所识别的组件以外的组件中执行。相反,所描述的特征和步骤被作为所附权利要求的范围内的系统和方法的组件的示例公开。另外,权利要求语言“一组中的至少一个”指示该组的一个或多个元件满足该权利要求。

在计算网络的传感器上自动下载并启动新软件版本

概述

安装在计算节点的传感器上的每个软件包可以包含真正的软件包和控制引擎。控制引擎可以被配置为在各种操作系统上操作并且与升级服务器通信,以控制软件包在相应传感器上的安装、启动、或卸载。

详细描述

安装在计算节点的传感器上的每个软件包可以包含真正的软件包和控制引擎。控制引擎可以被配置为在各种操作系统上操作并且与升级服务器通信,以控制软件包在相应传感器上的安装、启动、或卸载。

控制引擎可以追踪安装在相应传感器上的软件版本。响应于软件包的更新版本变得可用,控制引擎可以下载并启动软件的新版本。如果更新版本稳定运行一段时间,则控制引擎可以完成软件的升级并且移除相应传感器上的旧版本。如果新版本没有稳定运行或者有一些问题,则控制引擎可以卸载新版本,在相应传感器上恢复软件的旧版本,并且向升级服务器报告问题。

在一些实施例中,基于来自计算网络中的传感器的反馈,升级服务器可以批准或者拒绝来自网络中的类似传感器的控制引擎的升级请求。另外,升级服务器可以根据来自类似传感器的反馈,确定传感器上的软件问题的根本原因。

在一些实施例中,升级服务器可以确定将被安装在计算网络的每个传感器上的适当软件。升级服务器还可以将计算网络中的每个传感器的身份信息与相应传感器上的软件及其对应的版本一起保存。

在一些实施例中,控制引擎可以验证将被上传到相应传感器上的软件的认证。软件的新版本只有在其被控制引擎认证的情况下才可以被上传。例如,控制引擎可以保存相应软件的安全密钥,并且使用该安全密钥来验证软件的不同版本。

传感器升级路径-检测非关键时间

概述

本技术在计算网络的每个节点上提供控制引擎,以自动下载安装在相应节点上的软件的新版本。控制引擎可以被配置为检测相应节点的输出和输入流量以及节点的系统状态,并且确定相应节点上的非关键时间来启动所下载的软件版本。

详细描述

本技术在计算网络的每个节点上提供控制引擎,以自动下载安装在相应节点上的软件的新版本。控制引擎可以被配置为检测相应节点的输出和输入流量以及节点的系统状态,并且确定相应节点上的非关键时间来启动所下载的软件版本。

在一些实施例中,响应于软件的新版本在计算网络的升级服务器上变得可用,计算网络的传感器或控制引擎可以确定非关键时间来在它们的相应节点上启动软件的新版本。计算网络的传感器或控制引擎可以相互通信来轮流启动新软件版本,从而使得阈值数目的传感器能够检测任何异常活动并且阈值数目的节点能够支持计算网络的流量或负载。

数据流的聚集

概述

分组在从主机行进到客户端机器时通过各种节点;为了得到对流量流的充分理解,监测网络的各种节点处的流量是有帮助的。这种设置在找出问题方面是有效的,但是这会产生大量数据,并且这些数据中的很多数据可能是重复的。例如,来自主机、管理程序、交换机、以及路由器的报告可能都包括单个分组移动通过网络时的记录。这些报告很可能包括再次移动通过网络的响应的报告。这对于选择最佳报告并丢弃其余报告是有利的。

详细描述

流中的第一节点可以被认为是需要保存的最佳报告。因为一些节点在监控通过其的流量方面并不高效,而另一节点可以被选择作为最佳节点。例如,在记录这些数据流方面虚拟机可能不像交换机上的asic一样高效。替代方法可以包括采用来自各种节点的报告的小样本并且选择包括最多看到的分组的系统。换言之,可以保存来自看到来自特定主机的最多流量的节点的报告。该系统最初可以捕捉流量流的所有报告,然后丢弃重复报告。

检测传感器类型

概述

在一些实施例中,能够检测每个传感器的特性和背景是非常重要的,因为这种信息可以被用作分析的一部分。例如,当分析和收集来自传感器的数据时,知道传感器位于vm、管理程序、还是交换机中以及什么os和环境正在传感器的系统上运行是非常有帮助的。

检测传感器类型可以提供驱动流量监控系统的基本信息。例如,vm、管理程序、以及交换机中的传感器为网络提供重要分析。本公开的元件可以帮助我们更好地理解由传感器收集的分析数据。该信息可以被用于安全、计划、部署、确定依赖性、以及故障排除。

详细描述

本公开可以被用来识别流量监控系统中的每个传感器的特性和背景。具体地,本公开可以被用来确定传感器位于vm、管理程序、还是交换机中以及哪个os或环境正在传感器所在的系统上运行。

例如,传感器可以监控并分析该传感器所在的系统以及与该系统相关联的任何流量,以确定传感器在vm中还是管理程序中并且识别底层环境(例如,os)。通过确定传感器在vm还是管理程序中,我们可以对传感器所收集和监控的流量以及每一跳的分析和活动做出各种类型的推断。该信息还有助于我们识别网络的结构或拓扑、流量的通信路径、以及网络的安全条件。因此,本公开提供了驱动流量监控系统的非常重要的信息。

传感器配置的自动更新

概述

本公开提供了一种集中机制,该集中机制追踪收集器信息(例如,状态、位置、和收集器到传感器的映射)和传感器信息(例如,具体传感器的位置),并且更新维护精确的最新收集器到传感器的映射所必需的传感器的配置设置。

本公开可以检测当前的收集器和传感器状态、条件、和更新,以动态地更新并维护来自集中位置的收集器到传感器的映射。因此,本公开可以提供用于确保收集器和传感器一直正确工作的可行方案。

详细描述

传感器需要具有在流量监控系统(例如,它们的对应收集器所位于的流量监控系统)中运行的某些配置设置。本公开的元件可以提供这样的集中机构,该集中机构可以追踪收集器信息(例如,状态、位置、和收集器到传感器的映射)和传感器信息(例如,具体传感器的位置)并且根据需要更新传感器的配置设置,以保持精确且最新的收集器到传感器的映射。例如,如果传感器被配置为向特定收集器发送流量数据并且该特定收集器出现故障,则集中系统可以检测到该收集器出现故障并且传感器需要更新后的配置设置。集中系统随后可以确定哪个收集器应该被分配给该传感器,并且动态地更新传感器的配置设置以将传感器指向新收集器。这样,集中系统可以保持传感器的配置设置的精确性,并且确保传感器总是连接到收集器(即使在所分配的收集器出现故障时或者在传感器与分配给其的收集器的联系出现问题时)。

为了识别收集器上是否存在变化,我们对收集器进行分析。该分析可以帮助识别哪些收集器正在工作以及哪些收集器不工作。该分析基于从收集器推送到监控系统(该监控系统可以是集中系统)的数据。在一些情况下,触发从一个收集器切换到另一个收集器可以基于健康状况,其中该健康状况可以包括存储器使用情况、cpu占用情况、带宽、或者错误。在将收集器映射到传感器时,集中系统可以使用该分析来对收集器进行负载均衡。

检测虚拟交换设备并且转发管理程序使用的模型

概述

在一些实施例中,管理程序可以容宿能够相互通信并且能够与互联网通信的多个vm。管理程序还可以包括虚拟交换设备。虚拟交换设备在vm和互联网之间发送和传送数据。当处理或转发分组时,虚拟交换设备一般根据虚拟交换设备的类型(例如,linux网桥、openvswitch、vnic、或者其他软件交换机)使用不同的转发模型。理解管理程序使用什么类型的交换设备和转发模型以便优化连接并将vm正确地附接到虚拟交换设备是非常重要的。

本公开的元件可以提供用于识别流量监控系统中的vm和管理程序所使用的转发模型和虚拟交换设备的类型的机构。

通过识别vm和管理程序所使用的虚拟交换设备的类型,传感器可以确定一个或多个特定虚拟交换设备所使用的转发模型。该信息可以被用来确定诸如vm的组件应该如何附接到一个或多个虚拟交换设备。因此,设备类型信息可以帮助优化vm、管理程序、以及虚拟交换设备之间的连接。另外,通过获知虚拟交换设备所使用的转发模型,流量监控系统中的传感器和收集器可以确定如何收集数据以及收集或忽略哪些数据。这可以基于特定转发模型的已知行为来确定。

详细描述

本公开在流量监控系统中的管理程序上提供传感器,该传感器可以捕捉并分析来自和去往管理程序上的虚拟交换设备的分组。从所捕捉的分组中提取的数据可以被用来确定管理程序使用什么类型的虚拟交换设备。例如,管理程序中的传感器可以分析流量来确定管理程序所使用的虚拟交换设备是linux网桥、openvswtich、还是vnic。通过识别vm和管理程序所使用的虚拟交换设备的类型,传感器可以确定一个或多个特定虚拟交换设备所使用的转发模型。该信息随后可以被用来确定诸如vm的组件应该如何附接到一个或多个虚拟交换设备。因此,设备类型信息可以帮助优化vm、管理程序、以及虚拟交换设备之间的连接。另外,通过获知虚拟交换设备所使用的转发模型(这可以根据设备类型确定),传感器和收集器可以确定如何收集数据以及收集或忽略哪些数据。例如,通过获知虚拟交换设备的转发模型,传感器可以确保其不收集冗余数据(因为它可以根据转发模型识别出的一个或多个虚拟交换设备的已知行为确定什么数据可能是冗余的)。

vm和管理程序中的传感器所使用的资源的自我监督

概述

流量监控系统可以在aci中的交换机、vm、以及管理程序中实现传感器,以便执行分析并收集用于故障排除、计划、部署、以及安全的信息。随着传感器看到的流量数量的增加以及诸如错误甚至潜在攻击之类的事件的发生,传感器可以开始消耗更多的资源,例如,带宽、存储器、cpu占用、网络流量等。但是,监控并管理传感器所使用的资源量以确保传感器本身不成为瓶颈或者不对系统或网络的性能造成负面影响是非常重要的。

本公开的元件可以允许传感器在系统内(即,管理程序或vm内)对它们自身进行跟踪和监控,以识别活动和资源使用情况。传感器可以检测高资源使用率并采取调整措施。传感器可以设计有运行传感器逻辑的核心层和运行监控逻辑的外壳。

在vm、管理程序、以及交换机中实现传感器对于分析、管理、以及故障排除非常有用。自我监控机制使得传感器能够正确且高效地运行并且避免在网络和系统上造成不必要的负担。

详细描述

本公开的元件可以使传感器在系统(即,管理程序和vm)内对它们自身进行追踪和监控。传感器可以连续监控它们自己。在一些情况下,传感器可以执行同步监控。另外,传感器可以追踪其对资源,例如,带宽、存储器、cpu占用、网络流量等的使用情况。传感器随后可以检测到资源利用率在预先确定或者配置的特定阈值以上,并且采取校正措施或者制定计划。阈值可以基于对于背景、服务、设备、或性能要求专有的规则。在一些情况下,在资源利用率高于阈值的情况下,传感器自身可以重新启动,作为一种校正措施。

为了实现这种自我监控的概念,传感器可以具有包含两层的特定架构。第一层可以是对应于传感器逻辑的核心层。第二层可以是对应于包含用于执行自我监控和监督的逻辑的外层。

在一些实施例中,检测到资源利用率高于阈值还可以被用来识别系统或网络中的潜在问题或威胁。例如,所收集的传感器的资源利用率统计信息可以识别传感器的正常或期望使用情况。如果传感器检测到该传感器所使用的资源数量中的大峰值,则这种异常的资源消耗情况可以被用来检测威胁或攻击(例如,ddos攻击),因为认为在攻击期间点击数目和随后所使用的资源数目将显著增加。

另外,传感器所采取的措施可以基于检测到的资源占用的数量、资源占用的类型或模式、先前的资源占用信息、预定规则、当前背景、以及其他因素。这些措施可以包括重新启动或重新发动传感器、关断传感器、感测警报、限制传感器的使用、以及关断系统、组件、服务、甚至网段。

传感器的自我监控检测到的条件还可以被用来引导传感器应该报告什么信息。例如,如果传感器所使用的资源的数量被确定为过多,则随后传感器可以被指示限制其报告的信息量,以降低其通过报告进程的资源消耗。

处理vm和管理程序中的妥协传感器

概述

本公开的元件可以允许在租户空间中检测vm和管理程序中的妥协传感器,并且为妥协传感器提供各种校正机制。来自妥协传感器的数据可以被操控,以限制对网络的不利影响并推断对其他设备的附加攻击或威胁。

本公开的元件可以提供用于快速准确地检测和校正vm和管理程序中的妥协传感器的机构。这在运行用于分析的传感器时提供了很多性能和安全优势。

详细描述

本公开的元件允许检测和校正vm和管理程序中的妥协传感器。下面,我们描述本公开的检测方面然后描述校正措施。

检测:

可以使用两个检查点执行检测。第一个检查点可以基于由传感器报告给收集器的数据。例如,收集器可以收集历史统计和占用信息,以确定什么数量的占用和什么类型的行为被认为是正常的。因此,当收集器从传感器接收到数据时,其可以将所报告的数据与以前的数据进行比较,以确定是否存在异常活动或行为。例如,基于传感器报告给收集器的数据和统计信息,收集器可以确定对与传感器相关联的mysql数据库的一千次点击是传感器报告的平均或期望活动量。如果传感器突然报告对mysql数据库的一百万次点击,则收集器可以确定该活动量是异常的,这将在第一检查点竖起标记。

第二检查点可以是管理程序中的传感器所报告的数据与硬件交换机中的传感器所报告的数据的比较。例如,如果管理程序中的传感器报告对mysql数据库的一百万次点击,则硬件交换机上的传感器也应该报告一百万次点击。因此,如果硬件交换机上的传感器报告了显著不同的点击量,例如,一千次点击,则收集器可以推断出该差异是管理程序中的传感器妥协的结果。

第一和第二检查点可以作为多个检查层一起使用,以验证或确认可疑活动。但是,在一些情况下,本公开会将检测限制到一个检查点或检测机构,该检查点或检测机构可以基于背景、规则、或者需求和要求来选择。

校正措施:

当传感器被识别为妥协传感器时,来自传感器的流可以被注解为指示该数据是不可靠的。注解可以确保收集器不依赖于来自妥协传感器的数据和统计信息,或者执行验证过程。

另外,当传感器妥协时,来自传感器的数据可以被聚集或总结,并且保留的数据量可以被限制。

另外,当传感器妥协时,传感器报告的数据的快照或时间帧可以被修改。例如,时间帧可以被增长,以使妥协传感器被迫使以更大间隔报告数据。这可以减少妥协传感器所报告和收集的数据量、以及妥协传感器报告数据所使用的带宽和资源的数量。在一些情况下,妥协传感器对数据的报告可以完全停止一段时间或者不定期地完全停止,直到该传感器被修复为止。更大的时间帧或快照还可以确保来自妥协传感器的数据量是更粗粒度的,从而减少由妥协传感器报告并由收集器收集的不必要的、或假/不正确的数据。

来自妥协传感器的数据还可以被分析,来推断附加的统计或细节信息。例如,通过检测到传感器妥协,系统还可以推断出租户空间中的其他传感器也是妥协的。这可以基于例如,租户空间的结构、拓扑、传感器之间的关系。另外,来自妥协传感器的数据可以被分析,来确定妥协传感器和系统以及其他传感器或系统的状态或条件。

在一些情况下,当检测到传感器妥协时和/或当服务器妥协时,可以采取校正措施。为了保护管线,可以指示传感器停止报告流或限制所报告的流的数量。还可以指示收集器开始丢弃或流出来自妥协传感器的负载或数据,并且保护位于该收集器后面的设备。

收集器高可用性

概述

传感器可以将它们的数据发送给主收集器和辅收集器,这两个收集器可以一直收集并报告来自传感器的数据。集中系统可以从主收集器和辅收集器接收数据并且识别任何重复数据,以便在将数据发送给管线之前删除数据中的重复数据。

本公开确保了数据在主收集器和辅收集器的角色转换期间不被丢失。

详细描述

对于每个流,可以存在主收集器和辅收集器。每个传感器将相同的数据发送给两个不同的收集器,即主收集器和辅收集器。不同的收集器随后可以将来自传感器的数据发送到集中位置,该集中位置运行有知道保留什么数据以及忽略什么数据的重复删除器。集中位置随后可以将删除重复数据后的数据发送给管线,供收集和分析。

例如,可以指示传感器将其数据发送给主收集器和辅收集器。这种数据中的一些数据本质上是重复数据。但是,通过将数据发送给主收集器和辅收集器二者,传感器可以确保即使在收集器出现问题或者没能接收来自传感器的数据的情况下其数据也可以被收集。两个收集器随后将来自传感器的数据报告给集中位置。相应地,保证集中位置即使在如前所述的两个收集器之一出现问题或者没能接收来自传感器的数据的情况下也能接收到来自传感器的数据。集中位置随后可以删除数据中的重复数据,以移除主收集器和辅收集器报告的任何重复数据,从而确保不必要的数据最终不被报告给管线。

为了删除数据中的重复数据,集中系统可以分析其从自主收集器和辅收集器接收的数据,以识别与每个所接收的流相关联的相应传感器、流id、以及收集器。集中系统可以将包括所接收的流的相应传感器、流、和收集器id以及时间戳在内的所接收的流进行比较,以确定应该保留哪个流。任何重复或者冗余数据随后可以被集中系统丢弃。删除重复数据后的数据随后可以被推送到管线,供收集和分析。

这种机制可以确保在收集器出现故障达任意时间或者没能接收来自传感器的数据的情况下数据也不会被丢失。例如,在使用心跳或动物管理员执行高可用性的情况下,在活动设备发生故障的时间和闲置设备接管的时间之间,数据会以特定时间帧(尽管通常较小)丢失。另一方面,这种机制确保了在由于两个收集器一直收集和报告传感器数据而使得收集器出现故障的情况下数据不会丢失。重复或冗余数据随后可以被集中系统删除。

可以使用具有包含通过对流关键字(flowkey)应用散列函数计算出的散列值的行的表格来确定用于流的收集器的分布。因此,在表格中每行被分配一行,并且收集器随后被分配给每个单元和行。

识别bogon(假)地址空间

概述

bogon是计算机网络中的假ip地址。bogon还是声称来自未被保存的ip空间的分组。

本公开可以实现网络爬虫来监听网络中的bgp路由广告从而建立网络中使用的地址空间的地图。地址空间的地图被推送给收集器,这些收集器收集由分布在网络上的vm、管理程序、以及交换机中的传感器感测到的数据。这种收集可以使用映射来识别假流并将假流标记为bogon。

本公开可以提供用于映射网络中的地址空间、识别假地址空间、以及检测假分组的自动化的动态智能机构。

详细描述

本公开可以利用接触bgp路由器并且充当bgp监听器的网络爬虫来识别在网络中被寻址的所有地址。网络爬虫监听bpg路由广告并且建立网络中的地址空间的地图。随后,基于地址空间的映射,通过结合在bgp路由广告中识别出的地址并且将映射地址范围之外的任何地址都当作假地址进行处理来识别假地址。

地址映射信息被发送给网络中的收集器。收集器使用所接收到的映射信息来识别从vm和管理程序中的传感器接收到的任何假流,并且将这些留标记为假流。假流可以被丢弃或忽略,并且具有类似特性(地址或地址空间)的任何未来的假流也被过滤或者忽略。

在本上下文中,收集器可以是被配置为从位于网络中的vm、管理程序、以及交换机中的传感器接收数据的服务器。传感器从它们的相关设备捕捉分组,并且将所捕捉的分组报告给分配给它们的一个或多个收集器。这样,收集器可以收集并聚集来自网络中的各种分布式组件的分组,这些分组可以例如,被分析引擎用于分析。有关所使用的传感器-收集器技术的进一步细节请参见所附的文档。

从传感器到收集器的流的分层分片

概述

来自被分配给不同碎片/收集器的两个或多个传感器的流的数据将被划分为由不同收集器接收的流的不同部分。因此,收集器不从多个传感器接收完整的流。

本公开可以通过使用至少两层分片执行传感器到收集器的分层分片以用于缩放,从而确保在通信中由不同传感器捕捉的流被映射到同一个层2收集器,而不管是哪两个传感器被包含在通信中。

本公开可以在不对通信中来自不同传感器的流数据进行划分而提供缩放。在通信中涉及的传感器被分配给不同的收集器/碎片的情况下,这可以在无需对流数据进行划分的条件下即可实现传感器到收集器的精确且高效的缩放。

详细描述

分层分片可以在至少两层中被执行。

层1-该层将传感器映射到碎片和收集器。这是通过对大量传感器进行分片从而将这些传感器分配给可以包括多个所分配的收集器的特定碎片来实现的。例如,向一个碎片分配一万个传感器。用于该一万个传感器的碎片可以被分配五个收集器。来自该碎片的传感器随后可以通过对流关键字进行散列运算从五个收集器中选择特定收集器来向其发送流。

由于通信中涉及的传感器会变化,所以一些通信可能涉及被分配到不同碎片的传感器。因此,每个传感器将向不同收集器发送该流的数据。相应地,每个收集器将仅接收该流的一部分。我们通过创建如下所述的第二层分片来解决这个问题。当收集器接收来自传感器的流时,其可以确定其是否已经接收到该流的另一端(例如,来自通信中的另一传感器的流)。如果收集器没有接收到该流的另一端,则其可以确定另一个传感器被分配给不同碎片。这可以触发收集器将来自传感器的流发送给如下所述的层2碎片上的不同收集器。

层2-这里,我们将另一组收集器分配给第二层碎片。每个收集器被分配以相同的流关键字和散列值。相应地,来自第二层碎片的收集器可以接收来自相同流的所有数据。因此,如果来自层1的收集器接收流并且确定其没有接收到该流的另一端,则其随后可以将该流发送给被分配以与该流对应的流关键字和散列值的第二层收集器。第二层收集器也将从另一个层1收集器接收该流的另一端。这样,第二层收集器将被设置为从层1收集器接收的完整流。第二层收集器随后可以聚集与该流有关的数据。

收集器处的数据聚集

概述

来自计算环境的网络流量(不论来自容器、vm、硬件交换机、管理程序、还是物理服务器)被称为传感器的实体捕捉,其中,传感器可以被部署在不同环境中或内,如后面所描述的。这种捕捉代理将被称为“传感器”。传感器将所观察到的网络活动的数据或元数据输出到被称为“收集器”的收集代理。收集器可以是运行在单个机器或机器聚类上的一组进程。在我们的讨论中,为了简明,我们将所有收集器看作一个逻辑实体并且将其认为是一个收集器。在数据中心规模的实际部署中,将存在不止一个收集器,每个收集器都负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够将经过处理或者未经处理的数据发送给负责网络数据的分析的进程聚类。从收集器接收数据的实体可以是进程聚类,我们将该逻辑群称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,它们还能捕捉其他系统信息,例如,当前活动的进程、活动文件句柄、套接字句柄、i/o设备、存储器等的状态。

在本上下文中,传感器可以捕捉在较大数据中心尤其难以缩放的非常大量的分组和数据。另外,硬件交换机上的传感器一般以非常频繁的间隔和非常小的粒度水平发送数据,因为硬件交换机处的有限存储能力使得其难以存储数据的更大快照或间隔。因此,当硬件交换机以及诸如vm和管理程序之类的其他设备上的传感器必须以频繁的间隔和较小的粒度水平捕捉和发送数据时,非常难管理和缩放这种水平和数量的来自传感器的信息。因此,必须实现帮助缩放和管理这种信息的机制。

本公开允许收集器在保持精确度的同时,动态地调整不同数据子集的粒度以改善缩放性。这里,一些数据子集可以作为事件的精确记录被保持,同时其他子集可以被聚集、总结、和/或采样。

通过分析所捕捉的网络数据,自动检测传感器布置的环境。通过分析传感器所捕捉的网络数据,自动检测传感器的相对位置。

本公开的元件可以允许通过限制所收集的数据来管理大量数据,并且可以通过不丢失或者影响精确度的方式保持大量数据。因此,本公开在保持精确度的同时提供了改善的缩放性。这对于处理大量数据(尤其是在较大的数据中心中)非常有价值。不需要手动更新传感器布置信息。不需要集成或者与管理程序管理软件结合的环境,来检测新vm出现或者vm已经移动。网络硬件布置的改变可以被自动追踪。传感器布置可以被用于诊断丢失分组、恶意软件流方面的差异分析。

本公开对于在保持精确度的同时处理大量数据非常有价值。本公开可以是数据中心中用于分析的重要组件。

详细描述

在本公开中,收集器识别由传感器报告的不同数据子集,并且基于每个子集的特性对不同数据子集执行聚集、采样、总结、以及准确报告。

例如,收集器可以识别传感器报告的要求高粒度的数据子集。该子集可以是流特征,例如,分组数目、分组计数、字节计数、随机分组号等。由于这种数据子集要求高粒度,所以收集器可以保持并收集所捕捉的准确数据。保持来自传感器的数据子集要求较低粒度水平,并且可以被聚集并总结或采样,以避免需要保持完整的数据集合。

因此,例如,如果我们接收到具有流特征的8个信号和100个其他信号,则我们可以保持来自8个信号的流特征,并且对于100个其他信号,我们可以对数据进行聚集和总结。

相应地,本公开允许收集器在保持精确度的同时为了改善缩放性而动态地调整不同数据子集的粒度。这里,一些数据子集可以被保持为事件的准确记录,同时可以对其他子集进行聚集、总结、和/或采样。

粒度的动态调整允许收集器根据需要缩小或者放大数据。例如,如果我们想要观察有关特定数据子集的附加细节信息,则可以调整该数据的收集和报告的粒度,以提供更多细节信息。一旦增加的粒度不再必要,则可以动态地重新调整该特定子集的收集和报告,以提供较少细节信息。

描述

在本文档中,在系统上运行以捕捉网络数据的进程或代理被称为捕捉代理或者简称为“传感器”。这些传感器具有向在不同或相同系统上运行的收集和聚集实体报告所观察的有关分组的元数据或者报告所捕捉的网络数据的子集的能力。除了网络数据以外,传感器还可以捕捉有关运行其的系统的附加信息。该附加数据可以包括但不限于,系统的活动或以前活动的进程的数据或元数据以及存在于该系统上的文件的元数据。收集实体可以是单个进程或者进程的聚类。在本文档中,单个收集实体或进程被称为收集器。

传感器或网络捕捉代理可以存在并运行于多个环境内。我们列出以下可能环境:

a.作为安装在虚拟机中的客户操作系统上的进程、内核模块、或内核驱动器。

b.作为安装在管理程序层的主机操作系统上的进程、内核模块、或内核驱动器。

c.作为能够路由或交换的物理网络设备中的进程或组件。网络设备可以提供安装这种代理的途径,或者网络设备本身可以充当该代理。网络设备或其组件必须向收集器输出其观察到的有关分组或流的元数据。

在可以放置传感器的上述每种场景中,传感器具有观察流过系统的所有分组的能力,并且其可以使用ip地址与收集器对话。在数据中心或大型部署中,存在运行并向收集器报告网络信息的数百万个传感器。收集器可以对从网络诊断到安全相关应用的范围内的报告数据执行多种处理活动。具有关于所报告的传感器数据是来自部署在vm内的传感器、来自部署在管理程序中的传感器、还是来自部署在网络设备中的传感器的知识对于处理所聚集的数据的多种算法是非常重要的。这些算法的用例不在本公开中讨论。

vm内的传感器a观察到的网络数据是运行该vm的管理程序内的传感器b观察到的网络数据的子集。另外,运行在管理程序中的传感器b观察到的网络数据又是运行在管理程序或物理机所连接的网络设备内或者作为该网络设备的一部分的传感器c观察到的网络数据的子集。有关传感器b是否位于包含传感器a所位于的vm的管理程序中的关系信息对于分析所捕捉的数据的很多算法都是非常重要的。有关传感器布置的这种关系可以由部署传感器的人手动构建。可以使用管理程序专用的api、以及各种管理程序环境提供的管理接口(例如,xen、vmware、kvm等)来查询管理程序环境。

所有传感器都发送它们观察到的有关网络流量的信息。该信息被发送到收集器。传感器知道用于向收集器发送信息的ip地址和端口号。所有传感器周期性地向收集器发送有关它们已经观察到的每个流的信息。所发送的信息包含在当前时间和最后信息被发送给收集器的时间之间活动的流的列表。传感器和收集器之间的通信信道还在每个间隔创建流。我们将这种流表示为cf或控制流。传感器所发送的信息还包含有关控制流的信息(因为其也是系统中的有效流)。

下面的设置用于说明的目的:

1.传感器s1被部署在运行在管理程序中的vm中。vm的ip地址是ip1。

2.传感器s2被部署在以上1中提到的管理程序中。管理程序的ip地址是ip2,不同于ip1。

3.传感器s3被部署在物理网络交换机或nic中或者作为物理网络交换机或nic的一部分。该交换机的ip地址是ip3。该网络交换机被放置为来自和去往2中提到的管理程序的所有网络流量都通过该交换机。

基于传感器的上述布置,以下情况为真:

1.s1看到并报告的所有流也被s2看到并报告。

2.s2看到并报告的所有流也被s3看到并报告。

因此,

1.在vm内生成并被s1看到的流f1将被s1、s2、s3报告给收集器。因此,表示s1和收集器之间的通信的控制流将被s1、s2、s3看到并报告给收集器。

2.在管理程序内生成的流f2将被s2和s3看到并报告,但不被s1看到并报告。因此,表示s2和收集器之间的通信的控制流将被s2和s3看到并报告给收集器。

3.由交换机生成的流f3将仅被交换机本身看到并被报告给收集器。

在收集器处,在收集到来自所有传感器的信息后,我们将具有以下关系:

1.f1由s1、s2、s3报告

2.f2由s2、s3报告

3.f3由s3报告。

这里是确定一个传感器和其他传感器之间的关系的算法。

1.对于每个流发射,获得报告该流的传感器的列表。将该列表称为列表l。列表l包含报告该流的所有传感器的传感器id。

2.对于列表l中的每个id‘si’,进行以下处理:

a.发射数组{si,l中除si以外的所有传感器的集合}

3.在步骤2结束时收集所有数组。

4.对于具有id‘si’的每个传感器,进行以下处理:

a.获取si为第一元素的所有数组的列表。

b.对作为上面采集的数组中的第二元素的集合进行交叉。称这种交叉集合“前端传感器”。它表示可以看到传感器si能看到的所有流的传感器的列表。在我们的示例中,对于s1,前端传感器的集合为{s2,s3}。

c.对作为在步骤a中生成的数组中的第二元素的集合进行联合。计算联合集合与交叉集合之间的差。称“差异集合”为“后传感器”。它表示其所有流可以被传感器si看到的传感器的列表。在我们的示例中,后传感器的集合将为空集。对于s2,后传感器的集合是{s1}。

使用上述算法,分析传感器输出的流元数据的任意进程或收集器可以确定传感器相互之间的位置关系。

检测妥协收集器

概述

配置服务器可以期望与常规报告相混合的、来自每个数据收集器的特定报告。如果特定报告没有被数据收集器记录,则该数据收集器可以是妥协的。

详细描述

在流量监控系统中,传感器一般需要将它们的数据报告给一个数据收集器。如果收集器变得对恶意软件妥协,则其会不正确地报告流量以便隐藏或者掩盖恶意流量。

克服上述问题的技术是,传感器周期性地发送综合流量报告。一种技术包括向多个数据收集器发送这些综合报告。当系统对各种收集器上的流量报告进行分析时,其可以查找综合流量;如果一个数据收集器没能报告综合流量,则系统可以质疑该数据收集器的完整性。该系统可以将来自其他收集器的数据看作获知应该期待综合数据的途径。例如,如果两个收集器报告流量流,但是第三个收集器没有(但是被期望)发送流量流,则该收集器可能已经妥协。在另一种技术中,分配传感器向一个数据收集器报告,并且该传感器将周期性地复制其报告并将该报告发送给第二数据收集器。复制报告可以被标记,从而使得配置服务器可以调查通过第一数据收集器的报告,以看其是否正确记录了复制报告。

替代地,配置服务器可以命令传感器发送综合数据。该系统随后可以验证收集器正确地报告接收流量流。

一种简单但是不太保险的方法可以是,传感器周期性地发送包含综合数据的心跳。如果数据收集器没能报告该心跳数据,则配置服务器可以质疑该数据收集器的完整性。

综合数据可以包括随机数或者可以是传感器id、vmid、时间戳等的函数。

检测妥协传感器

概述

如果收集器妥协,则由该收集器保持的数据可以妥协,并且该收集器甚至会连累网络。

本公开的元件可以在多个收集器收集传感器报告的数据并且比较随后由多个收集器报告的数据,以确定这些收集器中的任何收集器的妥协。为了考虑收集器已经修改了数据粒度的场景,我们可以使用两个或多个收集器来进行比较,并且基于大多数收集器或者收集器的子集做出判定。

本公开可以被用来通过简单地分析系统或收集器所报告的数据,自动识别妥协系统和收集器。

详细描述

对于容错性,硬件和软件传感器可以向不同收集器发送每个流的信息。在一些情况下,在正常操作模式期间,当没收收集器或者从传感器和收集器开始的路径发生故障时,每个流可以被两个或多个不同的收集器总结。如果收集器没有妥协,则收集器的总结应该匹配。在管线中,我们对来自多个收集器的聚集流信息进行比较,看哪些收集器不一致。

例如,考虑三个收集器a、b和c。传感器s1。假设s1观察流1、2和3,并且分别具有流信息f1、f2和f3。

-f1被发送给a和b。

-f2被发送给b和c。

-f3被发送给c和a。

假设收集器b妥协。它修改f1和f2并且将它们发送给管线。经修改的流信息可以被称为f1’和f2’。

当比较a和b报告的流时,a报告的f1不匹配b报告的f1’。通过这个比较,不能说a和b中哪一个妥协。但是,比较来自b和c的流并且比较来自c和a的流示出,a和c报告了匹配f3的流。因此,b是妥协的。

如果b决定选择性地修改流,则它可以修改发送给a和b的流,而不修改发送给b和c的流。在该示例中,收集器b报告f1’而不报告f1,并且其发送f2本身。随后,不能得到b妥协的结论。在管线中,f1和f1’都被保留用于分析;将它们标记为不受信任的数据。

为了掩饰上述限制,相同的流信息可以被发送给三个收集器(对于流的子集)。该子集可以被比较,以看收集器的大多数是否一致。流被发送到的前两个收集器基于ha策略。第三个收集器可以随机挑选。

故障服优先修复的有向无环图

概述

当多个服务发生故障时,确定修复服务的优先级可能是比较困难的。

详细描述

当多个服务发生故障时,确定故障的根本原因是非常有用的。预测故障的根本原因的一种方法是,创建表示服务如何相互依赖的服务依赖有向无环图(dag)。当多个服务发生故障时,系统可以尝试修复发生故障的服务中层级最高的故障。换言之,系统可以创建仅表示发生故障的服务并且专注于根服务的新dag。如果多个服务发生故障,但是没有清楚的根服务,则系统可以专注于修复dag中的最高服务(这意味着该服务具有最高依赖性,即使这些依赖性当前发挥作用)。

如果服务看上去运行正常但是系统检测到级联异常(或者指示问题的事件),则系统可以使用复杂的分析来找出异常行为的根本原因。

系统可以通过监控网络数据来确定dag,并且发现什么服务依赖于不同的服务。

用于管线健康状况检查的综合流量流

详细描述

为了对攻击防御系统进行健康状况检查,系统可以发起虚假攻击负载并且确定该攻击是否被正确识别并标记。传感器或传感器的组合可以向数据收集器报告什么应该指示攻击。另一综合流源可以来自机器上的专门设计用于创建这些流的独立进程。一旦攻击被识别出来,系统可以确定检测进程中的每个阶段是否像期望的那样操作。例如,一些组件应该正确地识别攻击,同时其他组件应该采取措施来减轻损害并关断来源。因为系统正在发起虚假攻击负载,所以系统应该能够预测到在每个检测阶段将发生什么情况并且标记没有按照系统的期望做出响应的组件。

使用传感器实施网络策略

概述

本技术使得计算网络中的传感器能够监控输入和输出相应节点的网络流,确定不遵循网络策略的网络流,并且根据需要实施适当策略。

详细描述

本技术使得计算网络中的传感器能够监控输入和输出相应节点的网络流,确定不遵循网络策略的网络流,并且根据需要实施适当策略。

在一些实施例中,计算网络的传感器可以通过允许或限制某些类型的流量、或者控制某些类型的流量流的传输速度来实施适当策略。

用于检测隐藏的差异分析

概述

可以使用各种技术来隐藏恶意软件的存在和恶意软件生成的网络流量。由恶意软件或者希望向系统外发送数据的任何代理生成的网络流量可以通过将它们自身放置在操作系统堆栈的不同等级来这样做。数据可以通过各种手段被发送出去,这些手段中的其中一些手段可以完全旁路os堆栈。例如,妥协网络设备驱动器或固件可以向外发送数据,而不被os检测到(虚拟化环境中的客户或主机os)。有时,妥协设备或服务可以生成并发送隐藏恶意软件所使用的进程的分组,其中,这些分组可以(例如,经由该进程)指示系统是妥协系统。通常,可以通过分析有线或物理介质上的分组来检测网络流量。放置在有线介质上的分组分析器系统(硬件或软件)可以看到所有分组,但是不具有在分组中的进程被相对于主机os隐藏的情况下识别该进程的手段,这使得难以识别被恶意软件使用或攻击的进程。严格地说,当与被隐藏的进程相关联的流的一部分被隐藏时,分组分析器无法识别该被隐藏的进程。

本公开的元件可以提供通过观察来自两个或多个参考点的流量来检测分组中的隐藏进程的方法和系统。一个参考点是生成流量的系统x,另一个参考点是系统x的所有网络流量必须通过的系统y。我们通过收集在参考点x和参考点y二者处看到的分组内容本身或分组的元数据,并且计算它们之间的差异来检测这些分组。我们通过将系统x捕捉到的分组中的进程与系统y捕捉到的分组中的进程进行比较来识别隐藏进程。

这种方法和系统可以在容器、虚拟机、管理程序、交换机、以及裸机服务器范围内的具有不同种类的计算工作负载的数据中心中检测这样的分组。

来自计算环境的网络流量(不管是否来自容器、vm、硬件交换机、管理程序、或者物理服务器)由被称为传感器的实体捕捉,这些实体可以被部署在不同环境中或内部,如后面所述。这些捕捉代理被称为“传感器”。传感器向被称为“收集器”的收集代理输出所观察到的网络活动的数据或元数据。收集器可以是在单个机器或者机器的聚类上运行的一组进程。为了简单,在我们的讨论中,我们将所有收集器看做一个逻辑实体,并且将其称作一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器都负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够将经过处理或未经处理的数据发送给负责分析网络数据的进程的聚类。从收集器接收数据的实体可以是进程的聚类,我们将该逻辑群称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器等的状态。

在计算环境中,通过观察或分析来自两个参考点(一个上述计算环境内部的参考点、一个上述计算环境外部的参考点)的分组来检测来自该计算环境的网络流中的隐藏进程。

本公开的元件可以提供精确定位生成具有隐藏进程的任何分组的系统的能力、以及预测计算环境中的恶意实体的存在(由于流中存在隐藏进程)的能力。

详细描述

下面描述用于观察并捕捉有关数据中心中的网络流量的信息的方法和技术。一旦被放置在物理网络上,分组就必须通过附接到计算环境的网络设备(交换机等)。我们可以利用此来识别流中的隐藏进程。注意,对于来自虚拟nic的分组,这些分组将必须一直通过虚拟交换机或虚拟网桥,或者基于管理程序技术通过一些类似组件。在所有情况下,设置在上述计算环境外部并且观察接收所有输出网络流量的接口上的分组的网络捕捉代理可以观察包括相对于计算环境内部的观察者被隐藏的分组或者具有任何隐藏进程的分组在内的所有分组。使用至少两个观察参考点(至少一个参考点在被监控的计算环境内部,另一个在被监控的计算环境外部),本公开可以检测网络流中的任何隐藏进程。

目的在于检测流中的隐藏进程并且将该隐藏进程归因于生成这些流的计算环境。这样的计算环境很有可能被试图在流中隐藏进程以使该进程不被检测到的同时发送流量的恶意软件感染。

来自计算环境的网络流量(无论来自容器、vm、管理程序、还是物理服务器)由被称为传感器的实体捕捉,这些传感器可以被部署在不同环境中或内部,如后面所述。这样的捕捉代理将被称为“传感器”。传感器向被称为“收集器”的收集代理输出所观察到的网络活动的数据或元数据。收集器可以是在单个机器或机器的聚类上运行的一组进程。为了简单,在我们的讨论中,我们将所有收集器看做一个逻辑实体,并且将它们称为一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器都负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够向负责分析网络数据的进程的聚类发送经过处理或者未经处理的数据。从收集器接收数据的实体可以是进程的聚类,并且我们可以将该逻辑群称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器的状态等。

使用由部署在不同等级和位置的传感器捕捉的网络数据,我们的算法运行比较算法来解决检测流中的隐藏进程的问题。

该算法对在沿着路径的两个参考点处检测并捕捉到的分组和进程进行差异分析,以检测流中的隐藏进程。

一旦识别出流中的隐藏进程,系统可以采取校正措施并且做出调整,以限制由恶意软件或威胁造成的伤害。

用于检测隐藏流的差异分析

概述

本公开的元件可以提供通过观察来自两个或多个参考点的流量来检测这样的分组的方法和系统。一个参考点是生成流量的系统x,另一个参考点是系统x的所有网络流量必须通过的系统y。我们通过收集在参考点x和参考点y二者处看到的分组的元数据或分组内容本身并且计算它们之间的差异来检测这样的分组。

该方法和系统可以在容器、虚拟机、以及裸机服务器范围内的具有不同种类的计算工作负载的数据中心中检测这样的分组。

在计算环境中,通过观察并分析来自两个或多个参考点(至少一个参考点在上述计算环境内部,另一个参考点在上述计算环境外部)的分组,来检测来自上述计算环境的隐藏网络流或分组。隐藏流或分组是源自系统(vm、容器、或物理机)但是不能被该系统上运行的分组探测器或像查询网络数据结构之类的工具或者系统上的os本身看到的流或分组。

本公开的元件可以提供用于分析流量并识别恶意软件或其他威胁的准确、高效的动态机制。本公开可以提供非常有效的机制来限制恶意软件和其他有害流量和软件的伤害和威胁。

详细描述

下面描述用于观察并捕捉有关数据中心中的网络流量的信息的方法和技术。尽管大多数网络流量是合法的,但是也有一些网络流量是由用于数据窃取目的或者诸如与远程命令和控制服务器通信的其他恶意目的的恶意代码生成。恶意实体(例如,rootkits、恶意软件)最感兴趣的是相对于管理员、防火墙、或者ids系统隐藏这些流。取决于恶意代码的复杂程度以及感染水平,可以在多个等级隐藏流量。可以向计算环境外发送流量,而不被安装在计算节点上的os本身或者任何分组捕捉代理检测到。但是,一旦被放置在物理网络上,这些分组将必须通过附接到计算环境的网络设备(交换机等)。注意,对于输出自虚拟nic的分组,这些分组将必须一直通过虚拟交换机或虚拟网桥,或者根据惯例程序技术的一些类似组件。在所有情况中,设置在上述计算环境外部并且观察接收所有输出网络流量的接口上的分组的网络捕捉代理可以观察包括相对于计算环境中的观察者被隐藏的分组在内的所有分组。使用至少两个观察参考点(至少一个在被监控的计算环境内部,另一个在被监控的计算环境外部),存在检测被隐藏的流的机制。

目的在于检测这些分组和流并将其归因于生成这些流的计算环境。这样的计算环境很有可能被试图在不被恶意软件检测程序检测到的同时发送流量的恶意软件感染。

来自计算环境(无论来自容器、vm、管理程序、还是物理服务器)的网络流量由被称为传感器的实体捕捉,这些传感器可以被部署在不同环境中或内部,如后面所述。这些捕捉代理将被称为“传感器”。传感器向被称为“收集器”的收集代理输出所观察到的网络活动的数据或元数据。收集器可以是在单个机器或机器的聚类上运行的一组进程。为了简单,在我们的讨论中,我们将所有收集器看做一个逻辑实体,并将其称为一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够向负责分析网络数据的进程的聚类发送经过处理或未经处理的数据。接收来自收集器的数据的实体可以是进程的聚类,我们将该逻辑群称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,其还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器的状态等。

使用部署在不同等级和位置的传感器捕捉的网络数据,我们的方法运行在所附文档中描述的比较算法来解决早前在本文档的问题声明部分提到的检测隐藏分组的问题。

该算法对在沿着路径的两个参考点处检测并捕捉到的分组执行差异分析,以检测隐藏分组。

一旦识别出隐藏分组,系统可以采取校正措施并作出调整,以限制恶意软件或威胁造成的伤害。

数据中心中的后期数据检测

概述

本公开的元件可以提供一种通过确定所报告的事件的时间戳与收集器接收到所报告的事件时的时间戳之间的差异并且对所报告的数据应用计算出的延时来计算网络上的不同系统的时钟和时间的机制。通过分析所捕捉的网络数据来自动检测传感器布置的环境。通过分析传感器所捕捉的网络数据来自动检测传感器的相对位置。

本公开可以解决数据中心中的时钟偏移问题并且可以被应用于依赖于时间的各种场景和应用中。(1)不需要手动更新传感器位置信息。(2)不需要与管理程序管理软件相结合以及具有与管理程序管理软件的特定组合来检测新vm出现或者vm移动。(3)网络硬件位置改变可以被自动追踪。(4)传感器位置可以被用于诊断丢失分组和恶意软件流中的差异分析。

详细描述

来自计算环境的网络流量(不论来自容器、vm、硬件交换机、管理程序、还是物理服务器)由被称为传感器的实体捕捉,这些传感器可以被部署在不同环境中或内部,如后面所述。这些捕捉代理将被称为“传感器”。传感器向被称为“收集器”的收集代理输出所观察到的网络活动的数据或元数据。收集器可以是在单个机器或机器的聚类上运行的一组进程。为了简单,在我们的讨论中,我们将所有收集器看做一个逻辑实体,并且将其称为一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够向负责分析网络数据的进程的聚类发送经过处理或未经处理的数据。从收集器接收数据的实体可以是进程的聚类,我们将该逻辑群组称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,其还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器的状态等。

收集器随后可以使用从传感器收集的数据来计算每个传感器/系统的精确时钟,如下所述。

当传感器向收集器报告数据时,所报告的数据将包括基于传感器所在的系统处的时钟的时间戳。收集器随后可以将来自传感器的数据的时间戳与其自身的时间戳进行比较以识别差异。基于该差异,收集器可以相对于收集器的时钟而识别出传感器的时钟。收集器随后可以基于针对传感器和收集器之间的通信计算出的延时识别出误差。该延时可以通过以下处理计算出来:从收集器向传感器发送消息,接收应答,以及基于发送消息的时间和接收的时间计算延时。使用该延时和计算出的时钟差异,收集器可以确定传感器及其系统的时钟时间。

收集器可以对其接收信息的各种传感器执行该机制。因此,针对所有传感器计算出的时钟将是相对于收集器的时钟的,并且将导致延时(误差)。因此,收集器将能够得到传感器所报告的事件的真正意义上的时间,并且将能够识别出哪些事件何时发生以及哪些事件在其他事件之前发生。

收集器可以连续执行传感器时钟的计算,以确保其随着时间的推移而保持精确。用于重新计算时钟的时间间隔可以基于设置、事件、输入、请求等被编程。

在虚拟化计算基础设施中,检测可以被用于捕捉流过其的分组或分组的元数据的各种组件的位置关系。被称为传感器的分组检测代理可以被部署在虚拟机上、管理程序上、或者物理交换机内。上面提到的所有三种类型的传感器可以向被称为收集器的中心实体输出所捕捉的分组或流的信息供处理。传感器可以读取外部保护的配置文件来弄清楚其是被部署在虚拟机、管理程序还是物理交换机上。使用外部文件来解决这个问题要求人每当新传感器被部署时或者每当新传感器移动到不同的虚拟机时就更新配置文件。在没有外部配置文件的条件下仅基于传感器所输出的分组或流信息来检测传感器的位置关系是本公开解决的问题。

描述

通过综合分析所有传感器报告的数据来自动检测传感器所放置的环境是本公开给出的新技术。本公开给出的另一新技术是自动检测这些传感器的位置关系。

在本文档中,在系统上运行的捕捉网络数据的进程或代理被称为捕捉代理或者被简称为“传感器”。这些传感器具有向可以在不同或相同系统上运行的收集和聚集实体报告有关所观察的分组的元数据或者报告所捕捉的网络数据的子集的能力。除了网络数据以外,传感器还可以捕捉有关运行其的系统的附加信息。附加数据可以包括但不限于,系统的活动进程或以前的活动进程的数据或元数据以及存在于系统上的文件的元数据。收集实体可以是单个进程或进程的聚类。在本文档中,单个收集实体或进程被称为收集器。

传感器或网络捕捉代理可以存在并运行于多个环境内。我们列出三种这样的可能环境:

a.作为安装在虚拟机中的客户操作系统上的进程、内核模块、或内核驱动器。

b.作为安装在管理程序层的主机操作系统上的进程、内核模块、或内核驱动器。

c.作为能够路由或者交换的物理网络设备中的进程或组件。该网络设备可以提供安装这样的代理的途径,或者该网络设备本身可以充当这样的代理。该网络设备或其组件将向收集器输出有关其观察到的分组或流的元数据。

在可以放置传感器的以上每种场景中,传感器具有观察流过系统的所有分组的能力,并且其可以使用ip地址与收集器对话。在数据中心或大型部署中,存在运行并向收集器报告网络信息的数百万传感器。收集器可以对从网络诊断到安全相关应用范围内的报告数据执行多种处理活动。具有所报告的传感器数据是来自部署在vm内的传感器、来自部署在管理程序内的传感器、还是来自部署在网络设备中的传感器的知识对于对所采集的数据进行处理的多种算法是非常重要的。

vm内的传感器a观察到的网络数据是运行该vm的管理程序内的传感器b观察到的网络数据的子集。另外,运行在管理程序内的传感器b观察到的数据是运行在该管理程序或物理机连接到的网络设备中或者作为该网络设备的一部分的传感器c观察到的网络数据的子集。有关传感器b是否位于包含传感器a所在的vm的管理程序中的关系信息对于对所捕捉的数据进行分析的很多算法是非常重要的。有关传感器位置的关系可以由部署传感器的人手动构建。可以使用管理程序专用的api、以及各种管理程序环境所提供的管理接口(例如,xen、vmware、kvm等)来查询管理程序环境。本公开给出了根据所捕捉的流数据来弄清楚这种关系的新途径。该技术不依赖于由各种环境所提供的具体管理方案或者管理程序环境。该技术还使得能够检测vm移动,从而自动更新该关系。

所有传感器都发送有关它们观察到的网络流量的信息。该信息被发送给收集器。传感器知道用于向收集器发送信息的ip地址和端口号。所有传感器周期性地向收集器发送有关它们观察到的每个流的信息。所发送的信息包含在当前时间和最后信息被发送给收集器的时间之间处于活动状态的流的列表。传感器和收集器之间的通信信道也在每个间隔中创建流。我们将该流表示为cf或控制流。传感器发送的信息还将包含有关控制流的信息(因为其也是系统中的有效流)。

出于说明的目的,我们想象以下设置:

1.传感器s1被部署在运行在管理程序内部的vm中。该vm的ip地址是ip1。

2.传感器s2被部署在以上1中提到的管理程序中。管理程序的ip地址是ip2,不同于ip1。

3.传感器s3被部署在物理网络交换机或nic中或者作为物理网络交换机或nic中的一部分。该交换机的ip地址是ip3。该网络交换机被布置为所有输入和输出2中提到的管理程序的网络流量都通过该交换机。

基于传感器的上述布置,以下各项为真:

1.s1看到并报告的所有流也将被s2看到并报告。

2.s2看到并报告的所有流也将被s3看到并报告。

因此,

1.在vm内部生成并被s1看到的流f1将由s1、s2、s3报告给收集器。因此,表示s1和收集器之间的通信的控制流将被s1、s2、s3看到并报告给收集器。

2.在管理程序内部生成的流f2将由s2和s3看到并报告而不被s1看到并报告。所以,表示s2和收集器之间的通信的控制流将被s2和s3看到并报告给收集器。

3.由交换机生成的流f3将仅被交换机本身看到,并且交换机将仅向收集器报告f3。

在收集器处,在收集到来自所有传感器的信息后,我们将具有以下关系:

1.f1由s1、s2、s3报告

2.f2由s2、s3报告

3.f3由s3报告。

这里是确定一个传感器和其他传感器的关系的算法。

1.对于每个流发射,得到报告该流的传感器的列表。将该列表称为列表l。列表l包含报告该流的所有传感器的传感器id。

2.对于列表l中的每个id‘si’,进行以下处理:

a.发出数组{si,l中除si以外的所有传感器的集合}

3.在步骤2结束时收集所有数组。

4.对于具有id‘si’的每个传感器,进行以下处理:

a.得出si是第一元素的所有数组的列表。

b.对作为以上采集的数组中的第二元素的集合进行交叉。将该交叉集合称为“前端传感器”。它代表可以看到传感器si可以看到的所有流的传感器的列表。在我们的示例中,对于s1,前端传感器的集合为{s2,s3}。

c.对作为在步骤a中生成的数组中的第二元素的集合进行联合。计算联合集合和交叉集合之间的差异。将该“差异集合”称为“后传感器”。它代表其所有流可以被传感器si看到的传感器的列表。在我们的示例中,对于s1,后传感器的集合将为空集。对于s2,后传感器的集合为{s1}。

使用以上算法,分析传感器输出的流元数据的收集器或任意进程可以确定传感器相对于彼此的位置关系。

确定事件的因果关系

概述

本公开可以确定数据中心中的事件的因果关系和时间顺序,即使在事件发生的时间太相近以至于无法精确地通过比较时间戳做出判定时。具体地,本公开将这些事件与其他不相关事件进行比较,我们可以通过这些不相关事件推算出允许我们间接确定所讨论的事件的时间顺序的时间和顺序信息。

本公开的元件允许我们即使在处理发生时间太近而无法依赖于时钟的事件时也能确定这些事件的时间顺序和因果关系。该信息对于分析和网络管理可以是非常有用的。

详细描述

来自计算环境的网络流量(不论来自容器、vm、硬件交换机、管理程序、还是物理服务器)被称为传感器的实体捕捉,这些实体可以被部署在不同环境中或内部,如后所述。这种捕捉代理将被称为“传感器”。传感器向被称为“收集器”的收集代理输出所观察到的网络活动的数据或元数据。收集器可以是在单个机器或机器的聚类上运行的一组进程。为了简明,在我们的讨论中,我们将所有收集器看做一个逻辑实体,并且将它们称为一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够向负责分析网络数据的进程的聚类发送经过处理或未经处理的数据。从收集器接收数据的实体可以是进程的聚类,我们可以将该逻辑群称为管线。注意,传感器和收集器不限于仅观察并处理网络数据,其还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器的状态等。

可以使用根据我们的用于协调数据中心中的时间和时钟的机制计算出的时序直接确定事件的时间顺序和因果关系,如下面所述,并且可以通过分析相关和不相关的事件和关系以及时序信息间接确定事件的时间顺序和因果关系。

直接确定-

可以通过在事件之间比较时间戳直接确定。该机制可以利用我们的用于协调数据中心中的时间和时钟的系统。这里,我们使用收集器的时钟来协调向收集器报告数据的这些传感器的系统的时钟。具体地,传感器可以向收集器报告数据,并且可以包括与传感器(而非传感器所在的系统)的时钟对应的时间戳。收集器随后可以将传感器报告的时间与其自身时钟上的时间进行比较,以确定时间上的差异或差别。收集器还可以通过以下处理来识别延时或误差:向传感器发送消息,利用应答被接收的时间计算消息被发送的时间,并且基于这些时间上的差异识别延时。收集器可以针对其他传感器执行该时间计算,以便协调所有传感器的时间。利用经过协调的时间,收集器随后可以通过比较经过协调的时间来确定哪些事件发生在其他事件之前。

但是,这种直接机制在时间非常接近(例如,在误差内)的情况下是不够的。因此,本公开还实现了比较其他事件来间接推断因果关系和时间顺序的间接机制。该机制将在下面进一步讨论。

间接确定-

可以通过将事件与其他不相关事件进行比较来执行间接确定。我们可以使用我们可以确认它们发生在所讨论的事件之前还是之后的不相关事件来推断哪个事件最先发生。我们还可以使用其他事件的知识和推论,例如,我们可以推断出传感器处的消息发送事件将一定发生在目的地传感器处的消息接收事件之前的知识。

例如,假设我们有传感器1上的时间1处的进程a,我们想要确定传感器1处的进程a发生在传感器4处的进程b之前还是之后。我们随后可以观察传感器1处发生的其他事件,用作参考。为了说明,假设我们知道在进程a在传感器1处发生之后(即,时间1之后)的时间2处消息1被传感器1发送并且在进程b在传感器4处发生之前消息1最终被传感器4接收,则我们可以如下确定进程a在进程b之前发生。我们可以确定消息1在t2被从传感器1发送给传感器2并且被传感器2接收。传感器2随后在t3向传感器3发送消息1。传感器3随后在t4向传感器4发送消息1。因此,由于我们知道传感器4对消息1的接收必然在传感器1将消息1初次发送给传感器2之后发生,所以我们可以推断t2(当消息1被发送给传感器2时)在t4(当传感器4从传感器3接收消息1时)之前发生。另外,由于我们知道在进程b在传感器4处发生之前消息1被传感器4接收,所以我们知道t4(当传感器4接收到消息1时)发生在进程b之后。相应地,由于我们知道进程a发生在t1之前并且进程b发生在t4之后,所以我们知道t1在t4之前发生,并且我们可以确定进程a在进程b之前发生。

以上提供了我们可以如何通过将每个传感器处的每个进程的时间与每个传感器和/或其他传感器处发生的不相关事件的时间相比较来确定两个进程中的哪个进程最先发生的示例。以上示例利用了我们确定消息必须在其被接收之前被发送的能力。但是,其他类型的推断也可以被用于做出时间的间接相关。例如,我们可以推断父命令在结果命令之前发生并且在我们的判定中使用该时间关系。也可以使用其他事件关系。例如,如果特定类型的事件必须有后续事件发生(例如,关断事件必然在重启或者初始化事件之后发生或者来自对象的事件必然在对象被创建之后发生),则我们可以使用该关系来执行我们的间接计算。

用于网络事件的自定义事件处理器

概述

本公开的元件可以收集感测到的数据,以生成每个网络进程的谱系。随后可以实现统计模型,以基于进程的谱系来检测模式并识别任何异常或恶意事件。

本公开提供了对于进程的更好的理解(尤其是对于epg),并且有助于检测在命令或进程在网络中被执行时的任何异常或恶意事件。可以使用统计模型在各种背景中实现本公开。

详细描述

本公开可以被实现在用于观察和捕捉有关网络中心中的网络流量的信息的架构中,如下所述。

输出自计算环境的网络流量(无论来自容器、vm、硬件交换机、管理程序、或物理服务器)被称为传感器的实体捕捉,这些实体可以被部署在不同环境中或内部,如后所述。这种捕捉代理将被称为“传感器”。传感器向被称为“收集器”的收集代理输出观察到的网络活动的数据或元数据。收集器可以是在单个机器或机器的聚类上运行的一组进程。为了简明,在我们的讨论中,我们将所有收集器看作一个逻辑实体,并且将其称为一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够向负责分析网络数据的进程的聚类发送经过处理或未经处理的数据。从收集器接收数据的实体可以是进程的聚类,并且我们将该逻辑群组称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,其还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器的状态等。

在本上下文中,我们可以从传感器捕捉数据并使用该数据形成每个进程的谱系。该谱系随后可以被用来识别异常情况,如下面将描述的。

方案-网络中的每个进程可以具有某类型的谱系。本公开对网络中的命令和进程进行分析,以识别进程的谱系。该谱系可以是特别重要的并且与端点组(epg)有关。该谱系可以帮助识别可以指示异常或恶意事件的某些类型的模式。

例如,该系统可以在命令x被执行时识别出系统y处的进程。命令x可能已经被观察到由命令z触发。我们随后知道系统y处的进程的谱系是命令z及其后面的命令x。当进程和命令被执行并且初始化时可以将该信息与这些进程和命令进行比较,以识别任何隐藏的处于控制中的命令(command-in-control)或者其他异常情况。

为了检测异常情况,也可以考虑其他因素。例如,本质上不可靠的因素可以被用在演算中。例如,用于在网络上运行扫描的进程本质上是不可信的。因此,我们可以使用进程谱系(即,用于扫描网络的进程的谱系)来确定扫描是否由恶意命令或恶意软件执行。例如,如果扫描按照针对该进程映射出的期望谱系进行,则我们可以确定扫描是合法的或者是意外/偶然事件。另一方面,如果扫描是由外部命令(即,来自外部的命令)触发的,则我们可以推断出该扫描是攻击或恶意事件的一部分。类似地,如果扫描不是按照预先建立的谱系进行的(例如,扫描由不在谱系中的父进程启动),则我们可以确定扫描是恶意事件的一部分。

本公开可以使用统计模型,例如,马尔科夫链,来学习传承模式并检测异常情况。通过统计模型确认的传承模式可以是基于传感器在网络中的各种设备(vm、管理程序、交换机等)上采集的数据的。统计模型和传承信息可以被用在其他背景中,并且可以与epg结合用于理解进程和异常情况。

谱系信息可以被用来检测进程的处于控制下的命令以及确定命令是否是隐藏命令。例如,如果命令不在谱系中,则我们可以认为命令是隐藏命令。隐藏命令可以是本质上不可信任的,并且更可能是恶意事件。但是,基于我们的统计模型,我们可以识别出隐藏命令可能是偶然或意外事件,或者其确实是恶意事件。

基于分布式拓扑映射和流量历史的欺骗检测

概述

本公开提供了使用网络中的vm、管理程序、服务器、以及交换机(硬件和软件)内分布的传感器来捕捉每点或每跳处的流并且基于所捕捉的流构建网络的拓扑图(其可以识别网络中的网络元件、连接、ip地址、以及子网)的欺骗检测机制。拓扑图可以提供可以识别沿着不同的通信路径的网络元件(vm、管理程序、交换机)和地址(ip地址和子网)的顺序和次序的历史流量快照。该信息可以被用来确定哪些元件、ip地址、以及子网应该被包含在特定通信中。因此,通过对处理分组的实际元件、ip地址、以及子网与基于历史信息和拓扑图被期望处理分组的元件、ip地址、以及子网进行比较,可以检测出伪造分组。

本公开的元件可以使用vm、管理程序、服务器、和交换机处分布的传感器来捕捉流并建立网络中的拓扑、通信路径、以及地址的历史地图。随后可以通过对分组的实际感测结果与历史地图进行比较并且检测通信中实际包含的网络元件、ip地址、和/或子网与基于历史地图期望的网络元件、ip地址、和/或子网之间的任何偏差,使用该地图来检测伪造分组。

该机制可以使用分布式传感器方法来提供用于欺骗检测的精确且高效的方案。

详细描述

本公开可以实现在用于观察并捕捉有关数据中心中的网络流量的信息的架构,如下所述。

输出自计算环境的网络流量(无论来自容器、vm、硬件交换机、管理程序、或物理服务器)由可以被部署在不同环境中或内部的被称为传感器的实体捕捉,如后面提到的。这种捕捉代理将被称为“传感器”。传感器向被称为“收集器”的收集代理输出观察到的网络活动的数据或元数据。收集器可以是在单个机器或机器的聚类上运行的一组进程。为了简洁,在我们的讨论中,我们将所有收集器看做一个逻辑实体,并且将其称为一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够向负责分析网络数据的进程的聚类发送经过处理或未经处理的数据。从收集器接收数据的实体可以是进程的聚类,我们将该逻辑群组称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,其还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器的状态等。

本架构用于检测欺骗,如下所述。

方案-本公开提供了这样的欺骗检测机制,该机制使用网络中的vm、管理程序、服务器、以及交换机(硬件和软件)中分布的传感器来捕捉每点或每跳处的流,基于所捕捉的流建立网络拓扑图(其可以识别网络中的网络元件、连接、ip地址、和子网)。该拓扑图可以提供可以被用来识别沿着不同通信路径的网络元件(vm、管理程序、交换机)和地址(ip地址和子网)的顺序和次序的通信和流量的历史快照。该信息可以被用来确定哪些元件、ip地址、以及子网应该被包含在特定通信中。因此,可以通过对处理分组的实际元件、ip地址、以及子网与基于拓扑图和历史信息被期望处理分组的元件、ip地址、以及子网进行比较来检测伪造分组。

例如,如果来自各种传感器的捕捉流指示vm1处理的流量应该流向管理程序1、交换机1、以及管理程序2从而到达vm2,则当存在实际偏差时我们可以识别出伪造分组。因此,如果这些点中的一点或多点处的传感器检测到没有通过期望设备的分组,则我们可以将该分组识别为伪造分组。类似地,如果历史信息指示来自系统x的分组应该具有子网y中的ip地址,那么当我们检测到以系统x作为其来源而不具有子网y中的ip地址的分组时,我们可以确定该分组是伪造分组。

确定分布式传感器-收集器架构中的不同点处的分组丢失

概述

输出自计算环境的网络流量(无论来自容器、vm、硬件交换机、管理程序、还是物理服务器)由可以被部署在不同环境中或内部的被称为传感器的实体捕捉,如后面提到的。这种捕捉代理将被称为“传感器”。传感器向被称为“收集器”的收集代理输出观察到的网络活动的数据或元数据。收集器可以是在单个机器或机器的聚类上运行的一组进程。为了简洁,在我们的讨论中,我们将所有收集器看作一个逻辑实体,并且将其称为一个收集器。在数据中心规模的实际部署中,存在不止一个收集器,每个收集器负责处理来自一组传感器的输出数据。

收集器能够对从传感器收集的数据进行预处理和分析。它能够向负责分析网络数据的进程的聚类发送经过处理或未经处理的数据。从收集器接收数据的实体可以是进程的聚类,我们将该逻辑群组称为管线。注意,传感器和收集器不限于仅观察和处理网络数据,其还可以捕捉其他系统信息,例如,当前活动进程、活动文件句柄、套接字句柄、i/o设备、存储器的状态等。

问题-

网络在流路径中的不同点处将经历不同数量的分组丢失。识别每点的分组丢失的数量对调整和改善网络是非常重要的。

本公开的元件可以允许集中系统收集并聚集由通信路径中的每点在特定时段捕捉的数据并且对每点报告的数据进行比较来识别每点的分组丢失。

优点包括:本机制可以实现在真实环境中,并且可以精确且高效地确认网络中每点处的分组丢失。

详细描述

本公开在vm、管理程序、服务器、以及硬件交换机中实现这样的传感器,该传感器捕捉在这些点中的每点处发送和接收的数据并将该数据报告给可以聚集并保持所报告的感测数据的收集器。收集器可以将从每个传感器收集的数据发送给管线(例如,流量监控系统引擎),该管线可以分析所聚集的数据并且识别出每点的分组丢失的精确数量。

管线可以通过对每点处的传感器所捕捉并报告的数据或分组进行比较来识别每点的分组丢失。该比较可以针对每个流、每条链路、或者每个主机执行。另外,管线可以对在特定时间窗内捕捉的数据进行比较。例如,管线可以对30分钟时间窗内来自每个点的数据进行比较。管线随后可以识别出每点的分组丢失并且确定链路、路径、或者流中的特定点是否存在问题。

例如,管线可以分析并聚集在从s1到h1到s2的通信的30分钟窗内捕捉的数据。基于所聚集的数据,管线可以确定s1报告了100%的分组,h1报告了90%的分组,并且s2报告了80%的分组。这里,管线可以确定在h1和s2中的每处存在10%的分组丢失。

检测传感器-收集器拓扑

概述

解决的问题:在虚拟化计算架构中,检测可以用于捕捉流过其的分组的元数据或分组的各种组件的位置关系。被称为传感器的分组检测代理可以被部署在虚拟机上、管理程序上、或者物理交换机内部。所有以上提到的三种类型的传感器可以向被称为收集器的中心实体输出所捕捉的分组或流的信息供处理。传感器可以读取外部保持的配置文件来弄清楚其被部署在虚拟机、管理程序、还是物理交换机上。使用外部文件来解决这个问题要求每当新传感器被部署时或者同一个传感器移动到不同虚拟机时人都能够对配置文件进行更新。

检测网络中的传感器-收集器拓扑,用于理解与所报告的流相关联的传感器和收集器的布置。

优点包括:通过本公开确认的拓扑和位置信息驱动流量监控系统并且被依赖于由传感器捕捉并且由收集器收集的数据的大多数特征所使用。本公开对于流量监控系统执行的分析非常有用。

详细描述

在虚拟化计算架构中,检测可以用于捕捉流过其的分组的元数据或分组的各种组件的位置关系。被称为传感器的分组检测代理可以被部署在虚拟机上、管理程序上、或者物理交换机内部。所有以上提到的三种类型的传感器可以向被称为收集器的中心实体输出所捕捉的分组或流的信息供处理。传感器可以读取外部保持的配置文件来弄清楚其被部署在虚拟机、管理程序、还是物理交换机上。使用外部文件来解决这个问题要求每当新传感器被部署时或者同一个传感器移动到不同虚拟机时人都能够对配置文件进行更新。在不使用外部配置文件的条件下仅基于由传感器报告的分组或流信息来检测传感器的位置关系是本公开解决的问题。

描述

在本文档中,在系统上运行的捕捉网络数据的进程或代理被称为捕捉代理或者被简称为“传感器”。这些传感器具有向可以在不同或相同系统上运行的收集和聚集实体报告有关所观察到的分组的元数据、或者报告所捕捉到的网络数据的子集的能力。除了网络数据外,传感器还可以捕捉有关运行其的系统的附加信息。该附加数据可以包括但不限于,系统的活动进程或者以前活动的进程的数据或元数据、以及存在于系统上的文件的元数据。收集实体可以是单个进程或进程的聚类。在本文档中,单个收集实体或进程被称为收集器。

传感器或网络捕捉代理可以存在并且运行于多个环境内。我们列出三种这样的可能环境:

a.作为安装在虚拟机中的客户操作系统上的进程、内核模块、或者内核驱动器。

b.作为安装在管理程序层的主机操作系统上的进程、内核模块、或者内核驱动器。

c.作为能够路由或者交换的物理网络设备中的进程或组件。该网络设备可以提供安装这样的代理的途径,或者该网络设备本身可以充当这样的代理。该网络设备或其组件必须向收集器输出有关其观察到的分组或流的元数据。

在可以布置传感器的上述任意场景中,传感器具有观察流过系统的所有分组的能力,并且其可以使用ip地址与收集器对话。在数据中心或大型部署中,存在正在运行并向收集器报告网络信息的数百万传感器。收集器可以对从网络诊断到安全相关应用范围内的报告数据执行多种处理活动。但是,有关所报告的传感器数据来自部署在vm内的传感器、来自部署在管理程序内的传感器、还是来自部署在网络设备中的传感器的指示对于对所聚集的数据进行处理的多种算法是非常重要的。这些算法的用例将不在本公开中讨论。

vm中的传感器a观察到的网络数据是运行该vm的管理程序中的传感器b观察到的网络数据的子集。另外,管理程序中运行的传感器b观察到的网络数据又是该管理程序或物理机所连接的网络设备中运行的传感器c或者作为该物理设备的一部分的传感器c所观察到的网络数据的子集。有关传感器b是否位于包含传感器a所在的vm的管理程序中的关系信息对于分析捕捉数据的很多算法是非常重要的。有关传感器位置的这种关系可以由部署传感器的人手动创建。可以使用管理程序专用的api、以及由各种管理程序环境提供的管理接口(例如,xen、vmware、kvm等)来查询管理程序环境。根据所捕捉的流数据来弄清楚这种关系的新途径在本公开中给出。本技术不依赖于管理程序环境或者由各种环境提供的具体管理方案。本技术还使能vm移动的检测,从而自动更新该关系。

所有传感器都发送有关它们观察到的网络流量的信息。该信息被发送到收集器。传感器知道用于向收集器发送信息的ip地址和端口号。所有传感器周期性地向收集器发送有关它们观察到的每个流的信息。所发送的信息包含在当前时间和最后信息被发送到收集器的时间之间处于活动状态的流的列表。传感器和收集器之间的通信信道在每个间隔中也创建流。我们将该流表示为cf或控制流。传感器所发送的信息也包含有关控制流的信息,因为控制流也是系统中的有效流。

出于说明的目的,我们想象以下设置:

1.传感器s1被部署在管理程序中运行的vm中。vm的ip地址是ip1。

2.传感器s2被部署在以上1中提到的管理程序中。管理程序的ip地址是ip2,不同于ip1。

3.传感器s3被部署在物理网络交换机或nic中或者作为物理网络交换机或nic的一部分。该交换机的ip地址是ip3。该网络交换机被布置为使得来自和去往2中提到的管理程序的所有网络流量都通过该交换机。

基于传感器的以上布置,以下情况为真:

1.s1看到并报告的所有流也将被s2看到并报告。

2.s2看到并报告的所有流也将被s3看到并报告。

因此,

1.在vm中生成并被s1看到的流f1将被s1、s2、s3报告给收集器。所以,表示s1和收集器之间的通信的控制流将被s1、s2、s3看到并报告给收集器。

2.在管理程序中生成的流f2将被s2和s3看到并报告,但不被s1看到并报告。所以,表示s2和收集器之间的通信的控制流将被s2和s2看到并报告给收集器。

3.由交换机生成的流f3将仅被交换机本身看到并报告给收集器。

在收集器处,在收集到来自所有传感器的信息后,我们将具有以下关系:

1.f1由s1、s2、s3报告

2.f2由s2、s3报告

3.f3由s3报告。

这里是确定一个传感器和其他传感器的关系的算法。

1.对于每个流发射,得出报告该流的传感器的列表。将该列表称为列表l。列表l包含报告该流的所有传感器的传感器id。

2.对于列表l中的每个id‘si’,进行以下处理:

a.发出数组{si,l中除si以外的所有传感器的集合}

3.在步骤2结束时收集所有数组。

4.对于具有id‘si’的每个传感器,进行以下处理:

a.获取si是第一元素的所有数组的列表。

b.对作为以上采集的数组中的第二元素的集合进行交叉。将该交叉集合称为“前端传感器”。它表示可以看到传感器si能看到的所有流的传感器的列表。在我们的示例中,对于s1,前端传感器的集合为{s2,s3}。

c.对作为步骤a中生成的数组中的第二元素的集合进行联合。计算联合集合与交叉集合之间的差异。将该“差异集合”称为“后传感器”。它表示其所有流可以被传感器si看到的传感器的列表。在我们的示例中,对于s1,后传感器的集合为空集。对于s2,后传感器的集合为{s1}。

使用上述算法,分析传感器输出的流元数据的收集器或任何进程可以确定传感器相对于彼此的位置关系。

创建主机信誉得分

概述

系统可以向每个主机分配从-1到1的信誉得分。当主机根据策略发送和接收数据时,其信誉会增加。如果主机发送或接收其策略以外的数据或者发送或接收作为恶意活动的特征的数据,则其信誉会降低。

本方法提供了评估主机信誉的动态的基于时间的尺度(其优于二进制一次性评估)。

详细描述

系统可以监控主机发送和接收的流量,并且基于流量的特性来确定主机的信誉得分。信誉得分可以是从1(信誉好)到-1(信誉不好)的数,0是中性起点。信誉可以随着时间增加和降低。尽管信誉可能是由输出流量确定的,但是输入流量也会影响主机信誉。

恶意活动会伤害主机信誉,同时正常行为可以增加主机信誉。恶意活动可以包括诸如来自恶意软件或者导致ddos攻击的活动之类的严重活动。其还可以包括例如,流量不遵循针对该主机的群组策略的不太严重的活动。活动越严重,网络主机的信誉越受损。一些类型的活动可以伤害很长一段时间内的信誉,同时其他类型的活动对信誉具有较为短暂的影响。各种活动如果独立分析的话可能不严重,但是聚集起来它们会被看得更加严重。例如,关闭端口上的孤立连接尝试可能是错误,但是一系列这样的尝试则可能会构成“端口敲门”-针对恶意代码的秘密消息。

信誉公式可以为来自某个地理区域、子网、制造商、或者具有某种堆栈的主机定位较低的起始声誉。主机学习技术可以被用来确定哪些行为将增加声誉或伤害声誉。系统还可以具有反馈机制。例如,如果具有良好信誉的主机发送异常流量,系统可以猜测该异常流量是安全的;当它看到来自另一主机的类似流量时,它会增加该主机的声誉。类似地,来自具有较差信誉的主机的流量类型可以被认为是恶意的;当它被看到从另一主机输出时,它会损害该主机的声誉。换言之,某个主机的流量与有信誉的主机的流量越类似,该主机的信誉越好。在一些情况中,即使来自没有信誉的主机的相同流量将损害某个主机的声誉,来自有信誉的主机的相同流量也将不对该主机造成影响。

可以根据各种原则来人工地设置或重置主机的信誉。例如,管理员可以确定其是有信誉的或者其清除了恶意代码。

使用主机信誉数据

详细描述

如果系统正在计算各种主机的信誉得分,则该系统可以确定与各种策略、堆栈、以及主机相关联的作为结果的信誉得分。当新主机或堆栈被提供时,系统可以推荐有可能导致最良好的信誉得分的策略方案。良好的信誉应该相当于更强的安全性。如果多个策略产生类似的信誉得分,则可以推荐限制最少的策略。

该系统的安装在各种数据中心上的实现方式可以共享有关策略的信誉信息以及它们的相关信誉得分。如果系统正在向安全网络外部的系统共享信誉数据,则其可以移除专有信息或机密信息并且共享通用信誉数据。

当主机的信誉得分下降到某个阈值数量以下时,系统可以采取措施对主机进行隔离并且将该主机从网络移除。系统随后可以更加严厉地监督来自类似主机的其他流量。

具有极端信誉得分的策略、堆栈、或主机可以高效地将策略、堆栈、或者主机加入白名单或黑名单。

确定网络图并利用延时进行注解

详细描述

可以使用一种或多种统计算法,基于计算网络的相应的两个节点之间的所有分组的时间戳来确定该两个节点之间的平均通信延时。计算网络中的所有节点之间的分组可以被追踪并收集。在一些实施例中,可以根据计算网络的通信图和策略,从计算中排除计算网络的任意两个节点之间的不良流。

在一些实施例中,可以基于计算网络的任意两个节点之间的平均延时来确定计算网络的通信图。

在一些实施例中,可以检查计算网络中的节点之间的分组的头部来确定分组的属性(例如,分组类型、或者分组大小)。一种或多种统计算法可以根据分组的属性对分组进行分类。对于具有特定属性的分组,统计算法可以基于计算网络的任意两个节点之间的具有相应属性的分组的时间戳来确定该两个相应节点之间的平均通信延时。

使用上述网络图和延时检测网络异常/故障

详细描述

本技术可以基于计算网络的任意两个节点之间的所有分组的时间戳来确定该两个节点之间的平均网络延时。可以追踪并收集计算网络中的所有节点之间的分组。可以基于所确定的计算网络的节点之间的网络延时来确定计算网络中的异常情况或故障。

在一些实施例中,可以基于计算网络的节点之间具有特定属性的所有分组的时间戳来确定该属性的平均网络延时。

在一些实施例中,可以将计算网络的任意两个节点之间的平均网络延时与计算网络的通信图相关联,并且可以使用该平均网络延时来识别异常链接。

在一些实施例中,网络延时的异常情况有助于识别异常活动并且可以被用于确定校正措施。

检测时钟偏移节点

详细描述

可以使用一种或多种统计算法,基于计算网络的任意两个节点之间的所有分组的时间戳来确定该两个节点之间的平均通信延时。基于任意两个节点之间的平均通信延时,可以确定相应的两个节点之间的时钟偏移。

在一些实施例中,可以检查计算网络中的节点之间的分组的头部,来确定分组的属性(例如,分组的类型、或者分组的大小)。一种或多种统计算法可以根据分组的属性来对分组进行分类。对于具有特定属性的分组,统计算法可以基于计算网络的任意两个节点之间具有相应属性的分组的时间戳来确定该两个节点之间的平均通信延时。可以基于两个节点之间的平均通信延时来确定两个节点之间的时钟偏移。

检测应用延时

详细描述

本技术基于计算网络的任意两个节点之间的所有分组的时间戳来确定相应的两个节点之间的平均网络延时。可以追踪并收集计算网络中的所有节点之间的分组。本技术进一步从计算网络的所有节点之间的分组中区分出查询分组,并且基于去往节点的查询分组和来自节点的响应分组的时间戳来确定节点的应用延时。

在一些实施例中,可以检查去往节点的查询分组和来自节点的响应分组的属性。可以基于去往节点的具有特定属性的所有查询分组和来自节点的具有该属性的相应的响应分组的时间戳,确定该属性的平均应用延时。

条件策略

概述

可以考虑主机的行为(即,“信誉”或“脆弱性指数”)定义策略。假设主机被指定处于“良好(good)”、“尚可(ok)”、或者“不良”状态,并且可以在其有效期内在这些状态之间移动。可以基于这些状态之一建立使能到某个epg的连接的策略。

主机可以基于主机的行为从一个信誉良好的epg移动到另一个epg,并且策略不需要考虑主机的信誉的变化而被手动更新。

详细描述

流量监控系统引入了主机的“信誉”或“脆弱性指数”的概念(如在其他位置详细描述的)。可以定义考虑主机的信誉(例如,“良好”、“尚可”、或者“不良”)的策略。例如,我们可以定义“良好”、“尚可”、以及“不良”epg。主机a最初可以具有“良好”或“尚可”的信誉,并且因此是“良好”或“尚可”epg的成员。可以定义允许“良好”或“尚可”epg的成员访问epgb的策略p。根据该策略,a将能够连接到b。假设a随后被暴露在导致a的信誉下降到“不良”的恶意攻击下,则其所属的epg从“良好”或“尚可”epg变为“不良”epg。因为a现在处于“不良”epg中,所以a在策略p下不能连接到b。

作为另一示例,假设策略q是允许“不良”epg的成员访问epgc中的图像更新服务器的规则。在策略q下,a可以访问c中的图像更新服务器以更新器软件,从而使得a可以被修复。

应该理解的是,存在比“良好”、“尚可”、以及“不良”更多或更少的分类。另外,用于分类的阈值可以由用户配置。例如,如果主机具有0.7到1之间的信声誉(假设信誉尺度在-1到1之间),则主机可以被指定处于“良好”状态;如果主机具有小于0.7且大于0的信誉,则主机可以被指定处于“尚可”状态;如果主机具有负信誉,则主机可以被指定处于“不良”状态。

基于外部源的鲁棒主机信誉

详细描述

流量监控系统引入了主机的“信誉”或“脆弱性指数”的概念(如在其他位置详细描述的)。信誉得分或脆弱性指数可以有助于各种用例,例如,基于信誉/脆弱性使能条件策略、区分恶意行为和非恶意行为、以及确定策略的有效性等。

在一个实施例中,主机可以具有“良好”、“尚可”、或者“不良”信誉,尽管在其他实施例中可以由更多或更少的分类。另外,用于分类的阈值可以由用户配置。例如,如果主机具有0.7到1之间的信誉(假设信誉尺度在-1到1之间),则主机可以被指定处于“良好”状态;如果主机具有小于0.7但大于0的信誉,则主机可以被指定处于“尚可”状态;如果主机具有负信誉,则主机可以被指定处于“不良”状态。

可以排他地通过数据中心中的网络流量的分析来计算信誉得分。但是,我们还利用外部源来进一步增强信誉得分。例如,我们可以爬取识别已经感染特定恶意软件的ip地址的恶意软件跟踪器。在数据中心中的主机与已经被恶意软件感染的外部主机通信的情况下,该主机的信誉会降低。

我们还可以爬取whois来确定哪些ip地址已经被正确地分配给合法实体。如果数据中心中的主机正在与未分配的ip地址通信,则我们可以降低该主机的信誉。

策略利用(以及碎片收集)

概述

通过在数据中心的各种组件(例如,虚拟机、管理程序、物理网络设备)处包括传感器,可以分析数据中心中的网络流量,从而确定哪些策略正在被利用(没有被利用)以及这些策略被利用的程度(例如,流的数目、分组的数目、字节等)。

优点包括:

i)策略的智能排序-可以根据利用情况来对策略进行排序。例如,在策略规则集中可以将较高利用率的策略排序较高,或者较高利用率的策略可以被存储在网络设备的存储器中。

ii)碎片收集-没有被利用的策略可以被移除(例如,没有流、没有分组、没有ip地址在连接上通信)。

详细描述

流量监测系统策略管道包括四个主要步骤/模块:

(1)应用依赖映射

在该阶段,对网络流量进行分析来确定在数据中心中运行的每个应用的相应图表(如其他部分详细描述的)。即,特定模式的流量将对应于应用,并且应用的连通性或依赖性被映射以生成该应用的图表。在上下文中,“应用”是指为给定的工作负载集提供连通性的一组网络组件。

(2)策略生成

随后可以得出针对在(1)中确定的每个应用图的白名单规则(在其他部分详细描述)。

作为白名单规则生成的示例,假设e1(例如,端点、端点组)和e2之间存在应用图的边缘。允许流量流在e1的一组端口上流到e2的一个或多个端口。可以定义反映从e1的该组端口到e2的该一个或多个端口的允许流量的策略。

(3)流预处理

在映射应用依赖性并且定义策略后,在策略管道中对网络流量进行预处理,供后续分析使用。对于每个流,该流的源端点被映射到源端点组(epg),并且该流的目的地端点被映射到目的地epg。还可以通过确定哪个epg对应于客户端、哪个epg对应于服务器来对每个流进行“标准化”。

(4)流分析

随后对每个经过预处理的流进行分析,以确定哪些策略正在数据中心中被实施以及这些策略被实施的程度(例如,分组的数目、流的数目、字节的数目等)。

该流分析持续进行,并且流量监测系统允许用户指定确定哪些策略正在被实施(没有被实施)以及这些策略被实施多久的时间窗(例如,一天中的时间、一个星期或一个月中的某天、一年中的一个或多个月等)。

策略模拟

概述

可以在真实系统中实现策略改变和端点组(epg)成员资格改变之前,对策略改变和epg成员资格改变进行评估。可以使用历史地面真实流,基于策略或epg成员资格改变来模拟网络流量。还可以使用实时流,基于实验策略集或实验epg集的实施来模拟对网络流量的影响。

优点包括:

i)能够确定由于策略或epg成员资格的改变导致的对应用的不利影响。

ii)能够基于策略或epg成员资格的改变来确定未来的攻击对数据中心的不利影响。

详细描述

流量监控系统策略管道包括四个主要步骤/模块:

(1)应用依赖映射

在这个阶段,分析网络流量,以确定在数据中心中运行的每个应用的相应图表(在其他部分详细讨论的)。即,特定模式的流量将对应于应用,并且应用的互通性或者依赖性被映射以生成应用图。在此上下文中,“应用”是指向给定的工作负载集提供连通性的一组网络组件。例如,在传统的三层架构的应用中,web层、应用层、以及数据层的服务器和其他组件将组成应用。

(2)策略生成

随后,得出针对在(1)中确定的每个应用图的白名单规则(在其他部分详细讨论的)。

作为白名单规则生成的示例,假设e1(例如,端点、端点组)和e2之间存在应用图的边缘。允许流量在e1的一组端口上流到e2的一个或多个端口。可以定义反映从e1的该组端口到e2的该一个或多个端口的允许流量的策略。

(3)流预处理

在映射应用依赖性并且定义策略之后,在策略管线中对网络流量进行预处理以供以后分析使用。对于每个流,该流的源端点被映射到源端点组(epg),并且该流的目的地端点被映射到目的地epg。还可以通过确定哪个epg对应于客户端、哪个epg对应于服务器来对每个流进行“标准化”。

(4)流分析

随后对每个经过预处理的流进行分析,以确定各种度量,例如,流是否遵循安全策略、利用了哪些策略以及这些策略被利用的程度等。

这种流分析持续进行,并且流量监控系统允许用户指定时间窗(例如,一天中的时间、一个星期或一个月中的时间、一年中的一个或多个月等)来确定在该时段期间发生的不遵循策略的事件的数目。

除了对数据平面中实际存在的策略进行评估以外,策略管线还使能“如果又怎样(whatif)”的分析,例如,分析在添加新策略、移除已有策略、或者改变epg成员资格(例如,向epg添加新端点、从epg移除端点、以及将端点从一个epg移动到另一个epg)时网络流量将发生什么情况。

在一个实施例中,基于“如果又怎样”实验,利用历史地面真实流来模拟网络流量。这被称为回溯测试。在另一实施例中,可以相对于实验策略集或实验epg集来评估实时流,以理解特定策略或epg的改变如何影响数据中心中的网络流量。

策略利用(以及碎片收集)

概述

通过在数据中心的各种组件(例如,虚拟机、管理程序、物理网络设备)处包括传感器,可以分析数据中心中的网络流量从而确定正在利用哪些策略(没有利用哪些策略)以及这些策略被利用的程度(例如,流的数目、分组的数目、字节等)。

优点包括:

i)策略的智能排序-可以根据利用情况对策略进行排序。例如,可以在策略规则组中将利用率较高的策略排序较高,或者可以将利用率较高的策略存储在网络设备的存储器中。

ii)碎片收集-可以移除没有利用的那些策略(例如,没有流、没有分组、没有ip地址在连接上通信)。

详细描述

流量监测系统策略管线包括四个主要步骤/模块:

(1)应用依赖映射

在这个阶段,对网络流量进行分析,以确定在数据中心中运行的每个应用的相应图表(在其他部分详细讨论)。即,特定模式的流量将对应于应用,并且应用的互通性或者依赖性被映射以生成应用图。在此上下文中,“应用”是指向给定的工作负载集提供连通性的一组网络组件。例如,在传统的三层架构的应用中,web层、应用层、以及数据层的服务器和其他组件将组成应用。

(2)策略生成

随后,得出针对在(1)中确定的每个应用图的白名单规则(在其他部分详细讨论的)。

作为白名单规则生成的示例,假设e1(例如,端点、端点组)和e2之间存在应用图的边缘。允许流量流在e1的一组端口上流到e2的一个或多个端口。可以定义反映从e1的该组端口到e2的该一个或多个端口的允许流量的策略。

(3)流量预处理

在映射应用依赖性并且定义策略之后,在策略管线中对网络流量进行预处理以供以后分析使用。对于每个流,将该流的源端点映射到源端点组(epg),并且将该流的目的地端点映射到目的地epg。还可以通过确定哪个epg对应于客户端、哪个epg对应于服务器来对每个流进行“标准化”。

(4)流分析

随后对每个经过预处理的流进行分析,以确定正在数据中心中实施哪些策略以及这些策略被实施的程度(例如,分组的数目、流的数目、字节的数目等)。

这种流分析持续进行,并且流量监控系统允许用户指定时间窗(例如,一天中的时间、一个星期或一个月中的时间、一年中的一个或多个月等)来确定正在实施哪些策略(没有实施哪些策略)以及实施这些策略的频繁程度。

策略遵循

概述

通过在数据中心的各种组件(例如,虚拟机、管理程序、物理网络设备)处包括传感器,可以对数据中心中的网络流量进行分析,并可以将该流量与安全策略进行比较来确定该流量是否遵循这些策略。

优点包括:

i)审计员可以查询端点a是否曾经与端点b通信,并且可以通过示出没有不遵循对应于a和b的策略的事件来建立针对指定时间段的遵循。更一般地,流量监测系统能够提供实时遵循报告。

ii)网络管理员可以将系统配置为当发生不遵循策略的事件时提供通知。

详细描述

流量监测系统策略管线包括四个主要步骤/模块:

(1)应用依赖映射

在这个阶段,对网络流量进行分析,以确定在数据中心中运行的每个应用的相应图表(在其他部分详细讨论)。即,特定模式的流量将对应于应用,并且应用的互通性或者依赖性被映射以生成应用图。在此上下文中,“应用”是指向给定的工作负载集提供连通性的一组网络组件。例如,在传统的三层架构的应用中,web层、应用层、以及数据层的服务器和其他组件将组成应用。

(2)策略生成

随后,得出针对在(1)中确定的每个应用图的白名单规则(在其他部分详细讨论的)。作为白名单规则生成的示例,假设e1(例如,端点、端点组)和e2之间存在应用图的边缘。允许流量在e1的一组端口上流到e2的一个或多个端口。可以定义反映从e1的该组端口到e2的该一个或多个端口的允许流量的策略。

(3)流预处理

在映射应用依赖性并且定义策略之后,在策略管线中对网络流量进行预处理以供以后分析使用。对于每个流,将该流的源端点映射到源端点组(epg),并且将该流的目的地端点映射到目的地epg。还可以通过确定哪个epg对应于客户端、哪个epg对应于服务器来对每个流进行“标准化”。

(4)流分析

随后,对每个经过预处理的流进行分析,以确定流是否遵循在(2)中生成的策略。当(a)对应于流的策略允许流但是流被丢弃或者(b)对应于流的策略拒绝流但是流被转发时,流是不遵循策略的。

该流分析持续进行,并且流量监控系统允许用户指定时间窗(例如,一天中的时间、一个星期或一个月中的时间、一年中的一个或多个月等)来确定在该指定时段期间发生的不遵循策略的事件的数目。

网络脆弱性量化和可视化

概述

可以基于历史流攻击数据和其他因素,计算数据中心的每个组件(例如,策略、epg、主机、端口等)的脆弱性指数。假定主机被确定为脆弱,我们可以映射出脆弱主机连接到/自的其他主机,并且提供示出脆弱性图表和脆弱性的严重程度的gui。

优点包括:能够量化网络对象的脆弱性。

使能网络脆弱性的可视化包括一个或多个脆弱主机以及脆弱主机可以连接到的其他主机的图表。

详细描

流量监测系统包括可以被应用到策略、epg、主机、端口等的被称为“脆弱性”的抽象概念。该抽象概念不同于“信誉”概念。信誉仅可应用于主机并且基于信誉来确定主机可以采取哪些动作。另一方面,脆弱性对上述对象对网络攻击的敏感性进行量化。相对于这些对象中的每个对象分析历史流攻击,以确定每个对象的脆弱性指数(在-1到1之间)。例如,可以基于实施策略时发生的攻击的历史数目以及没有实施策略时发生的攻击的历史数目,来计算策略的脆弱性指数。类似地,使用历史流攻击数据,对某个端口打开时的攻击之间的差异与该端口关闭时的攻击之间的差异进行比较。可以基于端口打开时发生的附加攻击的数目以及该端口关闭时发生的附加攻击的数目来计算该端口的脆弱性指数。影响脆弱性的其他因素是策略遵循/不遵循、策略是白名单策略还是黑名单策略、某些应用是否正在数据中心中运行、以及某个os是否被主机设备使用等。

本公开的其他组件可以具有基于脆弱性指数提供脆弱性图表的能力。假定第一主机被确定为脆弱,我们映射出第一主机可以连接到的其他主机并且确定这些其他主机的脆弱性指数。脆弱性的严重程度可以由颜色(红色)强度指示,从而我们最后可以得到指示该站点中的脆弱性以及脆弱性的严重程度的图表。例如,假设主机是认证服务器并且其脆弱性指数是严重。在这种情况下,整个网络拓扑将为鲜红色,因为认证服务器潜在地连接到/自网络中的每个其他主机。另一方面,假设主机是日志主机。脆弱性图表可以仅包括该主机,因为日志主机不连接到任何其他主机,并且仅是日志的存储设备。

在未来的版本中,我们还提供对于脆弱性的a/b测试,例如,基于历史流攻击数据来确定在特定端口打开时发生的攻击的数目以及该端口关闭时发生的攻击的数目。

流搜索页面上的流排名

概述

本公开可以涉及创建排名系统,以在提交搜索请求后弹出更为重要的搜索结果。首先,所生成的搜索结果是基于从流量监控系统层采集的索引数据和所使用的搜索词之间的相关性的。随后,交叉排名度量,业务关键性(参见以上所述)被用来首先弹出更为重要的搜索结果。可以使用第三准则来帮助打破搜索程序遇到的任何重要性关系。

详细描述

本公开可以涉及创建排名系统,以在提交搜索请求后弹出更为重要的搜索结果。首先,所生成的搜索结果是基于从流量监控系统层采集的索引数据和所使用的搜索词之间的相关性的。然后,交叉排名度量,业务关键性(参见以上所述)被用来首先弹出更为重要的搜索结果。可以使用第三准则来帮助打破搜索程序遇到的任何重要性的关联。例如,可以使用冗余度量来打破在商业关键性方面排名相等的搜索结果的任何关联。识别冗余即识别关联到冗余系统的逻辑实体。被关联到冗余系统的逻辑实体比没有被关联到冗余系统的逻辑实体排名更低,因为没有关联到冗余系统的逻辑实体更脆弱。因此,没有关联到冗余系统的业务关键的逻辑实体比关联到冗余系统的业务关键的逻辑实体排名更高。

例如,在搜索ui中,用户可以搜索特定的互联网协议(ip)地址。任何流、主机、或应用具有从来自流量监控系统层的索引数据采集的ip地址。接下来,交叉排名度量、业务关键的应用弹出重要的主机、流、或应用。例如,可以将某数据流弹出到最上面的10个搜索结果,因为该流感染了恶意软件并且系统已经确定有问题的数据流是业务关键的(由于数据流相对于企业的类型和感染)。但是,如果两个主机被确定为在业务关键性方面是相等的,则对于示例冗余度的另一度量可以被用来打破关联。例如,如果一个主机与多个冗余服务器通信而另一主机不与多个冗余服务器通信,则系统将在具有冗余度的主机之前弹出不具有任何冗余度的主机。多个搜索可以在一个ui上进行,而不需要去往另一ui。

另外,可以针对具体数据类型的搜索定制搜索ui。例如,搜索查询可以仅针对主机、仅针对流、或者仅针对应用。根据所搜索的数据类型,ui可以具有关联到所搜索的数据类型的具体可视化。例如,主机搜索可以在视觉上看不同于流搜索且不同于应用搜索。创建所搜索的数据类型的即时视觉认识。在生成搜索结果后可以过滤出进一步的数据类型,或者在搜索结果被生成之前可以过滤出作为参数的进一步的数据类型。

用于流探测的平行坐标图

概述

本公开还可以涉及在数据流上下文中应用平行坐标图。该平行坐标图允许用户搜索协议并且探测所搜索的协议中的各种流。通过提供所搜索的协议的一个或多个数据流的可视化来进行探测,以区分出典型流和非典型流。每个流具有很多变量或维度的记录。在平行坐标图中显示数据流。

详细描述

本公开可以涉及在数据流上下文中应用平行坐标图。该平行坐标图允许用户搜索协议并探测所搜索的协议中的各种流。通过提供所搜索的协议的一个或多个数据流的可视化来进行探测,从而区分出典型流和非典型流。每个流具有很多变量或维度的记录。在平行坐标图中显示数据流。

相对于各种维度(平行线)测量平行坐标图中表示的每个数据流。维度的示例包括消费者主机、开源主机、提供商主机、目的地主机、协议、标记、分组计数、比特计数、延时等。另外,每个流被覆盖在彼此上。

另外,在平行坐标图中将协议中的数据流覆盖在彼此上表示流的集中。流的集中使得用户能够可视化流之间的关系并观察典型流。另外,用户可以过滤掉特定维度(以观察一对维度之间的联合分布-两个维度之间正在发生的组合概率)或者特定时间窗。

还存在离群值视图-非典型流。离群值视图显示出了异常流。离群值的可视化应该是易耗数目的离群值(显示最上面的20个离群值。不显示最底下的20%的离群值(因为其可能是数百个流))。通过每个维度相对于所有维度加权的每个分布,来计算离群值。

再者,构建平行坐标图所需的所有数据来自从流量监测系统层采集的数据。另外,对于平行坐标图所特有的,流的属性在将这些流映射到平行坐标图的处理中是最重要的。

流注解

概述

可以利用元数据来标记流,以提供有关流的附加信息,从而使得可以基于标记来搜索流或可以聚集具有相同标记的流来对流数据进行可视化。用户还可以定义应该用来标记流的自定义标记和规则。

优点包括:能够基于标记搜索流、使能流的改善的可视化。

详细描述

流注解-

在流量监测系统中,流是具有相同源地址、目的地地址、源端口、目的地端口、协议、租户id、以及起始时间戳的分组的集合。但是,仅具有这种关键字/签名对于试图理解该数据的用户来说不是特别有帮助,我们希望能够对流进行标记以使得用户能够搜索对用户更有意义的流数据并呈现该流数据。

具有用于流注解的关键字组件的流量监测系统管线的简要概览被作为附图提供。一般,流数据由结合在数据中心的各个等级(例如,虚拟机、管理程序、物理交换机等)的传感器收集并被提供给收集器。收集器可以对原始流数据执行某种处理(例如,去欺骗),然后该数据被存储在hdfs中。计算引擎处理hdfs中的流数据,包括基于指定规则利用元数据的每个流进行注解从而对每个流进行分类。这使得ui能够呈现流的更有意义的视图,或者允许用户基于标记来搜索流。

默认规则-

根据某些默认标记,例如,attack(攻击)、policy(策略)、geo(地理位置)、bogon、whitelist(白名单)等来对每个流进行注解。攻击是指流是否已经被确定为恶意流。策略是指流是否遵循策略。地理位置是指流所来自的地理位置。这是基于ip地址确定的。bogon是指流是否对应于尚未被iana分配的ip地址。白名单是指已经被确定为“好”流的流。

可以分层进行标记。例如,除了将流注解为攻击流以外,流量监测系统还可以指定攻击的类型,例如,恶意软件、扫描、ddos等。再如,地理位置标记可以根据国家、州、城市等对流进行分类。

定制规则-

流量监测系统还使能用户根据他们定义的规则,基于定制标记对流进行标记。定制标记和规则可以由用户经由耦合到规则模块的ui输入。在一个实施例中,规则模块将用户定义的标记和规则转换为机器可读代码(例如,json、xml),以将新标记结合在hdfs中。在计算引擎的下一个迭代的处理上,定制标记将被应用到流。

可以根据使能用户执行基于标记的分析(例如,基于利用情况对定制标记进行排名)、在不同租户之间共享规则和定制标记、将标记与层级(例如,将标记分类为与某些组织相关联、或者将标记分配为与网络相关等)相关联、别名标签(即,相同的规则/不同的名称)的规则管理模块来管理规则。

克服ddos检测软件上的攻击

概述

如果攻击检测软件正在被大量伪造id攻击,则其随后可以使用更通用的标识符来监测流量。

详细描述

监测网络流量的系统一般填充表示数据流的表格。当流量被监测时,表格的大小增大,并且系统可以对数据进行分析来检测异常情况。如果表格变得太大,则这些分析会不可管理并且会使系统变慢。这种速度变慢可以非常突然,从而使得系统将无法检测任何异常流量。如果流量监测系统被禁用,则网络随后对可以被避免或迁移的攻击非常脆弱。因此,恶意程序可能尝试克服检测软件,并且随后攻击网络。用于使检测软件过载的一种方法是重复ip伪造,这包括从大量随机ip地址发送流量。

本公开可以与忽视难以管理的不同标识符以便关注聚集标识符有关。例如,当系统正在监测流量时,一个标识符(例如,源ip地址)可以具有很多个不同值,这些值将会淹没系统,使得系统变为显著的计算瓶颈。实际上,这可能是试图通过ip地址欺骗(或者类似技术)来淹没系统的恶意进程的结果。为了克服这种可能的脆弱性,系统可以忽略有问题的标识符进行它的计算,甚至可以用表征不同标识符的更通用的标识符来替换该有问题的标识符(例如,分析源虚拟机或vlan,而不分析所报告的源ip)。

策略的智能实施

概述

在检测到不期望的流量的来源后,系统可以智能地实施将终结不期望的流量的来源同时保持正常流量运行的策略。

本公开的元件可以准许管理员(自治系统)控制直到进程等级的所有网络组件,所以如果单独进程出现故障,其可以关断而无需过度修复(这会中断其他正在工作的服务)。

详细描述

策略的智能实施-

检测专用网络中的出现故障的软件或恶意活动证明是挑战。尽管可以在网络中的每个节点实施严密的安全策略,但是这种方法非常昂贵且复杂,并且会导致不期望的数量的开销。系统可以被开发为在流量在网络中自然流动时监控流量,检测并标记不规则的流量。

本公开可以与以下情况有关:一旦检测到并且简要介绍了不规则的流量,就实施策略以消除或者至少迁移该不合法的流量。系统可以阻塞或者禁用不合法的流量所来自的网络区域。例如,系统可以告诉虚拟机关闭特定进程,告诉管理程序关闭虚拟机,告诉交换机或路由器阻塞来自某个管理程序的流量等。在一些实施例中,系统可以创建不一定跟随网络拓扑的策略。例如,系统可以关闭与某个所有者相关联的虚拟机、与特定发布者相关联的进程等。

因为系统具有在(直到vm等级的)每个网络组件上运行的轻量型程序(其可以监控流量并杀掉所定向的坏流量的来源),所以这是可能的。

其他策略实施机制可以被更多地涉及。因为对非法数据源进行隔离或关闭可以是过度包含的并且很有可能拆卸下合法资源,所以可以执行保存合法资源的功能的某些进程。例如,如果健康的vm与发生故障的vm共享管理程序,则其可以在管理程序被关闭之前被迁移。

在实施策略之前,系统可以模拟策略的影响(基于所发现的相互依赖性)。基于指定的准则,系统可以选择不实施将会影响高优先级系统的策略,支持将保持高优先级系统的功能的不太影响的策略。

数据中心内的ddos检测

概述

本系统的优点在于,其不需要复杂的规则和配置;相反,其依赖于建立基线并将流量与该基线相比较。另外,其具有监控和管理进程和虚拟机等级的流量的能力。

详细描述

分布式拒绝服务(ddos)攻击是指非法流量淹没服务从而有效地关闭该服务。一般,这些攻击来自僵尸网络或者僵尸网络的集合,其中僵尸网络中的每个被感染的计算机被指示攻击相应的机器或服务。各种技术被用来克服这些攻击,例如,使用基于云的服务来容纳多余流量、使用防火墙来过滤与不正确的端口或协议有关的请求、以及通过丢弃所有请求来“黑洞”数据。这些方法对于外部流量是令人满意的,但是,由于它们被实现在外围设备上所以对打击非法的数据中心内部的流量无效。由于太贵而无法遍及整个数据中心部署防火墙,并且管理员通常想要解决问题而非侵蚀问题的方法。

本公开可以监控进程、虚拟机、管理程序、架顶、交换机等级的流量,检测可能指示ddos攻击或错误配置的机器的不规则流量,并且采取适当措施。可以通过形成来自特定进程/虚拟机/管理程序等的正常流量的签名并将其与当前流量进行比较来发现不规则流量。该签名可以包括分组计数、字节计数、服务/主机连接计数、tcp标签、端口、协议、端口计数、地理位置、(进程的)用户、进程id等。可以使用统计和分析来创建该签名。

该签名可以是长期分布。对于给定时间段(例如,秒、分、小时),系统可以记录涉及所有以上列出的参数的数据并且将该数据包括在运行分布中。可以独立分析各个参数,或者可以通过将这些参数结合在一起来创建聚集值。该系统随后可以将短期数据与长期分布相比较,并且确定短期数据有多大可能描述非法流量。该判定可以使用人类创建的公式或者通过机器学习技术来计算得出。该系统可以向系统管理员呈现表示流量有多大可能包括非法流量的信心指示符。

当发现不规则流量时,可以通知系统管理员并且向系统管理员呈现应该校正不规则流量的适当动作。这些动作可以包括关闭进程或虚拟机、通过管理程序阻塞来自虚拟机的流量、或者阻塞对应于流量的端口/协议/子网。可以根据所检测到的异常情况,应用更高级的过滤。例如,系统可以检测到从中国的子网y发送到端口x的短分组是异常流量,并且可以过滤掉满足准则的流量。过滤准则可以被优化,以在捕捉大量非法流量的同时捕捉有限比例的合法流量。

通过运行以下三个阶段来进行ddos检测:

1.典型特质-针对epg(人工配置或通过adm得出)、主机、主机对、流等的典型正常操作期间的特质。这些特质可以包括例如,以固定间隔在主机/服务器上打开的独特目的地端口的数目的分布。我们可以保存(均值,方差)或者手工制作的令牌桶(例如,针对端口的1,2-10,11-100,100+)。

2.异常检测-检测特定主机、主机对、或流的特质何时在正常范围之外。例如,如果主机通常具有1和2-10范围内的src端口,但是当前批次看到100+范围内的src端口,则这将被认为是异常情况。

3.通过聚集的ddos检测-通过聚集多个主机和主机对的异常情况,我们可以检测到ddos尝试。

该表格的关键字-

该表格包含数据中心、epg、主机、主机对、以及服务器流(src+dst+sr3port)的数据。我们可以使用用于这些数据的单个表格。想法是我们以更低粒度聚集异常情况和特质,以更肯定地检测ddos。例如,在epg中,我们考虑报告异常情况的主机的数目以及epg的特质来检测epg被攻击。

表格中的值-

我们将在我们的bd管线中保持特性表,该表包括以下特征:(1)分组:a.num分组的mean和std,看一些流特性,log(packets)的分布像高斯分布,因此我们保存log(packets)的mean和std,b.来自最后时段的分组的改变;(2)字节:a.log(sent_bytes)的mean和std,log(receive4bytes),b.来自最后时段的字节的改变;(3)客户端/服务器端口的数目:a.看现有流的特性,令牌桶(110,11100,100+)中的分布看起来令人关注;(4)连接状态:a.单位时间中独特连接的数目,b.单位时间中独特流的数目;(5)独特主机的数目:a.与给定主机通信的独特主机的总数目;(6)扫描特性:a.无状态扫描的特性,b.像syn/rst等的状态扫描的特性。

网络脆弱性量化和可视化

概述

可以基于历史流攻击数据和其他因素,为数据中心的各种组件(例如,策略、epg、主机、端口等)计算脆弱性指数。假定主机被确定为脆弱的,我们可以映射出脆弱主机连接到/自的其他主机并且提供示出脆弱性图表和脆弱性的严重程度的gui。

优点包括:能够对网络对象的脆弱性进行量化;使能网络脆弱性的可视化,包括一个或多个脆弱主机以及脆弱主机可以连接到的其他主机的图表。

详细描述

流量监测系统包括可以应用于策略、epg、主机、端口等的被称为“脆弱性”的抽象概念。该抽象概念与“信誉”的概念不同。信誉仅可应用于主机并且基于信誉来确定主机可以采取什么动作。另一方面,脆弱性对上述对象对网络攻击的敏感性进行量化。相对于这些对象中的每个对象分析历史流攻击,以确定每个对象的脆弱性指数(在1和-1之间)。例如,可以基于相对于策略没有被实施时策略被实施时发生的历史攻击数目,计算策略的脆弱性指数。类似地,可以使用历史流攻击数据,将某个端口打开时的攻击之间的差异与该端口关闭时的攻击之间的差异进行比较。该端口的脆弱性指数可以基于该端口打开时相对于该端口关闭时发生的附加攻击的数目来计算。影响脆弱性的其他因素是策略遵循/不遵循,策略是白名单策略还是黑名单策略,某些应用是否正在数据中心中运行,某个os是否被主机设备使用等。

本公开的其他组件可以是基于脆弱性指数来提供脆弱性图表的能力。假定第一主机被确定为脆弱的,我们映射出第一主机可以连接到的其他主机并确定这些其他主机的脆弱性指数。脆弱性的严重程度可以由颜色(例如,红色)深度来指示,所以我们最终可以得到指示脆弱性和脆弱性的严重程度的图表。例如,假设主机是认证服务器并且其脆弱性指数是严重。在这种情况下,整个网络拓扑将是鲜红色的,因为认证服务器潜在地连接到/自网络中的每个其他主机。另一方面,假设主机是日志服务器。脆弱性图表可以仅包括该主机,因为日志服务器不连接到任何其他主机,并且仅仅是日志的存储装置。

微突发检测

概述

本公开可以涉及将asic的规格配置为具有检测微突发中的最大突发的更快粒度(100毫秒)。

详细描述

本公开可以涉及将asic的规格配置为具有检测微突发中的最大突发的更快粒度(100毫秒)。由于流报告的粒度更高,所以所生成的流报告具有在asic检测到的网络流量中生成的微突发中的最大突发的更为详细的信息。

基于顺序号的测量

概述

本公开可以使系统检测分组并基于分组的顺序号和有效载荷大小来确定确认的顺序号应该是什么。

详细描述

进程可以通过测量从分组被发送到确认被接收的时间来简单计算分组的往返时间(rtt)。本技术涉及分析遍及网络的分组来确定rtt并检测两个主机之间的网络退化。这可以在不需要在发送或接收机器上安装软件的条件下,通过在管理程序/薄片/交换机/路由器等级记录流量来实现。

很难将所发送的分组与其确认相关联。系统可以通过看所发送的分组的顺序号和分组大小来确定相关确认的期望顺序号。随后,它可以根据所发送的分组与所接收的分组计算时间差。如果没有检测到确认或者分组被重新发送,则系统可以确定分组被丢失。如果系统观察到使用相同顺序号的分组,则可以确定分组被重新发送。

使一个设备在分组被发送时进行记录并且使另一个设备在确认被发送时进行记录会是非常有用的。因为难以传送寻找什么确认,所以可以记录覆盖所监控的顺序号的确认。例如,如果最后一个ack号是an-1,当前ack号是an,并且系统正在监测x,则它应该记录an-1≤x<an的确认。

在一些情况下,系统可以看到正好不在范围中的一系列顺序号。这可以指示恶意程序正在对正确的顺序号“钓鱼”的中间人攻击。

尽管分析tcp顺序号将不会考虑所有网络流量(其他l4流量,类似udp将被忽略);tcp是总流量的显著部分,并且分析应该是代表性的。基于rtt和分组丢失率,系统可以形成网络拥塞和退化的指示。

由于分析每个分组将会是冗余且低效的,所以系统可以监测每个第n分组。例如,每个第10000分组。不对分组进行计数来检测第n分组何时被发送,系统可以选择tcp顺序号或范围并监测包括该号的分组。例如,所选择的分组可以比该分组的顺序号大但比该分组顺序号+该分组中的字节数目小。因为tcp顺序号空间是2∧32,所以系统可以通过增加所监控的号码的数量(即,顺序号的范围的大小)来增大采样率。

头字段熵

概述

本公开还可以对分组的任意头字段进行熵或模式分析。最好分析并记载具有最强预测模式的头字段。因此,对于正常预测头模式外的分组的分析给出了该分组是欺骗以及攻击的一部分的指示。

详细描述

本公开还可以对分组的任意头字段进行熵或模式分析。最好分析并记载具有最强预测模式的头字段。因此,对于正常预测头模式外的分组的分析给出了该分组是欺骗以及攻击的一部分的指示。

预测头变量的示例是id分组。使用id分组来识别分组。如果是分组片段,则可以将这些分组片段放回在一起,因为每个片段都具有id分组。另外,id分组线性增加。假设分组是系统的一部分,则当分组正在从源行进到目的地时,id分组表现为预测模式。预测模式可以被索引。这样,可以将所接收的任意分组与索引进行比较,以确定分组是否具有已知模式外的id分组。已知模式外的任意id分组将提起有关潜在攻击的注意。

预测头变量的另一示例是顺序号。顺序号也线性增加。因此,系统的分组都具有已知的预测顺序号并且可以被索引。这样,可以将所接收的任意分组与索引进行比较,以确定该分组是否具有已知模式外的顺序。已知模式外的任意顺序将提起有关潜在攻击的注意。

ttl改变

概述

对分组的ttl的改变的检测一般与攻击或潜在攻击相关联。索引所有已知的系统ttl可以被用来确定分组中的ttl的任意偏离。

详细描述

本公开可以涉及对于分组的头字段中的任意头字段的熵或模式分析。最好分析并记载具有最强预测模式的头字段。因此,对于正常预测头模式外的分组的分析给出了该分组是欺骗以及攻击的一部分的指示。

预测头变量的示例是id分组。使用id分组来识别分组。如果是分组片段,则可以将这些分组片段放回在一起,因为每个片段都具有id分组。另外,id分组线性增加。假设分组是系统的一部分,则当分组正在从源行进到目的地时,id分组表现为预测模式。预测模式可以被索引。这样,可以将所接收的任意分组与该索引进行比较,以确定分组是否具有已知模式外的id分组。已知模式外的任意id分组将提起有关潜在攻击的注意。

预测头变量的另一示例是顺序号。顺序号也线性增加。因此,系统的分组都具有已知的预测顺序号并且可以被索引。这样,可以将所接收的任意分组与索引进行比较,以确定该分组是否具有已知模式外的顺序。已知模式外的任意顺序将提起有关潜在攻击的注意。

在一些情况下,检测到的具有头变量的已知预测模式外的头变量的分组基本上总是指示已经发生攻击。在这种情况下,头变量是非常具有预测性的。不需要对分组的头变量进行模式分析。在这种类型的可预测头变量中检测到的任意偏离一般与攻击或潜在攻击相关联。这种可预测头变量的一种类型是生存时间(ttl)头变量。每个分组都具有有限的寿命,并且已知系统的每个分组将分别具有它们自己的ttl。在两个逻辑实体之间的数据流中,一般存在已知类型的分组。索引所有已知的系统ttl可以被用来确定分组中的ttl的任意偏离。ttl的任意偏离一般与攻击或潜在攻击相关联。

基于所发送的分组直方图简要介绍主机

详细描述

本公开涉及监控并识别网络中的非法流量。具体地,系统可以检查分组大小并且对特定主机已经发送了多少不同大小范围的分组进行计数。当系统累积数据时,它可以形成主机的签名。取代追踪每块数据,可以聚集分组大小长度(即,1-100之间的大小的0、200大小的400个分组)。一旦已经简要介绍了主机,系统可以将主机的签名与签名数据库进行比较,并且确定该签名是否与恶意主机的签名类似。例如,恶意主机可以发送大量空或单字节分组,而合法主机可能发送较大数目的大分组。

系统还可以分析签名并预测什么类型的通信正在发生,以更好地简要描述主机。例如,分组大小的平均分布可以指示一种类型的通信,同时集中分布可以指示另一类型的通信。该方法是高度可伸缩的,因为它不需要考虑所发送的每个分组,而仅需要考虑它们的采样。

尽管分组大小是系统可以用来简要描述主机的一个度量,但是其他度量同样可以用来形成主机的签名。例如,也可以监测tcp头选项和接收窗。由于tcp头选项一般仅被非法流量使用,所以tcp头选项被使用的越多,流量越可能是非法的。缩小窗可以示出拥塞并且可以有助于性能和监控。

流抗混叠

概述

详细描述

如所讨论的,一般将流表示为包括源地址、目的地地址、源端口、目的地端口、以及协议的5-数组。由于具有相同的5-数组的单独流可以被连续快速创建从而使得这些单独流被识别为同一流的部分,所以表示流的传统方法存在局限。另外,随着时间的推移,具有相同的5-数组的单独流将被创建,从而使得在时间窗上分析聚合流时这些单独流会被作为相同流的部分进行索引。流量监控系统通过使用流开始时间作为流的关键字的一部分来解决这个问题。因此,流量监测系统中的流关键字包括唯一地表示流的源地址、目的地地址、源端口、目的地端口、协议、租户id、以及开始时间戳。这解决了传统方法使用的抗混叠问题,例如,聚集了不一定是同一流的部分的具有相同的源/目的地ip地址、源/目的地端口、协议的分组的netflow。

流量监测系统在时间窗上连续收集来自数据中心中的所有传感器的流数据并且确定独特流。

对于udp流,使用超时来区分具有相同5-分组的不同的连续流。我们假设传感器数据指示存在具有特定5-分组的第一udp流。在指定的非活动周期之后,传感器数据指示存在与特定5-数组相对应的流数据。然后,使用新的流开始时间来对第二udp流进行实例化,以与第一udp流相区别。

在tcp流中,分析tcp握手信息,以区分可以具有相同5-分组的单独连续流。例如,可以使用三向握手来识别tcp流的开始,并且可以使用四向握手来识别tcp流的结束。

主机设备外部的tcp状态追踪

详细描述

流量监测系统数据管线不接收在数据中心中转发的每个分组,而是接收包括诸如,源/目的地地址、协议、流中的分组数目、流中的字节数目、tcp标记等的信息的流的摘要信息。仅利用摘要视图而不需要分组,流量监测系统管线可以追踪tcp状态,例如,特定tcp流是重传还是新流。

流量监测系统管线接收摘要视图并在摘要中定位每个tcp握手,以确定握手对应于重传还是新流。这可以通过单向分析流量来实现。即,我们基于来自去往主机的输出流量的tcp标记来追踪一半tcp状态,基于来自去往主机的相应输入流量的tcp标记来追踪另一半tcp状态,并且保存两个半状态的协调视图。针对每个流保持这三种不同状态,用于经由摘要视图追踪tcp状态。

流重复数据删除

概述

优点包括:(1)单个流的流数据的多个源被收集但是被去欺骗/压缩/总结,使得大数据管线分析流的单个流数据,潜在地将大数据管线分析的数据减少1/6;(2)流数据被基于被确定为最可靠的传感器数据聚集,所以大数据管线分析流的最精确的数据。

检测用途:产品文档、ui、要求保护产品从多个视图提供最佳流数据。

详细描述

在流量监测系统中,传感器被放置在网络的每个vm、管理程序、以及交换机处,以监测流量。结果,多个传感器将从不同角度(即,源/目的地vm、源/目的地管理程序、交换机等)报告有关相同流的流数据。我们不想处理所有这些冗余数据,因此需要用于在将单个流对象馈送给我们的大数据管线之前去除冗余的方法。

在一些实施例中,从被确定为用于收集有关单个流的数据的“最佳传感器”收集该流的数据。最佳传感器可以是提供流的最佳视图(例如,感测到最多分组)的传感器。

在其他实施例中,基于针对单个流收集的多个流数据,在分组等级协调单个流的数据。例如,可以将单个流表示为由收集该流的流数据的所有传感器感测的任何非重复分组。

也可以使用其他协调算法来协调流的单个流数据对象。

选择性分组捕捉

概述

优点包括:(1)可以基于不包含在分组数据中的背景信息(例如,主机/机器信息、流属性、策略遵循/不遵循等)捕捉分组;(2)提供基于事件的分组捕捉;(3)赋予用户定义它们自己的分组捕捉应该调用的准则。

详细描述

流量监测系统一般收集流数据,但是摘要数据不一定提供排除网络异常的足够信息。因此,流量监测系统的一个特征是根据流量监测系统定义的规则或定制规则来使能分组捕捉。例如,假设基于对应于特定流量模式的流将流便认为恶意软件欺骗。然后,用户可以在该模式下次在网络中出现时请求捕捉与该模式对应的分组。在这种情况下,该模式是流量监测系统定义的算法/规则。但是,用户还可以定义调用分组捕捉的定制规则。

流量监测系统ui还使能用户基于主机/机器信息(例如,进程字符串、用户名、进程的时间等)调用针对特定主机或规则的分组捕捉。类似地,用户可以基于流量监测系统手机的流的其他属性(例如,攻击的类型、地理位置、策略遵循/不遵循等)调用分组捕捉。

当分组被捕捉时,分组将被与流相关联。流量监测系统随后可以提供这些流的更高粒度的视图,即流的分组。

唯一传感器id创建

详细描述

当网络系统监测流量以检测安全威胁时,最有效的攻击首先试图使监测系统妥协。在包含报告来自网络中的各种节点的流量流的多个“传感器”的系统中,攻击者可能试图创建假传感器来操控报告,以便掩盖非法流量或用假报告来淹没系统。

在传感器被安装在虚拟机上后,传感器可以接触具有其属性中的一些属性的控制服务器(主机名、mac地址、bios_uuid等)。bios_uuid是用于主机vm的bios的一部分。控制服务器利用bios_uuid和密钥的单向哈希函数;然后,该函数的结果被作为传感器id发送给传感器。来自传感器的后续通信利用该传感器id。如果传感器的id匹配bios_uuid和密钥的哈希,流量监测系统后端可以验证传感器有效。

出于认证、不可抵赖、以及完整性的目的,每个传感器被分配唯一密钥(签名证书)。传感器可以使用签名证书来与流量监测系统后端通信。

如此配置的系统可以很容易地迁移网络中的传感器,因为它们将保留相同的虚拟机,因此它们的传感器id(其是vmbios的函数)将保持不变。如果vm被克隆,则它将具有新bios_uuid并且传感器将需要获取新id。

分析用于流分析的dhcp

概述

本技术从网络分组除了收集源和目的地ip地址、源和目的地端口号和协议以外还收集附加信息,以进行网络流量分析。附加信息可以包括dhcp进程期间生成的事务id以及mac地址(即,相应节点的物理地址)。然后,可以唯一地识别网络流量,用于有意义的分析。

详细描述

从网络分组除了收集源和目的地ip地址、源和目的地端口号和协议以外还收集附加信息,以进行网络流量分析。附加信息可以包括dhcp进程期间生成的事务id以及mac地址(即,相应节点的物理地址)。然后,可以唯一地识别网络流量,用于有意义的分析。

在一些实施例中,可以分析唯一地识别出的网络流量,用于网络管理和安全协议。

分析用于流分析的多播

概述

本技术收集来自从组节点到感兴趣的用户节点的多播分组的附加信息。附加信息可以包括从组节点接收多播分组的相应用户节点的唯一ip地址。然后,可以唯一地识别网络流量,用于有意义的分析。

详细描述

本技术收集来自从组节点到感兴趣的用户节点的多播分组的附加信息。附加信息可以包括从组节点接收多播分组的相应用户节点的唯一ip地址。然后,可以唯一地识别网络流量,用于有意义的分析。

在一些实施例中,可以分析唯一识别的多播分组,用于网络管理和安全控制。

应用的崩溃和布置

概述

本公开可以涉及在可折叠的树形流图中可视化的应用依赖图。树形流图是可折叠的并且显示携带多层应用的每个逻辑实体之间的策略/关系。可折叠的多层应用ui显示多层应用的数据流。

详细描述

本公开可以涉及在可折叠的树形流图中可视化的应用依赖图。树形流图是可折叠的并且显示携带多层应用的每个逻辑实体之间的策略/关系。可折叠的多层应用ui显示多层应用的数据流。多层应用可以具有在各种主机上运行的应用的各个方面。ui显示运行应用的每个逻辑实体之间的策略或依赖性以及层级。ui是可折叠的因此允许用户在表示主机、数据库、或应用层的任意节点/逻辑实体上钻取信息。通过使ui可折叠,使得ui可用性更强。

ui显示各种节点并且与节点的交互将示出该节点的爆炸图。节点可以是任意逻辑实体。例如,多层应用的任意应用层、数据库层、以及主机层。节点的爆炸图将分解出具有将新节点与该爆炸节点连接的边缘的新节点。边缘表示新节点之间以及新节点与爆炸节点之间的策略。例如,原始节点可以是运行应用的主机。爆炸图显示新节点。新节点表示与主机通信的所有邻居。新节点通常在爆炸节点之后立即爆炸,以表明逻辑实体之间的层级。

可折叠的树形流图使用从流量监测系统层采集的数据。在可折叠的树形流图中使用并可视的数据是(1)从一个逻辑实体到另一个逻辑实体的数据流;(2)控制从一个逻辑实体到另一个逻辑实体的数据流的策略;(3)数据流来自什么主机;(4)数据流来自什么主机群组;以及(5)数据流来自什么子网。

ui是可定制的。用户可以选择调整子网分组和聚类分组的元件。另外,用户可以上传边信息。边信息的示例是dns名称、主机名称等。

攻击邻居的崩溃和布置

详细描述

本公开可以涉及提供被攻击的逻辑实体的已经被攻击或者对攻击脆弱的邻居逻辑实体的可视性。这种ui可以帮助用户确定隔离或者严密监控哪个邻居逻辑实体。业务关键性是有关哪个邻居逻辑实体应该被隔离或严密监控的良好指示符。

由于业务关键性是企业可修改的,所以它是最好的度量。例如,营业额。在另一示例中,对于金融企业,具有包括condence文件的数据的数据流的逻辑实体不如excel电子表格数据文件重要。理想地,可以通过对企业非侵入性的方式确定业务关键性(由于隐私原因或者数据被加密等)。可以基于识别数据的类型、数据的来源、以及数据的目的地来推断业务关键性。可以通过分析从流量监测系统层采集的数据来是被数据的类型、数据的来源、以及数据的目的地。流量监测系统分析(通过软件/代码传感器)可以映射主机端口,以确定流来自什么进程从而确定数据流源自什么应用。另外,可以分析流量监测系统层来确定数据流来自的主机、什么主机对数据流进行归类、数据流来自什么子网、数据流来自什么主机端口、数据流源自什么应用、以及控制这些流的策略。例如,从服务器流到金融企业的电子表格数据将比从另一服务器流出的声音数据更重要。

推断企业关键性,从而使得管理员对企业进行分类并且分析企业中的数据来判断业务关键性逻辑实体。携带感兴趣的应用的逻辑实体和感兴趣的应用二者在它们中的哪个更业务关键方面被排名。因此,来自金融企业的声音数据排名较低,携带该应用的主机也排名较低。来自金融企业的电子表格数据排名较高,携带产生电子表格数据的应用的主机也排名较高。

ui的径向配置可以显示需要用户关注的最重要的邻居逻辑实体。例如,径向布置可以是10个对攻击最脆弱的邻居逻辑实体或被攻击得最严重的邻居逻辑实体。作为基础度量的业务关键性将首先弹出最重要的邻居逻辑来监测/隔离。另外,当两个业务关键逻辑实体在重要性方面排名类似时,可以应用其他关联隔断度量。关联隔断度量的示例可以是对攻击的脆弱性、冗余度等。

目前,这种类型的ui具有在配置的中间显示受攻击的或脆弱的邻居以及感兴趣的逻辑实体(攻击的零号病人)。但是。给定与一个逻辑实体通信的逻辑实体的数目,ui会难以使用。

具有网络数据库的geo和geo可视化

概述

本公开可以涉及映射流数据并将其覆盖在地图上。另外,地图还可以显示从源到逻辑实体的攻击流和攻击。地图还可以带有与攻击和攻击强度有关的饼图。

详细描述

本公开还涉及映射流数据并将其覆盖在地图上。从流量监测系统层采集的部分数据是数据流的属性。数据流的一个属性可以是从一个逻辑实体行进到另一个逻辑实体的数据流的地理位置或定位。将该数据映射到地图上示出了从一个逻辑实体流到另一个逻辑实体的数据的可视化。另外,地图还可以显示从源到逻辑实体的攻击流以及攻击。也可以示出攻击强度或攻击计数。地图还带有与攻击有关的饼图。饼图可以示出表示攻击的严重程度的深度。饼图还可以被组织为示出哪个被攻击的逻辑实体在重要性方面排名较高。

网络监测及分析系统

详细描述

该网络监测系统可以包括传感器、收集器、分析模块、以及呈现模块、传感器可以位于数据中心的每个节点和组件上(例如,虚拟机、管理程序、薄片、刀片、交换机、路由器、网关等)。传感器可以监测去往和来自组件的流量,报告与组件有关的环境数据(例如,组件id、状态等),并且执行与组件有关的动作(例如,关断进程、阻塞端口、重定向流量等)。传感器可以在高速连接上将它们的记录发送给收集器供存储。收集器可以是放置在数据中心的每行上的机架安装的服务器,专门设计用于处理大数据集以及提供高吞吐量。通过分析收集器中存储的数据,分析模块可以确定网络拓扑、检测依赖性、检查网络健康情况、以及检测异常情况。呈现模块可以提供ui,其中,用户可以直观地导航来自收集器的数据和分析模块产生的深刻见解。

生成通信图的adm管线

概述

收集计算网络的每个节点的流数据和进程信息。然后,使用这些数据通过一个或多个向量来表示每个节点。可以基于节点之间的相似度,将计算网络中的节点归类到聚类中。可以使用聚类来生成通信图。

详细描述

生成通信图的一个优点是,其可以帮助发现相似节点。为了生成通信图,需要手机信息,例如,正常设置的节点之间的通信。另外,根据网络流数据构建的通信图具有其他用途:其提供对于网络的可视性,并且使得投建应用简档的任务更加高效。

在一些实施例中,策略是根据聚类如下构建的:对于从聚类a中的节点到聚类b中的节点的每个观察到的边缘(通信),在服务器端口c上,引入策略(‘白名单’),使得聚类a中的任意节点能够在服务器端口c上与聚类b中的任意节点通信。

来自高等级的adm管线可以是:网络与进程数据+边信息→图表与向量构建→相似度计算和聚类→策略引导和ui呈现/交换。

来自ui的用户反馈可以重复该进程(即,重新运行该管线)。用户反馈被结合到边信息中。

生成计算网络中的节点的向量

概述

可以在一段时间内收集计算网络的每个节点的流信息。该信息被用来生成通信图(在该通信图中客户端和所服务的节点通过有向边缘连接)。可以基于通信图为每个节点构建一个或多个向量。

详细描述

可以将具有足够类似的向量(网络/图边缘或邻居)的机器(节点)归类到一个聚类中。给定节点a的向量可以如下构建。

如果节点b在端口c上是节点a的客户端,则创建特征(字符串)‘serves_2on_port_c’(b和c可以是ip地址)。如果节点a在端口e上是节点d的客户端,则创建特征‘client_of_4on_port_e’(一般,基于ip和端口组合创建唯一字符串)。每个这样的字符串是维度。另一个节点g具有在这方面(维度)类似于节点a的相同特征(例如,‘serves_2on_port_c’),或者反映在该链路上看到的‘持续存在’(看到的连接的时间快照的数目)或流量数量(例如,记录在采集流数据的时间跨度中发送的分组数目)。

存在很多变量。例如,分组类型可以仅基于服务器端口、或者紧急与目的地地址(ip)。随后可以对该组向量进行后处理,例如,(频率)特征修剪、tfidf权重调整、以及l2-标准化。这些步骤可以改善相似度计算。

频率特征计算:在大部分向量(例如,30%以上)中具有正值的特征可以被从所有向量中丢弃(即,除非丢弃它们会造成0向量,它们对于某些节点是唯一特征)。可以通过修建频率特征来改善相似度计算。

在一些实施例中,可以采用标准tfidf权重调整,随后对向量进行l2标准化。

在一些实施例中,流量的持续存在和/或数量以及邻居的编码可以被用作加权后的特征。向量的后处理(例如,tfidf变换和l2标准化)可以被用来改善后续任务(相似度计算和聚类)。

基于计算节点上运行的进程生成向量

概述

进程信息可以包括用户id和用户名、可执行文件以及它们的参数的全路径,并且可以被用来对计算网络中的节点进行聚类。可以从相应的进程信息提取特征,并且将这些特征转换为向量。

详细描述

在一些实施方式中,可以将用户名和进程信息(例如,可执行文件路径)联系在一起。具有用户名a和进程/bin/p的机器可以具有特征“1ran_bin/p”。

在一些实施例中,包括进程全路径和用户名的ps(进程)信息的编码可以被用作加权后的特征。向量可以是l2标准化向量,例如,tfidf变换和l2标准化,以改善后续任务(例如,相似度计算和聚类)。

改进的adm管线

概述

可以使用诸如子网掩码和负载均衡器(slb)的信息来对计算网络的节点进行划分。不同ip到通用标记(例如,子网掩码)的折叠可以改善相似性计算和聚类精确度。在一些实施例中,可以使用分类器和基于签名的模型(基于安全的算法)过滤掉坏流量,以避免这种数据被输入到adm管线。

详细描述

可以使用诸如子网掩码和负载均衡器(slb)的信息来对计算网络的节点进行划分。来自不同子网掩码的节点可以被划分到相同的聚类中。由于相似度计算和聚类涉及成对的o(n∧2)计算(给定n个节点),所以子网掩码和slb信息可以被用来大大减少管线运行时间(例如,从数小时到数分钟,或者从数天到数小时)和/或要求显著更少的计算资源。

还可以使用子网掩码和分区来用特征编码中的标记替换ip(例如,向量构建)。不同ip到通用标记(例如,子网掩码)的折叠可以改善相似度计算和聚类精确度。该信息还可以被用来改善聚类精确度,从而影响策略引导(因为策略是基于聚类的)。

另外,很多网络已经包含有不想要的流量(例如,ddos攻击和端口扫描的形式)。期望避免向管线输入这种不想要的流量,以生成通信图。另外,从通信图生成的策略可以承认这种不想要的流量。一种解决方案是在这种数据被输入到adm管线之前过滤出可能的坏网络流量。可以使用分类器和基于签名的模型(基于安全的算法)来过滤掉坏流量。

使用最小描述长度(mdl)发生成最佳数目的聚类

概述

可以通过使用最小描述长度原理或mdl来确定计算网络中的节点的适当数目的聚类。可以基于定向通信图和在存在多个分区的情况下用于mdl得分优化的算法来确定mdl得分,其中,定向通信图可以包括客户端节点、服务器节点、以及服务器端口。

详细描述

可以通过使用最小描述长度原理或mdl来确定计算网络中的节点的适当数目的聚类。可以基于定向通信图和在存在多个分区的情况下用于mdl得分优化的算法来确定mdl得分,其中,定向通信图可以包括客户端节点、服务器节点、以及服务器端口。

根据mdl,用于数据体的优化理论(模型)是最小化该理论的大小以及指定相对于该理论的例外的必要信息量的理论。

在该示例中,边缘是使用(服务器)端口从源(客户端)节点向目的地(服务器)节点的通信。

计算聚类的mdl:

-对于所有观察到的边缘(对于监测网络并收集数据的时间跨度),找出所分配的源聚类、src聚类、以及dst(目的地)聚类。(注意,每个节点是聚类中的唯一聚类的成员(被分配给该聚类),其中聚类是非空节点集合)。

-对每个src聚类*dst聚类*端口组合:

--使obs=唯一src节点的计数*dst节点(=所观察到的边缘的数目)

--使unobs=未观察到的边缘的数目(src聚类中的节点的数目*dst聚类中的节点的数目-所观察到的边缘)

--描述长度是(obs,(1+notobs))中的最小值

-聚类的mdl是横跨所有src聚类*dst聚类*端口组合的描述长度之和(注意,在一些实施方式中,mdl得分越低,计算网络中的聚类越好)

*当存在多个(节点)分区时,处理(最佳)聚类的选择。(注意,这也是贡献)。

在计算网络中,存在多个节点分区(基于路由信息和子网掩码),其中,聚类不能跨越多个分区,即,聚类不可以包含属于不同分区的节点。

但是,在一个分区中具有优化聚类的选择会影响另一个分区中的最佳聚类的选择,因为来自不同分区的节点相互通信,并且mdl准则会依赖于通信(边缘)。

可以使用mdl得分(例如,以上给出的一个得分),通过使用基于局部搜索的随机局部搜索算法来改善每个分区的聚类的数目。

对于以上算法,可以假定每个分区,对于每个k(1≤k≤分区中的节点的数目),已经计算出聚类(例如,通过k均值算法)n是节点的总数目。

算法:

-为每个分区分配最初选择的k,k=n/3,。用于每个分区的这种聚类的选择时‘当前状态’。

--计算当前状态的mdl度量(当前能量)

--重复n个迭代(或者直到能量改变小于变量增量)

---在每次迭代中,以随机顺序遍历分区

----对于每个分区,遍历所有聚类(k的选择),计算其mdl,并且选出最佳k。

----针对该分区分配具有新k值的新状态作为当前状态。给定针对每个分区的新k,选择mdl得分(新能量)。

--如果新能量优于当前能量,则将新状态分配给当前状态并将新能量分配给当前能量。

注意:没有被分配给聚类的节点(因为它们没有边缘)被分配给它们自己的‘单节点’聚类。

在一些实施例中,可以基于定向通信图(客户端节点、服务器节点、和服务器端口)和用于存在多个分区的情况下的mdl得分优化的算法来确定mdl得分。

使用轮廓得分生成最佳数目的聚类

概述

可以使用轮廓得分来确定计算网络中的节点的最佳数目的聚类。可以通过具有固定k值的k均值聚类算法来确定聚类。聚类的轮廓得分是每个节点的平均轮廓(接下来定义):1/nsum_(节点a)轮廓(a),其中n是节点的总数。

详细描述

可以使用轮廓得分来确定计算网络中的节点的最佳数目的聚类。可以提供聚类(通过固定k值的k均值聚类算法)。聚类的轮廓得分是每个节点的平均轮廓(接下来定义):1/nsum_(节点a)轮廓(a),其中n是节点的总数。

单个节点的轮廓:假设sim=sim(节点)是节点相对于其被分配的聚类中的其他节点的平均相似性得分,并且假设sim’=sim’(节点)是节点相对于另一最接近聚类的平均相似性得分(最接近聚类是具有最高sim’,即平均相似值的聚类)。

两个节点之间的相似性得分可以基于余弦相似度、杰卡德(jaccard)相似度等。注意,我们假设提供了相似性矩阵。然后,节点的轮廓可以被定义如下:

a.轮廓(节点)=(sim-sim’)/max(1-sim,1-sim’)或者

b.轮廓(节点)=(sim-sim’)/max(sim,sim’)。

评论:

*选择a支持凝聚型聚类,而选择b支持良好分离的聚类。在一些实施方式中,当前的网络聚类应用中通常支持选择a。

*以上定义不是针对单节点聚类(即,具有一个节点的聚类)定义的。由于很多分区相对较小并且具有单个节点的聚类可能比较常见,所以对单节点聚类建模很重要。

这种情况可以是为这些节点分配0个轮廓,或者在最接近的邻居中间分配成对相似性得分中的等于某个百分比(例如,10%)的正轮廓。其中,对于每个节点,收集最接近其的另一节点的相似性得分,并且计算第p个百分比。用户可以改变百分比来获取并探测不同数目的聚类。

*对于单个聚类(当k=1时),将sim’定义为0。

在一些实施例中,可以在轮廓公式中使用1-相似度来获取凝聚型聚类,并且至少基于最接近的相似性得分的百分比上的单个节点的值来形成单节点聚类的轮廓。

提取并在ui上显示信息概述

概述

可以通过在排名列表中显示计算网络中的节点和聚类的‘属性’来对它们进行简要描述。每个节点可以具有一个或多个向量类型。可以执行tfidef计算,以通过属性针对节点的信息量的度量来重新确定这些属性的权重。每个聚类可以由单个向量表示。可以对向量执行tfidef后处理。

详细描述

可以通过在排名列表中显示计算网络中的节点和聚类的‘属性’来对它们进行简要描述。每个节点可以具有一个或多个向量类型,即,从网络通信和/或基于进程的特征中提取的向量。可以执行tfidef计算(tfidf是信息检索技术),以通过属性针对节点的信息量的度量来重新确定这些属性的权重。可以对聚类执行相似的算法(每个聚类可以由单个向量表示,可以对一组这样的向量执行tfidef后处理)。

通过对特征进行排名并显示排名最高的少数特征(tfidef加权的特征),可以显示有关节点(或节点聚类)的通信或进程(或用户名等)的最大信息量。还可以显示特征的百分比权重,以提供有关特征的信息量的更多背景。

*当在相似性空间中显示节点的最接近(最相似)的邻居时(基于通信或进程的相似性),可以对节点对相似性应用相似的百分比化处理。

*当用户重新运行adm管线(在编辑聚类、改变数据捕捉的日期以运行管线等之后)时,最终聚类中的什么内容被改变对于用户来说是非常重要的。可以比较任意两次重新运行(它们的输出聚类),其中,首先通过匹配算法对两个聚类进行匹配(这可以使用诸如jaccard的匹配得分来贪婪地完成),然后在ui中示出从聚类从一次运行到另一次运行的改变的概述(节点被添加/删除)。

作为简要描述实体(节点或节点的聚类)的手段,一些实施例从节点和聚类提取信息属性并且向用户呈现最上面的少数节点和聚类(按照排名顺序)。在一些实施例中,可以通过对聚类进行匹配并报告改变的概述来简要描述聚类从一个运行到另一次运行中的改变内容。

用于聚类的多个信号的融合

概述

本技术可以使用多个特征类型和适当算法来得到网络域中的更好的聚类准确性。例如,可以基于用于融合相似性度量或用于中间聚类融合的百分比来应用算法。

详细描述

可以使用在计算网络中收集的各种类型的信息来改善聚类准确性。本技术可以使用多个特征类型和适当算法来得到网络域中的更好的聚类准确性。例如,可以基于用于融合相似性度量或用于中间聚类融合的百分比来应用算法。

在一些实施例中,可以执行‘早期’融合(即,创建一个向量,作为所有向量类型的联合体)。早期融合对于类似的特征族(例如,正在传送的tcp和udp向量)效果良好,但是如果遥远的特征族(例如,基于进程的特征和基于通信的特征)被放在一起则信号会变差/丢失。

在一些实施例中,可以使用不同信号得到两个或多个聚类,并且可以使用某些聚类集成技术对这些聚类进行融合以得到单个聚类。一种集成技术将在决定一对是否应该被放在相同聚类中时在不同聚类中使用对的分离或结合。分离会导致大量的小聚类,结合会产生相反的效果。

在一些实施例中,可以通过融合成对相似性矩阵来执行‘中间’融合。假设存在两个或多个成对相似性矩阵。可以将相似性得分映射到百分比,然后可以结合(例如,平均)两个或多个矩阵来得到单个成对相似性矩阵。然后,可以在结合的相似性矩阵上运行诸如,相似性传播的聚类算法。得分的百分比转换可以是有用的,因为不同的度量可能具有不同的相似性得分分布(范围),并且可能正在执行简单平均。仅可以对最上面的相似性得分(最接近的邻居)使用百分比化。也可以使用加权平均,其中,权重值可以是用户指定的(例如,通信矩阵可以具有比进程矩阵更大的权重)并且可以通过自动化的聚类评估(例如,聚类剪影得分)得出。

计算网络中生成的聚类的自动命名

概述

本技术为计算网络中的聚类自动确定并分配信息名称。至少可以基于源信息或者在相应聚类的成员中间共享的一个或多个属性来确定聚类的名称。例如,聚类的成员可以共享它们的主机名称或ip中的子串。可以使用这些信息源来自动提取聚类的信息名称。分配给聚类的信息名称可以极大地增强用户体验并且改善计算网络的用户交互效率和可视性。

详细描述

本技术为计算网络中的聚类自动确定并分配信息名称。至少可以基于源信息或者在相应聚类的成员中间共享的一个或多个属性来确定聚类的名称。例如,聚类的成员可以共享它们的主机名称或ip中的子串。可以使用这些信息源来自动提取聚类的信息名称。分配给聚类的信息名称可以极大地增强用户体验并且改善计算网络的用户交互效率和可视性。

在一些实施例中,可以使用计算算法来确定聚类成员的主机名称中的通用长前缀。如果该前缀满足某个准则(例如,成员中间的通用性或者长度),则可以提取该前缀并将其用作聚类的名称。如果处理主机名称没能创建足够长的通用前缀,则可以确定聚类成员的ip地址中间的通用性并使用该通用性来为聚类命名。

在一些实施例中,可以提取通信模式或进程中的区分性特征并将该区分行特征用作命名或者移除命名冲突的来源。

一些实施例解决了具有从源信息或成员中间的属性自动提取的相同名称的聚类的命名冲突。在一些实施例中,可以为每个冲突添加唯一计数(增大计数)来移除冲突。在一些实施例中,可以迭代地使用其他区分性属性(来自其他特征类型)来移除冲突。

结合用户反馈和校正重新生成adm管线

概述

用户界面(ui)为用户提供了在计算网络中生成聚类(例如,添加或者移除节点)或改变数据收集的日期等的过程中的参数的选项。可以通过结合用户反馈和/或其他改变来重新生成adm管线。

详细描述

可以为用户提供输入反馈的各种选项。例如,在重新生成adm管线时,可以为用户提供保留某些聚类的选项。这可以减少重新生成adm管线时的聚类计算。另外,可以改善基于通信确定的相似性得分。在特征编码期间,由用户保留的保留聚类可以被同等对待。例如,如果节点a与节点c对话,节点b与节点d对话,并且节点c和d二者在同一个保留聚类中,可以推断节点a和b在这方面类似。另一方面,在非保留聚类中,节点a和b在这方面表现不同。

存在使能用户结合、影响、塑造计算网络中的通信图的聚类的各种选项。例如,可以在ui上为用户提供选择期望的聚类数目的旋钮。一般化也可以是用户向聚类添加节点的可能选项(没有节点可以被移除)。

服务器-客户端判定

概述

本技术提取计算网络中的连接的两端的各种特征(例如,属性/特性)来确定机器学习分类器或硬编码规则。可以使用机器学习分类器或硬编码规则来确定ip端口对的哪端是服务器。另外,可以使用图表一致性技术和历史数据来改善服务器判定的准确性。

详细描述

假设ip-端口对的程度是与该ip-端口对进行通信的独特ip-端口对的数目。在一些实施例中,可以选择具有更高程度的对作为用于给定通信的服务器对。

在一些实施例中,端口的大小(例如,端口是正整数)可以提供改善服务器判定的准确性的附加特征。

在一些实施例中,还可以使用通信网络中的传感器时间信息来判定哪端可能是服务器。

在一些实施例中,可以使用已知连接(即,这些连接中的已知服务器端口)来训练使用从这些连接中得到的特征的机器学习分类器(例如,端口的大小或程度的不同)。对于很多tcp连接,标签可以由计算环境中的传感器提供并且可以被用来手动标记一些连接。

发现时间因果模式

概述

本技术基于网络流的各种属性(例如,通信中涉及的服务器端口、发送的分组、以及涉及的进程)确定计算网络中的时间因果模式,并且数据交换时的时间信息(例如,flowlets)被按照主机进行记录。

详细描述

本技术基于网络流的各种属性(例如,通信中涉及的服务器端口、发送的分组、以及涉及的进程)确定计算网络中的时间因果模式,并且数据交换时的时间信息(例如,flowlets)被按照主机进行记录。

在一些实施例中,在针对每个主机的时间窗中分析事件的同时发生,以确定序列模式。例如,对于主机d的端口上的来自主机a的请求,主机b对于这些请求中的50%的请求变为主机d或主机f的客户端。

在一些实施例中,还可以使用用于确定时间模式的算法来移除噪声和同时发生的偶然事件,对非确定性的关系鲁棒,以及发现并移除周期性事件,并且是可升级的(存储器&时间效率两方面)。

ui-adm:用于adm的平行可折叠和弦图

概述

本公开可以涉及用于可折叠核心图形式的应用依赖图的用户界面(ui)。

详细描述

本公开可以涉及用于应用依赖图的用户界面(ui)。该图是和弦表形式的。和弦表使用从流量监测系统层采集的数据。在和弦表中可见并使用的数据是(1)从一个逻辑实体到另一个逻辑实体的数据流;(2)控制从一个逻辑实体到另一个逻辑实体的数据流的策略;(3)数据流来自什么主机;(4)数据流来自什么主机群组;以及(5)数据流来自什么子网。逻辑实体之间的流数据的可视化可以帮助确定需要对逻辑实体之间的策略做出的调整。

和弦表显示不同层级的逻辑实体之间的双向策略(关系)。逻辑实体可以是子网、聚类(主机群组)、或者单个主机。用户可以与和弦图交互,以动态地钻取逻辑实体之间的各种层级的数据流。通过使和弦表可折叠并且可扩展,大量信息更加可用。和弦表在层级的各种等级都是可折叠的(除了在最低等级不可折叠)并且是可扩展的(除了在最高等级不可扩展)。在第二和最低等级,扩展部分显示指示符以通知用户之前的等级(层级的上一个最高等级)。

层级是基于主机的相似性的。层级如下:(1)最高等级-子网(主机聚类的群组);(2)第二等级-聚类(主机的群组);以及(3)最低等级-单独主机。

另外,和弦表是可定制的。用户可以选择调整子网划分和聚类划分的元件。另外,用户可以上传边信息。边信息的示例是dns名称、主机名称等。

市面上已经有和弦表类型的产品,但是,它们不在网络背景中。例如,存在映射动物的us运移方式的和弦图。

基于网络使用情况的业务关键性

概述

本公开可以涉及创建普遍适用的度量来在重要程度方面对逻辑实体进行排名。目的在于为用户弹出最重要的信息,从而使得用户更容易看完从流量监测系统层提取的大量信息。业务关键性是最佳度量,因为其是企业可以修改的。

详细描述

本公开可以涉及创建普遍适用的度量来在重要程度方面对逻辑实体进行排名。目的在于为用户弹出最重要的信息,从而使得用户更容易看完从流量监测系统层提取的大量信息。

业务关键性是最佳度量,因为其是企业可以修改的。例如,营业额。在另一示例中,对于金融企业来说,具有包括codence文件的数据的数据流的逻辑实体不如excel电子表格数据文件重要。理想地,可以通过对于企业的非侵入性的方式来确定业务关键性(由于隐私原因或者由于数据被加密等)。可以基于识别数据的类型、数据的来源、以及数据的目的地来推断业务关键性。可以通过分析从流量监测系统层采集的数据,来识别数据的类型、数据的来源、以及数据流的目的地。流量监测系统分析(通过软件/代码传感器)可以映射主机端口,以确定该流来自什么进程从而看到数据流源自什么应用。另外,可以对流量监测系统层进行分析,以确定数据流来自的主机、数据流来自哪个主机以及哪个子网、数据流来自哪个主机端口、数据流来自哪个应用、以及控制这些流的策略。例如,从金融企业的服务器流出的电子表格数据将比从另一服务器流出的声音数据更重要。

推断业务关键性。这样,管理员可以对企业进行分类,并且企业中的数据分析可以确定业务关键逻辑实体。携带感兴趣的应用的逻辑实体和感兴趣的逻辑实体二者在什么是更业务关键的方面被排名。因此,来自金融企业的声音数据排名较低,携带该应用的主机也排名较低。来自金融企业的电子表格数据排名较高,携带产生电子表格数据的应用的主机也排名较高。

使用网络来确定应用中断的可能性

概述

本公开可以涉及将被应用于普遍使用的业务关键性度量的关联阻断度量,以对逻辑实体的重要程度更好地排名。目的在于为用户弹出最重要的信息,从而使得用户更容易看完从流量监测系统层提取的大量信息。可以使用冗余度作为关联阻断度量。没有关联到冗余系统的逻辑实体对于攻击更脆弱。因此,没有关联到冗余实体的逻辑实体应该具有更高优先级的监控。

详细描述

本公开可以涉及将被应用于普遍适用的企业关键性的度量的关联阻断度量,以对逻辑实体的重要程度更好地排名。目的在于为用户弹出最重要的信息,从而使得用户更容易看完从流量监控系统层提取的大量信息。

业务关键性是最佳度量,因为其是企业可以修改的。例如,营业额。在另一示例中,对于金融企业来说,具有包括codence文件的数据的数据流的逻辑实体不如excel电子表格数据文件重要。理想地,可以通过对于企业的非侵入性的方式来确定业务关键性(由于隐私原因或者由于数据被加密等)。可以基于识别数据的类型、数据的来源、以及数据的目的地来推断业务关键性。可以通过分析从流量监测系统层采集的数据,来识别数据的类型、数据的来源、以及数据流的目的地。流量监测系统分析(通过软件/代码传感器)可以映射主机端口,以确定该流来自什么进程从而看到数据流源自什么应用。另外,可以对流量监测系统层进行分析,以确定数据流来自的主机、数据流来自哪个主机以及哪个子网、数据流来自哪个主机端口、数据流来自哪个应用、以及控制这些流的策略。例如,从金融企业的服务器流出的电子表格数据将比从另一服务器流出的声音数据更重要。

推断业务关键性。这样,管理员可以对企业进行分类,并且企业中的数据分析可以确定业务关键逻辑实体。携带感兴趣的应用的逻辑实体和感兴趣的逻辑实体二者在什么是更业务关键的方面被排名。因此,来自金融企业的声音数据排名较低,因此携带该应用的主机也排名较低。来自金融企业的电子表格数据排名较高,因此携带产生电子表格数据的应用的主机也排名较高。

即使基于业务关键性对大量逻辑实体进行排名,大量逻辑实体也可以被类似地排名,这使得仍然难以消耗这种信息。因此,可以应用第二度量来帮助区分排名类似的逻辑实体。有用的第二度量是冗余。识别冗余是识别被关联到冗余系统的逻辑实体。关联到冗余系统的逻辑实体比没有关联到冗余系统的排名更低,因为没有关联到冗余系统的逻辑实体更脆弱。因此,没有关联到冗余实体的业务关键逻辑实体比关联到冗余实体的业务关键逻辑实体排名更高。

在需要做出有关哪些逻辑实体将被首先寻址的判定的情况下,这种度量在系统被感染或攻击的环境中非常有用。没有冗余系统的逻辑实体更脆弱,并且一般将需要被首先寻址。

冗余的识别被理想地而不是侵入性地(由于隐私或加密原因,不窥视企业网本身)被完成。检测冗余可以通过检测网络中的复制流量或冗余协议的出现来实现。冗余协议是高度周期性的,并且可以利用公知的源索引来预测。利用来自流量检测系统分析的映射端口和应用,复制到应用的映射可以识别冗余系统在哪里以及逻辑实体是否被关联到冗余系统。另外,通过上面提到的业务关键性分析,可以做出有关哪些业务关键逻辑实体没有被关联到冗余系统的判定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1