⽹络流量分析之流量采集到流量还原
⽹络流量贯穿业务流转的各个环节,从我们个⼈PC、⼿机,到IDC数据中⼼、WEB和APP应⽤等都需要通过⽹络流量完成数据交互。因此,根据"只要有攻击就会有流量产⽣"这样的朴素道理,⽆论是⽹络层的防DDoS、主机层的防⼊侵还是应⽤层防漏洞,都是围绕⽹络流量分析展开,基于NTA⽹络流量分析的安全产品在安全领域始终占据举⾜轻重的地位。
本⽂根据近来做IDS⼊侵检测流量分析相关的经验,基于流量分析的常见应⽤形式,总结流量分析常⽤的技术⼿段,包括流量采集常⽤的⽅法及⼯具,以及流量还原技术的基本原理。
为什么需要流量分析?
要了解⽹络真实的运⾏情况,及时发现运⾏中存在的问题,必须对⽹络流量有⼀个全⾯了解。不同的应⽤层⾯,流量分析起到的作⽤不同,⽐如运营商需要通过分析⽤户⽹络流量来计算⽹络消费、掌握⽤户对其他运营商的访问情况,为⽹络出⼝互联链路的设置提供决策数据⽀撑等;业务应⽤层如⽹站提供⽅则通过流量分析了解⽹站访客的数据,如IP地址、浏览器信息等,统计⽹站在线⼈数,了解⽤户所访问⽹站页⾯,通过分析出异常帮助⽹站管理员知道是否有滥⽤或者攻击现象,了解⽹站使⽤情况,提前应对⽹站服务器系统的负载问题等;⽽安全监测领域则通过流量分析实现对⽹络异常通信的监测,防范常见的⽹络⼊侵、DDOS攻击和疆⽊蠕感染传播等。
如何进⾏流量分析?
网站流量统计分析工具⾯对复杂多变的规模庞⼤的⽹络环境,需要⼀个能够适应不同环境和⾼效分析处理的系统。⾸先我们需要对不同的采集技术有初步的认识。
⽹络流量分析的常⽤技术⼿段:
1. 基于硬件探针的流量分析技术
探针是专门⽤于获取⽹络链路流量数据的硬件设备。按实现⽅式可以分为软件架构和硬件架构。使⽤时是通过交换机流量镜像端⼝或直接将其串接在待观测的链路上,对链路上所有的数据报⽂进⾏处理,提取流量监测所需的协议字段甚⾄全部报⽂内容。最⼤特点是能够提供丰富的从物理层到应⽤层的详细信息,也就是⽬前基于NTA技术产品如IDS、NDR等最常⽤到的⽅案。
2. 基于SNMP的流量分析技术
SNMP(SimpleNetworkManagementProtocol,简单⽹络管理协议)通常⽤于收集基本流量详细信息,例如字节/数据包,通过“利⽤⽹络管理⽹络”的⽅式,实现对⽹络设备的批量管理,从⽽提⾼设备管理效率。该⽅式仅能对⽹络设备端⼝的整体流量进⾏分析,能获取设备端⼝出⼊历史或实时的流量统计信息、不能深⼊分析包类型、流向信息,具有实现简单,标准统⼀,接⼝开放的特点。
3. 基于Netflow的流量分析技术
NetFlow是Cisco公司开发的技术,它既是⼀种交换技术,⼜是⼀种流量分析技术,同时也是业界主流的计费技术之⼀。NetFlow可以对特定⽹络位置的每个数据包进⾏采样,可以详细统计IP流量的时间、地点、协议类型、包数量、字节数、流数量等。NetFlow会告诉您谁在消耗带宽以及消耗带宽的原因,相⽐SNMP更加细致,主要应⽤于⾻⼲⽹流量采样、DDOS攻击检测等⼤流量分析领域。4. 基于实时抓包分析的流量分析技术
通过软件抓包⼯具如wireshark、tcpdump等进⾏实时抓包和分析,这也是个⼈⽤户做⽹络协议分析最常⽤的⽅式。该⽅式提供较为详细的从物理层到应⽤层的数据分析。但该⽅法主要侧重于协议分析,⽽⾮⽤户流量访问统计和趋势分析,仅能在短时间内对流经接⼝的数据包进⾏分析,⽆法满⾜⼤流量、长期的抓包和趋势分析的要求。
如何还原流量?
原始的⽹络流量以⼆进制⽅式呈现,⽆法直接读取和应⽤,因此需要通过相关⼯具和技术,把⽹络流量变成更加容易读取的数据信息,在这过程中就要对采集到的⽹络流量进⾏解码和分析,包括识别流量中的协议、业务、提取流量中的原始⽂件等。
流量数据包解析还原的过程,就是是对⼆进制⽐特流中各个位置的字段进⾏提取和解析重组的过程。当中使⽤了多种技术,包括端⼝匹配、流量特征检测、⾃动连接关联和⾏为特征分析。
1)端⼝匹配:在⽹络协议发展的过程当中,已经形成了⼀系列的标准协议规范, 其中规定了不同协议使⽤的端⼝如80端⼝的HTTP协议、53端⼝的DNS协议等等,另外很多⼴泛使⽤的应⽤程序虽然没有别标准化,但已经形成了事实上的标准端⼝。端⼝匹配就是根据这些标准或⾮标准的对应关系,根据TCP/UDP 的端⼝来识别应⽤。这种⽅式具有检测效率⾼的优点,弱点是容易被伪造, 因此在端⼝检测的基础上,还需要增加⼀些特征检测的判断和分析,来进⼀步分析这部分数据。
2)流量特征检测:相对于端⼝,不同的应⽤程序使⽤的协议也存在⼤量的共性。这些共性就是所谓的流量特征。对于流量特征的识别,⼤致分为两种:⼀种是有标准协议的识别如HTTP、DNS,TCP/IP
作为标准的通信协议,在对数据包链路层、⽹络层、传输层进⾏解码时,只需要参照标准格式规范进⾏解码分析即可;另⼀种是私有协议的识别,如果协议基于TCP或UDP协议采⽤的标准接⼝格式,只需要参照标准的格式进⾏解码分析即可,否则可能需要通过逆向⼯程分析协议机制,直接或解密后通过报⽂流的特征字段来识别该通信流量。
3)⾃动连接关联:随着互联⽹应⽤的发展,在互联⽹上传输的数据越来越多,单个连接完成所有任务的模式也逐渐开始出现瓶颈,因此很多协议开始采⽤动态协商端⼝的⽅式进⾏传输,这种模式最早出现在标准的 FTP 协议上,后来逐渐在语⾳、视频和⽂件的传输上⾯被⼴泛使⽤。为了识别这种数据,需要根据控制链接上⾯的报⽂信息,⾃动关联到数据传输的链接并对其进⾏还原,这种技术称为⾃动连接关联。4)⾏为特征分析:针对⼀些不便于还原的数据流量,可以采⽤⾏为特征的⽅法进⾏分析。这种⽅法不试图分析出链接上⾯的数据,⽽是使⽤链接的统计特征,如特定的特征字段、连接数、单个IP的连接模式、上下⾏流量的⽐例、数据包发送频率等指标来区分应⽤类型。如分析RDP或者SSH登陆等加密流量,可能⽆法完全还原流量通信内容,但是通过流量报⽂中的特定字段可以识别出该报⽂是主机登陆⾏为,⼀旦这类⾏为的报⽂异常⾼频出现,就能够判断可能出现登陆爆破的⾏为。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。