(计算机应用技术专业论文)嵌入式屏蔽路由型防毒墙.pdf_第1页
(计算机应用技术专业论文)嵌入式屏蔽路由型防毒墙.pdf_第2页
(计算机应用技术专业论文)嵌入式屏蔽路由型防毒墙.pdf_第3页
(计算机应用技术专业论文)嵌入式屏蔽路由型防毒墙.pdf_第4页
(计算机应用技术专业论文)嵌入式屏蔽路由型防毒墙.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着科技进步和i n t e r n e t 的飞速发展,计算机网络已经覆盖了社会政治、 经济、文化、生产的各个领域。用于保护用户网络信息安全的网络安全研究也 越来越成为了全社会关注的焦点,并日益成为网络发展的重要课题。目前的安 全措施有很多种,实际应用中人们往往选择多种安全措施结合在一起来实现对 网络信息的保护。 本文将介绍一种基于嵌入式硬件平台采用l i n u x 操作系统的嵌入式屏蔽路 由型防毒墙。它集防火墙、路由以及防病毒功能于一身,可以在节省成本的同 时有效抵御一定程度上的网络攻击。该系统中,防火墙模块实现了一个简易包 过滤系统,路由模块实现的是一个o s p f 路由协议中的内部路由器功能,而防病 毒模块采用的是基于n e t f l o w 技术的网络流分析技术,目的是快速发现网络中 蠕虫病毒的传播并及时采取措施防止病毒扩散。 本文第一章简要介绍了一下t c p i p 协议族、当前常见的网络威胁和安全技 术,并在最后介绍了本系统的开发时采用的软硬件环境;第二章主要介绍了目 前使用的防火墙、路由和防病毒技术;第三章介绍系统中的关键技术和架构; 第四章到第七章详细介绍了本课题的主要算法和具体设计实现;最后在第八章 中对系统的优缺点以及进一步完善的方向等进行了描述。 关键词:网络安全;防火墙;路由器;o s p f ;n e t f l o w ;防病毒;蠕虫 a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to f c o m p u t e rs c i e n c ea n dt h eu n i v e r s a h t yo f i n t e r n c t , c o m p u t e rn e t w o r k sh a v eb e e nb e i n gw i d e l yu s e di nm a n yf i e l d s , s u c ha sp o l i t i e s , e c o n o m y , c u l t u r ea n di n d u s t r y t h en e t w o r ks e c u r i t yh a sa l s ob e e np a y i n gm o r ea n d m o r ea t t e n t i o n , a n db e c o m e so n eo f t h em o s ti m p o r t a n ts u b j e c t so l ln e t w o r kr e s e a r c h t o d a y , p e o p l eh a v ed e v e l o p e dm a n ys e c u r i t yt e c h n o l o g i e s ,a n da l w a y ss e l e c tm o g e t h a no n eo f t h e mt op r o t e c tn e t w o r k s t h i sp a p e rd e s c r i b e san e t w o r ks e c u r i t yn o d ec a l l e ds c r e e n i n gr o u t e ra n t i - v i r u s f i r e w a l l w h i c hi sb a s e do ne m b e dl i n u xs y s t e ma n di n c l u d e s3m a i nn 痂u l e s 一一 f i r e w a l l ,t o u t e ra n da n t i - v i r u ss y s t e m w i t ht h i ss e c u r i t yn o d e , w ec a ng o tas e c u r e n e t w o r ka n dr e d u c et h eb u d g e t i nt h i ss y s t e m , t h em o d u l eo ff i r e w a l li m p l e m e n t sa s i m p l ep a c k e tf i l t e rs y s t e m , a n dt h em u t e rm o d u l ei m p l e m e n t so s p f , a n dt h em o d u l e o fa n t i v i r u ss y s t e mw h i c hu s e sa l lf l o w - b a s e da n a l y s i sm e t h o db a s e do nn c t f l o wi s a na n t i - w o r ms y s t e r nw h i c hc a nd e t c e ta n d p r e v e n to d r f l l n o n w o r mp r o p a g a t i o n i nc h a p t e r1 ,i l li n t r o d u c et h et c p i ps t a t e ,t h ee o m n l o r lt h r e a t e na n ds e c u r i t y t e c h n o l o g i e sa n dt h ep l a t f o r mo ft h i ss y s t e mi nb r i e f i nt h es e c o n dc h a p t e r , w ew i l l k n o wt h ee o n i i n o nt e c h n o l o g i e so ff i r e w a l l ,r o u t e ra n da n t i - v i r u ss y s t e m t h e n1w d l e x p l a mt h ep i v o t a lt e c h n o l o g ya n d 丘a l n ew h i c hu s e di nm ys y s t e mi nc h a p t e r3 f r o m c h a p t e r4t oc h a p t e r7 ,i l le x p a t i a t ea l lo ft h ei m p o r t a n ta l g o d t h r ma n dh o wt o i m p l e m e n tt h e mi nd e t a i l i nt h ef i n a l i t y , t h ea d v a n t a g e s ,t h e & s a d v a n t a g e sa n dt h e p r o b l e m sr e q u i r i n gf u r t h e rs t u d i e sa r ed i s c u s s e di nc h a p t e r8 k e yw o r d s :n e t w o r ks e c u r i t y ;f i r e w a l l ;r o u t e r ;o s p f ;n e t f l o w ;a n t i v i r u s ;w o r m 学位论文版权使用授权书 y g s 6 a s 6 1 v 本人完全了解北京机械工业学院关于收集、保存、使用学位论文 的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和 电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、 缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以 及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向 国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目 的的前提下,学校可以适当复制论文的部分或全部内容用于学术活 动。 学位论文作者签名:于4 闻 御年1 鹞2 gh 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月日年月日 硕士学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 签名:于相 训占年2 - 月彦e t 第l 章引言 1 1 概述 第1 章引言 2 0 世纪6 0 年代初,p a u lb a r a n 、l e o n a r dk l e i n r o c k 、d o n a l dw a t t sd a v i e s 提出了分组交换( p a c k e ts w i t c h i n g ) 、存储转发( s t o r ea n df o r w a r d ) 、分布 式网络( d i s t r i b u t e dn e t w o r k s ) 等理论,这些理论构成了i n t e r n e t 最核心的 设计思想。之后随着a r p a n e t 、m i l n e t 、n s f n e t 等网络的相继建立,网络技术 也逐渐成熟起来m 。 随着i n t e r n e t 的发展,网络上的各种应用也逐渐丰富起来,从最早的 e - m a i l 、b b s 到现在的网络游戏、电子商务、b l o g 等等。i n t e r n e t 已经不再是 一门纯粹的实验室里的技术,而是作为一种文化融入了人类社会的各个角落。 它的作用已经从信息的共享发展成为人们发布和相互交流的信息平台。 尽管i n t e r n e t 有着如此多的优点并且越来越多地与人们生活紧密结合,然 而,作为一个面向大众的开放系统,i n t e r n e t 在建立之初对于信息保密以及系 统安全方面考虑得并不完善。随着计算机网络的普及,越来越多的企业、政府 部门、军队以及个人都把自己的信息放在网络上共享,以供与这些信息相关的 人员使用,然而,正是由于越来越多的有价值的保密信息共享到网络上,随着 网络技术的发展,网上的攻击逐渐增多起来,以非法方式窃取,篡改或损坏这 些信息为代表的计算机犯罪也日渐增加。如果人们不对这些网络上共享的信息 加以保护k 王,这些网络攻击轻则干扰人们的日常生活,重则造成重大经济损 失,甚至危春家安全,因此,单位或个人在享受网络给人们带来的便利的同 时,必须考虑到k 佣网络的风险,并想办法降低这种风险。随着需求的日益增 多,网络安全作为- - f 3 专门研究如何提高网络安全、降低网络风险的学科也就 应运而生了。 1 2t c p i p 协议族 要讨论网络安全,首先必须对网络安全的基础部分- t c p i p 协议有所了 第l 章引言 解。t c p i p 体系作为当前互联网络的核心,现在几乎所有计算机网络都是建立 在该体系结构之上的,因此在所有与网络相关的研究中就必须首先理解t c p i p 。 t c p i p 起源于2 0 世纪6 0 年代末期美国政府资助的一个分组交换网络研究 项目a r p a n e t ,到2 0 世纪9 0 年代时已经发展成为计算机之间最常用的组网方式。 t c p i p 体系被分为四层:链路层( l i n kl a y e r ) 、网络层( n e t w o r kl a y e r ) 、 传输层( t r a n s p o r tl a y e r ) 和应用层( a p p l i c a t i o nl a y e r ) 。每层都由多个协议 组成,该结构及其中每一层上常见的网络协议如下图所示0 1 : 媒体 图1 1t c p i p 体系结构示意图 应用层 运输层 网络层 媒体 网络中的每台机器上的每一层都负责与其它机器上的相对应层的通信,不同 计算机中对应层上负责通信的部分被称作对等进程,它们都采用相同的协议进 行通信,然而通信过程中负责网络通信过程中的不同功能: 链路层:通常包括操作系统中的设备驱动程序和计算机中的对应网络接口 2 第1 章引言 卡,主要功能是用来处理与网络电缆等物理结构相关的细节。 网络层:是整个体系结构的关键部分,其功能是使主机可以把分组发往任何 网络,并使分组独立地传向目标。这些分组可能经过不同的网络,到达的顺序 和发送的顺序也可能不同。t c p i p 协议族中,该层的协议包括i p 、i c m p 和i g m p 协议。其中,i p 协议用于连接多个分组交换网,提供在具有固定地址长度的主 机之间传送数据报,以及根据各个数据报大小的不同在需要时分片和重组大数 据报的功能。i c m p 是i p 的附属协议,被i p 层用来与其它主机或路由器交换错 误报文和其它重要信息。i g m p 是i n t e r n e t 组管理协议,用于把数据报多播到多 个主机。 传输层:主要用于为两台主机上的应用程序提供端到端的会话,该层定义了 两个互不相同的端到端协议:t c p 和u d p 协议。t c p 是面向连接的协议,为主机 之间提供高可靠性的数据通信,除基本的数据传输外,它还提供了可靠性保证、 流量控制、多路复用、优先权和安全性控制等功能;u d p 是面向无连接的不可靠 传输协议,它只负责将数据发送给目的主机,并不保证一定到达,基于u d p 的 网络应用的可靠性只能通过应用层来提供。 应用层;该层包含了所有的高层协议,如t e l n e t 、f t p 、s m t p 、d n s 等等。 它们构成了当前i n t e r n e t 上常见的几乎所有应用。 1 3 网络安全现状分析 在对t c p i p 的基础了解之后,我们还需要对网络安全的现状有所了解。网 络安全包括两个方面的内容,一个就是现有的以及其它可能出现的网络安全问 题,包括黑客攻击、系统漏洞、计算机病毒等等:另一个就是针对这些安全问 题可以采取的解决方法,也就是网络安全技术。下面将一一阐述: 1 3 1 网络安全问题 首先是网络安全方面可能存在的问题,这些问题可以理解为网络上的各种安 全威胁和攻击。目前网络上存在着无数的安全威胁和网络攻击,所谓“知己知 彼,百战不殆”,要研究网络安全,首先必须了解常见的危险以及攻击者采用的 攻击方式,这样才能对症下药,采用正确的安全防护方式。 第l 章引言 按照攻击的性质、手段和结果可以把这些攻击分为四类:窃取信息、非法访 问、拒绝服务攻击以及计算机病毒“1 。 窃取信息 窃取信息攻击的主要方式就是扫描和探测,从而获取被攻击者的信息。这种 攻击一股不会给被攻击者带来任何直接的损失,但是它往往是其它恶意攻击的 前奏,攻击者根据窃取到的信息来确定接下来采用什么方式进行进一步攻击。 这类攻击主要有:网络踩点、地址或端口扫描、协议栈指纹( 体系结构探测) 、 信息流监视和会话劫持等。 非法访问 在攻击者需要窃取或篡改被攻击者的信息时,他们采用的攻击措施都可以归 为非法访问攻击一类。攻击者采用这种攻击方式攻击目标主机从而实现对没有 访问权限的系统进行操作。常见的非法访问有:口令破解、i p 欺骗、d n s 欺骗、 重放攻击、非法使用、特洛伊木马等。 拒绝服务 攻击者为了使计算机功能或性能崩溃而采用的攻击方式被称作拒绝服务攻 击,攻击者往往用其来攻击某些特定的网络或服务器,使被攻击网络或服务器 无法访问。采用这类攻击的攻击者并不能从被攻击者身上得到直接的好处( 如 有价值的信息等) ,但却可以使被攻击者遭受不可预估的损失。该类常见的攻击 行为主要有:p i n go fd e a t h 、泪滴( t e a r d r o p ) 、u d pf l o o d 、目的地不可到达 攻击、s y sf l o o d 攻击、s m u r f 攻击和分布式拒绝服务攻击( d d o s ) 。 计算机病毒 计算机病毒是指这样一段可执行的程序代码,它可以通过对其它程序进行修 改从而“感染”这些正常的程序,使它们成为或包含该病毒的另一个拷贝。病 毒通常含有两种功能:一是对其它程序进行感染;二是或者损坏系统或者植入 攻击,为下一步攻击作好准备。现存的计算机病毒成千上万,从单机版到网络 版都层出不穷,它们已经构成了对软件、计算机和网络系统的最大威胁之一。 从广义上说,病毒可以分为传统病毒( 即通过改变文件或者其他东西进行传播, 通常有感染可执行文件的文件型病毒和感染引导扇区的引导型病毒) 、宏病毒、 恶意脚本、木马、蠕虫、破坏性程序等。 4 第l 章引言 1 3 2 网络安全技术 随着安全威胁的出现,人们对信息安全的要求日益迫切,安全技术也逐渐 发展起来了。一般来说,没有绝对安全的系统,也就是说在不计成本和时间的 前提下,没有攻不破的系统。安全技术研究的目标就是让攻击者攻破系统所需 的成本、时间无法达到或者高于他们攻破系统所得到的好处,一套系统只要满 足了这个条件就可以认为是安全的。国际标准化组织i s o 通过对o s i 开放互连 环境的安全性进行了深入研究,在对威胁进行分析的基础上,定义了五种安全 服务功能:认证、访问控制、数据保密性、数据完整性和防抵赖性服务“1 。为 了实现这几种安全服务,近年来出现了很多安全技术和方法:加密技术、身份 认证技术、授权与访问控制技术、安全协议技术、入侵检测系统( i d s ) 、防火 墙技术、操作系统增强。这些技术很少单独使用,一般都是集合多种技术为用 户提供一个相对安全的网络环境。 1 4 开发环境 1 4 1 硬件平台 论文所研究的屏蔽路由型防毒墙基于嵌入式开发环境,其硬件平台为华恒 h p p c 8 2 4 5 4 f e c r 1 套件,如图i 2 所示。该套件是一套完整的基于摩托罗拉 m p c 8 2 4 5 处理器的嵌入式开发平台。m p c 8 2 4 5 集成p o w e r p c 处理器适用于那些 对成本、空间、功耗和性能都有很高要求的应用领域。该器件有较高的集成度, 它集5 块芯片于一体,从而降低了系统的组成开销。高集成度的结果是简化了 电路板的设计,降低了功耗和加快了开发调试速度。这种低成本多用途的集成 处理器的设计目标是使用p c i 接口的网络基础结构、电讯和其它嵌入式应用。 它可用于路由器、接线器、网络存储应用和图像显示系统。例 该套件由核心板和底板( 外设板或称基本板) 组成,核心板上集成摩托罗 拉m p c 8 2 4 5 处理器,6 4 m 的s d r a m 以及4 m 的f l a s h ,为用户的软件研发提供 了足够的空间。底板上则提供非常丰富的外设接口:四个1 0 m i o o m 以太网接口、 一个四线r s 一2 3 2 串口( c o m l ) 。核心板和底板配合即构成一个最小的完整应用 系统。系统具有体积小、耗电低、处理能力强、网络功能强大等特点,能够装 5 第l 章引言 载和运行嵌入式l i n u x 操作系统。用户可以在这个系统平台上进行自主软件开 发,并对m p c 8 2 4 5 进行测试和评估,也可在保持核心板不变的情况下,针对具 体的应用通过对底板的更改来实现定制自己的应用系统。 图1 2 华恒h p p c 8 2 4 5 4 f e c - r i 套件 1 4 2 嵌入式软件开发模式 大多数的p c 软件都是通过本地开发的,即主机将开发、调试、运行集成于 一体。这种方式并不适用于嵌入式软件开发,因为嵌入式主机一般都资源有限, 不会集成开发环境和调试工具。因此编写嵌入式软件时一般都采用交叉编译方 式。建立交叉编译环境需要先选一台p c 机作为宿主机,最终需要运行软件的嵌 入式开发板称作目标板。一般在宿主机上运行开发环境和调试工具,在宿主机 上进行软件开发和调试,通过宿主机的交叉编译将开发的软件代码编译成可以 在目标板上执行的二进制代码,再把这些二进制的可执行文件加载到目标板上 运行。 在本次开发过程中,建立的交叉编译环境如图1 3 所示。宿主机通过集线 器( h u b ) 与目标板连入同一网络另外再通过串口与目标板相连。宿主机运行 的r e d h a t 9 l i n u x ,首先在宿主机上配置n f s ( 网络文件系统) ,通过配置n f s 6 第1 章引言 可以在交叉开发过程中将宿主机m o u n t 到目标板上,然后配置t f t p 服务器,以 便最后开发完成后下载烧写目标代码时使用。 图1 3 交叉编译环境 开发过程可以概述如下:首先用网线和串口线将宿主机和开发板相连,在 宿主机上进行编辑、编译,同时宿主机上通过m i n i c o m 作为目标的仿真终端, 通过仿真终端m o u n t 宿主机存放该应用程序的目录。调试信息通过串口打印在 宿主机的m i n i c o m 屏幕上或记录在s y s l o g 文件中,最后在程序调试通过后将可 执行的二进制文件烧写到目标板上。 7 第2 章相关技术分析 第2 章相关技术分析 嵌入式屏蔽路由型的防毒墙是一个基于嵌入式平台的,集路由器、防火墙 以及一定的防病毒功能与体的一个网络实体。本章对实现这三个方面的功能 的相关技术进行了分析和探究。 2 1 防火墙技术 首先是防火墙技术,防火墙是位于两个或多个网络问实施网间访问控制的 一组组件的集合,典型的防火墙结构如图2 1 所示。 图2 1 防火墙结构 随着i n t e r n e t 和i n t r a n e t 的发展,防火墙的技术也在不断发展,但万变 不离其宗,按照功能划分,防火墙可以分为三种:分组过滤路由,应用级网关 和电路级网关,这几类防火墙分别工作在不同的网络层次上,如图2 2 所示; 防火墙采用的基本技术还是只有两种:包过滤技术和代理服务技术。 第2 章相关技术分析 电路级网关 包过滤 2 1 1 包过滤技术 o $ i 模型t c p i p 模型 图2 2 不同防火墙对应的网络层次” 分组过滤也称作包过滤防火墙,它采用的技术主要是包过滤。它一般是通 过检查单个包的地址、协议、端口等信息来决定是否允许此数据包通过。早期 的分组过滤防火墙主要采用静态包过滤技术,该技术主要是依据流经该设备的 数据包的i p 首部、i c m p 首部、t c p 首部或u d p 首部中的信息来与规则库中定义 的规则进行比较,从而决定是否允许该数据包通过。0 3 这种防火墙的优点是简洁、 速度快、费用低,并且对用户透明,无需对网络进行特殊处理,所以通用性比 较强,并且可以与路由器相结合。但是它缺点相对较多,定义复杂、容易造成 配置不当;它通过网络层的信息来对包进行判断,无法满足较复杂的安全要求; 规则数日毕竟有限,大量增加规则也将也将导致性能相应减弱;由于缺少上下 文关联信息,不能有效地过滤如u d p 、r p c 一类的协议;另外,大多数过滤器中 缺少审计和报警机制,它只能依据包头信息,而不能对用户身份进行验证,很 容易受到“地址欺骗型”攻击“1 。 静态包过滤在遇到使用动态端口的协议时会遇到困难,如f r p ,防火墙无法 事先知道哪些端口需要打开。于是又有一些专门的防火墙系统在静态包过滤基 础上进行了功能扩展,发展出了动态包过滤技术。该技术最早由c h e c k p o i n t 提 出,它采用动态设置包过滤规则的方法,将已经建立的连接的状态信息写进常 驻内存的状态表,后来的包的信息与状态表中的信息进行比较,该动作是在操 9 第2 章相关技术分析 作系统的内核中完成的,因此,提高了系统效率,并增加了安全性。一个典型 的例子是,静态包过滤无法区分一个从外部用户流入的包与从内部用户流出后 返回的包的不同,动态包过滤防火墙却可以。动态包过滤防火墙可以限制外部 用户访问内部网络,但保证内部用户可以访问外部网络,静态包过滤防火墙做 不到。当一个包隶属于一个已经建立连接时,防火墙不作进一步检查就可以放 行这个包,通过占有部分系统内存,减少了包检查时的工作量,因此,动态包 过滤的性能有一定程度的增加。这种技术后来发展成为包状态监测( s t a t e f u l i n s p e c t i o n ) 技术。采用这种技术的防火墙对通过其建立的每一个连接都进行 跟踪,并且根据需要可动态地在过滤规则中增加或更新条目。 2 1 2 代理服务技术 随着防火墙技术的发展,采用代理服务技术的电路级网关和应用级网关也 相继出现。代理服务技术的原理是在防火墙上运行代理程序,一方面代替服务 器与客户程序建立连接,另一方面代替客户程序与服务器建立连接,使得用户 可以安全地使用网络服务。 电路级网关工作在传输层,网关建立两个连接,一个在网关本身和网络内 部主机之间,另一个在网关和外部主机之间,它的功能有些像包过滤,不过它 再增加了一次握手确认在连接建立之前检查和证实t c p 和u d p 包。电路网 关的安全性有所提高,主要是客户端要进行认证,认证程序决定用户是否是可 信的。通过客户端发起t c p 握手的s y n 标识和a c k 标识,以及相关的系列号是 正确而且连贯的,该会话才是合法的。一旦确认会话是合法的,就开始执行包 过滤规则的检查。电路网关理论上的安全性要比包过滤高,其效率和速度也是 较高的。但是由于电路级网关主要工作在传输层,所以还是无法判断应用层级 的数据包是否合法。 为了使防火墙能够对应用层的数据包进行判断,在电路级网关的基础上, 贝尔实验室的d a v ep r e s o t t o 和h o w a r dt r i c k e y 又提出了应用级网关理论8 1 。 应用级网关主要工作在应用层,它能对进出的数据流进行应用层级的检查。它 的基本工作过程是:当客户机需要使用服务器上的数据时,首先将数据请求发 送给代理服务器,代理服务器再根据这一请求向服务器索取数据,最后再由代 理服务器将数据传输给客户机。一般来说代理服务器上已经有了相应的代理服 i o 第2 章相关技术分析 务软件,如h t t p 、s m t p 、f t p 、t e l n e t 等。代理服务软件只接收具体应用产生 的数据包,而对一些较新的没有相应的代理服务的应用将还是通过电路网关来 过滤。代理服务器完全阻断了外部系统与内部服务器之间直接的数据通道,所 以外部的恶意侵害很难危害内部网络,具有良好的访问控制能力,是目前来说 最安全的防火墙技术,但是实现麻烦,每种应用都需要相应的代理服务,性能 上也相对较低,而且有的应用级网关缺乏“透明度”,有时会影响用户的正常使 用。 2 1 3 防火墙技术发展趋势 传统的防火墙设置在网络边界,我们称之为边界防火墙。这些防火墙在接 入时有时需要修改网络拓扑结构,内部子网可能要修改网关,路由器要修改配 置等,这可能会引起一些混乱,于是透明接入技术也就逐渐发展起来了。透明 接入技术主要是是防火墙对路由和子网完全透明,犹如网桥一样,由于路由器 本身也需要对数据包的数据进行分析,于是逐渐出现了将防火墙和路由等相结 合的产品。 然而,即使出现了与路由器相结合的产品,边界防火墙还是有其缺陷,首 先是结构性限制,随着部门业务规模的扩大,数据信息的增长,分支机构逐渐 增多,企业各分支都是通过公共的i n t e r n e t 网络进行连接,因此可能有不同企 业的设备连接在同一个交换机设备上。这使得企业网络的边界已经成为一个逻 辑边界的概念,物理边界日益模糊。其次是内部威胁,对于可信任地带中出现 的威胁无法抵御。再就是效率和故障,一旦边界防火墙出现问题可能影响整个 网络正常使用。 基于上面的原因,专家们提出了分布式防火墙概念嗍忉。分布式防火墙是由 3 部分组成的立体防护系统:一部分是网络防火墙,负责传统边界防火墙的功能; 一部分是主机防火墙,可以防止来自内部网络的攻击;最后是集中管理模块, 用于解决分布式技术带来的管理问题,如图2 3 所示。分布式防火墙从根本上 去除了传统防火墙单一的接入点,消除了结构性瓶颈问题,提高了系统性能。 另一方面分布式防火墙可以针对各个服务器及终端计算机的不同需要,对防火 墙进行最佳配置,配置时能够充分考虑到这些主机上运行的应用,如此便可在 保障网络安全的前提下大大提高网络运转效率。因为分布式防火墙分布在整个 第2 章相关技术分析 企业的网络或服务器中,所以它具有无限制的扩展能力。随着网络的增长,它 们的处理负荷也在网络中进一步分布,因此它们的高性能可以持续保持。而不 会像边界防火墙一样随着网络规模的增大而不堪重负。 图2 3 分布式防火墙结构示意图 另外,随着网络上各种攻击、病毒的日益猖獗,人们逐渐开始构建以防火墙 为核心的网络安全体系。该安全体系将防火墙、i d s 、病毒检测等相关系统结合 起来发挥各自长处。本文所研究的嵌入式屏蔽路由型防毒墙也正是基于这种趋 势进行设计开发的。 2 2 路由技术 路由器工作在t c p i p 结构的网络层,如图2 4 所示。它是i p 网络中最核 心的设备,其主要功能可以概括如下:在网络之间接收并转发目的地为远方网 段的网络数据报文;为不同网络之间的用户提供最佳的通信途径;隔离各个子 网,防止广播风暴:维护路由表,并与其它路由器交换路由信息,从而构成网 络层数据转发的基础;实现对数据报的过滤和记帐;利用网际协议,可以为网 络管理员提供整个网络的有关信息和工作情况,以便对网络进行有效的管理; 可以对数据包格式进行转换,实现不同协议、不同体系结构网络的互联能力。 第2 章相关技术分析 口协议 口协议 讲协议一口协议 - | 路由器1 图2 4 路由器所工作的网络层次 路由器的硬件体系发展经历了单总线单c p u 结构、单总线主从c p u 结构、 单总线对称式多c p u 结构、多总线多c p u 结构、交叉开关交换式体系结构和共 享并行处理器和全光空分交换结构等六个阶段嗍,根据具体网络的需求,人们会 采用不同硬件体系的路由器。 论文所实现的路由模块主要是软件实现,主要研究的是路由器的软件部分 路由协议。路由器的软件体系结构根据支持的网络可以分为两个大类:基 于i p v 4 的传统路由协议和基于i p v 6 的新一代路由协议。目前i p v 6 的应用并不 广泛,所以主要研究的是基于i p v 4 的路由协议。 路由器根据路由表中的结果来决定数据的转发,转发策略可以采用人为指 定的静态选路方式,人们可以以默认方式生成路由表项,再通过其它方式( 如 u n i x 中的r o u t e 命令等) 一项项添加新的表项,但这种选路方式工作量大,而 且灵活性差,所以采用的不多,一般作为有特殊安全需要的网络路由使用。当 前的实际应用中主要采用的是动态选路协议,这也是本文主要研究的部分。动 态选路最基本的工作是相邻路由器之间进行通信,以告知对方每个路由器当前 所连接的网络。而动态路由协议定义了使用动态选路的路由器之间的通信方式, 它使得路由器可以通过传播、分析、计算和挑选路由还实现路由选择、路由切 换和负载分担等功能。当前所用的动态路由选择协议从广义上说可以分为三种: 距离矢量路由选择协议、链路状态路由选择协议和混合路由选择协议。后面将 一一阐述。 1 3 第2 章相关技术分析 2 2 1 距离矢量路由选择协议 基于距离矢量的路由选择算法有时也被称作b e l l m a n - - f o r d 算法嘲。该算法 周期性地发送它们的路由选择表给直接连接的路由器。每一个接收者都增加表 中的距离矢量( 即形成它自己的距离“值”) ,并向它自己的邻居直接转发。这 种一步一步的处理使得每一个路由器都知道别的路由器的情况,由此形成关于 网络“距离”的累积透视图。 路由器将累积的距离“值”用来更新自己的路由表,该过程一旦完成,每个 路由器就都知道了网络资源“距离”的模糊信息,但路由器并不知道关于其它 路由器或网络拓扑的任何确切消息。正因为如此,这种路由选择方式也有其自 身的缺点:一旦网络中的某条路径出现某种问题失效,路由器需要一定时间来 重新汇聚来获取新的网络拓扑,即所谓的“坏消息传播慢”。而在汇聚过程中可 能会出现无限循环从而导致网络问题。而且,距离矢量的路由选择方式在选择 转发路径时只通过距离矢量,即需要转发的“步数”,而不考虑当前网络的状况 或链路的状态。由于各条网络的负载、带宽各异,这种不考虑网络状况的协议 在实际应用中很少能选出“最好”的链路。 一般说来,这类协议的优点是非常简单,易于配置、维护和使用。因此,在 有极少的冗余路径或对网络性能要求不高的小网络中,这类协议非常实用。 典型的基于距离矢量的路由协议是r i p ( 路由信息协议) 0 1 ,它周期性地向 它直接相连的网络邻居发送它的路由表,路由表中的数据包括目的地址和开销 等信息,即 ,每个接受者都增加表中的距离矢量,并向它自 己的邻居直接转发,一旦检测到路由变化,则以多播形式向另据发送触发更新, 通知邻居路由变化。 2 2 2 链路状态路由选择协议 链路状态( l i n ks t a t e ) 路由选择协议有时也被称作最短路径优先( s p f , s h o r t e s tp a t hf i r s t ) 协议。采用这种协议的路由器都要维护一个复杂的网络 拓扑数据库,这个数据库可以反映整个网络的拓扑结构。一个路由器的链路状 态是指它与哪些网络或路由器相邻,以及到这些网络或路由器的度量。路由器 通过与网络中其它路由器交换链路状态的通告来建立和更新网络数据库,随后 使用s p f 算法计算出连接网络目标的信息,并用这个信息更新路由表,这个过 1 4 第2 章相关技术分析 程可以体现出某个网络元件失效或网络增长所引起的网络拓扑的变化。 一般说来,l s a 的变化是由网络中的事件触发的,而非周期性进行的;在路 由器开始汇聚之前,也无需等待一系列定时器的工作,从而大大加快汇聚过程。 另外,对于路由表中的路径,链路状态协议还提供了评价相同目的地路由的 链路性能的方法。某些协议还提供负载均衡的功能,如果某条路径负担过重, 就会把负载分到另一条路径上去。 正是由于链路状态协议具有这些特点和灵活性,使得它也有两个潜在的问 题。第一,在初始化发现阶段,链路状态路由选择协议会占用大量的网络资源, 并且因此会极大地降低网络传输数据的能力。至于在泛洪的过程中会否明显影 响网络的性能取决于两个方面:可用带宽的大小和必须变化路由选择信息的路 由器的数量。第二,链路状态路由选择对内存和处理器的要求较高。 o s p f ( o p e l ls h o r t e s tp a t hf i r s t ,开放最短路径优先) 协议是基于链路状 态协议的典型代表,本系统所构建防毒墙的路由模块采用的就是o s p f 协议,该 协议的具体实现将在后文详细叙述。 2 2 3 混合路由选择协议 混合路由选择协议采用了上面两种路由选择协议的优点。这类协议使用距离 矢量度量,但比传统的距离矢量协议更强调精确的度量,它们比距离矢量协议 汇聚得快,却可以减少路由更新的开销。平衡混合路由选择是时间驱动而非周 期发生。这类协议的典型代表是增强型内部网络路由选择协议( e i g r p ) ,它基 于距离矢量和链路状态路由选择协议各自的有点设计而成,克服了它们在性能 上的限制或不足。 2 3 防病毒技术 自从2 0 世纪8 0 年代末单机版的计算机病毒出现以来,计算机病毒与防病 毒技术的较量就从来一直没有停止过。经过二十多年的发展,防病毒技术大概 经历了五个阶段:简单特征码、广谱特征、启发式扫描和行为判断龇。 简单特征码 简单特征码就是检查计算机文件中的特定代码,只要在文件的某处发现了 第2 章相关技术分析 一段或几段特定的代码就可以认定该文件被病毒感染。早期的病毒代码也相对 简单,这种方式可以非常容易地查出病毒,不过随着病毒技术的演化,该技术 在实际应用中也越来越力不从心了。 广谱特征 为了躲避杀毒软件的查杀,电脑病毒开始进化。病毒为了对抗简单特征码 技术,逐渐演化出变形的功能。每感染一次其它文件,病毒就变一次形,通过 这种方式来躲避查杀。这样一来,同一病毒的变种病毒大量增加,大量的变形 病毒不同形态之间甚至可能会出现没有超过三个连续字节是相同的。 为了对付这种情况,特征码的获取不可能再是简单地取出一段代码来,而 是分段提取,中间可以包含任意的内容,这就是早期曾经提出的广谱特征码的 概念。这个技术在一段时间内,对于处理某些变形的病毒提供了一种方法,但 这种方式也使误报率大大增加,所以采用这种技术的防病毒效果比较差,不但 可能检测不到变形的病毒,还可能将正常文件误报为病毒文件。 启发式扫描 为了对付病毒的不断变化和对未知病毒的研究,启发式扫描方式出现了。 启发式扫描是通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特 征来决定文件是否感染未知病毒。因为病毒要达到感染和破坏的目的,通常行 为都会有一定的特征,例如非常规读写文件,终结自身,非常规切入零环等等。 所以可以根据扫描特定的行为或多种行为的组合来判断一个程序是否是病毒。 这种启发式扫描比起静态的特征码扫描要先进得多,可以达到一定的未知 病毒处理能力,但还是会有不准确的时候。特别是在无法确定一定是病毒的情 况下,启发式扫描不会将其作为未知病毒而采取杀毒措施。 行为判定 上面几种技术都可以看作是针对特征代码的防病毒方式,杀毒软件需要维 持并更新庞大的病毒库来应对不断变形的旧病毒和出现的新病毒,而且很难在 病毒爆发之前做到,尤其在针对变形病毒、未知病毒等复杂的病毒情况,这种 以特征代码为判定标准的防病毒技术都不能很好地解决问题,因此,人们开始 思索一种更好的防病毒方法,于是,行为判定技术随之出现了。 只要是计算机病毒,无论采取什么方式伪装、变形,最终还是要完成属于 其自己的病毒行为,如自我复制、破坏其它文件或计算机等。如果有一种技术 可以很好地发现哪些程序运行起来会出现这些行为,无论其代码中含有什么数 1 6 第2 章相关技术分析 据,都可以将其认定为病毒。目前行为判定技术的代表就是虚拟机技术“”。它 实际上是一种可控的,由软件模拟出来的程序虚拟运行环境,当病毒运行在虚 拟机中时,它并不知道自己的一切行为都在被虚拟机所监控,所以当它在虚拟 机中脱去伪装进行传染时,就会被虚拟机所发现,如此一来,利用虚拟机技术 就可以发现大部分的变形病毒和大量的未知病毒。 本课题的防病毒模块采用的n e t f l o w 技术“。也是行为判定技术的一种。防 毒墙作为网络节点,主要面对的是蠕虫病毒,该系统致力于确认蠕虫病毒的爆 发,并及时采取措施进行限制。 1 7 第3 章系统基本架构 第3 章系统基本架构 上一章介绍的是嵌入式屏蔽路由型防毒墙采用的理论技术,本章将对实现 该课题中采用的技术进行介绍。 3 1l i n u x 内核模块编程 由于需要能够快速地处理网络中的数据流,防毒墙是运行在l i n u x 的内核 空间“”中的,因此论文中是将其l i n u x 内核模块来进行设计实现的。本节中将 介绍l i n u x 内核模块编程相关知识。 3 1 1 用户空间和内核空间 首先介绍的是用户空间和内核空间的区别。我们知道,操作系统的作用是 为程序提供一个计算机硬件的一致视图,并且负责程序的独立操作以及保护资 源不受非法访问,而这些都是建立在c p u 能够保护系统软件不受应用程序破坏 的基础上的。当前所有的处理器都至少具有两个保护级别以实现不同的操作模 式:内核运行在最高级别,即管理员模式( s u p e r v i s o rm o d e ) ,在该级别中可 以进行所有操作;应用程序运行在较低级别,即用户模式( u s e rm o d e ) ,在该 级别中将禁止某些操作,如对硬件的直接访问以及对内存的非授权访问等。这 两个模式就是用户空间和内核空间,它们不但具有两种不同的优先等级,还有 各自的内存映射,即地址空间。 每当应用程序执行系统调用或者被硬件中断挂起时,l i n u x 将执行模式从用 户空间切换到内核空间。执行系统调用的内核代码运行在进程上下文中,它代 表调用进程执行操作,因此能够访问进程地址空间的所有数据;而处理硬件中 断的内核代码则和进程是异步的,因此与任何一个特定进程都无关。 内核作为大的可执行代码,负责处理所有与系统资源相关的请求。内核的 功能主要分为进程管理、内存管理、文件系统、设备控制和网络功能。l i n u x 中 内核功能的划分如图3 1 所示“”: 第3 章系统基本架构 内核子系 统 并行虚拟内存 文件和耳 竹和设备 连通性:所实现的 多任务录:v f s 访问 : 功能 体系结构 相关代码 _ 善 c p u 内存管 理器 i 内存条 i 口以模块形式实现的功能 3 1 2 内核模块开发 字符设备 口口 一 i 控制台等 l 图31 内核功能划分 软件支持 l i n u x 允许在运行时以内核模块的方式动态地扩展内核。加载的方式有两 种,一种就是通过i n s m o d 来显示加载;另一种称为请求加载,即在需要时加载, 当内核发现有必要加载某个模块时,如用户安装了内核中不存在的文件系统时, 内核将请求内核后台进程k e r n e l d 准备加载适当的模块。l i n u x 卸载内核模块也 有两种方式:用i n s m o d 加载的模块可以用r m m o d 命令来显式卸载;而对于请求 加载的内核模块,k e r n e l d 在其每次i d l e 定时器到期时都会执行一个系统调用 以将所有不再使用( 即使用计数为o ) 的请求加载模块从系统中删除。 l i n u x 为模块开发人员提供了两个模块入口点函数i n i t _ m o d u l e0 和 c l e a n u p _ _ m o d u l e ( ) ,分别用于初始化模块和卸载模块时使用。从2 3 1 3 版内核 1 9 第3 章系统基本架构 开始,l i n u x 还提供了显示初始化和清除内核的方法,开发人员可以自己任意选 择模块的初始化函数,然后用 中声明的m o d u l ei n i t 0 和 m o d u l e _ e x i t ( ) 来进行标记即可。初始化函数负责注册模块所提供的任何设施, 一般都是通过调用这些设施的对应的内核注册

温馨提示

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

评论

0/150

提交评论