一种基于数据流分析的网络行为检测

512673824

贡献于2017-05-24

字数:0 关键词:

书书书     收稿日期:20130304;修回日期:20130425  基金项目:国家“973”计划资助项目(2011CB311801);河南省科技创新人才计划资助项 目(114200510001) 作者简介:魏浩(1988),男,山西太原人,博士研究生,主要研究方向为网络安全(weihao7360@sina.cn);陈性元(1963),男,安徽无为人,教 授,博导,博士,主要研究方向为网络安全;王超(1975),男,河南长垣人,讲师,博士,主要研究方向为网络安全;桂学绘(1968),女,河南新乡人, 教授,博士,主要研究方向为网络安全. 一种基于数据流分析的网络行为检测 魏 浩,陈性元,王 超,杜学绘 (解放军信息工程大学,郑州 450004) 摘 要:为了更好地对网络行为进行分析,提出了一种基于数据流分析的网络行为检测方法。通过分析网络系 统体系架构,对网络行为进行形式化建模,并针对网络行为特点提出了一种基于与或图的行为描述方法,最终设 计实现了基于数据流分析的网络行为检测算法。实验证明该方法能在多项式时间内完成数据流事件中的关系 分析,而且与其他算法相比,能有效提高网络行为检测的查准率。 关键词:网络数据流;数据流分析;网络行为;行为建模 中图分类号:TP39308   文献标志码:A   文章编号:10013695(2013)12380004 doi:10.3969/j.issn.10013695.2013.12.073 Networkbehaviordetectionbasedondatastreamanalysis WEIHao,CHENXingyuan,WANGChao,DUXuehui (PLAInformationEngineeringUniversity,Zhengzhou450004,China) Abstract:Tomakeabetteranalysisofnetworkbehavior,thispaperproposedamethodofnetworkbehaviordetectionbasedon datastreamanalysis.Firstly,itmodelednetworkbehaviorintoformalizationbyanalyzingthenetworksystemarchitecture.And aimingatthecharacteristicsofnetworkbehavior,itbroughtoutanexpressionofnetworkbehaviorontheand/orgraph.Final ly,itdesignedandimplementedthenetworkbehaviordetectionalgorithmbasedondatastreamanalysis.Theexperimentre sultsshowthattheproposedalgorithmcancompletetheanalysisoftherelationshipbetweendatastreameventsinpolynomial time,andcomparedwiththeotheralgorithm,thealgorithmcaneffectivelyimprovethenetworkbehaviordetectionprecision. Keywords:networkdatastream;datastreamanalysis;networkbehavior;behaviormodeling   随着网络技术的日益普及和迅速发展,网络应用越来越广 泛。对网络数据流进行分析可以实现对网络舆情的监测和对 网络事件的追踪,是进行网络入侵检测、网络态势感知等研究 的基础。如何对数据流分析,从而能够更全面地挖掘网络数据 流信息成为了近年来的研究热点。目前,针对网络行为的研 究,主要集中于基于流量分析的宏观网络行为和基于协议解析 的微观网络行为这两个方面[1,2]。 基于流量[3~7]的宏观分析中,文献[8]提出基于数据流的 统计信息构建网络的行为特征库,实现对网络的监测和发现异 常。文献[9]采用基于贝叶斯学习的方法,通过对大量用户 Web访问行为进行分析,实现了对垃圾页面的检测。文献 [10]采用聚类技术实现了用户 Web会话行为的推断。 基于协议解析[11,12]的微观分析中,文献[13]通过对即时 通信 MSN(Microsoftservicenetwork,微软网络服务)协议、HT TP(hypertexttransportprotocol,超文本传送协议)产生的数据流 进行协议还原,从而得到主机的网络行为。文献[14]中通过 对用户动态访问 Web页面资源的过程进行建模分析,实现了 对 Web资源访问行为的细粒度控制。 上述方法中,基于流量统计的网络行为分析,重点关注的 是网络内数据流整体的趋势,适于大数据量的分析和预测,却 无法检测出系统中偶然发生的具体行为;基于协议分析的方 法,主要关注的是单个数据流中的关键内容,没有将相关的前 后数据流的关联关系考虑进去。这些分析方法难以解决网络 数据流与实际网络行为中的语义差距。为解决上述问题,本文 提出一种基于数据流分析的网络行为检测方法。 本文首先对网络数据流进行建模分析,给出了数据流行为 的定义,并提出了基于与或图[15]的网络行为描述方法,在此基 础上设计了基于图的网络行为检测算法。该算法通过对数据 流事件中的关系进行分析,从而判断出用户的行为,实现了基 于数据流的网络行为检测。 ! 基于数据流的网络行为分析 对网络数据流进行分析,网络中的行为包括两种:a)用户 行为,如浏览页面、发送邮件等,这些行为均由用户主动发起和 执行;b)软件行为,如某些程序的自动更新、计算机的自动响 应、计算机内的木马病毒等,对于这类行为,用户可能毫不知 情,但是同样会产生大量数据流,并形成相应的网络行为。不 论哪种网络行为,反映到网络中都是大量连续的数据流信息, 其实质就是主机与服务器上的网络资源与服务之间的交互。 为了更好地对网络行为进行描述,参考了计算机网络的体系结 构[16],提出了一种层次的网络行为分析模型。 如图 1所示,本文将网络数据流分析分为三个层次,分别 第 30卷第 12期 2013年 12月  计 算 机 应 用 研 究 ApplicationResearchofComputers Vol.30No.12 Dec.2013 为数据层、事件层和行为层。行为层为网络中的访问行为(be havior),每种网络行为由多个动作组成,通过判断网络中是否 发生了某种事件来断定用户所执行的行为。事件层包含许多 网络事件(event),用户每完成一个动作便会触发一个网络事 件,一个网络事件由一系列数据流组成。数据层由网络中众多 数据流(datastream)构成。 !"#$%&'(! " # $ % # & ' # !) "%"*+,"- "%"*+,#-"%"*+,)- !" !# !) !" !# !) !" !# ( ) )*!"+,-. !! 数据流、事件与行为 为形式化描述网络数据流(图 2)及网络行为,下面给出几 个重要定义及其形式化表示。 !"# !"# $%& $%& '()*+, '()& -*./*. * 0 +,!"- 定义 1 数据流。数据的流动形成数据流,数据的传输所 基于的正是 TCP连接或 UDP报文。将任意两台主机之间的一 次链接或一个 UDP/ICMP包看做一个流[8]。 一个流用一个属性元组 X=〈x1,x2,…,xp〉表示,其中 xi(1≤i≤p)代表流的不同属性,如传输开始时间、传输结束时 间、源/目的 IP、源/目的 MAC、传输的总字节数、平均传输速度、 传输协议等。整个网络的行为可以看做是一系列流的汇总。 DS=f(X)=∑N-1 i=0Xi (1) 定义 2 事件。网络中,用户或系统每执行一个操作便会 产生一个网络事件,如登录系统、提交请求、访问资源等。事件 是语义的最小单位。一个事件是由若干数据流组成的序列,表 示为 E=〈X1,X2,…,Xk〉。显然,事件类型是一个有穷集,给定 一个事件类型集 ε={E1,E2,…,En},一个事件的发生就是一 个二元组(E,t)。其中,E∈ε,t表示该事件的发生时间,则有 事件序列 ES=∑M i=0(Ei,ti) (2) 定义 3 行为。它是为实现某个目的而进行的一系列相 关操作。一个网络行为 α是由若干类型的网络事件组成的, 可以表示为 α=〈E1,E2,…,Ek|(iffEi=Ej.proior)→(ti< tj)〉,其中,元素 Ei(1≤i≤k)∈ε且对于所有的 i和 j满足:若 Ei为 Ej的前件,Ei总是排列在 Ej之前。情节 α中的元素个数 称为 α的长度,记为 |α|。当 |α|=1时,一个事件就构成了一 个行为。 为更好地描述网络行为,解决数据流与网络行为之间的关 联映射问题,本文在分析中引入了与或图来对网络行为进行 讨论。 !" 基于与或图的网络行为描述 为解决数据流与行为的语义映射问题,本文采用与或图来 描述网络行为。一个图可以被认为是一个平台,用图上的顶点 来描述事件,用顶点之间的弧来描述事件之间的约束关系。 访问行为中存在大量循环过程,如连续查询、重复搜索等, 采用图来描述行为可以将上述行为转换为环路,从而降低了描 述的复杂度;另一方面,图可以比序列表达更多的关系,如描述 一些需要多个与次序无关的并发条件才能触发的事件。 定义 4 行为活动图。该图中一个节点就是一个事件,图 中的有向弧表明了事件发生的前后关系。每一个行为活动图 中,有一个起始节点,用来标志开始;有多个中间节点,用来表 示行为的中间过程;有一个结束节点,作为行为的结束。事件 的发生与行为活动图相匹配的时候,则认为发生了该行为。网 络行为可以被形式化为有向与或图 G=〈V,E〉,其中: a)V(G)={E1,E2,E3,…,En},是顶点集合,每一个顶点 E 对应一个事件。 b)E(G)={e1,e2,e3,…,em},是有向边集合,图中的有向 边 ei=〈El,Ek〉由事件 El指向事件 Ek,表明 El是 Ek的前件。 图 3所示为一个购物行为活动图,可知购物过程由一系列 相互关联的事件组成。在购物过程中用户会进行多次的搜索 和浏览来选择要购买的东西,仅当用户登录并且确定了要购买 的物品后才能提交订单。若用户在完成付款前退出或中止则 不能算是一次成功的购物过程。当服务器返回给用户最后的 确认信息后,整个过程才算结束。 !"#$%&'(! ")*+,# "-./0$ %12$ 12/0 /0 3456 789: ";<=>$ ?@! 78 AB CD "EFCD$ GH "IJK$ "-LGH$ M ! NOPQRSTUM 故本文给出行为发生的定义: 定义 5 发生。给定当前数据流 DS和行为 α=〈E1,E2, …,Ek〉,若数据流 DS上存在事件序列 ES=∑k i=1(Ei,ti),满 足 ti<ti+1(1≤i≤k-1),则称 DS上发生(或出现)了行为 α。 区间[t1,tk]为 α在 DS上的发生区间,其中,t1 和 tk分别称为 该发生的起始时间和终止时间。 " 基于数据流分析的网络行为检测 基于数据流分析的网络行为检测主要分为两个步骤,首先 是将数据流翻译成事件序列,然后根据事件序列查找行为活动 图,得出结果。目前,对于网络数据流协议的解析方面的研究 非常热门,对于一些常用协议,已经有比较成熟的软件可以实 现自动解析。数据流到事件序列的翻译,主要就是一个协议解 析的过程。鉴于此,本文对此不作深入研究。针对本文提出的 行为活动图,下面将着重讨论如何根据事件序列来检测网络 行为。 "! 算法的基本思想 由于数据流的产生过程是连续不断的,并且在一个数据流 中往往会同时包含多个行为序列,即多个行为同时在进行活 动。由于数据流产生的动态性,这也增加了分析判断的难度。 另一方面,由于网络中的事件重复率很高,往往一个事件会在 多种行为类型中出现,且网络变化较快,将每个网络行为以行 为活动图为单位单独保存不利于策略的同步和更新。 基于以上分析,本文将行为活动图进行扩展,提出网络行 ·1083·第 12期 魏 浩,等:一种基于数据流分析的网络行为检测         为分析图。一个网络行为分析图是一个平台,用图上的顶点来 描述事件,用顶点之间的有向弧来描述事件之间的约束关系。 如图 4所示为由若干行为活动图所组成的网络行为分析图。相 同颜色的部分属于同一个行为,显然不同行为之间会有重合的 部分。图中有多个输入和多个输出,仅当事件从特定入口输入, 经过特定中间节点从特定出口输出,才认为发生了某种行为。 定义 6 网络行为分析图。其形式化描述为 G(V,β,)。 其中: a)V(G)={E1,E2,E3,…,Eq}为所有事件的集合。 b)β(G)={B1,B2,B3,…,Bn}为有所有行为的集合,其中 B=(e1,e2,e3,…,ei)为某一行为中的所有事件间的约束要求 集合,ej=〈Es,Et〉为从源事件 Es到目的事件 Et的一条有 向弧。 c)(G)={A1,A2,A3,…,Am}为所有活动的集合。A= (O,R,β′)为一个活动状态,其中 O={o1,o2,…,ol}为某事件 序列中已经发生的事件集合,R={r1,r2,…,rp}为可达事件集 合,β′={B1,B2,…,Bn}为该活动可达的行为。当某事件发生 所需要的条件全部发生时,该事件变为可达的,存在 Bi使得所 有节点的约束要求为其子集。 根据网络行为分析图的定义 ,本文给出了行为发生的 推论。 推论 某行为发生,仅当结束事件发生,行为的序列存在 于网络行为分析图中,并且整个过程满足该行为要求的所有约 束条件。 "" 算法描述 在起始状态,行为匹配器将所提供的网络行为分析图载 入。在检测过程中,匹配器为每一个正在被检测的网络行为都 维持一个行为状态,包括一个行为目前的活动节点及可达的节 点。一个行为的起始事件要在网络行为分析图中查找,后面的 事件直接在可达节点中查找,这样缩小了查找范围,提高了速 度。当检测到结束节点发生时,则认为某行为发生。 输入:网络数据流事件序列 ES,网络行为分析图 G(E,β,)。 输出:用户行为 B。 算法:Analgorithmfornetworkbehaviordetect(NBD) beginNBD 1 loadG(E,β,),ES 2 clear,β′ 3 whileESisnotemptydo 4 begin 5  removethefirstelementEnfromES; 6  if(Enisthestarteventofanewbehavior)then 7  createanewactivityk; 8  appendEnintok.O; 9  if(Enisnottheendnode)then 10  foreachel∈β(G)do 11  begin 12   if(el.Es==En)then 13   appendel.Ettok.R; 14   appendeltok.β′; 15  end 16  elseif(Enisnotastartevent)then 17  if{(Ev==Er)∧(Ev∈k.O)}then 18  if(Evisnotendnode)then 19  foreacheu∈k.β′do 20  begin 21   appendel.Ettok.R; 22   appendeltoβ′; 23  end 24  setk.β′=β′ 25  elseif(Evisendnode)then 26  returnB; 27  elsereturnerror; 28 end endNBD "# 复杂性分析 算法第 1、2行是初始化过程,可在常数时间内完成;算法 第 3~27行是主体部分,下面给出详细的分析。 第 3行判断待检测的事件序列是否为空,判断次数为 O (n)数量级。算法第 5~27行是外层循环的循环体。第 5~9 行分别为移除元素、判断、创建、插入等操作,均可在常数时间 内完成。第 10行的循环次数为 O(m)数量级。第 12~14行 为内层循环的循环体,分别为比较和插入,可在常数时间内完 成。第 16和 18行是两个判断,可在常数时间内完成。第 17 行需要查找匹配,在最坏情况下可在 O(q)时间内完成。第 19 行在最坏情况下可在 O(m)时间内完成。第 21、22行为内层 循环的循环体,分别为两个插入操作,可在常数时间内完成。 第 24~27行分别为赋值、判断、返回结果等操作,可在常数时 间内完成。 综上所述,本文的网络行为检测算法总的时间复杂度为 O (nmq),这里 n为数据流中的事件数目,m为弧数目,q为事件 数目。当行为规则集确定时,m和 q均为固定值,此时算法的 复杂度变为 O(n)。 # 实验及结果分析 在平台为 Linux2.6,CPU为 Intel Core3.0GHz,内存为 2GBDDRⅡ的主机上对本文所提出的方法进行了初步实现。 为了对检验算法作一个横向比较,实验选取了其他两种网 络行为检测算法,分别为 算法 1 文献[8]中提到的基于流量统计的网络行为检测。 算法 2 文献[13]中提到的基于协议解析的网络行为分 析方法。 算法 3 NBD,本文设计的网络行为检测算法。 实验使用了三份数据。其中一份数据来自 MIT林肯实验 室,较具权威性。其余两份是研究人员获取和制作的,各主要 属性列在表 1之中。 表 1 实验数据 数据集名称 来源 所含内容 大小/GB datasetA MIT林肯实验室 Web入侵、 DDoS、TCPScan 11.2 datasetB 某市电子政务 内网核心交换机 Web访问、P2P、 即时通信、FTP 105.4 datasetC 课题组开发的 OA办公系统 Web访问 1.3   使用查准率来衡量实验的效果: 查准率 =被正确检出行为数量 /被检出行为数量 图 5是三种算法应用在三个不同数据集上的结果,所用算 法预先都进行了充分的预处理。 !"#$ %&#$ '(#$ ) ! *+,-./) ) " 01234) 0 1 2 # $%& $%' $%! $%( $ 56 ) 56 * 56 + 78 # 78 ( 78 ,-.*/0 由结果可知,算法 1和 2对于数据集 A的查准率最高,NBD ·2083· 计 算 机 应 用 研 究 第 30卷 对于数据集 C的查准率最高,三种算法对于数据集 B的查准率 最低。综合三个数据集的测试结果,算法 3的效果最好。 对实验结果进行分析,数据集 A中的内容主要是一些网 络入侵行为的数据,这些数据的特征比较明显,传统的数据流 分析手段基本都对这些特征进行了优化,因此检测效果较好, 算法 1略优于算法 2,本文的 NBD算法经过充分的预处理也达 到了不错的查准率。数据集 B来源于某市基于互联网电子政 务信息系统的内网核心交换机,经过抓包分析,这些数据包中 不仅包含电子政务信息系统运行所产生的信息,还包含了大量 来自互联网的数据和一些即时通信、P2P应用等程序所产生的 数据,进而还可能包含一些木马病毒等恶意程序产生的数据。 此外,政务办公系统中传输的数据有较强的时效性,不同时间 段内,其中的数据成分也有很大不同,这给基于统计分析的算 法 1造成了一些困难,此时基本协议解析的算法 2效果好于算 法 1,本文的 NBD算法将数据流解析与网络行为结合达到了 更好的检测效果。数据集 C来源于本课题组开发的 OA办公 系统,其中所捕获的数据较为单一,主要为信息系统运行所产 生的 Web访问数据。由于数据较为纯净,三种算法的检测效 果均较数据集 B有所提高,但本文的 NBD算法优势更为明显。 分析其原因是由于针对某一具体的信息系统,其中的访问数据 主要为 HTTP,数据流之间的流量特征和协议区别不是很明 显。相反对于本文的 NBD算法,能够捕获系统运行过程中的 行为信息,提高了检测的准确率。 由实验可以发现,本文所提出的 NBD算法在三种不同条 件下,其效果均优于其他两种方法。但是本文提出的算法亦存 在不足,该算法需要预先进行处理,提取数据流中的事件并建 立相应的网络行为分析图,且检测效果与分析图的选择有较大 关系。不过,具体到某一个应用环境中,其中的特定行为模式 在一定时间内一般变化不大,采用本方法可以实现更好的检测 效果。 $ 结束语 对数据流进行分析,获取数据流中的潜在规律,能够为许 多现实应用提供重要的决策支持。本文提出了一种基于数据 流分析的网络行为检测方法。通过对网络数据流进行建模分 析,提出一种基于与或图的网络行为描述方法;在此基础上又 设计了基于数据流分析的网络行为检测算法,提高了对网络行 为的检测能力。本文所提出的数据流分析方法可适用于基于 数据流的访问控制、审计分析、行为预测等诸多领域,具有广泛 的应用价值。 参考文献: [1] 余晓永.基于网络行为分析的入侵检测系统研究[D].合肥:合肥 工业大学,2009. [2] 胡柳武.网络行为检测与评估技术研究[D].北京:北方工业大 学,2012. [3] BABCOCKA K,BABU S,DATAR M.Modelandissuesindata stream systems[C]//Procofthe21stACM SIGACTSIGMODSI GARTSymposiumonPrinciplesofDatabaseSystems.NewYork:ACM Press,2002:116. [4] 祝然威,王鹏,刘马金.基于计数的数据流频繁项挖掘算法[J]. 计算机研究与发展,2011,48(10):18031811. [5] 常建龙,曹锋,周傲英.基于滑动窗口的进化数据流聚类[J].软件 学报,2007,18(4):905918. [6] 杨博,刘大有,LIUJiming,等.复杂网络聚类方法[J].软件学报, 2009,20(1):5466. [7] 延皓.基于流量监测的网络用户行为分析[D].北京:北京邮电大 学,2011. [8] 李军,曹文君,李杨.FBNBAS:一种基于流的网络行为分析模型 [J].计算机工程,2008,34(3):165167. [9] LIUYiqun,CENRongwei,ZHANGMin,etal.IdentifyingWebspam withuserbehavioranalysis[C]//ProcofAIRWeb.2008. [10]BIANCOA,MARDENTEG,MELLIAM,etal.Webusersessionin ferencebymeansofclusteringtechniques[J].IEEE/ACM Transon Networking,2009,17(2):405416. [11]陈亮,龚俭,徐选.基于特征串的应用层协议识别[J].计算机工 程与应用,2006,42(24):1619. [12]MEISSM,DUNCANJ,GONCALVESB,etal.What’sinasession: trackingindividualbehaviorontheWeb[C]//Procofthe20thACM ConferenceonHypertextandHypermedia.2009:173182. [13]牛瑞.主机网络行为模式特征与辨识研究[D].北京:北京化工 大学,2008. [14]单棣斌,陈性元,张斌,等.基于数据流分析与识别的 Web资源访 问控制[J].计算机工程,2008,34(23):5355. [15]LUGERGF.Artificialintelligence:structuresandstrategiesforcom plexproblemsolving[M].[S.l.]:PearsonEducation,2002:8991. [16]谢希仁.计算机网络[M].4版.北京:电子工业出版社,2003:20 23. [17]张文,沈磊.基于特征进程的 P2P流量识别[J].计算机工程, 2008,34(15):120122. (上接第 3785页) 参考文献: [1] VIGANOL.AutomatedsecurityprotocolanalysiswiththeAVISPA tool[J].ElectronicNotesin TheoreticalComputerScience, 2006,155:6186. [2] ARMANDOA,BASIND,BOICHUTY,etal.TheAVISPAtoolforthe automatedvalidationofInternetsecurityprotocolsandapplications [C]//LectureNotesinComputerScience,vol3576.Berlin:Springer Verlag,2005:281285. [3] DOLEVD,YAOAC.Onthesecurityofpublickeyprotocols[J]. IEEETransonInformationTheory,1983,29(2):198208. [4] BRADNERS,MANKINA,SCHILLERJ.Aframeworkforpurpose builtkeys(PBK)[EB/OL].[20130120].http://tools.ietf.org/ search/draftbradnerpbkframe06. [5] TheAVISPATeam.TheHLPSLtutorial:abeginner’sguidetomode lingandanalysingInternetsecurityprotocols[EB/OL].[201301 20].http://www.avispaproject.org. [6] TheAVISPATeam.AVISPAv1.1usermanual[EB/OL].[201301 20].http://www.avispaproject.org. [7] DILLOWAYC,LOWEG.Onthespecificationofsecurechannels [C]//Procofthe7thInternationalWorkshoponIssuesintheTheory ofSecurity.2007:118123. [8] CERVESATOI,JAGGARDAD,SCEDROVA,etal.Breakingand fixingpublickeyKerberos[J].Information and Computation, 2008,206(24):402424. [9] 冯超,张权,唐朝京.计算可靠的 DiffieHellman密钥交换协议自 动证明[J].通信学报,2011,32(10):118121. [10]徐恒,陈恭亮,杨福祥.密钥交换中中间人攻击的防范[J].信息 安全与通信保密,2009(2):9092. ·3083·第 12期 魏 浩,等:一种基于数据流分析的网络行为检测    

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档