(计算机应用技术专业论文)基于主机的网络计费与监控系统.pdf_第1页
(计算机应用技术专业论文)基于主机的网络计费与监控系统.pdf_第2页
(计算机应用技术专业论文)基于主机的网络计费与监控系统.pdf_第3页
(计算机应用技术专业论文)基于主机的网络计费与监控系统.pdf_第4页
(计算机应用技术专业论文)基于主机的网络计费与监控系统.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)基于主机的网络计费与监控系统.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ab s t r a c t n e t w o r k c o u n t i n g , s e c u r it y a n d a n a ly s is a r e i m p o rt a n t r e s e a r c h f ie ld s o f c o mmu n i c a t i o n s c ie n c e i n t h e w o r l d o f c o m p u t e r n e t w o r k . i t is v a l u a b le t o b u i ld a s y s t e m t o c o u n t a c c u r a t e ly, a v o id n e t w o r k h o s t ile in t r u s io n , a n d a n a ly z e n e t w o r k p e r f o r m a n c e . i n t h e p a p e r , a m e t h o d o f c o u n t in g a n d m o n it o r in g b a s e d o n h o s t c o m p u t e r is b r o u g h t f o rw a r d . t h r o u g h n i c p r o g r a m m i n g , a s y s t e m o f d a t a g a t h e r in g , d a t a is o la t i n g a n d a n a ly z in g s y s t e m is b u ilt . a n d t h e n , t h e a v a ila b i lit y o f t h e s y s t e m is p r o v e d . t h e s y s t e m c a n b e u s e d t o a n a ly z e d a t a g a t h e r e d f r o m n e t w o r k a n d g iv e a n a la r m w h e n i n t r u s io n is d e t e c t e d . wh e n n e t w o r k s e c u r it y is c o n c e r n e d , t h e p a p e r p r o v id e s a m e t h o d o f d e t e c t in g s y n fl o o d i n t r u s io n u s in g a rt if ic ia l n e u r a l n e t w o r k s . i n t h e a s p e c t o f n e t w o r k p e r f o r m a n c e a n a ly s is , a n e w id e a a p p e a r s in t h e p a p e r t h a t , w it h t h e i n c r e a s e o f n e t w o r k lo a d a n d t h e i n c r e a s e o f c o n n e c t i o n r a t e , t h e m o d e l o f n e t w o r k t r a f fi c t e n d s f r o m in s t a b i lit y t o w a r d s p o is s o n d is t r ib u t io n r a t h e r t h a n w e ig h t t a ile d d is t r ib u t io n a d v a n c e d 1 9 9 0 s a n d lo n g r a n g e d e p e n d e n c e d i s t r i b u t io n . k e y w o r d : n e t w o r k c h a r g e n e t w o r k m o n it o r in g i n t r u s io n d e t e c t io n n e u r a l n e t w o r k h e a v y t a ile d d is t r ib u t io n lo n g r a n g e d e p e n d e n c e 第一资 绪论 第一章 绪论 1 . 1网络计费与监控概述 随着计算机网络成为现代信息社会的基础设施之一, 网络对社会各个领域的 发展起到越来越重要的作用, 网络管理在网络应用中的地位也日 渐重要, o s i 网 络管理标准中, 定义了网 络管理的5 个功能域, 即配置管理、 故障管理、 性能管理、 计 费管理和安全管理。 , . , . ,网络计费方法剖析 计费管理作为五大管理功能域之一, 与其他管理功能域在具体实i 见卜 有共同 点。现在有主要两种的计费方法: l ,基于主机方监听方式的计费。 2 .基于简单网 络管理协 议( s n m p ) 方式在路由 器或交换机上实 现计费。 基于主机监听的计费方法是将网卡设置为混杂模式将网络中共享网段上 所 有数据捕获, 这样按照所需方式将数据进行离析统计, 以流量字节数方式进行计 沾 身 。 4于简单网络管理协议( s n m p ) 的计费方法是利用s n m p协议直接从路由器 获取数据a s n mp 协议规定了网络管理工作站与被管理设备之ih j 进行通信时的语 法和规则, 具体协议可参见r f c 1 1 5 2 。支持s n mp的设备将被管理的信息以管理 信息库m i b ( m a n a g e m e n t i n f o r m a t i o n b a s e ) 的形式组织起来, m i b的标准可参见 r f c 1 0 6 5 和r f c 1 2 1 3 o m i b是一个 虚拟的 信息库, 实际并不存在, 只是一种以 树形 的结构来组织信息的形式。 荃于主机监听的计费系统使以后的工作更加灵活, 它的数据分析方式可以为 网络性能分析和网络安全提供大量的数据, 但同时也造成了如何有效地的存储海 量数据, 如何有效分析数据的难题。 这些问题的解决对主机监听方式今后在网络 管理上的应用提出了新的研究发展方向。 1 . 1 . 2网络监控发展情况 网络监控中网络性能分析与安全管理是其十分重要的组成部分。 1 、网络性能分析 网络性能分析: 就是分析协议对网络性能的影响, 分析在执行某确定的协 议时, 网络所表现出来的性能。 性能分析意味着建立数学模型,以便尽可能精确 第令 绪论 地预测并分析网络的 性能, 进行网 络的性能分析和讨论 应当以事实为基础, 即已 知l a n的设计方案为对象。性能分析与设计过程有关,通常将几种不同的设计 方案及性能同时加以 研究和比较。特定的媒介访问技术往往有不同的性能模型。 性能分析的目 的还在于找出协议中影响网 络性能的因素, 进一步提出改善性能的 方法, 性能分析的结果可以 对如何选择网络和设计网络给以指导 在网络传输的 模型分析中传统的方法是将网络中数据分组或到达假设成某一种模型, 在理论分 析 l 泊松模型对于网络传输的性能评价具有简单、有效等显著特点。但在 1 9 9 3 年以来,有一些证据证明网络中的数据传输是长范围相关的 ( l o n g - r a n g e d e p e n d e n t , l r d )自 相似的 ( s e l f - s i m i l a r ) 或者称为重尾分布的 ( h e a v y - t a i l e d , o r p o w e r - t a i l e d ) 。 这是9 0 年代的一大发现, 但是通过本实验的实际测定, 发现当网 络链接速度加大时网络上的数据包到达逼近泊松分布, 链接速度加大同时网络流 量模型呈现不稳态, 但是规律是可以界定的。 不确定模型是针对网络信息状态的 不稳态提出的。 2 、网络安全管理 网络安全技术中一个重要的研究趋势就是注重攻防结合, 追求动态安全。一 个角度方向是正面防御的方面的考虑, 研究加密、 鉴别和认证、 授权和控制访问 等等;另一个角度是从反面攻击的方面考虑, 研究漏洞扫描评估、入侵检测、紧 急响应、 防病毒等等。 对于本系统是在将网络数据包捕获之后, 就应将入侵检测 作为深入的研究范畴。 1 )入侵检测的历史背景 入侵检测是在1 9 8 0 年由a n d e r s o n首 先提出的, 他将入侵行为划分为外部闯 入、内部授权用户的越权使用和滥用等三种类型并提出用审计追踪监视入侵威 胁。1 9 8 7 年 d e n n i n g 提出了一个经典的异常检测抽象模型,首次将入侵检测作 为一种计算系统安全的防御措施提出。 1 9 9 0 年 h e b e r l e i n 等提出了一个新的概念: 摧于网络入侵检测n s m ( n e t w o r k s e c u r i t y m o n i t o r ) , 1 9 9 7 年c r o b i e m等将遗传 算法应用到入侵检测中。 2 )入侵检测系统分类 一 般从入侵检测的策略来看,入侵检测模型主要有两种: 滥用或误用检测 ( m i s u s e d e t e c t i o n )是对利用已知的系统缺m 1 1 1 11 1 已知的 入侵方式进行入侵活动的检测。 异常入侵检测 ( a n o m a l y d e t e c t i o n )需要建立目 标系统及其用户的正 常 活动模型, 然后基于这个模型对系统和用户的实际活动进行审计,以判 定用户的行为是否对系统构成威胁。 3 )检测中的关键技术 用于滥用入侵的检测的技术。 专家系统主要针对滥用检测之中。系统维 第一卞 绪论 护着一 个描述各种攻击的规则集。审计事件被描述成有语义的事实,推 理引擎根据这些规则和事实判定是否有入侵发生。 用基于规则的语言为 己知攻击建模。但利用专家系统进行入侵检测具有一些不足,如难于抽 取攻击知识, 难于把这些知识表述成推理规则,它还具有同其它基于知 识的方法一样,需要频繁地更新,修改补充攻击特征集,另外对操作系 统的依赖性较强。 用于异常入侵的检测技术。统计分析是在异常检测中用的最普遍的技 术。该方法中用一些被称为统计分析检测点的统计变量刻划用户或系统 的行为。用于检测的5 种统计模型:操作模型、方差、多元模型、马尔 可夫过程和时间序列分析。统计分析的检测点的选取是一个关键技术, 因为它的选取并不是根据特定的攻击行为, 因此要选择有网络和系统特 征意义的测量点。 4 )神经网络在检测系统中的应用 神经元网络的非线性逼近能力在非线性辨识领域大有作为。 在这方面常常应 用的是 “ 基函数”网 络,如径向网络、b p网络、正交函数网络、 样条函数网络 和小波网络等。 神经网络在理论上也可以用于检测未知攻击, 使用神经网络对输入向量进行 处理, 这就要求系统事先对大量的数据实例进行训练。 用于入侵检测的神经网络 运用模糊技术确定神经网 络的权重, 加快了神经网络的训练时间, 提高了 神经网 络的容错能力与泛化能力, 所以运用神经网络的方法是提高检测系统的准确性和 效率的重要手段。 1 . 2课题研究的意义 本课题从针对网卡编程入手, 深入说明了捕获共享网段数据对网络计费, 网 络安全管理, 网络性能分析所起的特有作用, 同时也 提出了基于主机监控的方法, 来对以上问题一 一加以解决, 解决方法新颖独特, 不必与网络连通的关键设备( 路 由器、 交换机等) 进行交互, 这样避免了 对网络性能的影响从而得到的数扼更加 客观、 详细, 还能保证校园网络的正常运行, 本课题在网络安全方面提出了利用 神经网络构建入侵检测系统新的解决方法, 在网络性能分析方面提出了与现在流 行的网 络流量具有长相关特性与重尾分布不同的观点, 认 为在网 络负载增加的 情 况下,网络流量模型趋向泊松分布。 1 . 3课题的任务和取得的结果 、完成了网络计费任务 第一帝 绪论 通过对网卡驱动程序的改制, 编写了网络数据捕获程序, 通过编写调用a p i 函数的捕获数据包程序可以 将共享网段的数据包攫取并生成二 进制文件加以 保 存 ( 丢包率小) ,通过编写数据离析程序可以将二进制文件中的网络数据离析出 来, 按照i p 地址加以 统计按字节收费 ( 使 用d e lp h i 6 .0 与s q l 2 0 0 0 编程) 。 2 、对网络恶性入侵可以起到检测作用 使用神经网络算法与感知器方式可以对网络中的标志位洪水攻击( 拒绝服务 攻击)加以检测,提供告警方式,使用了神经网络中的b p 算法对入侵检测加以 推断,使用感知器模型得到完整的数据,提高了正确判断能力,降低误报率。 3 、可以对网络流量性能分析 本课题详细分析了5 0 万条捕获到的数据记录,对网络流量的非稳态模型加 以讨论, 对网络的连接 ( 以h t t p数据帧为主要数据帧) 到达1y 7 长范围相关,重 尾分布的一系列模型进行了深入的分析,提出了当网络连接与网络速度增加时, 泊松分布模型又可以重新适用的新见解。 第 _ 墩 网卡结构 第二章 网卡结构 基于主机监听模式,需要了解网卡硬件结构, 本章对网卡硬件结构与网络数 据如何通过网卡传输做了简要的说明。 2 . 1网卡 ( n i c )内部寄存器结构 n i c中的内部寄存器都是8 位寄存器, 把这些寄存器按其功能分为5 组: 配 假与 状态寄存器组、 接收缓冲管理寄存器组、 发送管理寄存器组、 远程d m a管 理寄存器组和地址管理寄存器组。分别解释如下: 1 .酉 己 置与状态寄存器组。主要完成网络接口发送和接收操作方式的选择和 配置,如:采用何种直接存储器存储 ( d ma)数据传输方式,是以字节方式 ( 8 位) 还是以字方式 ( 1 6位)等等,通过这些寄存器可以了 解发送和接收过程的 状态信息。 2 .接收缓冲管理寄存器组。负责管理和控制缓冲区的分配。它提供了 三种 1 x- 本功能:链接功能、恢复功能、循环队列的缓冲管理功能。 3 .发送管理寄存器组。n i c的帧发送是由本地 d m a实现的。由发送页起 始地址寄存器、 发送字节计数寄存器0 和发送字节计数寄存器 1 这三个寄存器用 来控制本地 d ma进行帧的发送。 4 .远程 d ma管理寄存器组。配合远程 d m a操作,n i c提供了两队与远 程 d ma操作有关的寄存器: 远程起始地址寄存器 ( 0 , 1 ) 和远程字节寄存器 ( 0 , i ) ,前者用来存放待传输数据的起始地址, 后者用来存放待传输数据的长度 ( 用 字节数表示) 。 5 地址管理寄存器组。该寄存器组通过与数据帧的目的地址比较,用于确 定是否接收该数据帧。 2 . 2网卡 ( n i c )内部功能模块 ni c 据传输: 1 t: 要用来控制网络和主机间的数据传输, 主要由以下几个模块来实现数 接收解串功能模块。主要用来把串行输入的比特流按8 位进行分割, 然 后把分割好的比 特流 ( 8 位为一个单位)并行送入 1 6 字节的f i f o .激 活接收字节计数器对帧长度进行记数,同时, 把串行输入的数据送往校 验产生器 ( c r c )进行帧校验。 第 _ 节 网一 ; 结构 2 . c r c产生校验功能模块。 当发送数据时, 它产生校验和, 并把该 校验和 附加在数据之后一 起送入网络, 供接收方校验接收到的数据;当接收数 据时, 它校验接收到的数据是否有错, 并把错误信息存入接收状态寄存 器,供接收程序检查。 3 .发送串行化功能模块。该模块负责把 f i f o中的并行数据转变成串行数 据发送,同时把串 行化数据送入 c r c模块,以计算校验和,该 校验和 附加在数据帧之后发送出去。 4 .地址识别逻辑模块。该功能模块用来识别接收到的帧的目 的地址域中的 6字节长的地址并与地址寄存器组中的地址进行地址匹配。若不匹配, 则拒绝接收该帧。若匹配,则继续接收数据帧。判断依据是本地网卡的 物理地址和多址寄存器组中的地址是否与接收帧的目的地址相符。 5 . f i f o和f i f o控制逻辑。n i c只有1 6 字节的f i f o .当发送数据时,本 地d m a把数据写入f i f o , 发送串行化模块把f i f o中的数据并行读取, 并串行发送该数据。当接收数据时,解串功能模块把它并行 ( 8位)写 入f i f o , 再山本地d m a把f i f o中的数据存入缓冲区。 f i f o控制逻辑 用来统计进入f i f o的字节数,以便在发生溢出前能够把数据取走。 6 .协议逻辑阵列。该功能模块主要负责实现i e e e 8 0 2 .3 协 议,包括冲突的 随即退避,装帧 ( 加帧头)和拆帧 ( 去帧头) ,以及实现接收同步。 7 . d m a和缓冲控制逻辑。d m a和缓冲控制逻辑用来控制两个 1 6位的 d ma通道:本地d ma和远程d ma 。当接收数据时,本地d ma把接 收到的数据存入接收数据缓冲环;当发送数据时,本 地d m a把发送缓 冲区中的待发送数据传送到f i f o 。 远程d m a用来实现本地缓冲区和上 机间的数据传输。本地 d ma的优先级高于远程 d ma的优先级。d ma 方式简化了该芯片的使用, 提高了 主机和网络接口、网络接口 和传输线 路之间数据 自 动传输的能力。 n i c模块结构,如图2 - 1 所示。 2 . 3 n i c的缓冲区管理机制 2 . 3 . ,缓冲环结构 网络接口( 网卡)在接收到来自网络上的帧后 七 的本地缓冲区中, 由于网上的数据流量比较大, 至 , 将其存储在网络接口( 网卡) 为提高有效缓冲区的存储效率, 网络接口 控制器 ( n i c ) 用缓冲环结构 ( b u f f e r r i n g s t r u c t u r e )来 对接ilk ( 的 ih r i 进 行存储。 第_ . s 7 网 卜 结构 进行相应调整,保证缓冲坏的正常工作。 4 . 设置远程d m a的起始地址和操作的字节数: 5 .通过命令寄存器启动远程d m a第一次读操作; 6 .从网络数据端口依次读入数据帧的信息头;前面提到过,存于 缓冲环内 的数据帧的最前4 字节并非数据帧的内容,第一字节为接收状态,第二 字节为下一 帧的首页地址指针, 而三、四字节为缓冲环中该帧的接收字 节数。 将第二字节的值存入一变量指针 ( n e x t p a c k e t ) ,为接收和读取下 一帧做好准备;通过三、四字节值得出远程d m a第二次完整读取出该 帧所需操作的字节数。 再次通过命令寄存器启动远程 d ma读操作,读入完整的帧 判断是否达到缓冲环尾,以便调整缓冲环的寄存器指针值。 2 . 4本章小结 当前的网卡结构表明, 网卡硬件并不对网络上的数据帧进行过滤, 只是起到 在网络物理层形成数据帧的作用,并对接收或发送的数据帧进行同步与 对齐存 右 者 。 第_辛 包捕扶驱动的编制 第三章 包捕获驱动的编制 在wi n d o w s n t环境下的包捕获驱动是对wi n d o w s n t操作系统中的n d i s 结构中的高端驱动进行编程, 这样编制的程序与上层应用程序更容易连接, 应用 程序对驱动的设置工作也更方便,它是模仿u n i x中的b p f结构包捕获驱动程 序,实际效用好, 性能稳定, 可以 进行数据包过滤捕获设定, 这样. 甘 用系统资源少 丢包率小。 3 . 1 wi n p c a p 概述 3 . 1 . 1 w i n p c a p中的p a c k e t n t x 文件结构分析 win p c a p 中的p a c k e t n t x 文件结构,如图3 - 1 所示。 wi 证 e m. l o e 母tp r a i e c + eses, 司 c r m a l f i l e 仁 0 刀 . 万 p a c l .t . d e 6 - - 今 p a c l e t . d s v p ,. . i .t 日 乞p a c 蓝e t 52c味 p a c 卜 c t七 driv o r e a e l o . . 夕 ul e t , c re a d . . w i a - 场 仁f i l t c r . c w r i t e . c d 乙盯6 . h p 互 e t五 *6 r r f i i p s . -二 c o 班 i i 卫 h a t di i s 图3 - i w i n p c a p vi 结 构 从上面的文件结构大 致可以 看出w i n p c a p 采用的是分层化的驱动程序模型, 它的具体模式,如图3 - 2 所示。 w i n p c a p 含有三个组件: l . 包捕获设备驱动器 2 .中问层动态链接库 3 . 高层的静态函数库 它山运作在核心层 ( k e rn e l l e v e l )与用户层 ( u s e r le v e l )的模块组成。核七 、 第三令 包捕狄驱动的编制 3 . 2在 n d i s中的包捕获驱动的结构 3 . 2 . 1包捕获驱动的基本结构 注意在图3 - 6 , 3 - 7中使用了循环缓存,这与u n i x中的k e r n e l b u f f e r 使用两块可调换缓存方法有明显的不同。 图3 - 7 可见一个用户可能要捕获i p与u d p 数据存储在不ii 的文件中, 可以 在同时在一块网 卜 上以不同过滤器运行两个 wi n d u mp 进程。 3 . 2 . 2过滤过程 如果一个应用程序需要对进入的数据包设定过滤器, 那么它可以建立一个标 雕b p f 过滤程序 ( 例如: 通过调用l i b p c a p 中的p c a p c o m p i l e 函数) 将其传递 给驱动, 过滤过程将在核心层完成) o b p f程序传递给驱动是通过i o c t l调用以 控制设 置p b i o c s e t f 。实际 上b p f 虚拟机可以 执行选择分支等其它数学算法。 如果在驱动中有除以0 或者跳转到一块禁用内 存区问的情况, 那将不可避免的造 成蓝屏或死机,因此,若没有保护措施,一个含有b u g的过滤程序将能够造成 系 统瘫痪。因 为 这个原因, 每一 个过 滤程 序在被接受前 将被驱动的b y 仁 v a l i d a t e 函数检验。 如果一个过滤器被接受了, 那么驱动将对进入的每一个数据包执行过 滤程序,抛弃不满足条件的数据包。 当数据包没有被拷贝到包捕获驱动中还在 n i c驱动的缓存的情况下,过滤 器对这些数据包进行处理,因此它能最小化系统的负载。 过滤器的源代码是b p f f i l t e r .c, 那是源于 对应的b p f源文件的。 这个文件 包含 3 个主要的函数: 1 . b y 仁 f i l t e r 这个函数经常被捕获驱动使用。它完成注册并执行过滤代码。它需要两 个缓存: 一个保存数据包, 另一个保存要执行的b p f程序代码。 它返回 储存的数据包的长度,如果数据包必须被丢弃则返回o o 2 . b y 仁 fi l t e r - w i t h - 2 少u f f e r s 这个函数与b p f f i l t e r 非常相似, 但是它能过滤数据包头部与数据部分然 后储存在不同的缓存中。 它由三个缓存组成:一个包含数据包的头部信 息,一个包含数据包的数据信息, 一个包含将要执行的b p f 程序。 这函 数 运行是缓慢的, 但是它比b p f f i l t e r 函数更加普遍一些,因为在n d i s 的特有结构中, 还有在一些特定的场合下捕获驱动需要将数据包的头部 信息与数据信息储存在不同的缓存中。 3 . b p f v a l i d a t e 第二章 包捕 获驱动的编制 注意发送数据包到网络的速度并不会很高, 因为对每一个包需要进行系统调 用过程 。用 户层应用程序 可 以进 行设定 ,以一 个 i o c t l 调用 ( p b i o c s w r i t e r e p ) 向网 络发送多 个数据包。 例如, 如果这个 值设定为】 0 0 0 , 由 应用程序写的数据包将发送1 0 0 0 遍。 这个特性可以用来产生高速的网络负载, 因为高负载的环境转换不容易长期存在,所以写进程作为对测试网络,路由器, 服务器程序进行测试的工具特别有用。 3 . 2 . 5其他功能 时间戳是与数据包相联系的驱动在数据包由 一个读调用将他们传递给应用 程序时加上的,精确度为微秒级。 对于每一个驱动的实例, 应该记录从网络获得的数据包数目与被抛弃的数据 包的数目。 这些数值对于分析捕获过程的性能是非常有用的。 应用程序可以通过 设定p b i o c s e t f 的i o c t l调 用来获得。 3 . 2 . 6统计模式 一 个网络管理员可能不关心在网络传递的整个数据包的序列, 而仅仅关心他 们的统计数据。 例如: 用户可能关心网络利用率, 广播信息,当然也有更加精细 的信息, 如邮件的流量, 每一秒we b的服务请求。 统计模式是b p f 结构的包捕 获驱动,被用来对网络的流量进行统计,这是对系统影响较小的方式。 统计模式是要求非常小的系统资源,仅仅 b p f结构过滤器应用到侮一数据 包上面,是没有拷贝 操作执行的一个有效的多功能的框架。 在wi n p c a p中核心层的缓存默认为 1 m,用户层默认缓存为2 5 6 k b o 3 . 3 wi n p c a p源代码 在w i n d o w s n t x 中 包捕 获驱动在 核心层工作的 是 p a c k e t . s y c 它负 责 将数 据 链路层的数据完整地传送到应用程序层, 使得应用程序对待网卡如同普通文件可 以进行读写操作。 p a c k e t .d l l 提供一 套函数使得与驱动联系变得简单, 从而避免用户应用程 序调用i o c t l s 或其它的系统调用。 3 . 3 . 1 d r i v e r 源代码包含的文件 如图3 - 1 所示, d r i v e r中的目 录下包含如下 文件: d e b u g a:包含被调用的宏。 第_ _令 包捕获驱动的编制 p a c k e t .h :包含驱动使用的函 数与数据结构的声明。 p a c k e t .c :它是主要的驱动文件。它包含使得驱动开始运作与初始化 的d r i v e r e n t ry函数, 这个函数查 询注册表和i o c t l 函数的句柄。 wr i t e .c :包含发送数据包的函数。 r e a d .c :包含读取数据包的函数。 o p e n c l o s e .c : 包含打开或关闭驱动实例的函数。 b p f . c :定义由b p f 过滤器使用的数据结构和数值的函数。 p f f i l t e r .c :包含b p f 过滤器的程序。 3 . 3 . 2 d r i v e r 驱动源代码分析 1 、 在p a c k e t 文件中包含d r iv e r e n t ry例程: d r i v e r e n t ry( i n p d r i v e r o b j e c t d r i v e r o b j e c t , i n p u n i c o d e s t r i n g r e g i s t ry p a t h ) 这个例程初始化各个驱动程序数据结构, 并为所有其他驱动程序组件准备环 境, t例程在p a s s i v e re l e v e l i r q l级运行, 它能访问分页系 统资 源。 , 接收 指向 它自 己 的d r i v e r 对象的 指针, 它必 须 初始 化这个 对象。 它还 得到含 有r e g i s t ry 中驱动程序的服务键的路径的u n i c o d e - s t r i n g 。它的返回值为: s t a t u s _ s u c c e s s , 成7 b s t a t u s _ x x x , 一 些 惜误代码 一: 而是d r i v e r e n t ry例程工作步 骤: 1 )如果正在写一 个设备驱动程序, 首先找到和分配驱动程序要管理的任何 硬件。 2 )用指向其他程序入口点的指针初始化d r i v e r 对象。 3 )如果驱动程序管理一个多部件控制器, 调用l o c r e a t e c o n t r o l l e r . 创建一个 c o n t r o l l e r x 寸 象,然后初始化它的c o n t r o l l e r e x t e n s i o n . 4 ) 调 用 l o c r e a t e d e v l c e创建一个 d e v i c e对象,然后初始化它的 d e v i c e e x t e n s i o n . 5 )通过调用i o c r e a t e s y m b o l i c l i n k , 使设备对wi n 3 2 子系 统可见。 6 )把设备 连接到一个 i n t e r r u p t 对象,并初始化驱动程序需要的任何 d p c 对象。 7 )对属于驱动程序的所有控制器和设备重复第3 - 6 步。 8 )返回s t a t u s _ s u c c e s s 到i / o管理器。 如果在初始化过程中遇到问题, d r i v e r e n h y例程应释放它已分配的任何系统 资源,并给 i / o管理器返回合适的n t s t a t u s 失败代码。 第四章 d d i 获的数据离析 第四章 捕获的数据离析 从共享网段捕获得到的数据包存储在一系列以时间命名的二进制文件中, 将 文件中的数据以不同协议区分并将这海量数据( 也是信息量最全的数据) 妥善的 存储起来,大型的网络数据库软件 ( o r a c l e , s q l s e v e r 2 0 0 0 ) 将用于对协议 区分后的数据进行存储,压缩。二进制文件在数据离析后应立即清除。 4 . 1 协议的分层 如何将这些数据离析出 来呢?先看一下捕获包数据协议结构树, 如图4 - 1 所 示 ( 因为校园网是以 太网,所以是以 太网帧格式作为最底层的成帧格式) t 0 , e = i ii ) 和p ( a , 一 1 h i ) 得 到 : p ( i ia , , a 2 ,., a ) p (- i ia , , a 2 ,., a ) - p ( i ) fj p ( a , ii ) p ( - i ) np ( a ; h ! ) 根据各种异常测量值、 入侵的先验概率及入侵发生时每种测量到的异常概率, 从 而能 够检测 判断 入 侵的 概率。 必须 考 虑各 测量a , 间的 独立性。 2 ,基于特征选择异常检测方法 通过从一组度量中挑选能检测出入侵的度量构成子集来准确地预测或分类 已检测到的入侵。 为选择正确的度量子集现有提出使用分类器方案生成遗传交叉 算子和基因突变算子, 除去降低预测入侵的度量子集, 采用遗传算子产生更强的 度量子集取代。 3 ,基于模式预测异常检测方法 假设条件是事件序列不是随机的而是遵循可辨别的模式。 这种检测方法的特 点是考虑了事件的序列及相互联系。 基于时间的推理方法是利用时间规则识别用 第五章 网络交全 户行为正常模式的特征。 通过归纳学习产生这些规则集。 并能动态地修改系统中 的这些规则,使之具有高的预测性、准确性和可信度。 4 ,基于神经网络异常检测方法 在这里本文将给出详细陈述。 5 、基于数据采掘异常检测方法 从审计数据或数据流中提取感兴趣的知识, 这些知识是隐含的, 提取的知识 表示为概念、 规则、 规律、 模式等形式,并用这些知识去检测异常入侵和已知入 侵。在这方面有k d d算法可用但是实时性较低,需要改进。 5 . 1 . 2误用入侵检测技术 1 、 基于贝 叶斯定理( 条件概率) 误用入侵检测方法 e s 表 示 事 件 序 列 , 先 验 概 率 为p ( i n t r u s i o n ) , 后 验 概 率 为p ( e s ii n t r u s io n ) 事 件出现的概率为p i e s ) ,则 p ( e s li n tr u s io n ) = p ( i n t r u s io n je s ) p ( i n t r u s i o n ) p ( e s ) 网 络 专 家 可 以 给出 先 验 概 率p ( i n t r u s i o n ) , 从 而 推 算出 p ( i n t r u s io n e s ) . 2 、基于专家系统误用入侵检测方法 通过将网络安全专家的知识表示成 i f - t h e n规则形成专家知识库,然后运 用推理算法进行检测入侵。 3 ,基于状态迁移分析误用入侵检测方法 将攻击表示成一系列被监控的系统状态迁移。 攻击模式的状态对应于系统状 态, 并具有迁移到另 外状态的条件断言。 通过弧将连续的状态连接起来表示状态 改变所需要的事件。允许事件类型被植入到模型,不需同审计记录一一对应。 4 、基于神经网络异常检测方法,本文将给出详细陈述。 基于生物免疫的入侵检测实际上综合了异常和误用检测, 是通过模仿生物有 机体的免疫系统工作机制, 使得受保护的系统能够将非我 ( n o n s e l f ) 的非法行为 与自 我 ( s e l f )的合法行为区分开来。生物免疫系统对外部入侵病原进行抵御并 对自 身进行保护, 一旦抵御了一个未知病原的攻击后即对该病原产生抗体( 即获 得免疫能力) ,当该病原再次入侵时即可进行迅速有效的抵御。 5 . 2网络入侵检测系统测试评估 i d s 的测试环境的组成如图5 - 2 所示,它包含有测试平台控制器,正常合法 使用用户, 攻击者, 服务器和i d s 系统。 服务器用来运行各种各样的网络服务的 第五章 网络交全 计算机,一是为正常用户提供服务访问,二是当作攻击者的目 标。 测试平台控制器 月 及 务器 i ds 服务类别 用户 1 交 击者i ds 图5 - 2 i d s 测试环境组成示意图 i d s目前没有工业标准可参考评测, 判断i d s 检测的准确性只有依靠黑箱测 试。 5 . 3神经网络与统计模型在异常检测中的应用 统计模型与神经网络分类法在一些异常入侵检测中已经被使用了,例如: n i d e s是用户或系统行为由 一套统计变量来检测,由 观察到的行为与标准的活 动之间的偏差 ( d e v i a t i o n )来判断是否有入侵活动。 本文提出了分层的入侵检测系统 ( h i d e ) , h i d e有着分层的结构使用统计 模型与神经网络分类法来检测入侵行为。 在此提出了 神经网络的解决方案, 并提 出来对 h i d e进行测试的想法。 5 . 3 . ,系统结构 这是一个分布式的分层应用程序, 每一层包含着若干入侵检测代理( i n t r u s i o n d e t e c t i o n a g e n t ) , i d a s 是i d s 部件, 它完 成监 视主 机或网 路的 任务。 不同的 层 对应不同的由附属 i d a s 保护的网络区域。 这个入侵检测系统分成了3 层, 层1 中的代理监视代理主机的系统活动定期 地产生对层2 地报告文件,层2 代理检测部分l a n的流量也包括由层 1 来的报 告,层3 代理收集的层 1 流量的信息也包括层2的报告,如图5 - 3 所示 因为这个系统是分布式的,并且是分层的,i d a s 在所有的层中具有相同的 结构,i d a s的结构如图5 - 4 所示,具体详述见表5 - 1 检* 111 ( p r o b e ) 事件预处理器 ( e v e n t 收 集 土 机 或网 络 的 流 v . , 抽 象 流 量 为 一is 1 c i t c 聂玩而嘀 络的 性能 状况, 周期 地向 事件预处理器 报告。 tlf 受 )r l p r o b e l , j 丽 骊 i d a s n 4 9 * , 骊 瘾历i i i t # 环l 4 第五帝 网络安全 p r e p r o c e s s o r )需的格式。 统计处理器 ( s t a t i s t i c a l p r o c e s s o r ) 维护一个典刑网络活动的模刑,将事件预处理的报告与参考 模型相比较,形成伺服神经网络分类器的刺激向嫩,我们将 在后面进一步讨论统计算法。 神经网络分类器 ( n e u r a l n e t w o r k c l a s s i f i c r ) 分析从统计模型来的刺激向量,决定网络流量是否止常,后 面将介绍神经网络分类器在这个系统中使用的细一 w . 发布处理器 ( p o s t p r o c e s s o r ) 向高层的代理产生报告,同时在用户接口显示结果。 不同的网络区域 图5 一3系统层次结构 n.- 从低层 i d a s 来 的报 告 图5 - 4入佼检测系统代理 5 . 3 . 2统计模型 统计模型已经在异常入侵检测系统中使用, 但是大多数系统只是简单地求平 第五章 网络交 全 均值和一些变量的方差, 来检测是否 超过一定的cp l 值。 本统计模型使用了 类x 检 验统计算法,它使用一种x 检验,去 检测短时间 段与长时间段概况的 相似性。 用户的概况由 概率密度函 数的一个数来表示: 让s 是样本空间的一个随机变 量, 事 件e e , 瓦是s 中 相 互不 相容的 部分 假定只是事 件e , 的 发生 概率, 让 p . 是 在一定时间间 隔内 的 频率, n表 示各 种事 件发生次 数的 总和, 统计算法使 用类x 检验去决定预期的与实际分布的相似性。以 下面这个公 式来进行测定: q= nx e研一 p , ) 2 月 在n足 够大, 事 件ee , , . . . , e , 是 独立时,q 近似 服从以 ( k -1 ) 为自 山 度的 x 分布, 然而在实际 应用中,上面的两个假定总是不能被保证。因 此,从经验 看,q 可能不服从一个x 分布,在我们的 系统中,因为我们使用了 一个 神经网 络 分 类 器 来 决 定 入 侵 存 在 的 可 能 性 : 我 们 不 关 心 q 的 分 布 , 然 而 因 为 网 络 流 量 是 非稳定的, 基于网络的攻击可能有不同的持续时间: 从几秒到几小时, 或者更长。 我们需要一个算法, 那更能有效的地在不同时间窗口监视网 络流量。 基于以上情 况,我们使用分层时间窗口统计模型。 如图5 - 5 , 在每个分层窗口对应着一个递增的监视时间片。 分 层 窗 口 m 事 件 缓 存 t 参考模型 分层窗口2 分层窗口 1 事件缓存 t 事件缓存 参考模型 参考模型 t e v e n t r e p o rt 事件报告 图5 - 5时问窗口统计模型 新到达的事件将被存储在第一层的事件缓存中, 存储的事件与同层的参考模 型相比较所得的结果伺服给神经网络分类器来决定那个时间窗口的网络状态, 事 第五帝 网络 交全 件缓存一旦充满, 便将缓存清空, 得到的网络与主机状态向上传递给上层的事件 缓存, 这个过程将是递归地重复, 直到顶层, 对触及到的事件进行报警或简单的 撤销 ( d r o p p e d ) . 这种相似性测量的算法我们使用下面的算式: 刁!|习 、l 只 - 只 刁曰月 q 一 , (n )客 pi一 : 4+ m a x 了 =l 当八n ) 是一个函数 在相似性的测定中, 记 录在一个时间窗口内事件发生的总次数。 我们也为这个参考模型设计一种算法,对它实时更新 让n 。 是更 新前的 参考 模型,p - -, 是 更 新 后的 参 考模型,r *是在一 个时间窗口 内由用户观测的值,更新参考模型的算式是: 瓦。 , = s x a x 凤、 + p 一 。a ) x p , 是预先确定适应率 是神经网络的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论