(无线电物理专业论文)网络入侵防御系统——图形用户界面与数据交互模块.pdf_第1页
(无线电物理专业论文)网络入侵防御系统——图形用户界面与数据交互模块.pdf_第2页
(无线电物理专业论文)网络入侵防御系统——图形用户界面与数据交互模块.pdf_第3页
(无线电物理专业论文)网络入侵防御系统——图形用户界面与数据交互模块.pdf_第4页
(无线电物理专业论文)网络入侵防御系统——图形用户界面与数据交互模块.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

摘要 网络入侵防御系统 图形用户界面与数据交互模块 专业: 硕士生: 指导老师: 无线电物理 柳成 余顺争教授 摘要 进入2 1 世纪以来针对服务器的拒绝服务攻击( d o s ) ,已经从简单的单台 机器发起的d o s 攻击,发展到现在的分布式拒绝服务攻击d d o s u 】。d d o s 与d o s 相比有分布性、协作性、大规模性以及难以溯源性等特点,给网络造成的危害有 逐年上升的趋势【2 】。 解决大型网站服务器的安全问题,传统的方法大都是基于硬件技术的,比如 采用超大容量的服务器阵列、高带宽的网络接入、分布式存储结构等方法提高网 站的可靠性和预防诸如d d o s 之类的攻击【3 1 。随着计算机性能的提升,以及计算 机的普及,给人们生活带来方便的同时,也无形中为非法网络行为提供了很大的 便利。目前d d o s 攻击的大规模性,攻击形式的多样化就很好的证明了这点。众 所周知,带宽和存储容量是有限的,面对新网络条件下的d d o s 攻击,传统的安 全策略将显得无能为力。因此,就计算机网络发展的速度和形式来说,研究一种 有效的监测与预防d d o s 攻击的措旌,对各种大型网站,或者普通网络,甚至下 一代网络的安全策略都具有现实意义的。 本项目组所实现的是一个基于统计异常的,或者说是网络流量行为异常的d d o s 攻击防御系统。本系统旨在为大型服务器提供保护功能,特别是当服务器处 于峰值流量时期,本系统能利用其核心算法判断出该峰值流量为突发正常流或 d d o s 攻击流,并在发现流量异常时,则做出相应的防范响应,将攻击扼杀在萌 芽阶段。 a b s t 积l c t b e h a v i o ro f 也en e t w o r kt r 蕊c i t sp u r p o s ei st 0p r o v i d ep r e v 锄o n 矗m c t i o i l st 0 h y p e r w e b s i t e s ,w 1 1 e nm e 嬲的吼to f 仃a 伍cr e a c h e si t sp e a :kt l l es y s t e m 谢l ld e c i d e 、) l ,:h e t l l e r l e 锄ci sab r e a ko u t0 rc a u s e db ya i la l t a c l 【,o n c ea 1 1a :c t a c ki ss a i dt 0b e 仃u e ,t 1 1 ec o 仃e s p o n d i n gr e a c t i o n 晰l lb el a u n c h e da n d 也ea :t t a c k 谢l lb ep r e v e n t e c i b e f o r ec a u s i i l gl o s i l l gt ow e bs i t e t 1 1 i s 廿l e s i sa c c o m p l i s h e sas u b - m o d u l eo f 协e 咖s i o np r e v 锄o ns y s t e mn a m e d g r a p l l i c a lu s e ri n t e r f k e 锄dd a t ae x c h 锄百n gm o d l l l e n sn l n 砸o nc a i lb ed e s 嘶b e d 嬲 t 、7 l ,o p a r t s :o n e 私t 1 1 es y s 伦m s u s e ri n t e r f 犯e ,a 1 1 0 也e ra sam e d i m o d l l l ef o r c o m m u i l i c a t i o nb e t w e e nm eh o s ta n dm eo 场e c tp l a t f o m d 嘶n gt l l ed e v e l o p m e n to f m ef i r s tp a n ,g n o m e g t k + i s 曲m 咖l l s e dt e c h n o l o g y ,d 晌gt 1 1 es e c o n dp a n 恤 m a i l lt e c h n 0 1 0 西e st ob eu s e da r en e 栅o r kp r o 铲a i l 毗g ,f i l e sp r o 铲踟蛐- i n g ,a n d m ,t w o r kp r o c e s s o rp r 0 酽a i n 疵g t h i ss u b - m o d i l l e ,a c c o m p l i s h i i 坞吐l ec o m m u m c a t i o n b e t w e e nh o s t 锄do b j e c tp l a t f o n n ,p r o v i d i l l gam o d e la _ b o u th o wt 0p r o 蓼a i 】删【i 1 1 9n l e n 咖r kp r o c e s s o ra n dp r o m i s i n gm ew h o l es y s t 锄w o r 虹n ge 伍c i e n t l ya n d r e a l t i m e l y ,谢1 1w o r k 谢mo m c rs u b m o d u l e st 0a c l l i e v ee n t i r eo ft 1 1 ei i l t r l u s i o n p r e v 髓t i o nf - 眦1 c t i o n s k e y 、v o 鼻d s :n 咖o r k p r o c e s s o r ,d d o s ,g 町i ,g ,+ 工 本人郑重声明: 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学校有权保留 学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版,有权将学 位论文用于非赢利目的的少量复制并允许论文进入学校图书馆、院系资料室被查 阅,有权将学位论文的内容编入有关数据库进行检索,可以采用复印、缩印或其 他方法保存学位论文。 导师签名: 日期:3 啦专月g 日 陂撖 日 轹 北 獬 徊 戳 蒡 作 势 排 游 论 0 位 期 学 日 第l 章 1 1选题背景 第1 章绪论 随着2 1 世纪的到来,人类文明有了长足的进步,其中最为显著的就是i n :t e m c t 的迅猛发展。通过m c e n l e t ,人们可以方便的连接到世界各地的网站上,浏览新 闻,观看视频,又或者通过网上银行,支付电话费,而不用亲自跑去营业大厅排 队。e t 给人们生活带来了方便的同时,随之而来的是棘手的网络安全问题, 各种网络犯罪,网络攻击屡见不鲜。其中,针对大型网站或者整个网络的拒绝服 务攻击( d o s ) ,可能给网络用户、公司甚至整个国家都带来难以预测的危害。 全球许多著名的网站如e b a y 、f b i 、新浪、y a h o o 等都相继遭到过d o s 的攻击, 带来了数以亿计的直接经济损失,而且,近年来d o s 攻击的频率有上升的趋势, 这引起了学术界和商业界的广泛关注【2 】【5 1 。 与以往不同的是,黑客的攻击手段不再是简单的更改网站主页内容等,一些 对网站破坏性有限的做法,取而代之的是,在一定时间内彻底使被攻击的网站无 法给用户提供正常服务。这种类型的攻击手法中,最为著名的同时也是危害最大 的就是d d o s 攻击,亦称为分布式拒绝服务攻击( d i s t r i b u t e dd e i l i a lo fs e r v i c e ) 。 此种攻击的原理,简单的说就是用超出被攻击目标处理能力的数据包来消耗网站 服务器有限的资源,致使被攻击网站不能为正常地用户提供需要的服务。早期的 拒绝服务攻击,一般由单台攻击主机发起,攻击也只是针对网络上一些能力较弱 的主机,大都是个人主机或者公司的小型服务器,这些被攻击目标或者处理能力 低,或者可用带宽窄,而对拥有高处理性能,高带宽连接的大型网站来说,这种 攻击构不成威胁。但是随着d d o s 的出现,大型网站这种有恃无恐的局面不复存 在,与简单的拒绝服务攻击不同,d d o s 攻击不是孤军作战,而是借助现代网络 提供的便利,收集数以百计,甚至上千台被植入攻击守护进程的攻击机同时发起 攻击,这对任何级别的网络服务器来说都是灾难性的。 另外,更令人担忧的是,在现今的网络资源共享化的趋势下,各种d d o s 攻 击工具唾手可得,如1 r i n ( t 曲e f f l o o dn e t v v o r k ) 、耵n 3 k 、t i i i l 0 0 等【引。所以 攻击者们可以很方便的发起各种形式的d d o s 攻击。如何保障各种网站服务器的 中山大学硕士学位论文 正常运行,特别是大型网站的安全,远离拒绝服务攻击的威胁,成了网络安全研 究领域中的一个重要课题。 1 2课题内容及意义 本课题是国家自然科学基金项目网络时空行为与2 0 0 8 奥运会网络安全关 键技术研究的子课题,实现了一个基于i n t e l p 2 4 0 0 网络处理器的w e b 服务 器入侵防御系统,该系统被放置于服务器前端,对到来的访问流量进行分类处理, 力求及早发现能发起d d o s 攻击的异常流量,并进行防御处理,将攻击制止在萌 芽阶段。系统采用隐半马尔科夫模型( h s m m ) 【5 】核心算法,硬件平台采用刚y s i s 公司的e n p 2 6 1 1 网络处理器开发板,该开发板的核心部件是h l t e l 公司的p 2 4 0 0 的网络处理器;系统软件模块分为四部分:( 1 ) 图形用户界面与数据交互模块; ( 2 ) 基于c o o h e 【6 】的用户分类模块;( 3 ) 旧用户排队服务模块;( 4 ) 用户正 常程度计算模块。本文负责第一个模块的实现,该模块主要负责入侵防御系统的 初始化,宿主机与开发板之间的数据交互,以监视整个系统的运行。 本论文实现的图形界面与数据交互模块,旨在为入侵防御系统提供实时通信 与控制的平台,其中涉及到嵌入式系统的开发、通信机制在网络处理器开发板上 的实现等内容。 1 3内容特色 本系统核心处理部件采用的是i n _ t e l 公司的p 2 4 0 0 网络处理器,该款产品 是新一代用来执行数据处理和转发的高速可编程处理器,既有a s i c 芯片的高速 处理能力,又兼具很强的可编程特性,在网络数据处理方面较传统的处理器有明 显的优势,同时也满足了未来网络设备高速率,高智能的发展趋势。而开发板的 操作系统采用的则是目前在嵌入式方面有主导地位的l i n u x 操作系统,并且本论 文所实现的用户界面与网络处理器开发板两者是相互独立的,两者之间的通信与 数据交互视通过开发板提供的控制网口以及宿主机上的网络文件系统来实现。用 户界面运行于宿主机上以及数据传输通过网络文件系统来进行,都可以节省开发 板上的宝贵存储资源,同时也节省了嵌入式处理器运行用户界面所需的处理器资 源,很好的实现了该模块在系统中的功能。 2 第l 章 1 4论文结构 本论文分为六章,第二章结合传统的d o s 攻击对比式的介绍了d d o s 攻击 的特点,攻击网络的构成。并对入侵检测和防御系统作了对比和介绍。第三章介 绍了本系统的硬件平台:网络处理器以及网络处理器的开发平台d 心2 6 1 1 。详 细介绍了本系统用到的网络文件系统( n f s ) 和用户界面开发技术。第四章为本 论文重点部分,详细介绍了本通信机制以及本模块各个子模块的实现细节。第五 章使用例程验证通信机制的有效性和本模块的有效性。 中山大学硕士学位论文 第2 章拒绝服务攻击的原理及检测防御技术 2 1d d o s 攻击 2 1 1d d o s 攻击的原理与现状 d d o s ( d i s t r i b u t e dd e l l i a lo fs e r v i c e ) 又称为分布式拒绝服务攻击,早期的 d o s 攻击指的是由单台攻击主机发起的,针对个人主机或者小型服务器的拒绝服 务攻击。而这里所描述的d d o s 是借助数百,甚至更多被植入攻击守护进程的攻 击主机同时发起的集团作战行为。另外,d d o s 攻击还引入了客户服务器模式, 利用i n t e m e t 上现有协议及机器系统的漏洞,在感染机器本身,使其成为攻击者 的主控端或代理端的同时,攻击者又可以操纵这些被感染的主控端,继续挖掘网 络深处的可能成为主控端或代理端的主机,另外每个主控端又能控制多个代理 端,这样整个攻击网络将成分布式结构隐藏于i m e n l e t 中。一旦攻击者发布攻击 命令,成千上万的攻击主机便同时向性能优越的服务器发起攻击,迅速消耗服务 器有限的带宽和接入容量,使服务器陷入瘫痪状态或停止提供正常的网络服务。 虽然d d o s 形式多样,所利用的网络协议或者主机漏洞也不尽相同,但d d o s 攻击的原理可以分成以下三类1 7 j : ( 1 ) 发送大小为一般数据包几倍的攻击包,消耗目标服务器带宽造成服务器线 路瘫痪; ( 2 ) 在标准连接建立后,发送特殊数据包使得服务器上运行的网络服务软件大 量耗费c p u 内存资源,最终导致服务器瘫痪,这种攻击多见于游戏服务 器,f t ps e l w e r 等; ( 3 ) 针对服务器t c p m 协议模块发送特殊的数据包,致使服务器忙于处理该 类连接,最终资源耗尽。 基于以上原理,d d o s 攻击在真实的网络上衍生出很多变种,按照攻击所时 所发送的包的类型,我们可以简单的将它们分为以下两个类型: ( 一) 泛洪攻击:这种攻击以消耗目标网络带宽为目标,通常采取发送大量 数据包来淹没其他正常流的数据包的手段。因为路由器、服务器和防火墙拥有的 4 中山大学硕士学位论文 第3 章网络处理器、网络文件系统与用户界面技术 3 1网络处理器的基本组成 网络系统发展到现在,从最初依靠通用处理器处理所有网络事务的第一代网 络系统,衍生到现在各种专用处理芯片与通用处理器组合使用的第三代网络系统 ( 系统组织图如图3 1 ) 。虽然带来了一定的系统复杂性,但处理速度和智能处 理方面也是日新月异,很好的满足了现今网络多媒体时代对网络设各的要求。 网络层4 其他处理 网络层4 嵌入式处理器 流量管理 嵌入式处理器 网络层 网络层 1 & 2 网络层3 ,包分类 交换结构 网络层3 ,包分类 1 & 2 a s i ca s i c 接口1 , :甬f 日门n tt- 接口2 , 1 旭用、- ,r u ,r 图3 1第三代网络系统组织图 网络处理器就是在这种大背景下开发出来的第三代网络智能设备,在硬件结 构和软件组成方面有着独特的构造,尤其是在硬件方面,采取了与传统处理器不 同的策略,才使得网络处理器具有适应现代网络设备性能要求的各种特性,图 3 2 【2 9 】简要描述了网络处理器的硬件结构。从图中可以看出,网络处理器主要包 括两个功能模块: ( 1 ) 网络处理单元,如( m i c r oe n 西n e ) 。网络处理单元通常采用多线 程结构,可以完成高速、大容量的智能数据处理功能,如数据包的接 发、包头处理和路由查询等。网络处理单元一般由多个r s i c 芯片组 成,而r s i c 芯片是可编程的,这就充分保证了网络处理器的灵活性。 ( 2 ) 智能协处理单元,如x s c a l e 。该功能单元一般为专用单元,是网络处 理器的核心。在智能协处理单元上可以运行嵌入式操作系统,用于对 网络处理器单元和其他单元进行控制,另外通过运行于操作系统之上 l o 第3 章 的路由协议软件包,完成路由信息的接收、处理和发送,生成并维护 路由表等。智能协处理器单元是可编程的,这也极大的提高了网络处 理器的灵活性。 通过以上特殊的硬件结构,使得网络处理器能同时拥有专用芯片高速处理能力和 通用处理器可编程的灵活性。 = 璺 、,、 i 存储章元l e 一网络处网络接 理单元p l 口单元 、一 图3 2 网络处理器的硬件结构 网路处理器的软件体系包括以下部分,其中前三部分运行在智能协处理单元 上,微代码运行与网络处理单元上。 ( 1 )板级支持包( b s p ,b o a r ds u p p o r tp a c k e t ) ,负责记录智能协处理单 元需要管理的硬件信息以及它们的主要配置信息; ( 2 ) 嵌入式操作系统,是路由协议或其他应用程序运行的基础; ( 3 ) 路由协议软件包,智能协处理器通过运行这些包来生成并维护路由 一 衣; ( 4 ) 微代码( 或标准语言代码) ,用于对数据进行处理和转发。 3 2 i x p 2 4 0 0 网络处理器介绍 在介绍脚2 4 0 0 网络处理器之前,先介绍下文中常见的几个术语:a ,脚。 i x a ( i n t e m e te x c h a i l g ea r c m t e c t u r e ) 泛指i n t e l 网络处理器体系结构以及相 关的支持芯片。尽管a 大多数情况下指的是网络处理器硬件,但它同时也包 括网络处理器软件体系结构,这样才能在设计硬件的同时,预想到使用它的软件, 从而使设计出来的硬件实现可编程的特性。a 包括控制面( 慢路径) 和数据面 ( 快路径) 处理,同时也定义了硬件抽象、应用编程接口和互连机制,但是没有 给出细节,姒只是给出了概念上的组织。以a 有如下三个重要组成部分: 中山大学硕士学位论文 微引擎( m i c e n g i n e ,施) :微引擎是i n t e l 网络处理器的核心部件,也 是n e l 处理器取得线速处理性能的关键,在其它功能单元的支持下执行 快路径( f a s tp a m ,也称为d a _ t ap l 锄:数据面) 处理。 x s c a l ec o r e :x s c a l e 核是i n t e l 网络处理器的高层控制和管理单元,是与 s 仃0 n ga r m 兼容的一种微处理器,负责控制面的处理任务以及异常数据 包的处理,上面可运行v x w o r k s 、嵌入式l i i l u ) ( 等实时操作系统( r t o s ) 。 d i a 可移植框架( i x ap o r t l b i l 时f r a u n e w i d r k ) :为基于i x p 2 系列的网络 处理器的软件开发提供应用程序编程接口( a p i ) 和硬件抽象层( h a l : h 鲫曩w a r ea b s t r a c t i o nl a y e r ) 编程接口,使得运行在x s c 猷e 和m e 上的软件 具有良好的可移植性和可重用性。其结构如图3 3 所示。 图3 3 i n 钯li x a 模型示意图 软件可移植性 增强软件可移植性 提供高性能,可编程 的网络数据报处理 作为i i l :t e ld 渔的三大组成部分之一,利用以r a 可移植性框架开发模块化的、 可重复利用的网络数据包处理软件,使得p 2 代网络处理器可应用于o c 一3 一 o c 9 多种线速下的v o 口、m o b i l ei p v 6 、q o s 等复杂多样的网络业务。d c a 可 移植性框架由编程模型、a p i 、l i b 三部分组成。在肿2 代网络处理器中,将数 据包处理分为两个层次:数据面( d a :t ap l a n e ,也称为f a s tp a :c h ) 处理和控制面 ( c o n 们lp l a n e ,也称为s 1 0 wp a m ) 处理。利用d a 可移植框架,可将数据面 的数据包处理划分为若干个功能逻辑模块,每个模块称为一个m i c r o b l o c k ( 微模 1 2 ) ) ) 1 2 3 ( ( ( 第3 章 块) ,各个微模块之间相互独立,可利用d c a 可移植框架提供的m 地和l i b 进 行模块化开发,实现在数据面层次上的软件的可移植性。在d c a 可移植框架中 与数据面相对应的控制面的数据包处理划分为多个功能逻辑模块c o f e c o m p o n e n t ( 核模块) ,利用阢可移植框架提供的r m ( r e s o u r c em a l l a g e r , 资源管理器) 和c c i ( c o r ec o m p o n e n ti n 舶s 协l c n l r e ,核模块结构框架) 进行模 块化开发,实现控制面层次上的软件的可移植性。h l t e l a 中的网络处理本质上 就是作用到一个持续的数据包流或信元流上的一系列任务。在p 2 x ) 【) 【这种多处 理器多线程架构上,这些任务被分布到若干个微引擎上,每个微引擎执行一个 特定的任务。当一个微引擎完成它的任务后,将处理上下文传给下一个微引擎继 续处理。a 可移植框架是由微引擎和x s c a l ec o r c 上的一个分层结构组成的, 层次结构如图3 4 【2 9 】: 外部处 理器 控制层协议栈( c 0 n 仃o lp l 觚ep r o t o c 0 1s t a c k s ) 控制层平台开发工具集( c p - p l a 响加d e v e l o p m e n tk j t ) 内核区堕亟垂亟三三画 微引擎l 微模块库( m i c r 0b l o c kl i b r a d r ) 快路径三二二= 二二= 二二= 二二二二二= = 二二二二二二二微c 竺广叫竺广叫竺户中 优化的数据面库 豳亟夏堕亟匹匦亚 亘叠堑匦画 瓢。: 硬件抽象库( h a r d w a 糟a b s t f a 甜o nl i 妊i i y ) 图3 4d a 可移植框架的层次结构图 下面对d i a 可移植框架的层次结构进行简单的介绍: 优化的数据面库包含三部分:硬件抽象库、协议库、应用库。这些库由c 语言函数和微代码宏组成,其中很多函数和宏与低层硬件结构密切相关,可以直 中山大学硕士学位论文 接对硬件进行操作。因此,利用这些函数和宏不仅可以开发出高性能的软件,而 且可实现与底层硬件的松耦合,增强软件的可移植性。 m e ( 微引擎) 上的快路径处理被划分成一些称为微模块的逻辑单元,每个 微模块是用低层库( 包括优化的数据面库和微模块基础结构库) 写的宏或函数( 用 微引擎c 写的是函数,用微代码写的是宏) 。与低层的宏或函数不同的是,微 模块是粗粒度的,它有与x s c a l ec o r e 共享的状态及相关数据结构。将包处理功 能划分成微模块的目的是为了保持微模块之间的相对独立性,提高微模块的可重 用性,允许开发者通过微模块组合来实现所需要的应用,加快开发速度。 d i s p a t c hl o o p 将多个微模块连接起来形成一个微模块组,运行在一个微引 擎上,实现微模块之间的数据流动。通常不将驱动微模块包括到微模块组中,而 是令每个驱动微模块单独运行在一个微引擎上,以减弱微模块组与底层硬件的相 关性,提高微模块的可移植性。每个微模块组独立完成一个数据包的处理功能, 形成数据包处理流程中的一个相对独立、完整的处理环节。d i s p a t ( 洳l 0 0 p 为微 模块提供了高效访问共用数据结构( 如包描述符或包头) 的方法,以及与其它 d i s p a t c h1 0 0 p 和x s c 2 l l ec o r e 之间收发数据包的机制。 c c ( 核心模块) 是微模块在x s c a l ec o r e 上的对应部分,一个核心模块可以 管理一个或多个微模块,极限情况下一个核心模块管理所有的微模块。核心模块 负责配置微模块、初始化和维护公用数据结构、提供对微模块的例外包及消息的 处理函数等。每个核心模块可以有多个输入,每个输入关联到一个不同的数据包 或消息处理函数。有两种方法实现核心模块,一种是用核心模块基础库实现,另 一种是直接用r m ( 资源管理器) 提供的a p i 将核心模块实现为一个软件实体。 i 洲( 资源管理器) 是x s c a l ec o r e 上的一个软件组件,它为硬件初始化、 配置、系统资源管理以及微模块与相对应的核心模块之间的通信提供a p i ,方便 程序的开发。 c c i ( 核心模块基础库) 提供微引擎代码的装载和x s c a l ec o r e 的硬件抽象, 使用硬件抽象编写的x s c a l ec o r e 应用可以运行在硬件模式或仿真模式而不需要 修改访问功能单元的代码。 o s s l ( 操作系统服务层) 为运行在x s c a l ec o r e 上的软件提供操作系统的抽 象,使得资源管理器、核心模块基础库及其它运行在x s c a l ec o r e 上的软件实现 与操作系统的松耦合,从而提高这些软件在不同操作系统间的可移植性。操作系 1 4 第3 章 统服务层包括输出o s 服务的a p i ,它为以下类型的o s 服务提供抽象层:线程 管理、同步、互斥、定时器、内存管理和消息日志。 术语e 艘( i n _ t e m e te x c h 锄g ep r o c e s s o r ) 指实现了阢架构的网络处理器芯 片。尽管每一种脚设计必须遵循阢架构,但是不同的脚可以定义自己的 细节,比如片上功能单元的数量和种类、处理器的并行程度、存储器的大小以及 内部数据带宽等。四网络处理器典型地包括一个x s c a l e 核、多个微引擎、存 储器、若干硬件功能单元、与各种外部连接的接口、内部总线等。 3 2 1开发平台介绍 本文所实现的系统,采用的是r a d i s y s 公司出品d 岬2 6 11 网络处理器开发 板,该开发板的核心处理器为i n t e ld ( p 2 4 0 0 。 l网络处理器i x p 2 4 0 0 p 2 4 0 0 是i n t e l 公司的第二代网络处理器,由x s c a l e 核( c o r e ) ,微引擎 ,s 黜蝴控制器,d ra m 控制器,介质和交换结构接口m s f ,p c i 控制器, s h a c 单元,高速内部通道c l 娜s i s 组成。图3 5 描述了简要的硬件结构2 9 】。 曰$ ,sp t i s hsp u l l 、 sp u s h | sp u l i 、d p u h d p 璐h 、 l 总线o总线o l 总线l | 总线l 总线总线 r 命令总线 、 c h 笛i s 一 1 fj 3 1 f 心山l 2 山 j l p c l 峄厂嶝 l i r 她l x 啪l e单元 峪厂幽 m 厶lm el _ 鬯r l2 ;:i j 图3 5i ,2 4 0 0 硬件结构 总体上来看,阳2 4 0 0 采用了多主控+ 系统底盘+ 多目标的硬件体系结构。多 主控是指脚的多个主控单元,包括x s c 2 l l e 核、微引擎、p c i 控制单元等硬件 中山大学硕士学位论文 1 0 0 me 1 ! 鼢i e t 圳i 存储系统o o me t m r n e tl a n 8 2 5 5 9 百兆以太 网控制器 p c i 2 0 5 0 b p c i 桥 接器 图3 6e n p 2 6 1 1 实物及硬件结构图 3 3网络文件系统( n f s ) 技术介绍 n f s 至少包括两个主要的部分:一台服务器,以及至少一台客户机,客户 机远程地访问保存在服务器上的数据。本系统中,宿主机充当服务器角色,开发 板则为客户端,要使得客户端能正确加载服务器端的文件系统,需要在服务器端 配置并运行l i n 畎操作系统提供的后台网络服务程序,这些服务程序如下表所 示: 表3 1n f s 服务器启动项目表 服务功能 i 瓜d 处理来自客户端的请求 n l o u n t d 处理n f s d 递交的请求 印c b i n d允许n f s 客户查询服务器端与n 蠡绑定的端口号 客户端同样运行一些进程,比如n f s i o d 。n f s i o d 处理来自n f s 的请求。这 是可选的,而且可以提高性能,对于普通和正确的操作来说并不是必须开启的进 程。 开启了服务器上的进程后,就需要确定服务器上有哪些是用来提供挂载的目 录。这些,可以在控制网路文件系统输出的配置文件e t c e x p o n s 中进行设置,其 语句格式为:“d n c t o 巧h o s tn 锄e ( o p t i o n s ) ”,其中d i r e c t o 巧用来表示被挂载的服 务器目录,h o s n l 锄e 用来说明哪些网络用户可以挂载该目录,木则为任何用户; o p t i o n s 表示权限,有只读( r o ) ,可读写( r 、) 等选项。本系统需要加载l 证u x 1 8 姗榴一 眦堕一钆缸太二封墼搠 眦! hh 丽躲笋一壤 砣理一 一 嗍她 栅竺 一 激一一 第3 章 g d k ( g 蹦p 绘图包) 是简化程序员使用x 函数的函数库,x 库是低层函数, 由许多专门的和相对简单的任务函数组成。g d k 创建保存窗口配置信息的数据 结构,并提供使用这些数据结构的函数。例如,色彩保存在一个g d l 【c o l o r 结 构中,函数可以使用该结构在色彩图中自动分配颜色,如果所选择的颜色没有出 现在该结构中,g d k 负责寻找一个与它最相近的颜色。 g t k + 就是g i m p ( g n ui i n a g em a i l i p u l a t i o np r o 影吼) 工具包,是一个成熟,高 效的构件集合它在保持了扩展性和效率的前提下提供了现代的视觉和感觉效 果g t k 十为应用程序开发者提供了一个强大的系统对象,它具有动态查询的能力, 还可以在运行时修改对象和构件g t k 十是一个可以扩展的工具箱,例如,g n o m e 有内嵌的,高层构件来缩短应用程序的开发周期 g i l o m e 软件层次得罪高层是g n o m e 应用程序,应用程序调用印o i n e “t o 函数进行窗口初始化、构建一个或多个显示窗口、循环等待键盘或鼠标的活动。 3 4 2g t l “图形用户界面编程 本文采用的宿主机是基于q 1 0 m e 环境的用户界面,所以采用g 咀o m e g t k 十 来实现本系统应用程序的用户界面设计在g n o m e 环境下编写g 町i ,我们可以选 择多种工具包,其中最常见的有:m 0 t i f 、a t l l e n a 、g n 针或者q t ,m o t i f 和a 吐l e m 多用于l 刀v 系统,而g t k + q t 更适合l i m 系统。因为g ,r k + 是版权完全 免费的软件包,所以本系统选择g t k + 作为开发软件包。 g i l o m e 选择完全遵循g p l 的g t k + 图形界面为基础,因此我们也一般将 ( m o m e 和l e 两大阵营成为g i l o m e g t k + 和k d e q t 。与q t 基于c + + 语言 不同,g t k 十采用传统的c 语言,g 】m e 与g t k - + 的关系见图3 8 【3 2 】: 图3 8g i l o m e 与g t k 十关系图 2 l 中山大学硕士学位论文 在l i n u x 和其他版本的u n 上,g i i n pt 0 0 l t ( g n 汁) 广泛用于编写x 讹d o w s 应用。为了保持可移植性和软件维护,g t k + 由表3 3 所示的3 个库所 组成1 3 2 】: 表3 3g t k + 包含的3 个库 库名描述 g l i bg 库,为链接列表、散列表、字符串工具等提供c 函数 g d k 代表g t k + d r a w i n gk i t ( g t k + 绘图包) g t k代表g i m pt o o lk i t ,一种高级的窗口部件集 但开发应用程序时,可以独立的使用其中的任何一个库,也可以同时使用多个库。 正如上表所示,窗口部件库和整个工具都可以叫做g i i n pt o o l t 。一般我 们将整个软件包称为g t k 十,而把其中的库和函数成为g t k 。g n 汁中的加号用 来表示它是下一代g t k ,而且实现了类似面向对象的特性。 g t i 汁具有自己的窗口部件类型,这种类型的c 数据结构称为砒w i d g e t 。使 用g t k + 创建的窗口以及任何显示部件均可以通过类型为呲w i d g e t 的变量来引 用。尽管g t k + 是用c 写成的,但是g t k + 具有很强的面向对象风格。一个 眦w i d g e t 对象具有数据封装、维护回调函数的引用等功能。g t k w i d g e t 数据类 型的定义如下: s t n l c t g t k w i d g e t g t l 【o b j e c to 场e c t ;严c o r eg t ko b j e c td e f i m t i o n 卓 g u i n t l6p d a t t n a g s ;宰p r i v a t es t o m g e 木 g u i n t 8s t ;疵;产o n eo f5a l l o w e d 、) l ,i d g e ts t a t e s 奎 g u i n t 8s a v e d _ s 协t e ;事p r e v i o u sw i d g e ts t a t e 事 g c h a r 掌瑚m e ;产晰起e t s 彻m e g t l ( s 够l e 木g 哆l e ;产s 够l ed e f i i l i t i o n g t k r e q u i s i t i o nr e q u i s i t i o n ;母r e q u e s t e d 谢d g e ts i z e 木 ( 敞刖l o c a t i o na l l o c a t i o n ;产a c t u a l 诵d g e ts i z e 幸 g d l 【w i n d o w 奎谢h d o w ;宰白叩一l e v e lw i i l d o w 掌 g t l ( w i d g e t p a r e n t ;严p a r e n t 、访d g e t ; 通过在结构定义中将呲w i d g e t 对象定义为第一项,使得g t k 的窗口部件 “继承 了c 敞w i d g e t 。 第3 章 3 4 3g t k + 的事件处理机制 编写图形用户界面的主要任务分为两部分:创建窗口部件;编写代码处理回 调函数中的事件。呲也使用回调函数处理程序中的事件。g t k 中的这类回调函 数称为“信号处理函数 ,信号处理程序的定义可以在删d g e t h 中查看函数 原型如下:咖d e f v o i d ( 木c 敞c a l l b a c k ) ( g 敞w i d g e t 宰谢d g e t ,g p o i n t e rd a 枷,参数 呲w i d g e t 如前所述,g p o 硫c r 是一种抽象指针,可以引用任意类型的数据。有 了信号处理函数,g t k 应用程序还需调用g 墩s i 鄂mc o 皿e c t 函数将事件与g t k 窗口部件绑定,通过这种方式处理所有注册事件。同样该函数的定义也可以在 肚v v i d g e t h 中查看,函数原型如下:g 硫蚰一i g f l a l o 皿e c t ( g d ( o b j e c t 奉o b j e c t ,c o n s t g c h a r 木m 吼e ,舭s i gn a l f 吼c 劬c ,g p o i n t e r 缸c _ d ,其中第一个参数是指向某 个c 敞o b j e c t 的指针。然而在实际应用中传递的是( 肽w i 起e t 对象的地址。m r n e 参数定义的是事件类型的名称,最常用的g t k 事件类型名称如表3 4 。 表3 4 常用的g t k 事件类型 事件类型描述 c l i c k e d用于按钮窗口部件 d e s t r o y用于窗口部件的关闭 e x p o s e e v e n t当窗口部件第一次创建或出现时发生 除了回调函数和绑定函数之外,在此还列出本模块界面开发中经常用到的一 些常见工具函数见表3 5 : 表3 5 模块开发常用函数列表 函数名功能 将程序的命令行参数传递个g t k 初始化代码。作为 酣【- i n i t g t k 选项处理的参数都从参数列表中移去 g t kw i n d o w - n e w 创建一个新窗口 垂k - b 眦o n e 删t h j a b e l创建新的按钮标签 舀k c o n t a i n e r - - a d d将窗口部件添加到窗口或其他任何容器窗口部件中 g t kw i d g e t _ s h o w使窗口部件可见,子窗口部件在父窗口部件之前可见 g t km a i n主函数,完成初始化,处理事件 中山大学硕士学位论文 4 1基本思想 第4 章方案设计 入侵防御系统( h 1 咖s i o np r e v e n t i o ns y s t 锄,i p s ) 【2 8 】指的是利用计算机网 络中若干关键点收集数据流的信息,从这些数据来分析出,当前网络运行是否正 常,有无异常行为和被攻击的迹象等等。在这些功能当中最重要,也是最核心的 是区分正常流与攻击流,因为现代网络有流量大,突发性强的特点,所以很有可 能在某一时刻,入侵防御系统将一个突发流量误检测为攻击流,这种误报是传统 入侵防御系统的一大诟病,所以出现了以获取各种数据流的数学特性,并将之应 用于入侵防御系统识别攻击流的技术是现在研究的热点。 本系统采用隐半马尔科夫模型( h s m m ) 【5 1 ,建立起各种数据流之间的自相 关性或长相关性以及随时间的动态变化特性的模型,有了这种模型,就可以用来 与要检测的流进行数学计算,并根据计算结果作出判断。 具体来说,首先用大型网站的正常流来训练本模型,获得网络在正常情况下 的数据特征即参考模型,在将本系统接入实际网络后,获取实际网络数据流的观 测序列,并计算出相对于参考模型的或然概率( 或熵) ,根据熵的大小,给予不 同的流以不同的正常程度值,熵的值越大,该数据流的正常程度就越高,获得的 优先级就越高,反之则该流愈可能是异常流,优先级随之降低,但只有在网络资 源不够时,才对低熵值的数据包进行丢弃1 3 3 1 。 4 2系统详解 本系统按各部分的功能可分为四大模块: ( 1 ) c 0 0 l 【i e 流分类模块,包括接收子模块、包分类子模块、c o o k i e 分类子 模块以及i d 映射子模块。大致工作流程为: 首先由接收子模块负责接收来访的数据包,并将数据包实体存放于板载 d r a m 中,同时该包对应的m 鲍妇a 存放于板载s 洲中,m e 鼬用于实际 的包操作,这样避免了直接对包实体的操作,另外,板载s i 乙蝴的存取速度远 大于板载d r a m ,这样就大大提高了数据包处理的速度。 第4 章 数据包经过接收模块处理后,m e t a d a t a 传至包分类模块,进行h 兀p 【3 9 】包和 非h 1 曙包的分类,对于h r r p 包,主要提取包头信息中的协议字段,目的端口, 还有h 1 m 应用层的请求字段,这些将用于后续模块,而对于非h t t p 包,则由 另外的程序处理,不属于本论文讨论的范畴。 得到了包含h t t p 字段的相关包之后,交由c o o k i e 分类模块处理,该模块 主要用来区分此用户数据包是否曾经访问过受保护的服务器,如果有,则数据包 中应该包含有本系统独有的c o o l 【i e 字段( 事先与w e b 服务器协调) 。对于包含 c o o k i e 字段的数据包,模块将提取其p m ( 即c o o l 【i e 值) ,用于下一模块的处理, 而对于那些没有包含c o o l 【i e 字段的数据包,则作为新用户数据包,交由新用户 到达处理模块,进行限速处理后,直接送至受保护的服务器端,服务器负责为该 新用户分配系统唯一的c o o l ( i e 。而此用户的后续到达包都将包含此c o o k i e 值。 数据包进入用户区分模块的最后一个子模块i d 映射子模块,此时将上 一子模块获得的p d 映射成会话i d 。由于本系统微引擎内部的寄存器个数有限 ( 3 2 个) ,所以允许的会话i d 的数目也有限,由用户界面设置的i d 数不能超 过3 2 个。获取的会话i d 存放于微引擎内部的s c r a t c h 砒n g 中,作为下一子模块 的参数,同时i d 映射子模块还负责向正常程度计算模块发送相应信号。 ( 2 ) 正常程度计算模块,该模块负责在网络处理器上实时的计算各个数据 流的观测序列相对于检测模型的平均对数或然概率,计算出或然概率后,通过 查询平均对数或然概率表,得出各个数据流的正常程度,该正常程度值将用于用 户排队模块。另外,该模块还负责与上级c o o k i e 分类模块、后续的排队服务模 块以及后台训练模块的通信。 计算功能可以简述为:模块收到c o o k i e 模块的初始化信号后,对某i d 进行 初始化,之后收到c o o k i e 模块的观测信号则对该i d 进行观测,观测该i d 的时 间由用户界面设置,观测完后计算该i d 的平均对数或然概率,继而查表得出该 i d 的正常程度。 ( 3 ) 正常程度排队模块,该模块与c o o l 【i e 流分类模块通过s c m t c hr j n g 进 行通信,c o o l 【i e 模块负责将包的m e t a d a 切和用户i d 写入s c r a t c h 弛g 中,并通 知旧用户排队子模

温馨提示

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

评论

0/150

提交评论