1数据流概念与模型
1.1数据流的概念
MonikaRauchHenzinger等人提出了数据流的概念。数据流是指按指定的顺序只能被一次读取的、连续的、无界的、随时间变化的数据项序列,用户无法任意访问很久以前的历史数据,也无法访问当前时刻以后的数据。数据项可以是关系元组,也可以是对象实例。数据流形式化描述如下:DS=t1,t2,t3,...,ti,{}...,其中ti为i时刻的数据项,t为元组S的时间戳。与传统的静态数据相比,数据流具有以下特征:1)无限性:数据流常常是无界或者近似无界,随着时间的推移,数据元素不断产生直至数据流结束。2)广域性:数据元素属性(维)的取值范围非常大,并且可以取的值也非常多,如网络节点、地域、手机号码等。3)动态性:数据流中的数据实时、连续、有序到达,整个数据集呈现动态特征。4)实效性:数据一旦被处理,可能被丢弃或归档,无法实现多次处理,无法对数据任意访问。
1.2数据流模型
基于数据流的网络异常行为检测,从流的角度,就是研究网络节点之间的通讯模式,研究数据流中特征值的分布规律,不同的检测方法需要构建不同的检测模型,不同的数据流模型采用的算法不同。目前在数据流研究领域存在多种数据流模型,按照处理时所选取的时序范围划分,主要有滑动窗口模型、界标窗口模型和快照模型三种。滑动窗口模型:数据流上的滑动窗口是指数据流上设定的区间,滑动窗口的大小可以由窗口所包含的数据项的数量定义,也可以由时间区间定义,随着数据的不断到达,窗口内的数据不断变换,新的数据不断代替旧的数据。假设数据流按照时间戳的先后次序进入滑动窗口。用户可以对数据执行插入、删除操作,滑动窗口模型适用于仅对最近时间段的数据处理的情况。界标窗口模型:建立在滑动窗口模型之上[1],处理的范围为一个已知的时间点到当前时刻所包含的n个数据,其中0<n≤N,n可以根据查询的要求而变化,仅仅允许对数据执行插入操作。快照模型:操作限制在两个预定义的时间戳之间[2],表示为{as,…,ae},其效率取决于时间戳以及数据量的大小,比较适合匀速到达的数据流。
2概要数据技术
为了有效处理数据流,需要建立远小于数据集的数据结构,从而在有限的内存中对数据进行处理,应用概要数据技术可以生成比当前数据流小得多的数据结构(概要数据结构),一般情况下,概要数据结构在大多的应用领域可以满足实际需要,常用的概要数据技术有抽样、Hash方法、直方图和小波。
2.1抽样
抽样从整个数据集中抽取小部分数据来表征整个数据集,可以根据小数据集得到对总体数据的近似结果,是界标窗口模型和滑动窗口模型常用的概要数据技术。根据各个数据项被选中的概率是否一样,抽样方法可以分为均匀抽样和偏移抽样。伯努利和水库抽样是两种经典均匀抽样设计,伯努利抽样用概率q∈(0,1]包含到达的数据元素,用概率1-q排除其他数据元素,取样过程简单、时间成本低。水库抽样中数据流中的数据以K/n的概率被选中,其中K为样本集的大小,n是当前到达的元素序号,且n>K,水库抽样适用于界标窗口模型,但对过期数据不能有效删除,不适用于滑动窗口模型。链式抽样是一种改进的水库抽样,能够获得整个滑动窗口上的一个样本集,利用多个数据元组的“链”来处理过期数据。
2.2Hash方法
Hash方法基于降维技术,对到达的数据项在一组随机向量上做投影,可以适用于多种数据流模型。Alon等人采用多组相互独立的投影,取所有估值的中值作为最终估值,降低了误差。
2.3直方图
直方图根据大数据集的分布将数据划为多个连续的桶,每个桶都有一个数字代表其特征,因此直方图能够反映大数据集中数据值的分布情况,简洁地表达大数据集的轮廓。根据桶内数据的分布情况,直方图一般可分为等宽、变宽等类型。等宽直方图中各个桶中包含的数据量较平均,能较好地模拟数据集,但是当某些数据项所占比例较大时,等宽直方图则表示不够准确,此时可以采用压缩直方图,压缩直方图单独为活跃的元素创建桶,其他元素仍用等宽法。指数直方图按照数据到达的次序构建桶,桶的数量按照不同的级别呈指数方式递增,用于生成基于滑动窗口模型下的概要数据,但是指数直方图只能处理滑动窗口中具有一元值和时间戳的数据。
2.4小波
小波分析把输入的原始模拟信号,变换成一系列的小波参数,这些小波参数保留了原始数据的大部分特征,根据内存空间的大小选取顶端的n个高能量参数即可近似地还原原始数据信息。
3网络异常行为检测
网络异常行为检测目前主要有两种途径:网络流量分析和网络协议分析[3]。网络流量分析检测网络异常的一般步骤是:采集流量信息、分析流量信息;建立正常行为流量模型;检测网络流量,发现异常行为。网络协议分析检测网络异常的一般步骤是:分解网络协议,提取特征参数,依据特征参数,检测异常行为。网络异常行为检测的过程分为三个阶段:数据预处理、概要信息提取、网络异常模式发现。数据预处理的目标是提高网络数据流的质量。网络检测中采集的数据可能含有噪声、不完整或者不一致,必须对原始数据进行清洗,更正或删除错误的、不一致的数据,纠正无效的、缺失的数据,规范数据格式,选取具有代表性的属性,并对有关属性进行合并和离散化处理。常见的网络用户行为发现模式有统计分析、分类、聚类等。统计分析一般通过分析会话文件,根据页面浏览时间、导航路径等,获取不同的统计信息,如频度、中值、均值等。统计分析方法可以实现对未知异常的检测,但是误报率高;分类是将一个数据项映射到预先给定的几个类别中的某一个,利用历史数据推导到给定数据的推广描述,应用较为广泛,主要包括神经网络、贝叶斯网络、决策树等分类算法;聚类是将数据集分组成多个簇,同一簇中的数据相似度较高,不同簇中的数据差别较大,聚类广泛应用在模式识别、趋势分析、相似搜索等领域。
4校园网络异常行为检测
4.1校园网面临的威胁
TCP/IP协议和网络物理链路带来的不安全是网络常见网络威胁,校园网除了面临这些威胁外,还受到特殊的安全威胁———用户滥用网络资源[4],如无节制通过BT、迅雷进行游戏、在线观看视频以及下载资源,导致网络带宽被部分人占用,不仅影响了他人的网速,而且造成网络资源的浪费。滥用网络资源将会表现出接收或者发送大量的数据包、对特定的IP地址请求的连接次数较多、对特定的IP地址发出有规律的连接请求等特征。因此,检测校园网滥用网络等异常行为,可以通过检测网络流量以及连接频率来实现。
4.2网络数据采集
数据采集一般使用采样技术,通常基于时间或者基于数据包采集,网络数据采集主要有基于sniffer流量、基于硬件探针、基于SNMP的流量以及基于Netflow的流量四种方法[5]。基于SNMP的流量采集方法部署简单,采集程序定时取出路由器内存中的IPAccounting记录,并清空相应的内存记录,这影响到路由器的性能,取得的数据只包含口层的数据,没有MAC地址信息,无法获取细节的变化;基于Net-flow的流量采集方法配置简单,可以获得比SNMP更详细的数据流信息,但是路由器或者交换机由于Net-flow功能的开启,性能受到影响,会损失一些数据流的细节信息;基于sniffer流量和硬件探针的采集方法可以获取较全面的数据流信息,但是采用硬件探针需要增加硬件成本,本文采用基于sniffer的流量采集方式。基于sniffer的采集有基于原始套节字的数据包和Winpcap开发包两种方式,本文的数据采集使用Winpcap开发包。为了保证检测数据的准确性和有效性,避免采集数据环节造成的漏检,采用一种随机可变时长的数据采集策略[5]。数据采集周期为时间间隔T,数据采集时长为t,其中0≤t≤T,随机确定t在T中的位置,避免由固定的采集时间造成的异常漏检,若发现了用户异常行为,则增大t,若增大t之后,未发现异常行为,则减少t,直至到指定的初始值为止。校园网中的数据很多,但能够反映网络用户行为的数据才是有价值的。目前的校园网络一般都把用户的IP地址与MAC地址捆绑,当用户上网时,凭借MAC地址与IP地址的对应关系即找到该用户的信息。检测网络异常行为主要通过检测源IP的网络流量、连接到同一目的IP的流量以及同一源IP、目的IP的连接频率是否正常,考虑到校园网网络异常网络的实际情况,选取源IP地址、目标IP地址、网络连接流量、连接开始时间和连接结束时间源IP地址连接频率、目标IP地址连接频率作为网络行为的特征值,其中源IP地址连接频率、目标IP地址连接频率是属于构造属性,其他属于原始属性。
4.3网络数据预处理
实际网络中的数据流并不是一致的、完整的,它具有突发性,这样的数据不宜直接用于后续处理,必须要进行预处理。数据预处理主要包括网络行为属性的选取和属性值的合并以及离散化。根据校园网络异常行为检测的目标,采用K-means聚类算法填充缺失值。4.4概要信息获取本文采用混合指数直方图获取概要数据信息。其中每一个指数直方图被进一步划分为基于时间的桶,这样每个指数直方图不仅与时间范围联系,而且与数据值的范围也有联系。对任意时刻到达的数据流增设权值wi,愈早到达的数据流wi愈大,而愈迟到达的数据流wi愈小;同时为每个活动直方图增设平 均时间戳TAi和平均权值wAi。
(1)混合直方图初始化。选择初始滑动窗口内的数据,应用数据模型聚类并放在不同的桶内,每一个桶建立一个指数直方图,桶内的数据按照时间戳和权值分类,每一个初始直方图都是活动的。
(2)更新混合指数直方图。①当新的数据到达时,更新所有的活动直方图,并查看、判断桶是否过期。②计算机活动直方图在数值范围内的数据项的个数,根据是否达到滑动窗口长度的极大值,若到达,则挑选合适的活动直方图并处理,构建新的活动直方图;若未到达,则将邻接的活动直方图合并整理,构建新的活动直方图。其中判断桶是否过期并进行删除更新的策略如下:①没有达到滑动窗口长度的极大值。计算每个活动窗口的平均时间戳TAi和平均权值wAi,比较所有直方图的平均时间戳TAi和平均权值wAi,若存在平均权值wAi最大且平均时间戳TAi最小的桶则认为过期,删除该桶;若不存在,则认为平均权值wAi最大的桶过期,删除该桶。②达到滑动窗口长度的极大值。认为平均时间戳TAi最小的桶则过期,删除该桶。
5结语
随着网络应用的普及,网络规模的扩大,网络数据量的增大,传统的网络数据离线分析方法已经不能满足网络应用发展的需要,基于数据流的检测技术可以实时监控网络行为,为网络异常行为的检测提供优质数据。实际网络中的采集的数据流并不是一致的、完整的,它具有突发性,这样的数据不宜直接用于后续的处理,必须要进行预处理。针对校园网络用户异常行为的特点,选择选取源IP地址、目标IP地址、网络连接流量、连接开始时间和连接结束时间源IP地址连接频率、目标IP地址连接频率作为网络行为的特征值,采用K-means聚类算法填充缺失值,采用混合指数直方图获取概要数据信息,为异常行为检测提供优质数据。
作者:李凌 李玲玲 单位:淮北职业技术学院