来源:Network Monitoring Approaches: An Overview,International Journal of Advances in Computer Networks and Its Security– IJCNS
摘要:在现代复杂的网络中,抽象的网络监控和测量变得越来越重要。在过去,管理员可能只监视几个网络设备或不到100台计算机。网络带宽可能只有10或100mbps;然而,现在管理人员必须处理的不仅是高速有线网络(超过10 Gbps和ATM(异步传输模式)网络),而且还需要无线网络。网络管理员不断地努力维护他们的网络的正常运行。网络监控是一套机制,允许网络管理员了解复杂计算机网络的瞬时状态和长期趋势。本文为读者提供了当前网络监控方法的概述,以及它们的体系结构、特性和属性。此外,还对这些方法进行了比较。
1、背景
计算机网络连接着世界各地数以百万计的计算机和计算机用户。网络已经成为影响我们日常生活的许多应用程序的基础设施。对计算机网络进行适当的管理是非常重要的。网络管理需要监控。网络监控是一套机制,允许网络管理员了解复杂计算机网络的瞬时状态和长期趋势。
在现代复杂的网络中,网络监控和测量变得越来越重要。在过去,管理员可能只监视几个网络设备或不到100台计算机。网络带宽可能只有10或100mbps;然而,现在管理人员必须处理的不仅是高速有线网络(超过10 Gbps和ATM(异步传输模式)网络),而且还需要无线网络。他们需要更复杂的网络流量监控和分析工具,以保持网络系统的稳定性和可用性,如及时修复网络问题或避免网络故障,确保网络安全实力,并为网络规划做出良好的决策。
网络监控是一项困难而艰巨的任务,是网络管理员工作的重要组成部分。网络管理员不断地努力维护他们的网络的正常运行。如果一个网络即使在一小段时间内被关闭,公司内部的生产力也会下降,而在公共服务部门,提供基本服务的能力将受到损害。为了主动而不是被动,管理员需要监视整个网络的流量和性能,并验证安全漏洞不在网络中发生。
当网络发生故障时,监控代理必须检测、隔离和纠正网络中的故障,并可能恢复故障。通常,代理应该警告管理员在一分钟内修复问题。有了稳定的网络,管理员的工作仍然是在网络内部或外部存在威胁时进行持续监控。此外,如果网络设备过载,他们必须定期检查网络性能。在由于过载而出现故障之前,网络使用的信息可以用来为短期和长期的未来改进制定一个网络计划。
本文为读者提供了当前网络监控方法的概述,以及它们的体系结构、特性和属性。此外,还对这些方法进行了比较。
2、网络监控的方法
网络监控可以是主动的,也可以是被动的。无源网络监控从线路中读取数据,不影响流量。主动网络监视添加了修改在线数据的选项。
被动网络监控有几种形式。简单的监控可以很容易手工评估,因为监控和生成的数据量很小。对网络及其流量的各种细节的监控也面临着类似的障碍;关于故障和攻击者的信息会被收集,但是有太多的信息会在海里丢失。此外,捕获的数据越多,保存和处理数据的技术要求就越高。因此,各种网络监控方法相互竞争,因为每个方法都有不同的权衡,针对不同的目的、环境和用户。图1显示了网络监控的一般架构。
网络监控的过程包括两个主要步骤:流量复制和流量分析。
3、流量复制
所有类型的网络流量监控都有一个共同的属性;线路上的通信被复制,以便对副本进行分析。复制可以以两种模式之一进行;内联或镜像。内联方式,在链路中放置一个以内联方式传输的复制设备。在镜像模式下,复制功能已经是路由器或交换机的内置功能。有几种流量镜像方式;端口镜像,TAP和类似于TAP的设置,使用旁路网卡。下面的小节描述每种方式。
3.1镜像端口
端口镜像是面向企业的网络交换机和路由器中常用的功能。通过交换机或路由器的选定端口的通信被镜像到另一个选定端口。用于输出重复通信的端口通常称为镜像端口或SPAN端口(交换端口分析器)。图2显示了端口镜像的原理。被监视链路的两个方向在镜像端口上以一个方向传输。
镜像端口有两个缺点。首先,如果通信量的总和大于镜像端口的传输量,则镜像端口将变得拥挤并丢失数据包。全双工通信在镜像端口上单向传输。对于由交换机提供服务的两个端口,这是单个端口带宽的两倍,如果服务的端口超过两个,带宽甚至会更高。第二,大多数交换机没有足够的计算能力来处理交换和镜像。交换器的主要功能是按优先级排序的,在通信高峰期间镜像可能不能正常工作。
3.2测试访问端口
测试访问端口(Test Access Port,TAP)是一个位于内联模式的包捕获设备,因为观察到的行是分裂的。在线路的分割部分之间连接一个TAP设备,并且通信被复制。单个分接口将业务复制到单个输出,单个输出由用于全双工链路的下行链路和上行链路的两个物理端口组成。再生把流量复制到多个输出中。聚合点击将两个通道合并到一个输出端口。TAP有三种类型;铜、纤维和虚拟。图3显示了使用测试访问端口的流量镜像。被监视链路的两个方向分别传输。
被动式TAP(Passive copper TAPs)直接连接到线路上。由于被动TAP没有供电,停电不能导致线路故障。被动式TAP的一个缺点是,只有10-Mbps和100-Mbps连接可以使用这种方式。被动连接扭曲信号的方式是,不可能被动分流千兆以太网。由NetOptic的专利提出了一种方法,其使用配备有电容器的有源吉比特(gigabit)抽头,以在内置旁路继电器进行切换的同时保持连接。
主动铜TAP(Active copper TAPs)的功能类似于前面小节中的方法。通过TAP的信号被积极地重新传输和复制,并且没有信号失真,缺少由电子电路引起的可忽略的延迟。这种方法的缺点是,TAP的电源故障导致故障转移交换机,导致数百微秒的延迟。
无源光TAP(Passive optical TAPs)将原始信号的一部分转移到镜像输出。事实上,没有电源故障是一个优势。缺点在于线路中的信号被TAP削弱了。
再生光TAP(Regeneration optical TAPs)将原始信号的很小一部分转移到镜像输出,并将其放大到最大强度。电源故障只会禁用镜像输出并在线路上不引入故障。
3.3旁路网卡设置类TAP
使用网络接口卡(NIC)进行设置,将流量镜像与流量分析集成在一起。如图4所示,观察到的通信线路被分割。这两个端点都连接到两个NIC接口。NIC安装在计算机上。这些接口在软件中被配置为网络桥接。作为桥接,分割线路仍然可以正常工作。使流量通过计算机允许观察流量。这个设置被定位为内联模式,类似于TAP。
使用NIC进行镜像可以使用消费者级的NIC。这就引入了一个失败点。一旦软件或硬件发生故障,线路就不再连接。
专门化的,所谓的旁路NIC存在,如图5所示。当发生故障时,绕过NICs可以绕过两个网络接口;例如,软件崩溃或断电
一个缺点是,计算机被锁在特定的位置,在不中断连接的情况下不能移动。
4、包捕获
包捕获(Packet capture)在没有特定顺序的情况下有三个含义。首先,它是一种交互式的网络监控方法。其次,包捕获是一个包跟踪文件。第三,从网络链路捕获数据包的行为。捕获可以保存到文件中,或者由网络流量分析器实时读取。
4.1包捕获作为包复制方法
网络流量从观测点捕获。捕获不需要依赖于后续分析的时间和空间,因为捕获的数据可以保存到文件中。这可以是一个临时文件,作为整个网络监视过程的一部分,也可以将其保存到一个文件中以供以后显式使用。捕获的数据与在该通信线路上的数据相同。进行包捕获的过程可以是手动和自动的。
4.2包捕获作为一种网络监控方法
数据包捕获网络监控方法包括两个基本步骤;首先,创建包捕获文件,其次,对捕获文件执行网络流量分析。包捕获作为一种网络监视方法,可以是手动的,也可以是自动的。自动方法用于恶意软件行为记录和分析。在这样的自动化系统中,对所选择的数据包进行额外的手工分析也是可能的。
OSI模型的第3层通常被使用,因此流量被视为一系列的IP数据包。然后可以查看、搜索或过滤此表示形式中捕获的流量。在捕获数据包跟踪之前,还可以过滤数据包。
使用图形用户界面(GUI)和命令行界面(CLI)。在某些设置中,通过操作脚本实现自动化是可能的。这仅仅是为了帮助人类用户,而不是为了实现一个复杂的自动化系统。入侵检测系统(IDS)可以看作是一个复杂的自动化系统。在包捕获分析的上下文中,即使是像脚本化功能这样的IDS,也仍然适用于单独的交互分析。
在本文所提到的所有架构方法中,完全可以访问完整的网络数据,以供免费查看和搜索。对任何部分的流量数据的交互性和访问都是一个巨大的优势。用户可以搜索高度特定的工件,而不必编写任何程序,也不受更自动化的软件的限制。它对于处理新的通信模式非常有用,比如新的恶意软件或未知的通信协议。然而,当模式已知时,交互性是一个缺点,并且工作是重复的和可自动化的。这种方法不会扩展,搜索大量数据会变得很麻烦。
PCAP[16]是一种常用的文件格式,用于存储捕获的流量。Tshark[17]和tcpdump[18]是通过CLI进行操作的软件示例。Wireshark[19]是一个使用GUI的软件示例。
5、深度报文检测
自动化是深度数据包检测(DPI)的一个特性,特别是与上面描述的手动数据包捕获和分析相比。深度包检查是一种查看IP数据包负载的技术。但是,它也用于表示以自动化方式使用DPI的网络流量监控的架构方法;DPI被集成到固有的自动化系统中。
通信量捕获和进一步分析可以是时间和空间上的独立过程,也可以集成到一个流程管道中,如图6所示。包捕获方法可以作为PCAP文件的源,用于进一步的基于DPI的分析。
基于DPI的分析有两种主要类型;模式匹配(pattern matching)和基于事件的分析(event-based analysis)。两者都用于各种IDS/IPS(入侵检测系统/入侵预防系统)。
5.1模式匹配
模式匹配是一种DPI方法,它涉及通过完整的网络数据搜索已知的字节序列或正则表达式匹配[21]。操作原理如图7所示。搜索可以局限于包的特定部分或特定的包。
相对简单是这种方法的一个优点,这就是为什么它是一种流行的DPI类型。用字节序列(sequences of bytes)或正则表达式(regular expressions)描述所查找的数据通常很简单。
然而,当我们想要搜索使用正则表达式描述不可能或不可行的模式时,这种优势就变成了一个问题。如果在进行进一步的模式匹配之前必须对数据进行解码,并且在网络安全监视器中还没有构建解码功能,那么通常不可能创建一个同样进行解码的正则表达式。在模式匹配之前,压缩可以作为这种解码的一个例子。
仅使用正则表达式也不可能实现复杂的决策逻辑。示例任务;对HTTPS连接上过期的SSL证书发出警告,该证书来自指定的IP地址列表,来自其他任何地方。将SSL证书数据的检测转换为正则表达式可能是不可能的。检查特定证书是否属于列表可能导致复杂的正则表达式。即使第一个问题通过SSL解码器得到了改善,第二个问题仍然存在。更进一步说,如果线索列表在运行时是动态变化的,那么将算法转换为正则表达式就完全不可能了。一个例子可能是基于阈值的检测,例如,对每小时接收超过10个DNS错误的主机发出警报。现在的网络流量监控,采用模式匹配DPI方法,通常解码最常用的协议。
与下一节中解释的流观测方法相比,模式匹配方法比较慢。一个具体的模式匹配实现的10 Gbps要求硬件加速使用FPGA[23]。相比之下,一个没有硬件加速的具体流量观测实现可以处理40gbps[24]。与下一小节中的基于事件的方法相比,模式匹配方法也相当简单。
模式匹配算法有很多。由J. Kelly[25]描述了网络监控环境下的模式匹配算法。除了算法,还有用于模式匹配的软件包,可以构建到其他软件中;比如Flex和MultiFast。在网络流量分析的背景下,t.ima研究了 使用Flex和MultiFast的方法。
Snort[27]和Suricata[28]是模式匹配DPI的软件实现。ngrep[29]是用于捕获包跟踪中的模式匹配的命令行实用程序。
5.2基于事件的分析
前面的小节描述了模式匹配显然是一种不足的技术的情况。在基于事件分析的架构方法中,它不能执行解码或多个决策步骤。在基于事件分析的DPI方法中,如图8所示,包被处理为事件,然后由脚本[30]处理。脚本可以实现复杂的处理算法并添加新的与DPI相关的功能。
这种体系结构方法用作为计算机程序实现的算法替代模式匹配部分。算法可以是有状态的,也可以是无状态的。无状态算法只是针对特定事件的一个即时反应或连锁反应。有状态算法可以使用程序变量来记住事件发生之间的状态。Bro网络安全监控器[31]是具有这种体系结构的网络监视器。
6、流观测
不同于前面章节所描述的方法是流观测。除了来自包头的信息之外,不会分析包的内容。此信息聚合为流。RFC 7011[32]提供了流的以下定义:“流定义为在一定的时间间隔内通过网络观察点的一组包或帧。属于特定流的所有数据包都具有一组公共属性。
下面的5元组被用作区分流的公共属性:源IP地址、目标IP地址、源IP端口、目标IP端口、第4层协议。
在流观测的体系结构方法中,网络流量监视器存储有关观察流的信息,如标识5元组、传输字节数和数据包数以及L4协议标志,但它不分析和存储有效负载。
因为数据本身不被处理,所以流观测有几个优点。由于没有分析负载,所以流观察比在同一硬件上的其他方法要快。此外,不存储有效负载导致的存储数据要比上面提到的包捕获少得多。与包捕获或DPI相比,不处理有效负载也减少了对隐私的关注。流数据可用于遵守数据保留法律。
图9显示了流观察架构。通过观察,数据包被发送到一个计量过程。计量过程标识流并统计它们的统计信息。从这一点开始,原始数据包就不会被处理。计量过程在一段时间后将有关流的信息发送到导出过程。计量和导出过程通常在网络探针上共存。导出过程将最终确定的流信息发送给收集器进行存储和后续处理。
流信息的传输有两种显著的格式;NetFlow[34]由CISCO开发,IPFIX[35]由IETF开发。现有的一些软件流导出器是nProbe [36] softflowd[37]、YAF[38]和FlowMon [39];所选的流动收集器有nProbe[36]、nfdump[40]、flowd[41]、IPFIXcol[42]和SiLK[43]。
7、比较
表1显示了当前网络监视方法之间的比较,并展示了每种方法的优缺点。
8、结论
给定数据包和网络流量信息,管理员可以了解网络行为,如应用和网络使用、网络资源利用、网络异常和安全漏洞。首先对网络流量进行复制,然后对其进行分析。流量复制有两种方式;端口镜像和TAP。流量分析有三种方法;包捕获,主要是自动深入的包检查和流观察。每种方法都有其优缺点。
本文为读者提供了当前网络监控方法的概述,以及它们的体系结构、特性和属性。此外,还对这些方法进行了比较。