《数据驱动的网络分析》——第2章 网络传感器2.1 网络分层及其对测量的影响

第2章 网络传感器

网络传感器直接从网络通信中采集数据,不需要中介应用程序作为代理,这使其不同于第3章中讨论的基于主机传感器。这方面的例子包括路由器上的NetFlow传感器,以及使用tcpdump等嗅探工具采集流量的传感器。

网络流量所面临的挑战是你在所有日志数据中都会遇到的:真正的安全事件很少,而数据在时间和存储空间上都有代价。只要可能,首选日志数据,因为它清晰(日志数据记录了高级事件)而紧凑。网络流量中的相同事件必需从几百万个数据包中提取,这些数据包往往是冗余、加密或者难以理解的。与此同时,攻击者很容易操纵网络流量,在线路上形成看似合法,但是完全伪造的会话。在日志记录中300个字节的事件很容易积累多达数兆字节的网络封包数据,其中只有前10个封包具有分析价值。

这是坏消息,好消息是,网络流量是“协议无关的”(没有更好的术语),这意味着,它是找出审计盲点的最佳信息来源。基于主机的采集系统首先需要知道主机的存在,在许多情况下,只有看到线路上的流量,你才有可能知道特定服务运行。网络流量提供了最有确定性的网络视图——它告诉你网络上存在着不为人知的主机、你没有意识到的后门、攻击者已经进入了你的地盘,以及你所没有考虑到的网络路由。与此同时,当你面对零日漏洞或者新的恶意软件时,封包数据可能是唯一的数据来源。

本章余下的部分分成下面几个小节:下一小节介绍网络观察点,包括封包在网络上如何移动,在观测网络时如何利用这一点;再下一个小节介绍tcpdump——这是一个基本的网络流量捕捉协议,并提供封包采样、过滤和长度操纵的窍门;此后的一个小节介绍NetFlow,这是一种强大的流量汇总方法,提供了有关网络流量的高价值、紧凑的汇总信息;在本章的最后,我们研究一个样板网络,讨论如何利用不同的采集策略。

2.1 网络分层及其对测量的影响

计算机网络采用分层设计。层(Layer)是对一组网络功能的抽象,旨在隐藏机制和实现细节。理想状况下,每个层次都是分离的实体,某层上的实现可以与另一个实现交换信息,而不会影响到更高的层次。例如,互联网协议(IP)存在于OSI模型中的第3层,IP实现在不同的2层协议(如以太网或者FDDI)上同样可以运行。

有许多不同的分层模型。最常见的是OSI的7层模型和TCP/IP的4层模型。图2-1展示了这两种模型,代表协议,以及和第1章定义的传感器领域之间的关系。正如图2-1所示,OSI模型和TCP/IP有粗略的对应关系。OSI使用如下7个层次。

1.物理层:物理层由用于连接网络的机械部件组成——线路、电缆、无线电波和其他用于将数据从一个位置传送到下一个位置的机制。

2.数据链路层:数据链路层负责管理通过物理层传输的信息。数据链路层协议(如以太网)确保异步通信正确中继。在IP模型中,数据链路层和物理层被组合成为链路层。

3.网络层:网络层负责从一条数据链路到另一条数据链路的通信路由。在IP模型中,网络层直接对应到第2层——互联网层。

4.传输层:传输层负责管理通过网络层传输的信息。它与数据链路层有类似的关注点,例如流量控制和可靠数据传输,但是规模不同。在IP模型中,传输层是第3层。

5.会话层:会话层负责会话的建立和维护,专注于身份验证等问题。会话层协议的最常见示例是SSL——它是用于HTTP、SMTP和许多其他通信安全加固服务使用的加密和身份验证层。

6.表示层:表示层编码信息用于更高级别的显示。常见的表示层例子是MIME——电子邮件中使用的消息编码协议。

7.应用层:应用层是服务,如HTTP、DNS和SSH。OSI的第5层~第7层大约对应于IP模型的应用层(第4层)。

