一种基于数据流分析的网络行为检测
2023-01-04
来源:飒榕旅游知识分享网
第30卷第12期 2013年12月 计算机应用研究 Application Research of Computers Voi.30 No.12 Dee.2013 一种基于数据流分析的网络行为检测术 魏浩,陈性元,王超,杜学绘 (解放军信息工程大学,郑州450004) 摘要:为了更好地对网络行为进行分析,提出了一种基于数据流分析的网络行为检测方法。通过分析网络系 统体系架构,对网络行为进行形式化建模,并针对网络行为特点提出了一种基于与或图的行为描述方法,最终设 计实现了基于数据流分析的网络行为检测算法。实验证明该方法能在多项式时间内完成数据流事件中的关系 分析,而且与其他算法相比,能有效提高网络行为检测的查准率。 关键词:网络数据流;数据流分析;网络行为;行为建模 中图分类号:TP393.08 文献标志码:A 文章编号:1001—3695(2013)12 3800—04 doi:10.3969/j.issn.1001—3695.2013.12.073 Network behavior detection based 0n data stream analysis T WEI Hao,CHEN Xing—yuan,WANG Chao,DU Xue—hui (尸L4 Information Engineering University,Zhengzhou 450004.China) Abstract:To make a better analysis of network behavior.this paper proposed a method of network behavior detection based on data stream analysis.Firstly.it modeled network behavior into formalization by analyzing the network system architecture.And aiming at the characteristics of network behavior it brought out an expression of network behavior on the and/or graph.Fina1. 1y.it designed and implemented the network behavior detection algorithm based on data stream analysis.The experiment re— sufts show that the proposed algorithm can complete the analysis of the relationship between data stream events in polynomial time.and compared with the other algorithm,the algorithm can effeetively improve the network behavior detection precision. Key words:network data stream:data stream analysis;network behavior:behavior modeling 随着网络技术的日益普及和迅速发展,网络应用越来越广 泛。对网络数据流进行分析可以实现对网络舆情的监测和对 网络事件的追踪,是进行网络入侵检测、网络态势感知等研究 法,主要关注的是单个数据流中的关键内容,没有将相关的前 后数据流的关联关系考虑进去。这些分析方法难以解决网络 数据流与实际网络行为中的语义差距。为解决上述问题,本文 提出一种基于数据流分析的网络行为检测方法。 本文首先对网络数据流进行建模分析,给出了数据流行为 的定义,并提出了基于与或图” 的网络行为描述方法,在此基 础上设计了基于图的网络行为检测算法。该算法通过对数据 流事件中的关系进行分析,从而判断出用户的行为,实现了基 于数据流的网络行为检测。 ・ 的基础。如何对数据流分析,从而能够更全面地挖掘网络数据 流信息成为了近年来的研究热点。目前,针对网络行为的研 究,主要集中于基于流量分析的宏观网络行为和基于协议解析 的微观网络行为这两个方面 。 。 基于流量 的宏观分析中,文献[8]提出基于数据流的 统计信息构建网络的行为特征库,实现对网络的监测和发现异 常。文献[9]采用基于贝叶斯学习的方法,通过对大量用户 Web访问行为进行分析,实现了对垃圾页面的检测。文献 f l0]采用聚类技术实现了用户Web会话行为的推断。 1 基于数据流的网络行为分析 对网络数据流进行分析,网络中的行为包括两种:a)用户 行为,如浏览页面、发送邮件等,这些行为均由用户主动发起和 基于协议解析 ” 的微观分析中,文献[13]通过对即时 通信MSN(Microsoft service network,微软网络服务)协议、HT— 执行;b)软件行为,如某些程序的自动更新、计算机的自动响 应、计算机内的木马病毒等,对于这类行为,用户可能毫不知 情,但是同样会产生大量数据流,并形成相应的网络行为。不 论哪种网络行为,反映到网络中都是大量连续的数据流信息, 其实质就是主机与服务器上的网络资源与服务之间的交互。 为了更好地对网络行为进行描述,参考了计算机网络的体系结 构 ,提出了一种层次的网络行为分析模型。 如图1所示,本文将网络数据流分析分为三个层次,分别 TP(hypertext transport protocol,超文本传送协议)产生的数据流 进行协议还原,从而得到主机的网络行为。文献[14]中通过 对用户动态访问Web页面资源的过程进行建模分析,实现了 对Web资源访问行为的细粒度控制。 上述方法中,基于流量统计的网络行为分析,重点关注的 是网络内数据流整体的趋势,适于大数据量的分析和预测,却 无法检测出系统中偶然发生的具体行为;基于协议分析的方 收稿日期:2013.03—04;修回日期:2013—04—25 目(114200510001) 基金项目:国家“973”计划资助项目(2011CB311801);河南省科技创新人才计划资助项 作者简介:魏浩(1988一),男,山西太原人,博士研究生,主要研究方向为网络安全(weihao7360@sina,el1);陈性元(1963一),男,安徽无为人,教 授,博导,博士,主要研究方向为网络安全;王超(1975一),男,河南长垣人,讲师,博士,主要研究方向为网络安全;桂学绘(1968一),女,河南新乡人, 教授,博士,主要研究方向为网络安全. 第12期 魏浩,等:一种基于数据流分析的网络行为检测 ・3801・ 为数据层、事件层和行为层。行为层为网络中的访问行为(be— havior),每种网络行为由多个动作组成,通过判断网络中是否 发生了某种事件来断定用户所执行的行为。事件层包含许多 网络事件(event),用户每完成一个动作便会触发一个网络事 件,一个网络事件由一系列数据流组成。数据层由网络中众多 采用图来描述行为可以将上述行为转换为环路,从而降低了描 述的复杂度;另一方面,图可以比序列表达更多的关系,如描述 一些需要多个与次序无关的并发条件才能触发的事件。 定义4行为活动图。该图中一个节点就是一个事件,图 中的有向弧表明了事件发生的前后关系。每一个行为活动图 数据流(data stream)构成。 行 为 层 事 件 层 数 据 层 图1网络行为分析模型 1.1数据流、事件与行为 为形式化描述网络数据流(图2)及网络行为,下面给出几 个重要定义及其形式化表示。 数据流 图2 l碉络数据流 定义1数据流。数据的流动形成数据流,数据的传输所 基于的正是TCP连接或UDP报文。将任意两台主机之间的一 次链接或一个UDP/ICMP包看做一个流 J。 一个流用一个属性元组X=( 。, ,…, )表示,其中 (1≤ ≤p)代表流的不同属性,如传输开始时间、传输结束时 间、源/目的IP、源/目的MAC、传输的总字节数、平均传输速度、 传输协议等。整个网络的行为可以看做是一系列流的汇总。 DS=,( )=∑N-o X (1) 定义2事件。网络中,用户或系统每执行一个操作便会 产生一个网络事件,如登录系统、提交请求、访问资源等。事件 是语义的最小单位。一个事件是由若干数据流组成的序列,表 示为E:(X ,X2,…,X )。显然,事件类型是一个有穷集,给定 一个事件类型集 ={E ,E ,…,E },一个事件的发生就是一 个二元组(E,t)。其中,E∈ ,t表示该事件的发生时间,则有 事件序列 £S=∑ M(E , ) (2) 定义3行为。它是为实现某个目的而进行的一系列相 关操作。一个网络行为O/是由若干类型的网络事件组成的, 可以表示为O/=(El,E2,…, I(if E :E,.proior)一(t < tj)),其中,元素E (1≤i≤k)∈8且对于所有的i和 满足:若 E 为E 的前件,E 总是排列在E 之前。情节 中的元素个数 称为 的长度,记为l l。当I OLI=1时,一个事件就构成了一 个行为。 为更好地描述网络行为,解决数据流与网络行为之间的关 联映射问题,本文在分析中引入了与或图来对网络行为进行 讨论。 1.2基于与或图的网络行为描述 为解决数据流与行为的语义映射问题,本文采用与或图来 描述网络行为。一个图可以被认为是一个平台,用图上的顶点 来描述事件,用顶点之问的弧来描述事件之间的约束关系。 访问行为中存在大量循环过程,如连续查询、重复搜索等, 中,有一个起始节点,用来标志开始;有多个中间节点,用来表 示行为的中间过程;有一个结束节点,作为行为的结束。事件 的发生与行为活动图相匹配的时候,则认为发生了该行为。网 络行为可以被形式化为有向与或图G=(V,E),其中: a)V(G)={E ,E:,E 一,E },是顶点集合,每一个顶点E 对应一个事件。 b)E(G)={e ,e:,e 一,e {,是有向边集合,图中的有向 边e =(E ,E )由事件E 指向事件 ,表明E 是E 的前件。 图3所示为一个购物行为活动图,可知购物过程由一系列 相互关联的事件组成。在购物过程中用户会进行多次的搜索 和浏览来选择要购买的东西,仅当用户登录并且确定了要购买 的物品后才能提交订单。若用户在完成付款前退出或中止则 不能算是一次成功的购物过程。当服务器返回给用户最后的 确认信息后,整个过程才算结束。 (重新 (身份信息)/萼 /^\=≥ 苫 //i退出) 二> 多次浏览2=垂 . 遣 重 f f返回确认) 结束:l 垂. I 图3一个购物行为活动图 故本文给出行为发生的定义: 定义5发生。给定当前数据流DS和行为 =(E。,E , …,E ),若数据流D5上存在事件序列ES=∑ : (E ,t ),满 足t <t…(1≤i≤ 一1),则称DS上发生(或出现)了行为 。 区间[t ,t ]为 在DS上的发生区间,其中,t。和£ 分别称为 该发生的起始时间和终止时问。 2基于数据流分析的网络行为检测 基于数据流分析的网络行为检测主要分为两个步骤,首先 是将数据流翻译成事件序列,然后根据事件序列查找行为活动 图,得出结果。目前,对于网络数据流协议的解析方面的研究 非常热门,对于一些常用协议,已经有比较成熟的软件可以实 现自动解析。数据流到事件序列的翻译,主要就是一个协议解 析的过程。鉴于此,本文对此不作深入研究。针对本文提出的 行为活动图,下面将着重讨论如何根据事件序列来检测网络 行为。 2.1算法的基本思想 由于数据流的产生过程是连续不断的,并且在一个数据流 中往往会同时包含多个行为序列,即多个行为同时在进行活 动。由于数据流产生的动态性,这也增加了分析判断的难度。 另一方面,由于网络中的事件重复率很高,往往一个事件会在 多种行为类型中出现,且网络变化较快,将每个网络行为以行 为活动图为单位单独保存不利于策略的同步和更新。 基于以上分析,本文将行为活动图进行扩展,提出网络行 ・3802・ 计算机应用研究 25 第30卷 为分析图。~个网络行为分析图是一个平台,用图上的顶点来 else if(E is end node)then 描述事件,用顶点之间的有向弧来描述事件之间的约束关系。 如图4所示为由若干行为活动图所组成的网络行为分析图。相 同颜色的部分属于同一个行为,显然不同行为之问会有重合的 部分。图中有多个输入和多个输出,仅当事件从特定入口输入, 经过特定中间节点从特定出口输出,才认为发生了某种行为。 定义6网络行为分析图。其形式化描述为G(V, ,a)。 其中: a)V(G)={E ,E2,E ,…,E。}为所有事件的集合。 b) (G)={曰。,B:, ,…,B }为有所有行为的集合,其中 B=(e ,e:,e,,…,e )为某一行为中的所有事件间的约束要求 集合,e,=<E ,E )为从源事件E 到目的事件E 的一条有 向弧。 c)a(G)={A ,A ,4,,…, }为所有活动的集合。A= (O,R,卢 )为一个活动状态,其中O={O。,o:,…,o {为某事件 序列中已经发生的事件集合,R={r ,F2,…, }为可达事件集 合,卢 ={B。,B:,…,B }为该活动可达的行为。当某事件发生 所需要的条件全部发生时,该事件变为可达的,存在B 使得所 有节点的约束要求为其子集。 根据网络行为分析图的定义,本文给出了行为发生的 推论。 推论某行为发生,仅当结束事件发生,行为的序列存在 于网络行为分析图中,并且整个过程满足该行为要求的所有约 束条件。 2.2算法描述 在起始状态,行为匹配器将所提供的网络行为分析图载 入。在检测过程中,匹配器为每一个正在被检测的网络行为都 维持一个行为状态,包括一个行为目前的活动节点及可达的节 点。一个行为的起始事件要在网络行为分析图中查找,后面的 事件直接在可达节点中查找,这样缩小了查找范围,提高了速 度。当检测到结束节点发生时,则认为某行为发生。 输入:网络数据流事件序列ES,网络行为分析图G(E, ,0)。 输出:用户行为 。 算法:An algorithm for network behavior detect(NBD) begin NBD 1 load G(E,B,0),ES 2 clear 0,B 3 while ESis not empty do 4 begin 5 remove the first e]ement E from ES; 6 if(En is the start event of a new behavior)then 7 create a new activity dk; 8 append E into ak.O; 9 if(En is not the end node)then 10 for each e】∈p(G)do 11 begin 12 if( 1.E =:E )then 13 append e1.Et to ak.R; 14 append el to dk.B ; 15 end 16 else if(En is not a start event)then 17 if{(jE ==E )A(E ∈ak.O)}then 18 if(E is not end node)then 19 for each eu∈ak.p do 20 begin 21 append e1.EIto dk.R; 22 append el to B ; 23 end 24 set ak.B =p 26 return B; 27 else return error; 28 end end NBD 2.3复杂性分析 算法第1、2行是初始化过程,可在常数时间内完成;算法 第3—27行是主体部分,下面给出详细的分析。 第3行判断待检测的事件序列是否为空,判断次数为0 (n)数量级。算法第5—27行是外层循环的循环体。第5 9 行分别为移除元素、判断、创建、插入等操作,均可在常数时间 内完成。第10行的循环次数为0(m)数量级。第12~14行 为内层循环的循环体,分别为比较和插入,可在常数时间内完 成。第16和18行是两个判断,可在常数时间内完成。第17 行需要查找匹配,在最坏情况下可在O(q)时间内完成。第19 行在最坏情况下可在0(m)时间内完成。第21、22行为内层 循环的循环体,分别为两个插入操作,可在常数时间内完成。 第24~27行分别为赋值、判断、返回结果等操作,可在常数时 间内完成。 综上所述,本文的网络行为检测算法总的时间复杂度为O (nmq),这里 为数据流中的事件数目,m为弧数目, 为事件 数目。当行为规则集确定时,m和q均为固定值,此时算法的 复杂度变为D(n)。 3实验及结果分析 在平台为【jnux 2.6,CPU为Intel@Core 3.0 CHz,内存为 2 CB DDR II的主机上对本文所提出的方法进行了初步实现。 为了对检验算法作一个横向比较,实验选取了其他两种网 络行为检测算法,分别为 算法1文献[8]中提到的基于流量统计的网络行为检测。 算法2文献[13]中提到的基于协议解析的网络行为分 析方法。 算法3 NBD,本文设计的网络行为检测算法。 实验使用了三份数据。其中一份数据来自MIT林肯实验 室,较具权威性。其余两份是研究人员获取和制作的,各主要 属性列在表1之中。 表1实验数据 使用查准率来衡量实验的效果: 查准率=被正确检出行为数量/被检出行为数量 图5是三种算法应用在三个不同数据集上的结果,所用算 法预先都进行了充分的预处理。 0 辩 0。 图4网络行为分析图 图5查准率比较图 由结果可知,算法1和2对于数据集A的查准率最高.NBD 第12期 魏浩,等:一种基于数据流分析的网络行为检测 。3803・ 对于数据集C的查准率最高,三种算法对于数据集B的查准率 最低。综合三个数据集的测试结果,算法3的效果最好。 对实验结果进行分析,数据集A中的内容主要是一些网 数据流的访问控制、审计分析、行为预测等诸多领域,具有广泛 的应用价值。 参考文献: [1]余晓永.基于网络行为分析的入侵检测系统研究[D].合肥:合肥 工业大学,2009. [2]胡柳武.网络行为检测与评估技术研究[D].北京:北方工业大 学,2012. [3]BABCOCK A K,BABU S,DATAR M.Model and issues in data 络入侵行为的数据,这些数据的特征比较明显,传统的数据流 分析手段基本都对这些特征进行了优化,因此检测效果较好, 算法1略优于算法2,本文的NBD算法经过充分的预处理也达 到了不错的查准率。数据集B来源于某市基于互联网电子政 务信息系统的内网核心交换机,经过抓包分析,这些数据包中 不仅包含电子政务信息系统运行所产生的信息,还包含了大量 stream systems[c]//Proc of the 21 st ACM SIGACT—SIGMOD・SI— GART Symposium on Principles of Database Systems.New York:ACM Press,2002:1-16. 来自互联网的数据和一些即时通信、P2P应用等程序所产生的 数据,进而还可能包含一些木马病毒等恶意程序产生的数据。 此外,政务办公系统中传输的数据有较强的时效性,不同时间 段内,其中的数据成分也有很大不同,这给基于统计分析的算 法1造成了一些困难,此时基本协议解析的算法2效果好于算 法1,本文的NBD算法将数据流解析与网络行为结合达到了 更好的检测效果。数据集C来源于本课题组开发的OA办公 [4]祝然威,王鹏,刘马金.基于计数的数据流频繁项挖掘算法[J]. 计算机研究与发展,2011,48(10):1803-1811. [5]常建龙,曹锋,周傲英.基于滑动窗口的进化数据流聚类[J].软件 学报,2007,18(4):905-918. [6]杨博,刘大有,LIU Ji-ming,等.复杂网络聚类方法[J].软件学报, 2009,20(1):54-66. 系统,其中所捕获的数据较为单一,主要为信息系统运行所产 生的Web访问数据。由于数据较为纯净,三种算法的检测效 果均较数据集B有所提高,但本文的NBD算法优势更为明显。 [7]延皓.基于流量监测的网络用户行为分析[D].北京:北京邮电大 学,2011. [8]李军,曹文君,李杨.FB—NBAS:一种基于流的网络行为分析模型 分析其原因是由于针对某一具体的信息系统,其中的访问数据 主要为H1rI’P,数据流之间的流量特征和协议区别不是很明 显。相反对于本文的NBD算法,能够捕获系统运行过程中的 行为信息,提高了检测的准确率。 由实验可以发现,本文所提出的NBD算法在三种不同条 件下,其效果均优于其他两种方法。但是本文提出的算法亦存 在不足,该算法需要预先进行处理,提取数据流中的事件并建 立相应的网络行为分析图,且检测效果与分析图的选择有较大 关系。不过,具体到某一个应用环境中,其中的特定行为模式 在一定时间内一般变化不大,采用本方法可以实现更好的检测 效果。 [J].计算机工程,2008,34(3):165—167. [9]LIU Yi-qun,CEN Rong-wei,ZHANG Min,et a1.Identifying Web spam with user behavior analysis[C]//Proc of AIRWeb.2008. [1O]BIANCO A,MARDENTE G,MELLIA M,et a1.Web user—session in・ ference by means of clustering techniques[J].IEEE/ACM Trans on Networking,2009,17(2):405—416. [11]陈亮,龚俭,徐选.基于特征串的应用层协议识别[J].计算机工 程与应用,2006,42(24):16—19. [12]MEISS M,DUNCAN J,GONCALVES B,et a1.What’s in a session: tracking individual behavior on the Web[C]//Proc of the 20th ACM Conference on Hypertext and Hypermedia.2009:173—182. [13]牛瑞.主机网络行为模式特征与辨识研究[D].北京:北京化工 大学.2008. 4结束语 对数据流进行分析,获取数据流中的潜在规律,能够为许 多现实应用提供重要的决策支持。本文提出了一种基于数据 流分析的网络行为检测方法。通过对网络数据流进行建模分 析,提出一种基于与或图的网络行为描述方法;在此基础上又 设计了基于数据流分析的网络行为检测算法,提高了对网络行 [14]单棣斌,陈性元,张斌,等.基于数据流分析与识别的Web资源访 问控制[J].计算机工程,2008,34(23):53-55. [15]LUGER G F.Artiifcial intelligence:structures and strategies for corn— plex problem solving[M].[s.1.]:Pearson Education,2002:89-91. [16]谢希仁.计算机网络[M].4版.北京:电子工业出版社,2003:20. 23. [17]张文,沈磊.基于特征进程的P2P流量识别[J].计算机工程, 2008,34(15):120—122. 为的检测能力。本文所提出的数据流分析方法可适用于基于 (上接第3785页) [5]111e AVISPA Team.The HLPSL tutorial:a beginner’s guide to mode. 参考文献: [1]VIGANO L.Automated security protocol analysis with the AVISPA tool[J].Electronic Notes in Theoretical Computer Science, 2006.155:61—86. 1ing and analysing Internet security protocols[EB/OL].[2013-01. 20].http://www.avispa—projeet.org. [6]The AVISPA Team.AVISPA v1.1 user manual[EB/OL].『2013.01. 20].http://www.avispa-project.org. [7]DILLOWAY C,LOWE G.On the speciifcation of secure channels [2]ARMANDO A,BASIN D,BOICHUT Y,et a1.The AVISPA tool ofr the automated validation of Intemet security protocols and applications [C]//Proc of the 7th International Workshop on Issues in the heory Tof Security.2007:l18-123. [C]//Lecture Notes in Computer Science,vol 3576.Berlin:Springer— Verlag,2005:281—285. [8]CERVESATO I,JAGGARD A D,SCEDROV A,et a1.Breaking and ifxing public-key Kerberos[J].Information and Computation, 2008,206(2-4):402-424. [3]DOLEV D,YAO A C.On the security of public・key protocols[J]. IEEE Trans on Information Theory,1983,29(2):198—208. [9]冯超,张权,唐朝京.计算可靠的Difife—Hellman密钥交换协议自 动证明[J].通信学报,2011,32(1O):118—121. [1O]徐恒,陈恭亮,杨福祥.密钥交换中中间人攻击的防范[J].信息 安全与通信保密,2009(2):90.92. [4]BRADNER S,MANKIN A,SCHILLER J。A framework for purpose- built keys(PBK)[EB/OL].[2013・01—20].http://tools.ieff.org/ search/draft-bradner-pbk-lame一06.f