(计算机应用技术专业论文)基于主机的自动防御系统设计与实现.pdf_第1页
(计算机应用技术专业论文)基于主机的自动防御系统设计与实现.pdf_第2页
(计算机应用技术专业论文)基于主机的自动防御系统设计与实现.pdf_第3页
(计算机应用技术专业论文)基于主机的自动防御系统设计与实现.pdf_第4页
(计算机应用技术专业论文)基于主机的自动防御系统设计与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于主机的自动防御系统设计与实现.pdf.pdf 免费下载

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

文档简介

西南科技大学硕士研究生学位论文 第1 页 摘要 随着网络攻击的同益增加,人们对网络安全产品的需求越来越大。本系统是把 入侵检测和防火墙结合起来,实现自动防御的软件产品,为用户提供一个安全的网 络环境。 本文先介绍了防火墙、入侵检测、t c p i p 、网络数据报截获技术、w i n s o c k 编 程、加密和认证以及网络攻击等一些相关知识:然后对系统总体设计以及核心模块 作了详细的陈述:最后对软件功能和性能进行测试分析、安装和使用也作了详细阐 述。整个系统分防火墙和入侵检测两大部分。防火墙包括协议驱动、用户界面以及 防火墙代理三大块。入侵检测部分主要设计一个代理端。协议驱动采用m i c r o s o f t d d k 开发,利用n d i s 中间驱动程序截获网络封包来实现。用户界面提供用户操作 接口。入侵检测代理把入侵信息反馈到防火墙,实现自动防御。该系统使用了自定 义的通讯协议格式,实现不同的入侵检测和防火墙集成化管理。 关键词:防火墙入侵检测包过滤集成防御 西南科技大学硕士研究生学位论文第1 i 页 a b s t r a c t w i t hn e t w o r ka t t a c kr i s i n gi n c r e a s i n g l y , p e o p l en e e dm o r ep r o d u c t so fn e t w o r k s e c u r i t y t h i ss y s t e mi sp r o d u c to fs o f t w a r ew h i c hc o m b i n e si n t r u s i o nd e t e c t i o nw i t h f i r e w a l l s ,r e a l i z e sd e f e n s ea u t o m a t i c a l l ya n d o f f e r se n v i r o n m e n to f s e c u r i t yt ou s e r s a tf i r s tt h i sp a p e ri n t r o d u c e ss o m er e l a t e dk n o w l e d g ea b o u tf i r e w a l l 、i n t r u s i o n d e t e c t i o n 、t c p i p 、i n t e r c e p t e dt e c h n o l o g yo f n e t w o r k d a t ap a c k e t 、w i n s o c k p r o g r a m 、 e n c r y p t i o n 、a u t h e n t i c a t i o na n d n e t w o r ka t t a c ka n ds oo n ;s e c o n d l y , s t a t e sg e n e r a ld e s i g n a n dc o r em o d e lm a s sp a r t i c u l a r l y ;f i n a l l y , r e p r e s e n t sf u n c t i o na n dp e r f o r m a n c eo f s o f t w a r e 、s e t u pa n du s ep a r t i c u l a r l yt o o t h ew h o l es y s t e mi s c o n s i s to ff i r e w a l la n d i n t r u s i o nd e t e c t i o n t h ef i r e w a l li n c l u d e sp r o t o c o ld r i v e r 、u s e ri n t e r f a c ea n dp r o x y t h e p a r to f i n t r u s i o nd e t e c t i o nd e s i g n sa p r o x ym a i n l y t h e p r o t o c o ld r i v e rt h a tu s e sp r o g r a m o fn d i si n t e r m e d i a t ed r i v e st o i n t e r c e p tn e t w o r kp a c k e t si sd e v e l o p e db ym i c r o s o f t d d k u s e ri n t e r f a c ei so f f e r e du s e rt ou s e t h ep r o x yo fi n t r u s i o nd e t e c t i o ns e n d s i n f o r m a t i o no fi n t r u s i o nt of i r e w a l ls oa st or e a l i z ed e f e n s ea u t o m a t i c a l l yt h i ss y s t e m u s e ss e l fd e f i n e df o r m a to fp r o t o c o lt or e a l i z e i n t e g r a t e dg o v e r n m e n t f o rd e f e r e n t i n t r u s j o nd e t e c t j o na n df i f e w a l l k e y w o r d s :f i r e w a l l ;i n t r u s i o nd e t e c t i o n ;p a c k e tf i l t e r ;i n t e g r a t e dd e f e n s e 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得遁南科技大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:韶;生 只期:王。盯侣 关于论文使用和授权的说明 本人完全了解西南科技大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文的复印件,允许该论文被查阅和借阅;学校可以公布该论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 f 保密的学位论文在解密后应遵j j ,此规定) 日期:。岁歹廖 西南科技大学硕士研究生学位论文 第1 页 1 绪论 i n t e r n e t 的迅速发展和普及,促进了网络信息系统的应用和发展。随着 越来越多的主机连接到互联网上,个人主机被攻击现象越来越普遍,如何保 护主机资源不受攻击已经成为人们关注的焦点。 w e b 应用程序技术在各机构内得到广泛应用,并且相对易于利用,从而 成为诱人的攻击目标。w e b 应用程序使得攻击者可以通过渗透一个终端用户 的计算机来入侵目标系统,从而绕过传统的周边安全措施。在被记载的w e b 应用程序漏洞中,近8 2 都被划分为易于利用的漏洞,因此可对一个机构的 基础设施和关键信息资源构成显著的威胁“。 当前已经存在许多网络安全产品例如防火墙、入侵检测、杀毒软件等等, 这些网络安全产品有助于保护主机资源免受攻击。 1 1国内外网络安全产品现状 目前国内外已经存在许多著名的商用入侵检测产品,如c js c 0 公司的 n e t r a n g e r 、i n t e r n e t s e e u r it y s y s t e m 公司的r e a l s e c u r e 、c o m p u t e r a s s o c i g t e s 公司的s e s s i o n w a l 卜3 e t r u s ti n t r u s i o nd e t e c t i o n 、中科网威 的“天眼”入侵检测系统以及启明星辰的s k y b e l l ( 天阗) 等。著名的防火墙 产品有:c h e c k p o i n t 公司的c h e c k p o i n tf i r e w a 卜l 、s o n i cs y s t e m 公司的 s o n i c w a l l 系列防火墙、n e t s c r e e n 公司的n e t s c r e e nf i r e w a l 】以及北京天 融信公司网络卫士防火墙等。其中一些产品已经集成了入侵检测、防火墙和 防病毒功能“1 ,但由于缺乏统一的国际标准故一个公司的网络安全产品能 对其他公司的防火墙和入侵检测产品进行管理形成集成防御体系的商业化产 品还没出现。 1 2 课题来源和意义 本谋题由国家科技部资助。属于国家科技型中小企业技术创新基金项目 “网络安全集成防御系统”的子课题。本课题旨在开发一个网络安全自动防 御产品,把开放源码的入侵检测系统( s n o r t ) 和自主开发的防火墙结合起来, 实现检j 9 | 【5 和阻断攻击于一体的自动网络防御系统,为“网络安全集成防御系 统”的研制成功奠定坚实的基础。 西南科技大学硕士研究生学位论文第2 页 1 3 课题内容和目标 本课题主要设计一个主机防火墙,并把防火墙和入侵检测系统( s n o y t ) 结合起来,使防火墙具有自动防御功能,从而保护主机资源不受攻击。 本课题主要内容如下: ( 1 ) 主机防火墙的设计。实现防火墙安全策略规则的手动和自动配置、 拦截数据报实时显示和告警以及驱动程序设计和控制等: ( 2 ) 防火墙代理端设计。实现和入侵检测系统进行网络通讯的服务器端 功能; ( 3 ) 入侵检测( s n o r t ) 代理端设计。实现和防火墙进行网络通讯的客户端 功能; ( 4 ) 通讯协议的设计。制定防火墙和入侵检测系统之间通讯协议格式: ( 5 ) 通讯数掘的加密和认证。对防火墙和入侵检测系统之间的通讯数据 进行加密和认证。 该系统的主要技术指标: ( 1 ) 网络连接速度延迟率 ( 2 ) 联动响应时间 这两项指标在具体的测试环境下给出结果。 本课题为软件产品,适用的操作系统是w i n d o w s2 0 0 0 、w i n d o w sx p 。 1 4 本文的章节安排 第一章介绍本课题现状、来源、意义、内容和目标。 第二章较为详细的讲述了本课题研究所涉及的理论知识,主要包括防火 墙、入侵检测系统、t c p i p 协议、网络数据报截获技术、w i n s o c k 编程、数 据加密和认证以及网络攻击等。 第三章详细介绍本课题的总体设计部分,对整个系统框架有一个总体把 握,主要从技术路线、工作流程、主体功能定义、模块划分、模块接口以及 主要数据结构这几个方面做迸一步阐述。 第四章详细说明主要模块。本课题从防火墙主界面程序、入侵榆测代理 端以及协议驱动程序设计三个部分进行阐述。 第五章软件功能测试和技术指标。 第六章软件编译文件打包和使用说明。 西南科技大学硕士研究生学位论文第3 页 2 相关技术基础 2 1防火墙 防火墙随着i n t e r n e t 的发展人们对网络安全的需求而逐渐发展起来。随 着越来越多的p c 机连接到互联网,对主机资源的保护变得越来越荤要,人 们对防火墙的需求变得越来越迫切。防火墙技术主要分为四类:包过滤器、 应用级网关、电路级网关、状态包检查引擎州“。目前一些防火墙通常综 合采用以上多种技术。 2 1 1 防火墙概念、原理和作用 防火墙是用一个或一组网络设备( 计算机系统或路由器等) ,在两个或多 个网络间加强访问控制,以保护一个网络不受来自另一个网络攻击的安全技 术。其主要作用是执行安全策略、提供访问控制、防止不希望的以及未授权 的通讯进出被保护的网络、强化内部网络安全等。主机防火墙是一种网络安 全软件,运行在受保护的主机上。其原理是通过在操作系统的网络协议框架 的适当位置插入拦截点,让所有的数据包都通过拦截点,再根据安全策略制 定的过滤规则对通过的数据包进行检查,过滤掉不允许通过的数据包,以保 护主机不受外界的非法访问和攻击”“1 。 2 1 2 防火墙安全策略 安全策略是主机防火墙的重要组成部分。网络安全策略决定主机防火墙 的安全性和易用性。主机防火墙有两个层次上的安全策略“。: ( 1 ) 服务访问策略。明确定义了受保护主机允许和拒绝网络服务以及 安全措施。通过对网络服务进行安全分析、风险分析和可行性分析制定出合 适的安全策略。 ( 2 ) 设计策略。根据上层的服务访问策略来具体限制访问和过滤服务 等,以实现服务访问策略。 2 1 3 防火墙技术简介 2 1 3 1网络包过滤 网络包过滤是在网络层对网络包进行分析、检测。其依据系统内设计的 过滤逻辑即访问控制表。通过检测数据流中每个网络包头的源i p 、源端口、 西南科技大学硕士研究生学位论文第4 页 目的i p 、目的端口、协议类型以及网络包头中各种标志位等柬确定是否允许 该数据包通过。 2 1 3 2 应用级网关 应用级网关工作在应用层,它提供应用层服务的控制,起内部网络向外 部网络申请服务时的中间转接作用。其接受用户对因特网服务请求,并按照 一定的安全策略转发请求到实际的服务器。 2 1 33 电路级网关 电路级网关的运行方式与应用级网关很相似,其工作方式是对从受信任 的网络发到不受信任的t c p 连接进行中转。在中转过程中,源i p 地址被转 换成电路级网关的地址。 2 1 3 4 状态包检查 它对每一个通过防火墙的数据包都要进行检查,看这些数据包是否属于 一个已经通过防火墙并且正在进行连接的会话,或者基于一组与包过滤规则 相似的规则集对数据包进行处理。 2 1 4 主机防火墙和网关防火墙比较 主机防火墙保护单个计算机系统的安全:网关防火墙保护整个内部网络 的安全。主机防火墙能防止内部和来自i n t e r n e t 的攻击;网关防火墙只能防 止来自i n t e r n e t 的攻击,无法舫止来自内部攻击。主机防火墙通常采用软件 实现,功能简单,易于实现;网关防火墙采用软件和硬件相结合,功能强大。 2 2 入侵检测系统 入侵检测系统根据检测引擎的实现技术可分为“滥用检测”和“非规则 检测两种系统”。目前基于t r 滥用检测”技术的入侵检测系统占主流, 已经有很多商业化产品出现,基于“非规则检测”技术的入侵检测系统还在 继续研究,真正的商业化产品还很少。 2 2 1 入侵检测系统概念、原理和功雏 入侵检测是对入侵行为的发现。通过从计算机网络或计算机系统的关键 西南科技大学硕士研究生学位论文第5 页 点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为 或被攻击的迹象。其主要功能是监视并分析用户和系统活动,查找非法用户 和合法用户的越权操作;检查系统配罱的正确性和安全漏洞,斤捉q i 管刖! 条 例修补漏洞;对异常行为模式进行统计分析,发现入侵行为的规律:评估系 统关键资源和数据文件的完整性;能实时对检测到的入侵行为进行响应;操 作系统的审计跟踪管理,并识别用户违反安全策略的行为等“。 2 2 2 入侵检测系统分类 入侵检测根据检测引擎的实现技术分为异常检测和误用检测 33 1 1 0 3 。异常 检测根据非正常行为( 系统或用户) 和使用计算机非正常资源检测出入侵行 为。误用检测是根据入侵模式来检测入侵。s n o r t 采用的是误用检测。 2 2 3入侵检测系统的组成 入侵检测系统由探测器、分析器、用户接口组成川。探测器主要 负责收集数据。分析器又称检测引擎,它负责从一个或多个探测器处接受信 息,并通过分析来确定是否发生了非法入侵活动。用户接口使得用户易于观 察系统的输出信号,并对系统行为进行控制。 2 3 联动协议 当前提出的网络联动协议有东软的n a p 协议以及c h e c k p o i n t 的o p s e c 协议。东软n a p 采用c s 模式,使用t c p i p 协议通讯,报文格式分为报文头 部和报文正文,报文头部定义协议相关信息,报文正文定义报文传输协议的 相关信息。c h e c k p o i n t 以开放a p i 的方式提供联动接口,其他厂商通过调用 a p i 接口来实现和c h e c k p o i n t 防火墙联动。 2 4t o p ip 协议 t c p i p 协议簇是一种国际互联通讯协议,通过它实现异构网络和主机的 互联通讯。t c p i p 可分为应用层、传输层、网络层和网络接口层“。图 2 - 1 是t c p i p 各层主要的协议。 西南科技大学硕士研究生学位论文第6 页 简单邮件超文本传输文件传输域名服务简单网络管理 应用层传输协议协议协议协议 协议 ( s m t p )( h t t p ) ( f t p )( b n s )( s n “p ) 传输层 t c pi p 网络层i p ,i c m p ,a r p ,r a r p 网络接口层e t h e r n e tt o k e n r i n g 1 0 0 b a s e t其他 圈2 - 1t o p i p 协议族及分层结构 f ig ur e 2 1t c p ippr o t o c o ic 1u s t e ra n dar c h i t e c tl t r eo fia y er 2 4 1 网络接口层 定义各物理网络协议与t c p i p 之间的接口信息。该层与各种具体的物理 网络打交道,其协议格式随着所采用的网络类型的不同而不同“卅“朝“。图 2 - 2 是以太网i e e e s 0 2 3 的帧格式。 常用的帧类型有:i p 协议,类型值o x 0 8 0 0 ;a r p 协议,类型值0 x 0 8 0 6 ; r a r p 协议,类型值0 x 8 0 3 5 。 2 4 2 网络层( i p ) i p 协议是t c p i p 协议簇的核心协议之,它提供了无连接数据包传输 和网际路由服务。 i p 通过互联网传输数据包,它是无连接的,各个i p 数据报之间是相互 独立的。它是不可靠的,不保证投递抵达目的地,对分组的丢失、重复、延 迟和顺序错位等情况都不予检测1 5 3 6 “。 i p 数据报由报头和报文数据两部分组成。图2 3 是i p 数据报格式。 在图2 3 中协议号字段指明接受数据报的高层协议。表2 一l 列出了一些 西南科技大学硕士研究生学位论文第7 页 常见网络协议值。 网际报文协议i c m p 是用来提供差错报告服务的协议m 州1 “。i c m p 是 i p 协议的一部分,必须包含在每一个i p 协议实现中。i c m p 报文格式如图2 4 所示。i c m p 报文格式中报文类型如表2 2 所示。 o81 62 43 1 版本号报头艮度服务类型t o s报文总长度 报文标识标志分段偏移鼙 生存期协议号报头校验和 源i p 地址 目的i p 地址 选项+ 填充数据 报文数据 图2 - 3 ip 数据报格式 fig ur e 2 3f o r m a to fipp a c k e t 西南科技大学硕士研究生学位论文第8 页 表2 - 1常见网络协议值 l a bie 2 1c o m m o nv a iu eo fn e t w o r kp r o t o c o 0 81 63 l i p 报头 i c m p 报文类型i c m p 报文说明报文校验和 其他信息( 一般设为0 ) i c m p 数据区 图2 - 4i c m p 报文格式 fi g u r e 2 4 ic b pf o r m a to fp a c k e t 西南科技大学硕士研究生学位论文第9 页 表2 - 2i c m p 报文类型 t a b ie 2 2i c m pt y p eo fp a c k e t 2 4 3 传输层 提供了两种端对端的会话协议( t c p 和u d p ) 。t c p 是面向连接的协议,提 供无差错字节流的可靠传递,并提供虚电路和面向数据流的传递服务。连接 管理可分3 个阶段:连接建立、数据传输和终止连接m m 6 m “。t c p 报文格式 如图2 5 所示。 u d p ( 用户数掘包协议) 是不可靠的非连接的协议。它仅仪负责将数据打 包发送出去,不保证数掘包一定到达接受方,同时接受方也不调整所接受数 据包的顺序“”“。u o p 报文格式如图2 - 6 所示。 西南科技大学硕士研究生学位论文第1o 页 081 6 2 43 l f源端口号目的端口号 序号 确认号 数据 uaprsf 偏移保留 rcssyi窗口 gk htnn 校验利紧急指针 i选项填充 数据 圈2 - 5t o p 报文格式 fig u r e 2 5t c pf o r m a to fp a c k e t fig u r e 2 6u d pf o r m a to fp a c k e t 2 。4 。4 应用层 应用层为用户的应用程序服务,提供各种常用的高层协议如f t p ( 文件传 输) 、t e l n e t ( 远程登录) 、s m t p ( 简单邮件传送) 、h t t p ( 超文本传输) 、d n s ( 域 名服务) 等。 2 5 网络数据报截获技术 2 5 1w i n d o w s 操作系统的总体架构 w i n d o w s 操作系统的总体架构分为两个层次,上面的为应用层,下面的 为核心层。其结构图如2 - 7 所示。 西南科技大学硕士研究生学位论文第11 页 麻_ l i j 核心 应用程序 ( e x e ) 应用程序 ( e x e ) 动卷连接库 鹾 ( i ) l l ) 层驱动程序( v x d 或者s y s ) 硬件 图2 7w j n d o w s 操作系统构架 f i g u r e 2 7 w in d o w sf r a b l eo fo p e r s t io n s y s t e m 这种分层结构可以实现代码共享”“1 。例如协议驱动程序,一个系统里 会有许多程序使用相同的网络协议,把协议驱动程序单独调用出来就可以实 现代码的共享。 这种分层结构还可以实现安全保护。像协议驱动之类的程序对程序的执 行效率和代码的严谨性、健壮性要求都很高,一旦程序出问题就可能使系统 瘫痪,因此将操作系统分为两层,可以分别赋予他们不同的操作权限”。 应用程序位于上层,一个应用程序的好坏不会影响整个操作系统的运作,故 对于应用层的程序要求较低,授予它的权限也较低。核心层的驱动程序与操 作系统同级别的权限,驱动程序几乎可以对所有资源进行直接读写操作,包 括软硬件。 2 5 2用传输层过滤驱动程序截获网络封包 驱动程序提供了一种分层结构的过滤驱动程序,用这种技术可以在现有 的驱动程序结构中插入一层,这一点和w i n s o c k 2 的分层服务提供者非常相 似。利用过滤驱动程序可以非常方便地截获网络封包并在此基础上做加密、 过滤等附加操作“”。 像d 1 1 j 必须有入口函数+ 一样,驱动程序必须有入口函数d r jv e t e n t r y 。 任何对驱动程序的调用首先执行d r i v e r e n t r y 函数。对于高层的纯软件驱动 来说,在d r i v e r e n t r y 可直接调用这个驱动程序的功能函数来完成任务。 2 5 3用n d i s 中间驱动程序截获网络封包 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 为传输层提供标准的网络接口,所有的传输 层驱动程序都需要调用n d i s 接日来访闯网络。n d i s 在w i n d o w s 中的位置如 图2 8 所示。 巫 巫 图2 - 8n d i s 结构 f ;g u r e 2 8 n o l sa r c h i t e c t u r e ( t d i ) n d i s 支持编驾3 种类型的驱动程序: m i n i p o r t 驱动程序( 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 l 驱动程序( p r o t o c o ld r i v e r s ) m i n i p o r t 驱动程序可以通过n d i s 接口来完成对网卡的操作,同叫盯放 m i n i p o r t 接口供上层驱动程序调用。可以用m i n i p o r t 驱动程序实现网卡驱 动。 中间驱动程序位于m i n i p o r t 和p r o t o c o l 驱动程序之阍,中间驱动程序 同时具有m i n i p o r t 和p r o t o c o l 两种驱动程序接口。 p r o t o c o l 驱动程序开放p r o t o c o l 接蜀供底层驱动程序调塌,实现 p r o t o c o l 接口与m i n i p o r t 接口的对接。可以用p r o t o c o l 驱动程序来完成协 议驱动m 。 2 。5 4 用w i n s o c k 2s p i 截获网络封包 w i n s o c k 是为上层应用层程序提供的一种标准网络接q 。宦允许旺蕉堂 西南科技大学硕士研究生学位论文第13 页 编写自己的服务提供者接口程序,即s p i ( s e r v i c ep r o v i d e r i n t e r f a c e ) 程序。s p i 以动态连接库( d l l ) 的形式存在,它工作在应用层,为上层a p i 调 用提供接口函数。 自己编写的s p l 程序安装到系统之后,所有的w i n s o c k 请求都会先发送 到这个程序并由它完成网络调用8 8 m 。 2 6w i n s o c k 编程 w in s o c k 是一种标准a p i ( 应用程序编程接口) ,主要用于网络中的数据 通信。它允许两个或者多个应用程序( 或进程) 在同一台机器上或通过网络 相互通信n 。w in s o c k 有两个主要版本,即w i n s o c k l 和w i n s o c k 2 ,两者都 能在除了w i n d o w sc e 之外的所有w i n d o w s 平台上运行。其主要函数有: i n tw s a s t a r t u p ( w o r dw v e r s i o n r e q u e s t e d ,l p w s a d a t al p w s a d a t a ) ; w i n s o c k 初始化装载合适的w i n s o c kd l l 版本 s o c k e ts o c k e t ( i n ta f ,i n t t y p e ,i n tp r o t o c 0 1 ) : g j 建套接字 i n tb i n d ( s o c k e ts ,c o n s ts t r u c ts o c k a d d rf a r * n a m e ,i n tn a m e l e n ) : 绑定套接字到一个已知地址上 i n tl js t e l l ( s o c k e ts ,i n t b a c k l o g ) : 监听等待客户端连接 s o c k e ta c c e p t ( s o c k e ts ,s t r u c ts o c k a d d rf a r * a d d r ,i n tf a r * a d d r le n ) : 接受客户端连接 i n tc o n n e c t ( s o c k e ts ,c o n s ts t r u c ts o c k a d d rf a r * n a m e ,i n tn a m e l e n ) ; 客户端连接到服务器 i n t8 e n d ( s o c k e ts ,c o n s tc h a rf a r * b u f ) : 发送数据 i1 3 tr e c v ( s o c k e ts ,c h a rf a r * b u f ,i n tl e n ,i n t f l a g s ) : 接受数据 in t c l o s e s o c k e t ( s o c k e ts ) : 关闭连接 i n t w s a c i e a n u p ( v o i d ) : 从内存中卸载w i n s o c k 库 西南科技大学硕士研究生学位论文第1 4 页 2 7 数据加密、认证 现代加密技术是一些数学变换( 算法) ,将消息看作是空间中的数字或代 数元,然后在“有意义的消息”区和“不可理解的消息”区之间进行变换。 为了恢复消息,加密变换必须是可逆的,逆变换称为解密。加密算法和解密 算法都有密钥做参数“o “。d e s 算法是第一个并且也是最重要的现代对称加 密算法,广泛应用于各种数据加密领域。 d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 是分组密码,其中的消息被分成定长 的数据分组。d e s 加密和解密算法输入6 4 比特明文或密文消息和5 6 比特密 钥,输出6 4 比特密文或明文消息“。 公开密钥密码编码学是非对称的,它使用两个不同的密钥,一个公开密 钥,一个私有密钥。大体上可将公开密钥密码系统分为三类: ( 1 ) 加密解密:发送方用接受方的公开密钥加密报文; ( 2 ) 数字签名:发送方用它自己的私有密钥“签署”报文; ( 3 ) 密钥交换:两方合作以便交换会话密钥“。 认证可以分为三个子概念:数据源认证、实体认证和认证的密钥建立。 数据源认证的特征如下: ( 1 ) 包含从某个声称的源到接受者的消息传送过程,该接受者在接受时会 验证消息。 ( 2 ) 接受方执行消息验证的目的在于确认消息发送者的身份。 ( 3 ) 接受方执行消息验证的目的还在于确认在原消息离开消息发送者之 后的数据完整性。 ( 4 ) 验证的进一步目的在于确认消息传递的“活现性”。 实体认证是一个通讯过程,通过这个过程某一个实体和另一个实体建立 种真实通信,并且第二主体声称的身份应该和第一主体所寻找的通信方 致”“”“。为了进行高层或应用层安全通信而运行的实体认证协议通常要建立 密钥,进行密钥交换。 r s a ( r i v e r s t - s h a m ir - a d l e m a n ) 算法由r o nr i v e r s t ,a d is h a m i r 和 l e na d l e m a n 于1 9 7 7 年研制并于1 9 7 8 年首次发表的一种算法“。r s a 是 目前广泛使用的公丌密钥算法,用于数字签名等领域。 西南科技大学硕士研究生学位论文第15 页 2 8网络攻击 2 8 1网络攻击分类 攻击类型有以下几种: ( 1 ) 缓冲区溢出。例如b i n d 4 9 和b i n d 8 逆向查询缓冲区溢出凇53 “1 。 ( 2 ) 拒绝服务。破坏计算机提供服务啡m 。 ( 3 ) 文件非安全处理。例如s o l a r i sa d m i n t o o l 命令执行时产生的临时文 件处理不当,使本地用户能够在系统中创建或写特定文件,从而获得超级用 户同等权限1 ”圳。 ( 4 ) i p 地址欺骗。伪造源i p 地址”1 。 ( 5 ) 参数检查不完全。例如在n c s a a p a e h ec g l 程序范例中存在的 e s c a p e s h e l l 一c m d 弱点,e s c a p e s h e l l c m d 用来防止利用基于s h e l l 的库调 用漏洞,如s y s t e m 和p o p e n 调用川2 。 ( 6 ) 特洛伊木马。例如u n i x 版本的i r c 客户程序中有特洛伊木马“。 ( 7 ) 非安全程序特征。例如b i n d 8 中的拒绝服务漏洞,无效d n s 纪录导致 服务器循环处理朝阳“。 ( 8 ) 弱认证或加密。例如k e r b e r o s 服务器版本4 使用了弱的随机数产生 器作为会话密钥。按计算机平均速度计算,该会话密钥最多2 到4 分钟即可 破解。 ( 9 ) 配置错误。配置错误指不合适的文件权限设置,或者应用程序配置文 件不e 确,例如n i s + 配置弱点乜2 h 2 “。 ( 1 0 ) 程序实现错误。例如c i s c o 路由嚣8 2 ,8 3 ,9 。0 ,9 1 和9 1 7 软 件版本中包处理弱点,允许i p 源路由儿圳。 2 8 2 网络攻击变化特征 ( 1 ) 网络攻击自动化 网络攻击者利用已有的攻击技术,编制出能够自动进行攻击的网络工具 软件。 ( 2 ) 网络攻击人群 网络攻击人群从以前的技术人员向非技术人员变化,从单独个体攻击行 为向有组织的攻击行为变化n 3 1 m ”。现在已经形成跨国界的黑客联盟组织。 ( 3 ) 网络攻击目标 网络攻击目标从以往的以u n i x 主机向网络的各个层面上。网络卡通讯协 西南科技大学硕士研究生学位论文第16 页 议、密码协议、网络域名服务、网络的路由服务系统、网络应用服务系统, 甚至网络安全保障系统均成为攻击对象m 7 1 1 。现在w i n d o w s 主机的攻击 现象也变得非常普遍。 ( 4 ) 网络攻击协同 攻击者利用i n t e r n e t 上的巨大资源,开发出特殊的程序,将不同地域的 计算机协同起来,向某一特定的目标发起攻击。比如常见的分布式拒绝服务 攻击。 ( 5 ) 网络攻击智能化 网络攻击与病毒程序相结合,使得病毒的复制传播特点使攻击程序如虎 添翼 2 43 。 ( 6 ) 拒绝服务网络攻击 最简单的拒绝服务攻击是“点子邮件炸弹”,它使用户在很短时间内收到 大量电子邮件,使用户系统不能处理正常业务,严重时会使系统崩溃、删络 瘫痪。 ( 7 ) 网络攻击的主动性 网络攻击者掌握主动权,而防御者被动应付n 3 1 2 州2 “。 西南科技大学硕士研究生学位论文第17 页 3 系统总体设计 本章阐述基于主机的自动防御系统的总体技术路线、工作流程、主体功 能、模块划分、模块间接口和主要数据结构等。 3 1 总体技术路线 本课题主要由两大部分构成即防火墙和入侵检测。防火墙自主开发,入 侵检测采用开放源码s f i o r t ,通过把s n o r t 检测到的入侵信息实时反馈到防火 墙,由规则转换机制自动生成防火墙的安全策略,实现防火墙的自动防御, 同时也允许手工添加安全策略。主机防火墙采用n d i s 中间驱动程序截获网络 封包技术,对所有进出主机的数据包根据安全策略进行检测,来确定是否允 许数据包通过从而达到保护主机资源目的。防火墙和入侵检测( s n o r t ) 闻通讯 通过对t c p 协议扩展,定义自己的通讯协议格式来实现。他们之州的通讯数 据经过认证和加密来确保数据安全可信,其中认证采用r s a ( 公开密钥认证) 算法,数据加密采用d e s 算法。 3 2 工作流程 整个系统由四部分组成:n d i s 驱动程序、主机防火墙界面、防火墙代理 端和s n o r t 代理端。如图3 一l 所示。 图3 1 f ig ur e 3 1 图3 - 1 中n d i s 驱动程序和主机防火墙界面构成主枫防火墙。防火墙代 理端和s n o r t 代理端为主机防火墙和入侵检测( s n o r t ) 之间的通讯提供服务。 把图3 一l 的系统各部分具体化更详细的流程图如图3 2 所示。 炉 架。框吖黝 西南科技大学硕士研究生学位论文第1 8 页 主帆防火j i | l ( f i r e - a l l a i n e x e ) ls n 。r t 代理端| + r 防火墙代理端卜+ |规则转换 上 规贝4 输入界面k 一读写规刚模块 - 叫规鲥文件 n d i s 驱动鞋_ 譬( pa s s t h r u s y s l 率上0 接受控制模块 n d i s 封包过滤 i 面毛幕孔磊聂画丽获舣数姑也模块 击美_ij二界面il 读写廿恚文件 _ 叫h 志文件i 图3 - 2具体系统框架 f ig u r e 3 2 s p e c ia i f r a m eo f s y s t e m 3 3主体功能 如图3 - 2 所示,可得到基于主机的防御系统的主体功能。主体功能说明 如下: ( 1 ) 封包监视 提供拦截封包监视界面。 当数据报被拦截时,根据系统参数配置进行报警。 开始停止封包监视。 ( 2 ) 同志记录 把拦截的封包信息记录到日志文件中。 ( 3 ) 手动配置规则 手工添加、删除、清空规则。 手动发送规则到驱动程序。 ( 4 ) 自动规则配置 把s n o r t 的入侵信息自动反馈到主机防火墙,通过规则转换机制把入侵 信息转换成安全策略规则,再把安全策略规则自动发送到驱动程序。 ( 5 ) 系统参数设置 操作系统启动时是否自动加载防火墙。 当拦截数据包时是否弹出防火墙主窗体。 西南科技大学硕士研究生学位论文第19 页 当拦截数据包时是否让p c 机发声告警。 是否和s n o r t 联动实现自动防御。 ( 6 ) 封包过滤 n d i s 驱动程序根据安全策略规则放行或拒绝数据包。 满足安全策略规则条件需要拦截的数据包,要停止向上层转发并把该 包发送到防火墙界面程序。 ( 7 ) 关于界面 列出产品版本和版权等信息。 ( 8 ) 加密和认证 对防火墙代理和入侵检测( s n o r t ) 代理之间的通讯数据进行加密和认证。 3 4 模块划分 根据流程图3 2 和功能定义,对模块做进一步细化得到更详细的模块划 分,本系统可分为三部分:防火墙界面、n d i s 协议驱动和s n o r t 代理。 3 4 1 防火墙界面 其包括的主要模块如下: ( 1 ) 读写规则模块 两个功能:把手工配置的防火墙安全策略规则写入规则文件:读出 规则文件显示在规则配置界面上。 ( 2 ) 控制驱动模块 对n d i s 协议驱动程序进行控制,控制的操作方式有启动停【川办议驱动 和发送规则到协议驱动。 ( 3 ) 规则转换模块 把入侵检测信息格式转换为防火墙安全策略规则格式。 ( 4 ) 通讯模块 和入侵检测系统( s n o r t ) 进行数据通讯,用作c s ( c 1 i e nl s e r v e r ) 通讯 的服务器端。 ( 5 ) 解密模块 对防火墙和入侵检测间的通讯数据进行解密,采用d e s 算法对通讯数据 进行解密。 ( 6 ) 通讯协议解析模块 西南科技大学硕士研究生学位论文第2 0 页 根据通讯协议制定格式对接受到的入侵检测信息数据进行解析。 ( 7 ) 认证模块 对发送的签名信息进行认证,确保从指定的入侵检测接受信息,而不是 攻击者伪造信息,采用r s a 算法来进行签名认证。 ( 8 ) 封包显示模块 把接收到的拦截数据报信息实时显示在防火墙运行界面上。 ( 9 ) 同志读写模块 两个功能:a 保存拦截数据报信息到日志文件中b 显示同志文件内容。 ( 1 0 ) 参数设置模块 设置系统参数,其参数有弹出窗体、发声告警、自动加载和联动防御。 3 4 2 n d i s 协议驱动 其包括的主要模块如下: ( 1 ) 接受控制模块 接受来自防火墙界面程序的控制信息。 ( 2 ) 数据包检测模块 检测每个数据包、阻断满足安全策略规则所要求拦截的数据报并把该报 文发送给防火墙界面程序用于显示拦截报信息。 3 4 3s n o r t 代理 其包括的主要模块如下: ( 1 ) 通讯模块 和防火墙界面程序进行通讯,用作c s 通讯的客户端。 ( 2 ) 通讯协议设置模块 根掘制定的通讯协议格式设置通讯协议的具体规则,完成通讯数据的封 装任务。 ( 3 ) 加密模块 对防火墙和入侵检测之间的通讯数据进行加密,采用d e s 算法加密通讯 数掘。 ( 4 ) 签名数据认证模块 对通讯协议中的签名数据用r s a 算法进行加密来标示其代理的身份。 ( 5 ) 入侵信息提取模块 提取入侵检测系统( s n o r t ) 的入侵告警信息。 西南科技大学硕士研究生学位论文第2 1 页 3 5 模块间接口 基于主机的防御系统模块之间的接口有3 种方式: ( 1 ) 函数接口 ( 2 ) 全局变量接口 ( 3 ) w i n d o w s 消息接口 函数接口是独立性和封装性最好的接口方式。函数之间通过参数传递迸 行模块间的通信,处理过程保持相互独立,函数处理完成把结果返回到调用 模块。 全局变量接口是一种不提倡的方式。全局变量不易控制,任何地方都可 以改变其值,但全局变量的使用很方便在某些场合下经严密控制操作后使用。 w i n d o w s 消息接口是一种特殊的接口方式,它基于w i n d o w s 操作系统的 消息机制。这种接口用于应用程序和驱动程序之间的同步通讯。 3 6 主要数据结构 对系统所涉及到的数据结构作具体说明,以下所有数据结构定义采用 c c + + 语言格式

温馨提示

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

评论

0/150

提交评论