分层模型只是模型而非规范,模型总是不完美的。例如,TCP/IP模型避开了更为细致的OSI模型,在许多情况下,OSI模型中的协议可能存在于多个层次中。网络接口控制器(NIC)处于模型中的第1层和第2层。这些层次相互影响,特别是数据的传输方式(以及观测方式),并在更高的层次中带来了性能上的限制。

在分层对网络流量的影响中,我们最经常遇到的是最大传输单元(MTU)。MTU是数据帧尺寸的上限,影响到介质中可以传送的封包的最大尺寸。以太网的MTU为1500个字节,这意味着IP封包几乎不会超过这个尺寸。

分层模型还为我们提供了基于网络和基于服务传感器领域之间的清晰分别。如图2-1所示,网络传感器的焦点是OSI模型中的第2层~第4层,而服务传感器的焦点是第5层及以上。

分层和网络传感器的作用

网络传感器为什么不能监控所有信息?这是一个合乎逻辑的问题,毕竟,我们所讨论的攻击是通过网络发生的。此外,网络传感器不会像主机日志那样篡改或者删除,而且可以看到主机日志中不能记录的行为,例如扫描或者失败的连接尝试。

网络传感器提供的覆盖范围很广,但是从这个覆盖范围中恢复真正发生的情况随着OSI模型中层次的升高而变得更加复杂。在第5层及更高的层次中,协议和封包转译的问题越来越突出。会话加密是第5层的一个选项,加密的会话无法理解。在第6层和第7层中,你必须知道协议中用于提取有意义信息的细节。

从封包数据中重建协议是复杂且存在歧义的。TCP/IP是按照端到端的原则设计的,也就是说,只有服务器和客户端需要从封包中构造会话。Wireshark(第9章中将介绍)或者NetWitness等工具可以重建会话内容,但是这只是实际发生情况的近似表现。

网络、主机和服务传感器最好是相互补充。网络传感器提供其他传感器所没有记录的信息,而主机和服务传感器记录实际的事件。
在第1章中曾经说过,传感器的观察点指的是特定传感器观察到的流量。在计算机网络中,观察点指的是传感器依靠封包传输本身(通过交换机或者路由)或者通过窃听(在冲突域中)观察到的封包。有效地观测网络必须正确地建立观察点模型,所以我们必须深入网络的运营机理。

2.1.1 网络层次和观察点
网络观察点可以通过考虑流量在OSI模型的3个不同层次之间传递的方式来描述。这些层次跨越共享总线或者冲突域(第1层)、网络交换机(第2层)或者使用路由硬件(第3层)。每个层次提供不同形式的观察点和相同的实现机制。

最基本的组网方式是跨越冲突域。冲突域是一个或者多个网络接口用于传输数据的共享资源,例子包括网络集线器或者无线路由器使用的信道。冲突域的叫法是因为单独的元素可能同时发送数据,造成冲突,第2层协议包含了弥补或者避免冲突的机制。

结果是,第2层数据报文通过公共来源广播,如图2-2所示。同一个冲突域上的网络接口都回看到相同的报文,它们只选择传递给自己的报文进行翻译。tcpdump等网络捕捉工具可以混杂模式工作,记录冲突域中观察到的所有报文。

图2-2展示了跨越广播域的观察点。在图中可以看到,初始帧(A-B)在集线器中广播,集线器作为共享总线。连接到集线器的每台主机可以接收和响应这些帧,但是只有B应该这么做。符合该原则的主机C忽略并丢弃该帧。主机D以混杂模式操作,记录该帧。因此,集线器的观察点就是连接的所有地址。

共享冲突域效率很低,特别是使用以太网等异步协议时。因此,通常使用以太网交换机等2层设备,确保连接到网络的每台主机都有自己的专用以太网端口,如图2-3所示。

运行于混杂模式的捕捉工具将复制接口上接收到的所有帧,但是第2层交换机确保接口只接收明确地以该接口为目标的帧。结果如图2-3所示,从A发向B的帧为B所接收,而C和D什么也接收不到。

对这个问题有基于硬件的解决方案。大部分交换机实施某种形式的端口镜像(Port Mirroring)。除了原始目标之外,端口配置还将不同端口之间发送的帧复制到公共的镜像端口。使用镜像,你可以配置交换机,将交换机接收的每个帧的副本发送到公共的接口。不过,端口映射可能是代价很高的操作,大部分交换机限制监控的接口或者VLAN数量。

