(计算机应用技术专业论文)基于windows的桌面防火墙的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于windows的桌面防火墙的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于windows的桌面防火墙的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于windows的桌面防火墙的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于windows的桌面防火墙的研究与设计.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于windows的桌面防火墙的研究与设计.pdf.pdf 免费下载

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

文档简介

中文摘要 通过研究目前主要桌面防火墙产品,分析了它们的工作机制和原理,以及在 数据封包过滤的有效性,高效性以及过滤系统本身的安全性等方面存在的问题。 指出了基于n d i s 中间驱动程序的数据封包过滤技术是使得桌面防火墙系统有效, 高效以及安全的核心方法,构造了基于w i n s o e ks p i 和n d i s 中间驱动程序的两级 数据封包过滤模型,给出了实现方案。 本文首先讨论了在m i c r o s o f tw i n d o w s 平台上的w i n s o e ks p i 数据封包过滤技 术及其在桌面防火墙系统中的应用。接着研究了m i c r o s o f tw i n d o w sn d i s 中间驱 动程序开发方法,及其在桌面防火墙系统中的应用;剖析并总结了n d i s 中间驱动 程序的工作原理和工作流程。然后在此基础上,设计了基于w i i l s o c ks p i 和n d i s 中间驱动程序的两级数据封包过滤模型。进一步构造出桌面防火墙系统 d e s k t o pf i r e w a l ls y s t e m ,给出了系统实现方案和相关测试结果。测试结果表明, 采用w i n s o c ks p i 和n d i s 中间驱动程序的两级数据封包过滤系统d f s 能有效 审核桌面应用程序对网络的访问,并可以有效阻止来自i n t e m e t 和i n t r a n e t 的网络 攻击和恶意访问;同时在桌面系统中运行时,对系统资源占用较少,对网络访问 速度的影响较小;能够实现对桌面系统有效的保护。因此,可以说采用w i n s o c ks p i 和n d i s 中间驱动程序的两级复合过滤模型是一种实用,有效的桌面防火墙模型。 关键字:网络安全;n d i s 中间驱动程序;包过滤;个人防火墙;s p i a b s t r a c t b ys t u d y i n gt h ep r o d u c t so fd e s k t o pf u e w a l l ,t h e i rm e c h a n i s ma n dp r i n c i p l e ,t h e p r o b l e mo ft h ev a l i d i t ya n dh i g he f f i c i e n c yo nf i l t e r i n gp a c k e ta r ea n a l y z e d n d i s i n t e r m e d i a t e dd r i v e rm o d e li st h ec o r em e t h o df o rav a l i d ,e f f e c t i v ea n ds e c u r i t y d e s k t o pf i r e w a l l t h i sp a p e rp r e s e n t sam o d e lo ft w of i l t e r i n gl e v e l w i i l s o c ks p i l e v e la n dn d i si n t e r m e d i a t ed r i v e rl e v e l ,a n dai m p l e m e n t a t i o ns c h e m eo ft h i sm o d e l f i r s t , t h et e c h n o l o g yo fw i n s o c ks p i ( s e r v i c ep r o v i d e ri n t e r f a c e ) o nm i c r o s o f t w i n d o w si sd i s c u s s e d t h em o d e lo fm i c r o s o rw i n d o w sn d i s ( n e t w o r kd r i v e r i n t e r f a c es p e c i f i c a t i o n s ) i n t e r m e d i a t ed r i v e ri si n t r o d u c e d n d i si n t e r m e d i a t ed r i v e r s c h a r a c t e r i s t i c sa n dc o m b i n a t i o n sw i t hd e s k t o pf i r e w a l la r ea n a l y z e d t h em e c h a n i s m a n dp r i n c i p l eo f n d i si n t e r m e d i a t ed r i v e ra r ed i s c u s s e d s e c o n d ,ap a c k e t - f i l t e r i n gm o d e lt h a ti sm a d eo ft w ow o r k i n gl e v e l 一一w m s o c k s p il e v e la n dn d i si n t e r m e d i a t ed r i v e rl e v e li sd e s i g n e df o rd e s k t o pf i r e w a l l t h e w i n s o c ks p if i l t e r i n gc h e c k sf o ra p p l i c a t i o na c c e s s i n gt oi n t e r n e to ri n t r a n e t , a n dt h e o t h e ri sc h a r g i n go fb l o c k i n gi l l e g a la c a 3 e s s i n gf r o mi n t e m e to ri n t r a n e tt od e s k t o p s y s t e m t h i r d ,a c c o r d i n gt ot h ep a c k e t - f i l t e r i n gm o d e l ,t h ed e s k t o pf i r e w a l ls y s t e mi s c o n s t r u c t e da n di m p l e m e n t e d t h ee n d so fs o m ee x p e r i m e n t sp r o v e st h a tt h ed e s k t o p f i r e w a l ls y s t e mb a s e do nt h et w ol e v e lp a c k e t f i l t e r i n gm o d e l ,c a ne f f e c t u a l l ya u d i tt h e a p p l i c a t i o ns o f t w a r e o nd e s k t o ps y s t e ma c c e s s i n gt oi n t e r n e to ri n t r a n e t ,a n dc a n e f f e c t i v e l yb l o c kt h ea t t a c k i n ga n di n t r u d i n ga c t i o n sf r o mi n t e m e to ri n t r a n e t t h e d e s k t o pf i r e w a l ls y s t e mc o n s u m e sal i t t l er e s o u r c e so nw i n d o w s ,a n dh a r d l ym a k et h e s p e e dt o i n t e r n e ts l o w i tc a ne f f e c t u a l l yg u a r dt h ee n du s e r sd e s k t o ps y s t e mf r o m a t t a c k i n g ,a n ds a f e t yt h ee n du s e r sp r i v a c yi n f o r m a t i o n j u s ts o ,t h et w ol e v e lp a c k e t - f i l t e r i n gm o d e li sap r a c t i c a la n dv a l i dd e s k t o pf i r e w a l lm o d e l 1 畸w o r d s :n e t w o r ks e c u r i t y , n d i si n t e r m e d i a t ed r i v e r , p a c k e tf i l t e r i n g ,p e r s o n a l f i r e w a l l ;s p i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:乏呋谤互签字日期:如1 年月日 学位论文版权使用授权书 本学位论文作者完全了解鑫鲞盘堂有关保留、使用学位论文的规定。 特授权墨洼盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:乏,瑶丘导师签名: 签字日期:1 了年月砂ee t 签字日期: 卯呵 扫r w 日 第一章绪论 1 1 网络安全现状 第一章绪论 h l t c m e t 的迅速发展给人们的生活和工作带来了极大的便利,也为企业的生 产、销售以及经营等提高了效率和效益。但是因为h l t e m e t 模型的开放性结构, 以及现有的对i i l t c m c t 模型的实现存在缺陷等原因,导致网络安全事件时有发生, 并因此造成了极大的损失。 根据c o m p u t e re c o n o m i c s 在2 0 0 6 年1 月推出的“2 0 0 5m a l w a r er e p o r t :t h e i m p a c t o f m a l i c i o u s c o d e a t t a c k s 中指出:m a l w a r e 造成了严重的经济损失高达 1 4 2 亿美元【l 】。其中m a l w a r e 就是指m a l i c i o u ss o f t w a r e ( 即恶意软件) ,包括: 病毒【2 】,蠕虫,木马,间谍软件,广告插件以及其他恶意代码等。 总之,黑客攻击、信息窃取、蠕虫的泛滥,严重干扰了互联网的正常秩序, 影响了人们的生活和工作,企业的正常运营,以至于国家安全和社会的稳定。 特别是恶意程序对终端用户信息的攻击,已经成为一个迫在眉睫不容忽视的 问题。 从不断发展的防火墙技术,到安全系统、安全协议的构思与设计,人们试图 从各个方面来防范并阻止各种安全事件的产生。即便如此,也未能完全有效保护 个人用户信息的安全。尤其是大型防火墙往往侧重于整个网络的防范阻止外 部网络为内部网络的非法访问,却忽略了网络内部攻击的泛滥,有研究数据表明 8 0 的攻击往往来自网络内部,因此如何“武装到牙齿直接保护终端用户 的系统免受攻击,确保信息免遭窃取,就成为网络安全体系中一个非常必要和重 要的组成部分。 桌面防火墙【3 】就是解决这一问题的最佳方案,作为终端用户信息保护的一 种工具,桌面防火墙给桌面系统提供了个性化的保护,可以有效阻止恶意程序对 每个终端用户的个人信息的攻击,成为整个安全防护系统中不可或缺的一个环 节。 1 2 桌面防火墙概述 桌面防火墙( d e s k t o pf i r e w a l l ) ,也称为个人防火墙( p e r s o n a lf i r e w a l l ) ,是 基于桌面系统的,可以对进出桌面系统的数据包进行有效过滤的一种系统,实现 对终端用户桌面用户的直接保护,这一点和传统的大型的防火墙不同它保 第一章绪论 护的对象往往是一个网络【4 】。 桌面防火墙系统一般以纯软件的形式存在,因为直接面向用户,所以一般它 们界面友好,操作方便;关键它们可以向用户提供个性化服务一用户可以定制 适合自己需要的数据过滤阻挡规则;另外,就是桌面防火墙系统一般都小巧玲 珑,尽量少的占用用户桌面系统宝贵的资源;最后,和价格昂贵、规模庞大的大 型防火墙相比,桌面防火墙一般价格低廉,甚至免费,并提供系统的更新和技术 支持。 11 2 - 1 桌面防火墙系统的历史 桌面防火墙的思想最早来源于传统的大型防火墙的包过滤技术对进入 系统的数据包进行过滤,符合过滤规则的就放行,否则就阻止。 1 9 9 9 年,众达天网络推出了天网防火墙1 0 ,基于w i n d o w s 平台,支持对 来自i n t e r n e t 的访问过滤,以及对桌面应用程序的访问网络的控制。 2 0 0 0 年2 月,z o n el a b s 发布的z o n ea l a r m ,是一款w i n d o w s 平台上的软 件防火墙,具备对来自i n t e m e t 的非法访问的检查和阻止的能力,并且也可以控 制主机内部程序对i n t e m e t 的访问。 从m i c r o s o f t 的w i n d o w sx p 开始,在操作系统内部增加了防火墙功能,即 i n t e m e tc o n n e c t i o nf i r e w a l l t c f ,但其只提供了简单的数据包过滤功能。在 w i n d o w sx ps p 2 之后,功能有所增强,但依旧有限。 2 0 0 5 年,s y m a n t e c 推出的n o r t o np e r s o n a lf i r e w a i l 2 0 0 5 ,是一款防火墙 程序,可以控制主机内应用程序对网络的访问。 总的来说,早期的桌面防火墙,仅对外部进入主机系统的数据进行过滤,因 此可以阻挡大部分来自网络的攻击,某种程度上确保了系统的安全 5 】。 但随着网络攻击逐渐呈现攻击能力增强、攻击手段翻新快、攻击工具自动化 及智能化等特点。这种“只防外不防内”的方法,暴露出很多问题因此应验 了所谓“堡垒往往是从内部被攻破的。,因为缺乏对主机应用程序访问i n t e m e t 行为的审核,导致了桌面防火墙系统的破坏和用户信息的丢失,所以现在的桌面 防火墙系统都具备了审核应用程序访问i n t e r n e t 的能力。 1 2 2 桌面防火墙技术基础 桌面防火墙一般都依赖于操作系统提供的数据包过滤接口。m i c r o s o t t w i n d o w sx p ( 以w i n n - t 为核心的纯3 2 位系统) 等是目前最流行的桌面操作系 统,因此我们主要研究基于m i c r o s o f tw i n d o w s 的包过滤技术。 2 第一章绪论 要实现桌面防火墙保护系统的功能,必须监测网络流量,过滤进出系统的数 据包;给用户提供友好的操控界面,简洁易用的操作方式睐设置过滤规则完 成对系统的有效保护。 m i c r o s o f t w i n d o w s 的网络部分设计时采用了分层的网络模型,因此提供了 丰富的,多级的数据包过滤接口:w i n s o c ks p i 接口;t d i 接口;n d i si n t e r m e d i a t e 驱动接口;n d i s h o o k 接口等。使得开发人员在设计和实现桌面防火墙时有灵 活多样的选择【6 】。 1 3 桌面防火墙系统的现状及发展趋势 国外防火墙技术的研究进行的较早,一些网络安全厂商则凭借其大型防火墙 技术的积累,在桌面防火墙迅速取得领先地位,比如像c h e c k p o i n t 的z o n e a l a r m , s y m a n t e c 的n o r t o np e r s o n a lf i r e w a l l 等 刀。而随着国内互联网络的不断发展,用 户安全防护意识的增强,衍生了庞大的市场空间。 以m i c r o s o f tw i n d o w s 系列操作系统为代表的桌面操作系统占有绝对的统治 地位,所以绝大部分桌面防火墙产品都是基于w i i l 3 2 操作系统的。而目前的主 流桌面防火墙系统中,站优势地位的是国外产品,目前比较著名的有a t g a r d , o u t p o s tf i r e w a l l ,z o n e a l a r m ,t i n yp e r s o n a lf i r e w a l l ,n o r t o np e r s o n a lf i r e w a l l 以 及s y g a t ep e r s o n a lf i r e w a l l 等,国内一些防病毒软件开发商和知名的厂商也已经 进入桌面防火墙领域,比如:广州众达天网络出品的天网防火墙、瑞星杀毒出品 的个人防火墙等产品。 随着桌面防火墙的市场不断发展,桌面防火墙的技术研究就愈加深入:从早 期的简单的s p i 过滤,到t d i 过滤,以至于目前很多产品考虑采用n d i s 中间驱 动程序过滤,因为后者能提供更可靠,更有效的过滤和拦截效果,当然缺点是设 计和开发都很复杂,难度也更大。 另外,随着网络攻击的不断发展和桌面防火墙技术的不断成熟和积累,从目 前的发展状况看,桌面防火墙逐步由被动防御纯粹的数据包过滤技术,转向 主动防御基于状态的过滤技术的趋势。 1 4 本文的研究内容和结构组织 本文的创新之处在于:针对目前个人防火墙技术中存在的过滤性能低、系统 第一章绪论 资源占用多、过滤不够彻底等问题,采用了两级过滤的方法来完成个人防火墙模 型的构造。 本文给出了基于两级包过滤技术的桌面防火墙系统( d e s k t o pf i r c w a l l s y s t e m ,d f s ) 的设计与实现方案,以及基于该模型的测试和评价。 第二章,阐述了包过滤技术的产生背景,基本方法以及主要类别,最后分析 了其在个人防火墙技术中的可行性和有效性。 第三章,设计了基于两级过滤技术的个人防火墙系统模型d f s ,基于口过 滤技术的数据包过滤模块、基于应用程序签名的数据包过滤模块、以及日志处理 等模块。 第四章,给出了基于w i n s o c ks p i 和n d i s 中间驱动程序的两级包过滤引擎 的实现思路,它为桌面防火墙d f s 提供了核心过滤功能。并对系统进行了相关 测试实验以及实验结果的分析。 最后,对本文的所做的工作进行了总结,并对将来更进一步的工作提出了展 望。 4 第二章桌面防火墙技术比较与研究 第二章桌面防火墙技术的比较与研究 包过滤技术是个人防火墙技术的核心方法。本章首先介绍w i n d o w s 平台下 各种包过滤方法,然后讨论了这些方法在个人防火墙中的应用,最后比较了当前 不同的包过滤技术。 2 1 桌面防火墙的需求与功能分析 作为m i c r o s o f t w i n d o w s 系列平台下的桌面防火墙,既要阻挡来自i n t e r a c t 或i n t r a n e t 的非法访问、恶意攻击等;也要求能对主机内的应用程序访问网络的 行为进行审核和管理;因为要面向桌面计算机,所以要求这样的防火墙尽量少的 占用系统资源,具备较高的稳定性、健壮性,具备事件日志功能,具备良好的人 机界面和操作的简便性【8 】。 2 2 m i c r o s o f tw i n d o w s 平台的网络模型分析 2 2 1m i c m s o f tw i n d o w s 网络模型 微软的w i n d o w s 2 k 及其以后版本的操作系统采用基于o s i 七层网络模型的 网络体系结构。o s i 爪m 一开放系统互联参考模型,是国际标准化组织i s o 于 1 9 7 8 年制订的网络标准,尽管现实中没有完全按照该网络模型构造的网络,但 是它对以后其他网络模型具有及其重要的借鉴意义,其设计的理念和思路对以后 的网络模型具有深远的影响。它对( 分层) 网络模型的设计理念和思路如下:网 络模型由多层构成,每层完成一定的功能,对等层间通过特定协议完成通信。每 一层都向其相邻的上层提供一定的服务,但屏蔽了服务的实现细节。相邻层之间 好的接口,应该下层向上层提供的服务及其服务的访问方法。w i n d o w s 的网络模 型正是借鉴和继承了o s i r m 设计思想之精华。如图2 1 所示: 第二章桌面防火墙技术比较与研究 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 图2 - 1o s i 网络模型 在w i n d o w s 2 k 及其以后的版本中,网络驱动程序实现了o s i r m 网络模型 的低四层的功能。 物理层的功能,由网卡及其收发器和网卡连接的媒体给予实现。而逻辑链路 控制层,网络层和传输层通过软件驱动程序给予实现,一般称之为“传输驱动程 序t r a n s p o r td r i v e r s ”,有时也称之为:协议驱动程序或协议模块 9 】。 w i n d o w s 网络模型的总体结构如图2 2 所示,内核模式部分主要包括了n d i s 驱动程序和传输驱动程序;用户模式包括了分层服务提供者和w i n d o w s 套接字。 6 第二章桌面防火墙技术比较与研究 - _ 一一一一 - h e 如nd l l s w i b t c p 母矗a w s i m e t b ,d n w ,h t d i 五i i w f h t m4 1 1 w ,h i hd w s l m o 姆a n s 蠡th i t 且韭 图2 - 2 w i n d o w s 网络模型结构图 7 u s e r m o d e k e r n e l m o d e 第二章桌面防火墙技术比较与研究 w i n d o w s 提供的包过滤编程接口可分为用户模式和内核模式两种。 其中用户模式下是w i n d o w ss p i w i n d o w ss e r v i c ep r o v i d e ri n t e r f a c e 一传输 服务提供者接口; 内核模式下,有:t d f t r a n s p o r td r i v e rh l t e 舭r 传输驱动接口,工作在 传输层的过滤驱动程序。n d i s n e t w o r kd r i v e r i n t e r f a c es p e c i f i c a t i o n ,工作在网 络层的n d i s 中间驱动程序。 2 2 2n d i s 驱动程序概述 1 n d i s 概述 n e t w o r kd r i v e r si n t e r f a c es p e c i f i c a t i o n ,网络驱动接口规范( 以下简称n d i s ) , 是一个用于网络接口卡的应用编程接口脚i ,它最初由m i c r o s o f t 和3 c o m 联合 开发,现在主要用于w i n d o w s 系统操作系统中。 n d i s 是逻辑链路控制子层( 即位于o s f r m 7 层模型中的第2 层数据链 路层的上半部分,下半部分是m a c 媒体访问控制子层) 的一种实现,同时也充 当2 层( 即数据链路层) 和3 层( 即网络层) 的之间的接口。 n d i s 是一组库函数,把网络驱动和网络硬件分离开,隐藏了底层硬件的复 杂性;指定了分层网络驱动间的标准接口,并因此把管理网络硬件的底层驱动和 高层驱动( 如传输层驱动等) 分离开;它还维护网络驱动程序的状态信息和参数, 包括指向函数的指针,旬柄和参数块,以及其他系统值 1 0 】【1 1 】。 n d i s 的系统结构图如图2 3 所示,它是一种分层结构。 8 第二章桌面防火墙技术比较与研究 叵田 图2 - 3n d i s 驱动程序结构图 在分层的n d i s 结构中,它提供了如下三种网络驱动程序: m i n i p o r td r i v e r s 微端口驱动程序 i n t e r m e d i a t ed r i v e r s 中间驱动程序 p r o t o c o ld r i v e r s 协议驱动程序 2 n d i sm i n i p o r td r i v e r s n d i s 微端口驱动程序 它有两个基本的功能:管理网卡,包括通过网卡发送和接收数据;和高层驱 动程序交互,比如和中间驱动程序和传输协议驱动程序 1 2 】。 微端口驱动程序通过n d i s 库同它所管理的网卡,以及高层驱动程序通信。 n d i s 库导出了一个函数集,封装了所有的微端口驱动需要调用的操作系统函数。 而微端口驱动必须导出一个入口函数集合,供n d i s 调用或者供高层驱动程序来 访问微端口驱动。 以下的发送和接收操作说明了微端口驱动程序、n d i s 库和高层驱动程序三 者之间的交互过程。 发送示例如下:当一个高层传输驱动程序需要发送数据包时,它会调用n d i s 库所导出的n d i s x x x 函数。然后,n d i s 库会调用微端口驱动所导出的合适的 m i n i p o r t x x x 函数,把这个数据包传递给微端口驱动。最后,微端口驱动通过调 用合适的( n d i s 库的) n d i s x x x 函数,把该数据包传递给n i c 1 3 。 接收示例如下:当一个n i c 接收了一个数据包时,它发出一个中断,该中 断可能由n d i s 库或微端口驱动来处理。然后,n d i s 通过调用合适的 9 第二章桌面防火墙技术比较与研究 m i n i p o r x x x 函数来通知微端口驱动。微端口驱动设置来自n i c 的数据传输, 接着,通过调用合适的( n d i s 库的) n d i s x x x 函数,向高层驱动程序指示接收 数据包的到达【1 4 】。 3 n d i si n t e r m e d i a t ed r i v e r s n d i s 中间驱动程序 中间驱动是位于微端口驱动和传输协议驱动之间的分层驱动。如图2 4 所示: 传输层驱动 p r o t o c o l x x x - 媒体x l m i n i p o r t x x x - 媒体x n i ) i s 中间驱动 n d 工s p r o t o c o l x x x - 媒体y p r o t o c o l x x x - 媒体y 网卡驱动 l 图2 - 4 介于微端口驱动和传输协议驱动间的分层驱动 因为中间驱动在驱动层次模型中的位置,使得它必须同上边的传输协议驱动 以及下边的微端口驱动通信,因此它必须曝露如下接口: 协议驱动入口点:在中间驱动的下边缘,n d i s 调用p r o t o c o l x x x 函数和来 自微端口驱动的请求来通信。中间驱动对于微端口驱动而言,就是一个( 传输) 协议驱动。 微端口驱动入口点:在中间驱动的上边缘,n d i s 调用m i n i p o r t x x x 函数和 1 0 第二章桌面防火墙技术比较与研究 一个或多个上边的协议驱动的请求所通信。中间驱动对于上边的协议驱动,好像 是个微端口驱动。 尽管它在其上边界,导出了m i n i p o r t x x x 函数的一个子集,但实际上,中 间驱动并不管理一个物理网卡。相反,它导出的是一个或多个虚拟网卡v i r t u a l a d a p t e r s ,上边的( 传输协议) 可以绑定到它上。对于一个协议驱动而言,中间 驱动所导出的虚拟网卡表现的就是一个物理网卡。当一个协议驱动向一个虚拟网 卡发送数据包或请求时,中间驱动就会传送这些数据包和请求给下边的微端口驱 动。当下边的微端口驱动向上指示接收数据包,响应一个协议的信息请求,或指 示状态时,中间驱动把这些数据包,响应和状态传送给上边的( 绑定到该虚拟网 卡的) 协议驱动。 由以上可以看出:中间驱动程序用于数据包的过滤,从而完成桌面防火墙的 功能是比较理想的 1 5 1 ,因为其所在层次位于整个w i i l d o w s 网络模型的底层部分 数据链路层,因此可以过滤所有的进出数据帧,避免了一些善意或恶意应用 程序想要绕过桌面防火墙的企图,提供了桌面防火墙的过滤的可靠性。 4 n d i sp r o t o c o ld r i v e r s n d i s 协议驱动 网络协议,是n d i s 层状结构中的最上层驱动,又是传输协议栈的最底层驱 动【1 6 】。传输协议驱动,给数据包分配空间,并从发送的应用程序中复制数据到 数据包,然后通过调用n d i s 函数,把这些数据包发送给底层驱动。当然,协议 驱动也提供了协议接口,用以接收来自相邻底层驱动发送过来的数据包,并把收 到的数据传递给合适的客户程序。 在协议驱动的下边缘,它通常和中间驱动程序或微端口驱动程序进行交互。 协议驱动调用n d i s x x x 函数来发送数据包,读取和设置由底层驱动所维护的信 息,使用操作系统提供的服务。协议驱动也导出一组接口函数( p r o t o c o l x x x 函 数) ,以供n d i s 调用,或者被底层驱动调用来指示数据包的到达或底层驱动的 状态,以及和协议驱动通信。 5 t r a n s p o r t d r i v e r i n t e r f a c e 佃i ,传输驱动接口,定义了一个内核模式网络 接口,位于传输协议栈顶的上边缘,并向上提供服务。如图2 5 所示。 第二章桌面防火墙技术比较与研究 t d i 客户端 : 传输提供者 套接字应用程序 捱垂回 套接字模拟器 套接宇应用程序 l = n e t b i o s 接口f ;一 n e t b i o s 模拟器i 重定向器月虽务器等 t d i 接口 a p p l e t a l kln e t b tl 1 姗o f lt c p i pil w l i n k 网卡和网卡驱动 图2 - 5t d i 驱动程序结构图 图2 5 中的t d ic l i e n t s t d i 客户,就是使用t d i 所提供服务的实体,比如 重定向器和服务器等,它们都是内核驱动程序,通过t d i 和“传输驱动程序传 输服务提供者进行交互。 “传输驱动程序 只提供了仅能被t d i 客户端所使用的接口功能。而为了 提供对“传输驱动程序的更便利的访问,w i n d o w s 2 k 及其以后版本提供了两个 模拟器模块以支持现存的两个流行的网络接口一一w i n d o w ss o c k e t s 和 n e t b i o s 。每个模拟器模块都向上提供了自己的函数集合,因此在用户模式下, 通过标准调用机制,就可以访问这些函数集合。当模拟器模块被调用时,就会把 本地函数及其相关联的参数和程序规则映射给一个或多个t d i 函数,然后通过 t d i 调用相应的“传输驱动程序”。 1 7 】 为了提供优异性能,t c p i p 和p x s p x “传输驱动程序 都作为本地的t d i 传输驱动程序来实现。 2 2 3 w i n d o w sw i n s o c k 2s p i 报务提供者 w i n d o v s s o c k e t 2 应用编程接口 v i n d o v ss o c k 传输服务提供者接口 惶型 w i n d o v s s o c k e t 2 名字空间服务提供者接口 i 传输服务l1 名字空间lf 名字空间i l 提供者ll 服务提供者il 服务提供者l 图2 - 6 、k r m d o w s 网络体系结构的w i n s o c k 2 模型 1 2 第二章桌面防火墙技术比较与研究 分层服务提供者l s p ,是m i c r o s o f tw i n d o w sw i n s o c k 2 服务提供者的一种特 性【l8 】。一个分层服务提供者是一个动态链接库,它利用w i n s o c ka p i s 把自己插 入到t c p i p 栈中。一旦处在t c p i p 栈中,则它就可以截获和修改进来或出去的 网络数据。它可以处理访问网络的应用程序( 比如说:w e b 浏览器,邮件客户端 等) 和i n t e r n e t 之间的所有流量。 l s p 可以用于桌面防火墙,因为在传输数据到最后的应用程序之前,可以分 析网络数据来鉴别病毒或其他威胁。 2 3m i c r o s o f tw i n d o w s 平台下包过滤技术的比较 按w i n d o w s 网络数据过滤技术,可分为:用户模式u s e r - m o d e 下的网络数 据过滤技术;内核模式k e m e l m o d e 下的网络数据过滤技术【1 9 】。 用户模式下的网络数据过滤技术: w i n s o c kl a y e r e ds e r v i c ep r o v i d e r ( l s p ) w i n s o c k 分层服务提供者 w i n d o w s2 0 0 0p a c k e tf i l t e r i n gi n t e r f a c e w i n 2 0 0 0 包过滤接口 w i n s o c kr e p l a c e m e n td l l w i n s o c kd l l 文件替换 内核模式下的网络数据过滤技术: t r a n s p o r td a t ai n t e r f a c e ( t d i ) f i l t e rd r i v e r 传输驱动接口的过滤驱动程序 n d i si n t e r m e d i a t e ( d 巾d r i v e r n d i s 中间驱动程序 w i l l d o w s2 0 0 0f i l t e r - h o o kd r i v e 删i n 2 0 0 0 过滤钩子驱动程序 首先是l s p 分层服务提供者。因为l s p 在w i n d o w s 网络体系结构中所处层 次较高,所以较容易被应用程序所绕过。通过t d i 直接调用内核模式的t c p i p 驱动是完全可能的,而这样就可以轻松跳过w i i l s o c k 一即不依赖w i n s o c k a p i 来传输数据,不过l s p 的优点是设计和实现比较简单,而且对于大部分应用程 序而言,都是有效的 2 0 】。 其次是w i n d o w s2 0 0 0 包过滤接口。它提供了一种机制,允许用户模式的应 用程序或服务指定一组“过滤描述符”,而底层的t c p 口驱动可以调用这些描述 符来过滤数据包。具体是可以根据数据包的源口地址、目的口地址和端口号进 行过滤。 第三是利用自己的d l l 文件替换m i c r o s o f tw i n d o w s 系统的w i n s o c kd l l 文件,在引入w i n d o w sl a y e r e ds e r v i c ep r o v i d e r 技术之前,扩展w i n s o c k 功能的 唯一方法就是用自己的d l l 文件来替代m i c r o s o f t 的w i n s o c kd l l 文件。 如果能恰当的给予实现,则自己的d l l 文件就可以过滤w i n s o c k a p i ,然后 再在需要的时候,调用m i c r o s o f t 提供的w i n s o c kd l l 文件。 第二章桌面防火墙技术比较与研究 但是要开发出强健的替换d l l 文件,比较困难。原因是,m i c r o s o t t 的w i n s o e k d l l 中包含了一些未公开的私有内部函数,而替换d l l 文件必须至少能够处理 这些未公开函数中的一部分。 同时,w i n d o w s 的系统结构正变得更强健,比如:对m i c r o s o f t w i n d o w s 系 统文件保护的机能,使得用替换d l l 文件去替代w i n s o c kd l l 文件时变得很难 实现。总之,使用替换d l l 文件并非明智之举。 第四是t d i 过滤驱动程序,这是一个在内核模式t c p 口驱动之上的基本的 过滤驱动。经过x p 之后,t d i 驱动成为经典的n t 风格的“遗留”驱动,它利 用了基于a p i 的i r p 。以下有两种基本的方式来过滤基于a p i 的i r p ( 1 ) 利用i o a t t a c h d e v i c e x y z 在t d i 上构造过滤器 ( 2 ) 过滤t d i 驱动i r p 派遣表 第五,n d i s 中间驱动程序,好处是过滤效果好,过滤彻底,能有效防止应 用程序绕过防火墙的可能。 第六,w i n d o w s2 0 0 0 过滤钩子驱动程序。只有一个过滤钩子是激活的,这 就严重的限制了这用机制的应用。 第七,n d i s 钩子过滤驱动程序,n d i s - h o o k i n g 过滤驱动程序有选择的挂 钩到n d i sw r a p p e r 所导出的函数【2 1 】。 n d i sh o o k i n g 驱动程序的特点:容易安装;天然支持在拨号p p p 适配器上 的过滤。 1 4 第三章d f s 系统的分析与设计 第三章d f s 系统的分析与设计 本章首先总结了d f s d e s k t o pf i r e w a l ls y s t e m 的功能定位,然后分析和比较 了数据封包过滤的各种设计方案;最后构造了基于w i n d o w s 的两级复合包过滤 系统d f s 的工作模型和设计框架。 3 1 系统功能及结构分析 通常,一个合格的桌面防火墙系统应该具备的基本功能 2 2 】: ( 1 ) 审核用户和系统应用程序的访问网络操作。 ( 2 ) 阻挡来自i n t e r n e t 或i n t r a n e t 的非法访问。 ( 3 ) 核查系统配置和漏洞扫描。 ( 4 ) 实时监察网络应用程序的活动状态。 ( 5 ) 用户可以配置控管规则。 ( 6 ) 系统日志管理。 本文将设计的基于w i n d o w s 的桌面防火墙系统一一d e s k t o pf i r e w a l l s y s t e m ,以下简记为d f s ,其主要功能表现为:能从应用层审核欲访问网络的应 用程序,在核心层阻挡来自i n t e r n e t 或i n t r a n e t 的非法访问和攻击:实时监控网 络活动状态;用户可方便设置和管理网络数据的过滤控管规则等。 3 1 1d f s 系统结构分析 d f s 系统 i 用户界面子系统 数据过滤子系统 图3 - 1d f s 系统结构图 d f s 系统应该使得用户能够方便的设置过滤规则完成对进行主机的数据包 进行过滤,从而保护主机的安全;能够对需要访问i n t e m e t 的客户程序和等待 i n t e m e t 连接的服务程序进行准确、有效的审核、控制和管理:能够对实时监控 主机系统端口和服务的开放情况、以及应用程序访问网络情况;能够对主机系统 中发生的网络事件进行记录及相关日志的管理。 第三章d f s 系统的分析与设计 根据以上对桌面防火墙系统的分析,给出了d f s 系统的基本设计思路。它 主要有两个子系统构成:用户界面子系统和数据过滤子系统。如图3 1 所示。 用户界面子系统:负责向用户提供操纵桌面防火墙的接口,包括:过滤规则 设置模块,应用程序监控模块,日志显示及处理模块,系统设置模块等。如图3 2 所示。 数据过滤子系统:负责对进出主机的网络数据包进行过滤操作,包括:应用 程序过滤模块;i n t e r a c t 过滤模块。如图3 3 所示。 用户界面子系统 一7 i 过滤规则设置模块 应用程序监控模块 日志显示及处理模块系统设置模块 图3 - 2 “用户界面子系统”结构图 3 1 2 用户界面子系统 图3 3 “数据过滤子系统”结构图 1 过滤规则设置模块,提供了显示,设置( 包括添加、删除、修改) 应用 程序过滤规则和i n t e r a c t 规则的用户接口,使得用户可以根据自己的需求定制合 适的网络数据过滤规则。前者使得用户可以对访问网络的应用程序进行有效管 理,后者让用户可以定制针对特定的p 、端口、协议的过滤规则。其构成如图3 - 4 所示。 1 6 第三章d f s 系统的分析与设计 图3 - 4 “过滤规则设置模块”结构图 其中应用程序过滤规则设置子模块,拟采用w i n d o w ss p i 接口提供的l s p ( 分层访问提供者) 技术,它主要用来截获应用程序对w i n s o c k 的调用,并根据 用户所设置的应用层过滤规则对访问网络的应用程序进行控制和监控。 而i n t e m e t 过滤规则设置子模块,拟采用n d i sh 此肌e d i a t i r 中间驱动过 滤技术对访问网络的数据包进行过滤,当然可以根据用户设置的核心过滤规则完

温馨提示

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

评论

0/150

提交评论