*
基于Netflow的网络安全态势感知系统研究
经济学院 周颖 U201112445摘 要:综述了网络安全态势感知系统的国内外研究现状;介绍了Netflow基本原理及其数据格式;提出了基于Netflow的网络安全态势感知系统结构;重点研究了实现本系统相关的关键技术。经试验表明,该方法合理可行。关键词:Netflow;网络安全态势感知;采样间隔;负载均衡
网络的快速发展和广泛应用,给社会经济和生活带来了巨大变化,而与此同时,网络蠕虫病毒、DoS/DDoS攻击等所造成的威胁和损失也越来越大,很多研究人员和机构已经开始意识到仅仅依赖于现有的网络安全产品是无法实现对整个网络态势的实时监控,因此迫切需要一种新技术新方法来完成该项任务,于是提出了网络安全态势感知系统(NSSAS)研究。针对该需求,结合Netflow能提供详细网络流量信息,并且工作时能很好地避免网络频宽及运算资源负担过重等优点,本文提出了基于Netflow的网络安全态势感知系统研究。
随后,很多研究机构也开始研制网络安全态势感知系统工具,如美国国家能源研究科学计算中心(NERSC)所领导的劳伦斯伯克利国家实验室(LawrenceBerkeleyNationalLabs)于2003年开发了“spinningcubeofpotentialdoom”系统
[6]
。2005
年,CMU/SEI领导的CERT/NetSA(CERTNetworkSituationalAwarenessGroup)开发了SILK[7](systemforInternet-levelknowledge)。该系统通过多种策略对大规模网络进行安全分析,并能在保持很高性能的前提下提供整个网络的安全态势感知能力。美国国家高级安全系统研究中心(NationalCenterforAdvancedSecureSystemsResearch,NCASSR)正在进行的SIFT(securityincidentfusiontool)项目,欲通过开发一个安全事件融合工具的集成框架,为Internet提供安全可视化。目前该机构已开发的Internet安全态势感知系统有NVisionIP[8]、VisFlow-Connect-IP[9]等。其他机构还有加拿大国防研究与开发中心(DefenceR&DCanada)、瑞士联邦技术院(ETHZurich)等。
在国内方面,冯毅[10]中从我军信息与网络安全的角度出发,阐述了我军积极开展网络态势感知研究的必要性和重要性,并指出了两项关键技术———多源传感器数据融合和数据挖掘。其他研究工作主要是围绕入侵检测、网络监控、网络应急响应、网络预警、网络安全评估等方面所开展的,这为开展网络安全态势感知系统研究奠定了一定的基础。
虽然目前在网络安全态势感知方面已经开展了一些研究工作,但还未能给出统一、全面的定义。在此为了有助于理解,给出网络安全态势感知的描述性定义。所谓网络安全态势感知,即是在大规模网络环境中,对能够引起网络态势发生变化的安全要素进行觉察、理解、显示以及预测未来的发展趋势。
1 相关工作
鉴于网络安全态势感知系统的研究才刚起步,因此先对其研究现状作一个简要介绍。1999年,T.Bass等人
[1]
首次提出
了网络态势感知(cyberspacesituationawareness,也称networksituationawareness)概念,即网络安全态势感知,并对网络态势感知与ATC态势感知进行了对比,旨在把ATC态势感知的成熟理论和技术推广到网络态势感知中。以此为基础,T.Bass
[2]
提出了基于多传感器数据融合的网络态势感知框架,
G.B.Stephen等人[3]在文章中提出了类似的框架结构。J.Shifflet[4]采用本体论(ontology)对网络安全态势感知相关概念进行了分析比较研究,并提出基于模块化的技术无关框架结构。C.J.Matheus等人
[5]
也采用了类似的方法,把ontology用
于刻画战场环境态势感知,这对网络安全态势感知系统研究也有一定的借鉴启发作用。其他开展这项研究的个人还有加拿大通信研究中心的A.DeMontigny-Leboeuf,伊利诺大学香槟分校的WilliamYurcik等。
值得注意的是,态势是一种状态,一种趋势,是一个整体和全局的概念。开展这项研究旨在对网络态势状况进行实时监控,对潜在的、恶意的网络行为变得无法控制之前进行识别、防御、响应以及预警,给出相应的应对策略。
2 Netflow简介
Netflow流量统计技术是由Cisco公司的DarrenKerr和BarryBruins在1996年开发的一套网络流量监测技术,得到了主流厂商如Juniper、Extreme等的支持。目前已内嵌在大部分Cisco路由器上,正逐渐成为业界标准。2.1 Netflow工作原理
Netflow工作原理如图1所示。在到达的数据包中按照流量采样间隔采样数据包,把所采集到的所有数据包过滤并汇聚成很多数据流,然后把这些数据流按照流记录(flowrecord)格式存入缓存中,满足导出条件后再把它们通过UDP协议导出。这里所说的流记录被定义为“一段时间内的某个观测点所通过的一系列分组(packet)。从观测点的角度看,所有同属于一个特定流记录的分组具有一些共同属性,这些特性是由分组中
所包含的数据信息和对这些分组的处理方式来决定的”[11]。
数据采集1数据过滤数据汇聚数据缓存UDP数据噎采集n数据过滤数据汇聚数据缓存UDP网络分析
图1 Netflow工作原理图
2.2 Netflow数据格式
根据传输UDP数据包格式的不同,Netflow目前分为v1、v5、v7、v9等版本,版本之间差异主要表现在对流采用的汇聚方法不同。但无论哪个版本,Netflow报文均是由报文头和多个流信息记录两部分构成。报文头主要由版本号、流记录个数、用于判断Netflow报文是否有丢失的序列号等字段组成。流记录中存放有详细的流信息,主要字段有源和目的IP地址、源和目的TCP/UDP端口、服务类型、包和字节计数、起始和结束时间戳、路由信息(下一跳地址、源AS、目的AS等)等。因为Netflow版本5所采集到的流数据可以支持不同维度的统计分析,因而广泛应用于网络安全分析和监控中。其报头格式如图2所示。
字节1
字节2
字节3
字节4
version
count
SysUptimeUNIXsecondsUNIXnanosecondsflowsequencenumber
enginetype
engineID
reserved
图2 Netflow版本5的报头格式
由于Netflow采用UDP协议来输出数据报文,可能会丢失数据。为了确定信息流输出信息是否丢失,版本5、7、9的报头信息格式中包含了一个信息流序列号(flowsequencenumber),如图2所示。这个序列号等于前一个序列号加上刚刚过去的数据报文中信息流的个数。当接收到一个新的数据报文后,接收程序可以从报头信息的序列号中提取出预期的序列号,这样
即可获取丢失信息流的数目。
3 基于Netflow的NSSAS结构
系统结构是开展该项研究的前提和基础,通过建立基于Netflow的网络安全态势感知系统的结构,可以明确系统组件与组件之间、组件与环境之间的关系,为各部分具体实现提供支持。在给出基于Netflow的网络安全态势感知系统结构之前,先简要给出网络安全态势感知系统基本功能需求。
1)数据采集 能实时监控和采集网络、服务、系统软件以及各种应用的状态数据,发现网络攻击行为或其他安全异常,支持大规模网络的安全态势感知;
2)事件响应 能融合、关联来自多种安全事件源的海量数据,综合分析、判断网络攻击和其他事件的类型,确定攻击行为的性质和可能影响,并及时报警和预警;
3)态势显示 能集中监控系统的安全态势,融合生成全局安全态势,提供多角度多尺度的安全态势表示,实现与统一态势图的集成。
在把握网络安全态势感知系统基本功能的基础上,结合Netflow的工作机制,提出了基于Netflow的网络安全态势感知系统结构,如图3所示。该结构主要由流数据采集、数据预处理、事件关联与目标识别、态势评估、威胁评估、响应与预警、态势可视化显示、过程优化控制与管理以及数据库管理系统等部分构成。
流数据1数过程优化控制和管理态势流数据2据事件关联态势威胁响应与可目标识别评估评估预警视决化策流数据左预处n理i显者数据库管理系统示图3 基于Netflow的网络安全态势感知系统结构
流数据采集主要通过内嵌于交换机或路由器的Netflow采集器按一定采样间隔来实现数据采集,如果有特殊需要,也可在相应的关键节点布置新的采集设备。数据预处理i(i=1,2,…,n)完成负载均衡器所分配的Netflow流数据,具体操作包括有数据筛选、数据简约、数据格式转换以及数据存储等功能。事件关联与目标识别采用数据融合技术对多源流数据从时间、空间、协议等多个方面进行关联和识别。态势评估包括态势元素提取、当前态势分析和态势预测,在此基础上形成态势分析报告和网络综合态势图,为网络安全管理员提供辅助决策信息。威胁评估是建立在态势评估基础之上的、关于恶意攻击的破坏能力和对整个网络威胁程度的估计。态势评估着重事件的出现,威胁评估则更着重事件和态势的效果。响应与预警主要依据事件威胁程度给出相应的响应和防御措施,再把响应预警处理后的结果反馈给态势和威胁评估来辅助态势和威胁评估。态势可视化为决策者提供态势评估结果(包括当前态势及未来态势)、威胁评估结果等信息显示。过程优化控制与管理主要负责从流数据采集到态势可视化的全过程优化控制与管理工作,同时将态势可视化的结果反馈到过程优化控制与管理模块,实现整个系统的动态优化,达到网络态势监控的最佳效果。数据库管理系统主要负责原始数据、特征库、态势库等内容的管理。
duling)、加权轮询调度算法(weightedround-robinscheduling)、4 关键技术
针对网络入侵和攻击正向分布化、规模化、复杂化、间接化等趋势发展,为了能够实时、准确地显示整个网络安全态势状况,提出基于Netflow实现网络安全态势感知,必须解决相应的技术问题。4.1 采样间隔
依据信道的繁忙程度而设定相应的采样间隔,减少采集器与路由器之间的通信频度,提高路由器的利用率。此外,从Netflow的工作原理也可以看出,采样间隔的大小对流量采集性能影响也是至关重要的。因此必须采用合理的方法对采样间隔进行设定。目前常用的采样方法有两种,即固定时间间隔采样和随机附加采样。前者虽然周期采样简单,但是很可能导致采样结果不全面、不真实;而后者样本之间是相互的,采样间隔是通过一个函数随机产生。如果选用泊松函数,则该样本将满足无偏的,且泊松采样不易引起同步,它能精确地进行周期采样,也不易被预先控制。由于泊松采样具有上述优点,RFC2330
[12]
也推荐使用该方法进行采样。
通过对RFC2330所定义的泊松采样模型分析可知,在平稳状态下t时间内路由器建立的连接数服从泊松分布。此时依据缓存区的大小即可算得采样间隔。
P[n(t)=k]=e-λt
(λt)k/(k!)
(1)
式中:λ是用户请求的平均到达率。
此时若设采集器缓冲区的长度为m(m=连接个数(k)×单位记录长度(v),k=1,2,…),则t时间内不溢出的概率为
kv
P=∑P[n(t)=i]=e
-λt
∑kv
(λt)i/i!
(2)
i=1i=1由于流量为分段的平稳泊松流,利用式(2),根据给定的P和λi可以计算出ti值作为该时间段内的采样间隔。4.2 负载均衡
在高速网络环境下的网络安全态势感知系统中,采用负载均衡,旨在将前端所采集的海量数据流信息分流,便于并行处理,提高系统性能(包括实时性、高效性等)。通常负载均衡按任务运行特征的预知情况可分为静态负载均衡和动态负载均衡两种。静态负载均衡往往依据先验知识作出决策,而动态负载均衡则是依据对系统当前负载信息的分析予以决策。两者的对比分析如表1所示。
表1 静态与动态负载均衡对比分析
对比项
内容
静态负载均衡
动态负载均衡
常用算法随机法、概率法、图论法、排队法中心任务调度算法、对称启等
动算法等适用范围特定应用的服务器
分布式计算环境缺点
算法复杂;缺乏对突发性事件的处理能力;通用性差系统开销大
优点
实现简单;系统开销小
灵活、有针对性;算法简单;实时处理异常事件
目前常用的负载均衡技术有基于DNS的负载均衡技术、反馈代理负载均衡、基于NAT的负载均衡技术、基于CORBA的负载均衡技术等。其中基于CORBA的负载均衡技术是目前较为流行的分布式计算负载解决方案。
基于以上的分析可知,要实现负载均衡,调度算法至关重要。目前常用的调度算法有轮询调度算法(round-robinsche-
最小连接调度算法(least-connectionscheduling)、加权最小连接调度算法(weightedleast-connectionscheduling)等。在保证数据完整性的前提下,考虑网络环境的动态性、高速性、多样性等特点,结合网络安全态势感知系统实时负载能力、可用性等因素,采用文献[13]中所提出的基于流的动态负载均衡算法(flow-baseddynamicloadbalance,FDLB)。该算法需要动态维护引擎负载表和数据包分发表,通过动态反馈和预测机制得到当前负载情况,以一个会话为分配单位,进行负载分流并行处理。具体流程有:引擎负载表的定时更新和维护;数据包的分发;数据包分发表的定时更新和维护。4.3 其他技术
其他技术还包括数据简约、数据挖掘、数据融合、响应与预警、入侵追踪以及态势可视化等。数据简约主要是去除数据中包含的冗余信息,防止大规模网络中的数据泛滥,减少数据的传输总量,提高后续数据分析效率。主要包括有属性约简、值约简、属性值域缩减三部分。数据挖掘主要是从海量数据中发现有用的可理解的数据模式,便于检测未知攻击和自动构建检测模型。常用分析方法有关联分析、序列模式分析、分类分析和聚类分析。数据融合主要是用于提高网络安全态势感知系统的检测率和分辨率。典型算法有贝叶斯网络、D-S证据推理
等。响应与预警技术主要研究灵活高效的响应、响应机制以及防御措施等。入侵追踪的研究重点是发现攻击者的数据传输路径和真实IP地址,实现对攻击者的定位,并且它是对网络入侵进行正确响应的重要前提。目前采用的主要方法有传输日志追踪、报文标记、链路测试、ICMP追踪等。态势可视化关注的是将海量数据以图形图像的方式直观地呈现给决策者,以便于决策者作出合理准确的决策,这就对海量安全状态数据可视化提出了新的要求,势必要求寻找新算法和技术予以实现。
5 仿真试验
为验证该方案的可行性和有效性,笔者搭建了一个实验平台。实验环境是CiscoCatalyst4506多层路由交换机一台,局域网内有主机六台(其中一台作为采集服务器),配置均为Red-hatLinux8.0/P43.0GHz/512MB/80GB,网速千兆到桌面。在采用Netflow进行网络监控之前,必须进行相应设置:a)接口配置模式启用Netflow,命令是iproute-cacheflow;b)设置发往采集服务器的版本号,命令是ipflow-exportv5;c)设置采集服务器的IP地址及UDP端口号,命令是ipflow-exportdestination192.168.36.121925;d)依据式(2)设定采样间隔为5000
1。
本实验主要依据五种服务(依次是RPC、DNS、SOCKS、TELNET、HTTP,其严重程度依次是3、3、2、1、1)来反映网络安全态势的变化情况。经融合推理得各个时间段安全态势级别如表2所示。表中给出了2006年4月27日14
00~1900
五种服务的不同时间(t=1,2,3,4,5)段运行状况。
表2 时间段t内网络安全态势级别
t
1
2345级别
3
9
14
6
4
由图4可知,该方法能很好地监测网络安全态势变化情况,为决策者作出及时准确的决策提供依据。