交换机的观察点是端口的功能和交换机的配置。默认情况下,任何单独端口的观察点只是从连接到端口的接口发出或者接收到的流量。镜像端口将拥有配置镜像到它的端口的观察点。

当路由成为考虑因素时,第3层的观察点比较混乱。路由是一个管理员可以配置的半自治过程,为了提供可靠性,它被设计为提供某种程度的局部自动化。此外,路由有TTL等性能和可靠性功能,这也可能影响监控。

最简单的3层观察点和2层观察点的操作方式类似。和交换机一样,路由器通过特定的端口发送流量。路由器可以配置类似映射的功能,但是不同路由器制造商使用不同的术语。3层观察点和2层观察点的主要不同是,2层关注单独的以太网地址,而在第3层,接口通常关注IP地址块,因为路由器接口一般通过交换机或者集线器与数十台主机相连。

在处理多宿主接口(如图2-4所示的情况)时,第3层观察点变得更加复杂。到目前为止,本书讨论的所有观察点都是对称的——如果观测一个点可以看到从A到B的流量,也就可以看到从B到A的流量。而多宿主主机(如路由)有多个接口可供流量进出。

图2-4展示了多接口的例子,以及它们对第3层观察点的潜在影响。在这个例子中,A和B相互通信。A发送封包{A→B}给B,B发送封包{B→A}给A。C和D在路由器上进行监控:路由器1配置为从A到B的最短路径。路由器2配置为从B到A的最短路径 。这种配置的效果是,在C和D的观察点是不对称的。C将看到从A到B的流量,D将看到从B到A的流量,两点都无法看到双向的互动。这个例子虽然有些勉强,但是由于业务关系和网络的不可靠性,这种配置可能出现。当处理有多个互联网接口的网络时,带来的问题特别多 。

IP封包内置了超时功能:一个名为存活时间(time-to-live,TTL)的字段。每当封包穿越一个路由器(不是交换机等2层设施),TTL减1,直到为0。在大部分情况下,TTL不应该成为问题——大部分现代协议栈将TTL设置为至少64个,这远远大于穿越整个互联网所需的跳数。但是,TTL是可以人工修改的,有些攻击可能将TTL用于躲避。表2-1列出了操作系统的默认TTL值。

图2-5展示了TTL的操作方式。假定主机C和D运行于监控端口上,封包从A传送到B。而且,封包的TTL初始设置为2。第一台路由器接收封包并将其传递给第2台路由器。第2台路由器丢弃该封包,否则它将把TTL减为0。TTL不直接影响观察点,但是引入了错误的盲点——封包可以被某个传感器看到,但是由于TTL递减,后面的其他路由器无法看到它。

结果是,C可以观察到封包,但是B永远也不会接收到它,D有可能观察到该封包(取决于路由器的配置)。

物理分流器

你可以监控电缆本身,而不是配置网络硬件在专用接口上报告数据。这使用网络分流器实现,网络分流器是一种从物理上连接到电缆,复制流量供监控用的设备。网路分流器的好处是将采集和复制数据的过程移出网络硬件,但是观察点仅限于所连接的电缆。
2.1.2 网络层次和编址
网络上的实体可以有多个用于联系它们的地址。例如,主机www.mysite.com可能使用IP地址196.168.1.1和以太网地址0F:2A:32:AA:2B:14。这些地址用于在网络不同抽象层次解析主机的标识。在大部分网络中,主机拥有一个MAC(以太网)地址,和一个IPv4或者IPv6地址。

这些地址通过各种协议动态控制,不同类型的网络硬件将修改地址间的关系。最常见的例子是DNS修改,它将单一名称与多个地址关联(反之亦然),第8章将更深入地讨论。下面是网络上常用的地址。

MAC 地址

大部分2层协议(包括以太网、FDDI、令牌环、蓝牙和ATM)使用的48字节标识符。MAC地址通常以6个两位16进制数的形式记录(例如,12:34:56:78:9A:BC)。MAC地址由原始制造商分配给硬件,前24位保留用作制造商ID。作为2层地址,MAC地址不能路由;当帧通过路由器传输时,这个地址信息被路由器接口的地址信息所代替。IPv4和IPv6地址用地址解析协议(Address Resolution Protocol,ARP)与MAC地址关联。

IPv4 地址

IPv4地址(除了保留的动态地址控制之外,这些地址的更多信息参见第8章)是分配给每台可路由主机的一个32位整数。IPv4地址最经常的表现方式是句点分隔四元组格式:用句点分隔的4个0~255的整数(例如,128.1.11.3)。

IPv6 地址

IPv6是IPv4的替代方案,正在稳步推进,它修复了原始协议中的许多设计缺陷,特别是IP地址的分配。IPv6使用128位地址来标识主机。默认情况下,这些地址用一组以冒号分隔的16位16进制数描述(例如,AAAA:2134:0918:F23A:A13F: 2199:FABE:FAAF)。考虑到长度问题,IPv6地址使用了一些约定来缩短这种表现形式:前导0被删除,最常的0值序列(16位)被删除并用两个冒号代替(例如,0019:0000:0000:0000:0000:0000: 0000:0182可以简写为19::182)。

这些关系都是动态的,一个层次上的多个地址可能与另一个层次的一个地址关联。正如前面所讨论的,一个DNS名称可能通过DNS服务代理与多个IP地址关联。类似地,一个MAC地址可能通过ARP协议代理,支持多个IP地址。这种动态性可以建设性的方式使用(例如用于隧道),也可以破坏性的方式使用(例如用于欺骗)。

时间: 2024-09-08 20:53:52

《数据驱动的网络分析》——第2章 网络传感器2.1 网络分层及其对测量的影响的相关文章

《数据驱动的网络分析》——导读

内容提要传统的入侵检测和日志文件分析已经不再足以保护当今的复杂网络,本书讲解了多种网络流量数据集的采集和分析技术及工具,借助这些工具,可以迅速定位网络中的问题,并采取相应的行动,保障网络的运行安全. 本书分为3部分,共15章,内容包括数据采集的常规过程,用于采集网络流量的传感器,基于特定系统的传感器,数据存储和分析,使用互联网层次知识系统(SiLK)分析NetFlow数据,用于安全分析的R语言简介.入侵检测系统的工作机制以及实施,确定实施攻击的幕后真凶,探索性数据分析以及数据可视化,检查通信流量

《数据驱动的网络分析》——第6章 R安全分析简介

第6章 R安全分析简介 R是一个开源统计分析软件包,最初由奥克兰大学的Ross Ihaka和Robert Gentleman开发.R的设计者主要是统计学家和数据分析人员,与商业统计软件包(如S和SPSS)关联.R是用于探索性数据分析的工具包,它提供了统计建模和数据操纵能力.可视化和一个全功能的编程语言. R可以满足多种分析需求.分析工作需要某些工具来创建和操纵汇总原始数据的小型临时数据库.例如,从特定主机采集.按照服务分解的每小时流量汇总.这些数据表比原始数据更复杂,但是其目的不是为了最后发布-

《Windows网络与通信程序设计(第3版)》——第1章 计算机网络基础1.1 网络的概念和网络的组成

第1章 计算机网络基础 本章详细讲述网络程序设计中要用到的计算机网络方面的基础知识,包括各种网络术语.网络硬件设备.网络拓扑结构.网络协议等. 1.1 网络的概念和网络的组成 网络是各种连在一起的可以相互通信的设备的集合.本书讲述的网络是最常见的,将数亿计算机连接到一起的Internet.下面通过讲述组成Internet的基本硬件和软件来进一步明确计算机网络的概念. Internet是世界范围内的计算机网络,它不仅连接了PC.存储和传输信息的服务器,还连接了PDA.电视.移动PC等.所有的这些设

第四章网民互联网应用状况——手机网络应用状况

导语:7月19日下午,中国互联网络信息中心(CNNIC)在北京发布了<第28次中国互联网络发展状况统计报告>,以下为<第四章网民互联网应用状况--手机网络应用状况>报告内容: (一)手机上网应用深度普遍提升 2011年上半年,手机网民对手机上网应用的使用深度进一步提升,各项应用在手机网民中的使用率基本都有一定提升.各类手机上网应用的使用率排名上没有太大变化,前三名与2010年下半年相同. 2011年上半年,网民手机上网应用中,手机即时通信仍然是使用率最高的应用,使用率达到71.8%

《CCNP TSHOOT 300-135认证考试指南》——第2章 故障检测与排除及网络维护工具

第2章 故障检测与排除及网络维护工具CCNP TSHOOT 300-135认证考试指南本章主要讨论以下主题. 故障检测与排除及网络维护工具箱:本节将介绍故障检测与排除和网络维护任务的必备工具.利用Cisco IOS验证和定义故障问题:本节将回顾ping.Telnet以及traceroute等工具.利用Cisco IOS收集信息:本节将描述利用CLI为故障检测与排除及网络维护工作收集信息的方式.在传输过程中收集信息:本节将解释配置交换机向使用SPAN和RSPAN的抓包设备发送帧拷贝的配置方式.利用

《Adobe Acrobat DC经典教程》—第1章1.5节在网络上使用PDF

1.5 在网络上使用PDF网络极大地增加了将电子文档交付给广大受众的可能性.由于可以对Web浏览器进行配置,使其在浏览器窗口中运行其他应用程序,因此你可以在网站上发布PDF文件.网站的访客可以下载这些PDF文件,或使用Acrobat Reader在浏览器窗口中查看它们. 当网页中包含PDF文件时,应考虑引导用户访问Adobe网站,以便他们首次查看PDF文档时能够下载免费的Acrobat Reader. 可以每次一页的方式查看并打印网上的PDF文档.采用每次一页的下载方式时,Web服务器只将请求的

《请君入瓮——APT攻防指南之兵不厌诈》—第8章8.3节基于网络的工具

8.3 基于网络的工具请君入瓮--APT攻防指南之兵不厌诈基于网络的工具是两个安全重点关注领域中较为有趣的一类,也是最具可操作性的工具.过去的10年间,犯罪软件不断发展,每天都如海啸一般涌向全球网民. 有两种有效的基于网络的工具: 防火墙:入侵检测系统(IDS)和入侵防御系统(IPS).8.3.1 防火墙防火墙是最早被开发的网络安全技术之一,用以保护接入网络的组织和网络节点.防火墙可能是最后一道安全防线,这取决于网络设置.隔离区(DMZ)和路由器会先于防火墙发现恶意流量. 近年来,这类技术不断发

《网络空间欺骗:构筑欺骗防御的科学基石》一1.1 主动网络空间防御中网络空间抵赖与欺骗的视图

1.1 主动网络空间防御中网络空间抵赖与欺骗的视图 本文讲的是网络空间欺骗:构筑欺骗防御的科学基石一1.1 主动网络空间防御中网络空间抵赖与欺骗的视图,将抵赖与欺骗纳入标准操作规程(SOP):随着攻击技术的不断演进,网络空间防御系统也必将随之演化,以提供更加主动和持续的防御.我们预想将网络空间抵赖与欺骗同网络空间威胁情报.网络空间运营安全(OPSEC)一同作为网络空间防御与安全操作的标准操作规程中的重要部分.网络空间工程系统通过应用抵赖与欺骗应对APT攻击,并更加有效地感知攻击者的策略,使得攻击

《简明电路分析》——2.1节单口网络与单口网络等效

第2章单 口 网 络 电路分析的一种基本方法是将结构复杂的电路分解成若干单口网络,使复杂电路的求解变成简单电路的求解.本章将介绍单口网络的特性与等效简化方法,并给出利用单口网络简化电路分析的实例. 2.1 单口网络与单口网络等效 由单个或多个元件构成的电路又称为网络(network),前面介绍了含有两个端点的元件为二端元件,而含有两个端点的网络则称为二端网络,其中,只有一对端电压和端电流与之对应的两个端点构成一个端口.根据电荷守恒定律,对于二端网络而言,从一个端点流入的电流必从另一个端点流出,二