(计算机应用技术专业论文)基于linux防御拒绝服务系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于linux防御拒绝服务系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于linux防御拒绝服务系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于linux防御拒绝服务系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于linux防御拒绝服务系统的研究与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)基于linux防御拒绝服务系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 防火墙主动防御技术体系作为网络安全领域的一个重要分支,越来越受到业 界关注。目前,基于给予各种操作系统的防火墙大多采用被动防御技术,如特征 匹配、手动更新、流量控制、访问控制等。但是它们在抵御拒绝服务攻击方面, 有太多的不足之处。针对于此,本文进行了这方面的研究提出了基于l i n u x 主动 防御拒绝服务系统。 本文首先介绍了网络安全的基础知识及t c p i p 协议的相关问题,然后,深 入研究了l i n u x 2 6 内核,提炼出重要数据结构、数据处理流程,掌握l i n u x 内 核框架的实现机制。研究了s y nf l o o d 攻击原理,分析当前的防护拒绝服务攻击 算法不足之处,在此基础上,设计并实现了一种基于l i n u x 主动防御拒绝服务系 统。该系统在数据链路层分析数据帧,在系统底层通过转向代理握手的方式实现 中继防火墙代理服务程序的功能,并且通过流量检测机制启动转向代理握手模 块。一方面因为转向代理握手工作在操作系统的网络入口处,减少了系统消耗, 提高了工作效率,提高了受到拒绝服务攻击时为正常用户提供服务的能力;另一 方面,在没有受到攻击时,不必启动转向代理模块,从而避免了正常网络情况下 代理服务程序引起的t c p 连接的延迟。 最后,在真实网络环境下进行了攻击测试,试验结果表明,基于l i n u x 主动 防御服务攻击系统达到了主动防御的效果,可以有效的抵御d d o s 攻击。 关键词:主动防御系统,l i n u x 网络安全,拒绝服务,网络安全,t c p i p a b s t r a c t a sa n i m p o r t a n t b r a n c ho fn e t w o r ks e c u r i t y , i n i t i a t i v ed e f e n s ef i r e w a l l t e c h n o l o g i e sa t t r a c tm o r ea n dm o r ea t t e n t i o n a tp r e s e n t ,t h e r ea l em a n yt y p e so f f t r e w a l lb a s e d0 1 1k i n d so fo p e r a t i o ns y s t e m s ,w h i c ht a k eo np a s s i v ed e f e n s e t e c h n o l o g i e s ,s u c ha sc h a r a c t e rm a t c h i n g ,m a n u a lu p d a t i n g ,f l o wc o n t r o l ,a c c e s s c o n t r o l ,a n ds oo i lb mt h e yh a v em a n yd r a w b a c k st op r o t e c td e n i a lo fs e r v i c ea t t a c k s o ,i nt h i st h e s i sw ei n t r o d u c eas y s t e mf o ri n i t i a t i v e l yp r o t e c t i n gf r o md e n i a lo f s e r v i c ea t t a c k sb a s e do nl i n u x a tf i r s t , w ei n t r o d u c e se s s e n t i a lk n o w l e d g ea b o u tn e t w o r ks e c u r i t ya n dp r o b l e m s a b o u tt c p mt h e na n a l y z e sl i n u x2 6k e r n e l ,a b s t r a c ti m p o r t a n td a t as t r u c t u r ea n d d a t as t r e a m ,a n di n t r o d u c e si m p l e m e n tf u n c t i o n so fl i n u xk e r n e l w es t u d yt h e t e c h n i q u eo fs y n f l o o da t t a c k s ,a n da n a l y z et h ed r a w b a c k so fa l g o r i t h m sa tp r e s e n t b a s e do nt h e s e ,w ed e s i g na n di m p l e m e n tab o t t o ms y s t e mf o ri n i t i a t i v e l yp r o t e c t i n g f r o md e n i a lo fs e r v i c ea t t a c k sb a s e do nl i n u x i nt h es y s t e mw ei m p l e m e n tt h ep r o x y h a n d s h a k ef u n c t i o no fa g e n ts e r v i c ep r o g r a mi nr e l a yf i r e w a l lt h r o u g hah a n d s h a k e d i v e r s i o nm o d u l e ,w h i c hs t a r t su pa l o n gw i t ht h ef l o wd e t e c t i n gf u n c t i o n o no n e h a n dt h eh a n d s h a k ed i v e r s i o nm o d u l ew o r ka tt h en e t w o r ke n t r yp a r ti no p e r a t i o n s y s t e ms ot h a ti tr e d u c e st h ec o n s u m p t i o no fs y s t e mr e s o u r c e sa n di n c r e a s ew o r k e f f i c i e n c y ;o nt h eo t h e rh a n d ,i td o e sn o ts t a r tu pt h eh a n d s h a k ed i v e r s i o nm o d u l e w i t h o u ta t t a c k s ,a sar e s u l ti ta v o i dt h et i m ed e l a ya r o s eb ya g e n ts e r v i c e p r o g r a m f i n a l l y , w et e s t s0 1 1t h i sd e f e n s es y s t e mi nr e a ln e t w o r ke n t i r o n m e n t , t h et e s t r e s u l ts h o wt h es y s t e mw ei m p l e m e n tc a nm e e tt h er e q u i r e m e n ta n dp r o t e c ta g a i n s t d e n i a lo fs e r v i c ea t t a c k se f f e c t i v e l y k e y w o r d s - i n i t i a t i v e l yd e f e n s es y s t e m ,l i n u x ,d e n i a lo f s e r v i c e , n e t w o r ks e c u r i t y ,t c p i p 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名: 翘亚扎 签字日期: o y 年i 月砂日 学位论文版权使用授权书 本学位论文作者完全了解鑫注盘壁有关保留、使用学位论文的规定。 特授权苤叠盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编也上供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 韵亚屯 导师签名:j 善连秀 签字目期:2 。r 年弦月日 签字日期: 移年 。月 l 侣 第一章绪论 1 1 问题的提出 第一章绪论 随着人类社会生活对i n t e m e t 需求的日益增长,网络安全逐渐成为i n t e m e t 及各项网络服务和应用进一步发展的关键问题,特别是1 9 9 3 年以后i n t e r a c t 开始 商用化,通过网络进行的各种电子政务、商务业务日益增多,加之n t e r n e f f i n t r a n e t 技术日趋成熟,很多政府组织和企业都建立了自己的内部网络并将之与i n t e r n e t 连接。上述电子政务应用和企业网络中的商业秘密均成为攻击者的目标。据统计, 目前网络攻击手段有数千种之多,使网络安全问题变得极其严峻,据美国商业杂 志信息周刊公布的一项调查报告称,黑客攻击和病毒等安全问题在2 0 0 0 年 造成了上万亿美元的经济损失,在全球范围内每数秒钟就发生一起网络攻击事 件。 随着i n t , n e t 的发展,网络安全技术也在与网络攻击的对抗中不断发展。从 总体上看,经历了从静态到动态、从被动防范到主动防范的发展过程,防范技术 分为如下几种:防火墙技术,数据加密技术,身份认证或认证技术。 本文详细分析并深入研究了网络安全技术的现状和黑客攻击的原理方法,分 析当今主流网络层防火墙的技术实现模式,针对执行效率低防护效果有限等特 点,我们提出了防火墙的主动防御系统,该系统将黑客攻击防范在最底层,从网 络入口处解决了黑客攻击,实现了高效的新一代主动防御系统,解决了分布式拒 绝服务攻击、拒绝服务攻击攻击问题,从中提出了一套自己研究的算法经过测试 确实达到主动防御拒绝服务攻击的效果。 1 2 研究背景 2 0 0 0 年网络上发生了大量的d d o s ( d i s t r i b u t e dd e n i a lo f s e r v i c e ) 攻击事件, 比如:2 0 0 0 年2 月份、y a h o o ,e b a y 等大型网站遭到d d o s 攻击,y a h o o 这样仅 次于a o l 的第二大搜索引擎站点,注册用户1 亿个,平均日浏览页次4 6 5 亿, 月访问量4 2 0 0 万次的大网站,在d d o s 入侵面前瘫痪三个多个小时i ”。 d d o s 2 1 是英文d i s t r i b u t e dd e n i a lo f s e r v i c e 的缩写,意即“分布式拒绝服务”, 那么什么又是拒绝服务( d e n i a lo f s e r v i c e ) ? 可以这么理解,凡是能导致合法用 户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击 第一章绪论 的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者 不可告人的目的。虽然同样是拒绝服务攻击,但是d d o s 和d o s 【3 j 还是有所不同, d d o s 的攻击策略侧重于通过很多“傀儡主机”( 被攻击者入侵过或可间接利用 的主机) 向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资 源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如 洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访 问服务器的网络资源,因此,分布式拒绝服务攻击又被称之为“洪水式攻击”。 常见的d d o s 攻击手段h 有s y nf l o o d 、a c kf l o o d 、u d pf l o o d 、i c m pf l o o d 、 t c pf l o o d 、c o n n e 肚i o n sf l o o d 、s c r i p tf l o o d 、p r o x yf l o o d 等,其中最典型也是 最难防御的分布式拒绝服务攻击是s y nf l o o d 攻击,而其它几种攻击,攻击原理 简单,容易被防范,基本被解决,本文所提的d d o s 攻击指的就是s y nf l o o d 攻击。而d o s 则侧重于通过对主机特定漏洞的利用攻击导致网络栈失效、系统 崩溃、主机死机而无法提供正常的网络服务功能,从而造成拒绝服务,常见的 d o s 攻击手段瞪j 有t e a r d r o p 、l a n d 、j o l t 、i g m pn u k e r 、b o i n k 、s m u r f b o n k 、 o o b 等。就这两种拒绝服务攻击而言,危害较大的主要是d d o s 攻击,原因是 很难防范,至于d o s 攻击,通过给主机服务器打补丁或安装防火墙软件就可以 很好地防范。 高速广泛连接的网络给大家带来了方便,也为d d o s 攻击创造了极为有利的 条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标 网络距离近的机器,因为经过路由器的跳数越少,效果越好。而现在电信骨干节 点之间的连接都是以g 为级别的,大城市之间更可以达到2 5 g 的连接,这使得 攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以分布在更大 的范围,选择起来更灵活了。 随着 n t c m c t 互联网络带宽的增加和多种d o s ,d d o s 黑客工具的不断发布, d d o s 拒绝服务攻击的实施越来越容易,d d o s 攻击事件正在成上升趋势。出于 政治目的、商业竞争、打击报复和网络敲诈等多种因素,导致很多政府网站、i s p 提供商、i d c 托管机房、商业站点、游戏服务器、聊天网络等网络服务商长期以 来一直被d d o s 攻击所困扰,随之而来的是数据库无法正常使用服务器被入侵机 密资料丢失、客户投诉、同虚拟主机用户受牵连、法律纠纷、商业损失等一系列 问题,因此,解决d d o s 攻击问题成为网络安全界必须考虑的头等大事。 1 3 研究工作 迄今为止,在网络攻击与网络安全防护的对抗过程中,网络攻击仍占据了上 第一章绪论 风。这其中的一个主要原因就是:现在的网络安全防护产品基本上都是被动防护, 是在遭受攻击之后才发现问题,然后有针对性地解决问题,提高网络的安全防护 水平,而后茫然地等待下一次攻击的到来。也就是说,目前的网络安全防御行为 是一种被动式的反应行为。 被动防御嘲指的是在安全威胁发生或者到达目标系统后,安全防范系统对其 进行检查,进行事后的响应,如目前安全市场上的大部分的i d s 产品和桌面级防 病毒产品。以i d s 产品为例,“被动”的入侵检测系统只能“听取”流量,而不 能在适当时通过丢弃、修改、指引、延迟数据包或者拒绝它们自己的数据包进入 网络来控制流量。由于不能控制是否允许攻击到达其目标。因此,被动系统实际 上只能用于检测攻击而不能防止攻击。 主动防御技术嘲是指当网络安全威胁发生或者到达目标系统之前,安全防范 系统能够及时的检测,并且做出自动的防御,无需任何手动干预,即可获得安全 的防护。与被动防御相比,主动防御的好处在于可以保证安全威胁无法到达受保 护的网络,无法真正的起到破坏作用。从技术角度来说,目前对主动防御系统的 要求主要是防御的准确性和及时性。准确性指的是主动防御系统只能阻断有安全 威胁的流量,对于正常的通讯不能影响;及时性指的是主动防御系统必须跟踪和 分析安全威胁,及时地作出阻挡。 本文提出的主动防御系统基于d d o s 攻击检测与防护作为一种积极主动的 安全防护技术,提供了对子网内部、外部和误操作产生的d d o s 的实时防护,在 网络及系统的正常服务受到危害之前拦截和防护。它区别于传统基于主机的被动 式安全措施,比如特征匹配、手动更新、流量控制、访问控制等。结合了基于主 机和基于网络的入侵检测技术,可以主动实时地检测非法使用、误用、恶意攻击, 并且对子网内部和外部的攻击均能及时反应。 现在主流的基于l i n u x 防火墙系统多采用网络层n e t f i l t e r 的构架进行编写的, 经测试,基于网络层防护的防御系统在受到拒绝服务攻击时其系统资源消耗率为 60 以上,攻击强度大的情况甚至引起系统瘫痪,从而引起整个网络瘫痪,因 此无法适应新时期下的网络安全状态,这说明,网络层的防御消耗防火墙系统本 身资源大,处理攻击能力弱,本文通过分析传统防火墙的这一弱点,以l i n u x 为 开发环境,在数据链路层,基于独立内核模块开发了一个基于l i n u x 防御拒绝服 务系统,加载位置是所有数据包的必经之路,从网卡驱动过后,就经过该防御模 块,经过包过滤分析模块后只将正常的网络数据包提交给网络层,从而减少了 c p u 的负载,大大增加了防火墙的抗攻击性与处理能力。 本课题的研究成果共分如下结构:基于桥接口的包过滤钩子框架,s y n a c k 第一章绪论 转向代理握手模块,以及网络层包过滤模块。 首先,修改l i n u x 内核源代码,在l i n u x 内核网络底层的桥接口处添加一个 包过滤钩子框架,重新编译内核后,可以通过该包过滤钩子把主动防御d d o s 攻 击的代码制作成独立的模块,实现透明主动防御型防护墙,从而达到主动防御 d d o s 攻击的效果。采用基于桥接口的包过滤钩子框架,一方面,在每次添加或 修改防护算法时,避免了每次都要重新编译内核,只需要重新编译模块;另一方 面,因为模块工作在桥模块处理数据帧之前,从而减少了系统消耗,提高了防护 算法的工作效率。 然后,基于桥接口处的包过滤钩子框架做了一个转向代理握手模块,在内核 底层实现了主动防御黑客攻击,解决了当今网络安全领域最难防御的分布式拒绝 服务攻击。模块随系统网络驱动程序的启动而启动,在数据包进入内核网络层之 前开始着手分析过滤所有数据包,识别出哪个是攻击包哪个是合法数据包,并且 阻止攻击包进入网络,禁止攻击包在网络中传输,大大降低了防御系统资源消耗, 从而提高了网络资源的利用率,达到百兆环境下纯线速的网络转发效果。 为解决拒绝服务攻击,作者研究了s y nf l o o d ”1 攻击原理,分析传统的三种 抵御算法( 网关防火墙法、中继防火墙法和s y nc o o k i e s ) 的不足,提出在数据链 路层分析数据帧,通过转向代理握手的方式实现中继防火墙代理服务程序的功 能,并且通过流量检测机制,启动转向代理握手。一方面因为转向代理握手工作 在操作系统的网络入口处,减少了系统消耗,提高了工作效率,提高了受到拒绝 服务攻击时为正常用户提供服务的能力;另一方面,在没有受到s y nf l o o d 攻击 时,不再经过代理服务程序,从而避免了代理服务程序引起的t c p 连接的延迟。 网络层包过滤模块,是通过网络层n e t f i l t e r 框架提供的i p t a b l e s 编写脚 本实现的,可以设置端口过滤,从而拒绝任何从因特网到非公共服务( 如s q u i d 代理缓存或s a m b a 服务器) 的连接;也可以通过封锁某些i p 地址,禁止某些非 法用户访问服务器。 1 4 论文结构 第一章为绪论,主要介绍选题背景及意义,论文的主要结构和内容安排。 第二章对网络安全与t c p i p 数据传输协议作了简单的介绍。 第三章对防火墙技术给予阐述,介绍防火墙背景知识;然后深入研究l j n u x 内 核防火墙,研究其实现机制。 4 第一章绪论 第四章主要介绍了主动防御拒绝服务系统的设计与实现,介绍了透明模式下包 过滤钩子框架的设计与实现方法,并分析了对s y nf l o o d 攻击传统防护 算法的不足,提出了转向代理的概念与实现方法,其防护代码采用独立 模块的方式实现在数据链路层。 第五章对主动防御拒绝服务系统进行真实网络环境的测试。 第六章给出了全文的研究结论。 第二章网络安全与t c p i p 第二章网络安全与t c p i p 网络的快速发展使得信息交流的速度和方式发生了巨大的变化,人们通过网 络可以享受到便捷服务和快乐。但是,目前的网络存在着很多不安因素。比如, 黑客入侵、信息泄漏等,但同时也带来了许多负面的影响,我们在尽情享受互联 网所带来的便利的同时,必须要清醒地认识到,网络存在着许多漏洞,网络安全 存在着许多威胁。计算机网络面临的各种威胁和攻击很多,所以需要我们认真研 究和分析问题,掌握网络安全技术,从而找出解决问题的方法,从而保护网络安 全。 2 1 网络安全 2 1 1 网络安全的定义 网络安全f 8 】从其基本性质上讲,就是网络上的信息安全。广义上说,凡是涉 及到网络上信息的保密性、完整性、可用性、真实性和可控制性的相关技术和理 论,都是网络安全所要研究的领域。 我们可以把网络安全通用定义为: 网络安全是指网络系统的硬件、软件以及其系统中的数据受到保护,不受偶 然的或者恶意的原因而遭到破坏、更改或者泄漏,系统持续可靠正常地运行,网 络的服务不中断。 它的具体含义则会随着“角度”的变化而变化。 从用户( 个人、企业等) 的角度来说,他们希望涉及个人隐私或商业利益的 信息在网络上传输时受到机密性、完整性和真实性的保护,避免其他人或对手利 用窃听,冒充、篡改、抵赖等手段侵犯用户的利益和隐私,同时也避免其它用户 的非授权访问和破坏。 从网络运行和管理者的角度说,他们希望对本地网络信息的访问、读写等操 作受到保护和控制,避免出现“陷阱”1 9 、病毒、非法存取、拒绝服务和网络资 源非法占用和非法控制等威胁,制止和防御网络黑客的攻击。 对安全保密部门来说,他们希望对非法的、有害的或涉及国家机密的信息进 行过滤和防堵,避免其通过网络泄露,避免由于这类信息的泄密对社会产生危害, 对国家造成巨大的经济损失。 6 第二章网络安全与t c p i p 从社会教育和意识形态角度来讲,网络上不健康的内容,会对社会的稳定和 人类的发展造成阻碍,必须对其进行控制。 2 1 2 网络安全特征 网络安全应具备以下四方面的特征: 保密性:信息不泄漏给非授权用户、实体或过程,或供其利用的特性。 完整性:数据未经授权不能进行改变的特性。即信息在存储或传输过程又保 持不被修改,不被破坏和丢失的特性。 可用性:可被授权实体访问并按需求使用的特性。即当需要时能否存取所需 的信息。例如网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对 可用性的攻击。 可控性:对信息的传播及内容具有控制能力。 2 1 3 网络安全的威胁 网络安全的威胁嘲可能来自许多方面,如认为的恶意攻击、网络的安全缺陷, 软件的漏洞和网络系统结构的隐患等等。一旦网络上传输的信息遭到窃听,截取, 篡改或毁坏,将给个人、企业甚至国家带来不可估量的损失。 在r f c l 2 4 4 中,指出了与网络的连通性相关的三种不同类型的威胁: 非授权访问( u n a u t h o r i z e d8 e c e s s ) 非授权的人通过冒充合法用户或者 利用黑客技术侵入主机系统。 信息泄漏( d i s c l o s u r eo f i n f o r m a t i o n ) 造成将由价值和高度机密的信息 泄漏给无权访问该信息的人的所有问题。 拒绝服务( d e n i a lo f s e r v i c e ) 使得系统难以或不可能继续执行任务, 无法为合法用户进行服务的所有问题。 评估这些威胁将涉及到受到影响的用户数量和可能被泄漏的信息机密性。 例如,对信息泄漏威胁的评估取决于可能泄密的信息类型。具有严格分类的 信息系统不应该直接i n c t r n c t ,而其他一些如私人信息,政府文件,公司计划或 信用记录等具有一定程度机密性的信息,则不足以禁止系统连接网路,在大多数 情况下,可以利用操作系统自身的文件安全管理机制给他们提供适当的保护。 虽然拒绝服务攻击本身不会引起信息泄漏,但一方面,他会使系统长时间无 7 第二章网络安全与t c p i p 法正常工作和服务,导致网络阻塞和信息严重滞后;另一方面,许多其他类型的 攻击常常使用拒绝服务为一部分攻击手段,特别是那些大型攻击,总是以拒绝服 务攻击为先驱,然后再进一步窃取资料,破坏系统,造成严重的后果。 因此是否能正确评估一个系统可能受到的网络威胁,并及早地制定防范计 划,采取合理的方面策略,是保证一个系统及信息安全性的关键。 2 2t o p lp 协议及协议安全性 t c p i p 1 是i n t e m e t 的基础,i n t e m e t 的安全性【9 】和t c p f l p 的安全性1 是分 不开的,讨论网络安全问题,必须讨论t c p i p 的安全问题。本小节主要讨论与 本课题相关的t c p i p 协议内容,以及t c p i p 协议的安全问题和几种常见的网 络攻击手段。 2 2 1t c p i p 基本原理 1 网络是分层的,每一层分别负责不同的通信功能。 t c p i p 通常被认为是一个四层协议族【l l 】,t c p 1 p 协议族是一组不同的协议 组合在一起构成的协议族。尽管通常称该协议族为t c p ,m ,但t c p 和m 只是其 中的两种协议而已,如图2 1 所示。每一层负责不同的功能。 tcp ,i p 层描述主要协议主要功能 h t 饥w e l n e t 、f 什 应用层负责把数据传箱到传输层或接收从侍输层返回的摊 和n n l 等 主要为两台主机上的应用程序提供端到端的通信,1 p 为两台主机提供高 可靠性的歉据通信- 它所敛的工作包括把应用程序交给它的渊成合适 的小块交给下面的网络层,确认接收到的分组。设置发送最后确认分组的 传输层 1 c p 和珊p 超时时钟等m 炉删为应用层提供一种非常简单的服务它只是把称作数 据撮的分组从台主机嬲另台主机,但并不保证该数据报能秘选另 赭 有时也称作互联网层,主要糯罐包选择路由,真中邛是1 口佃协议族 厨络层i 、p 和i 中最为按心的 办议。所有的k p 、l p i c i l n 及i 数据搠裂口数据报格 式俸输 蝴、潴和设 发谤耐将评包作为帧发送;接收时把接收弱的型卿躐籁;提供澍各管理; 键路层备驱动程序及接 错误检炜 口卡 图2 - 1 t c p i p 四层模型 分层的概念说起来非常简单,但在实际的应用中非常的重要,在进行网络设 第二章网络安全与t c p i p 置和排除故障时对网络层次理解得很透,将对工作有很大的帮助。例如:设置路 由是网络层口协议的事,要查找m a c 地址是链路层a r p 的事,常用的p i n g 命 令由1 c m p 协议来做的。图2 2 显示了各层协议的关系。 图2 - 2 各层协议关系 2 数据发送时自上而下,层层加码;数据接收时自下而上,层层解码m 1 。 当应用程序用t c p 传送数据时,数据被送入协议栈中,然后逐个通过每一 层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部 信息( 有时还要增加尾部信息) ,该过程如图2 - 4 所示。t c p 传给口的数据单元 称作t c p 报文段或简称为t c p 段。ip 传给网络接口层的数据单元称作i p 数据 报。通过以太网传输的比特流称作帧( f r a m e ) 。 数据发送时是按照图2 3 自上而下,层层加码;数据接收时是自下而上,层 层解码。 9 第二章网络安全与t c p i p 图2 - 3 数据发送加码解码图 3 逻辑上通讯是在同级完成的 垂直方向的结构层次是当今普遍认可的数据处理的功能流程。每一层都有与 其相邻层的接口。为了通信,两个系统必须在各层之间传递数据、指令、地址等 信息,通信的逻辑流程与真正的数据流的不同。虽然通信流程垂直通过各层次, 但每一层都在逻辑上能够直接与远程计算机系统的相应层直接通信。 从图2 - 4 可以看出,通讯实际上是按垂直方向进行的,但在逻辑上通信是在 同级进行的。 图2 - 4 通讯逻辑流程图 第二章网络安全与t c p i p 2 2 2t c p 的连接的建立 t c p 是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在 双方之间建立一条连接。建立连接的过程就是三次握手的过程。下面来分析一下 建立一个t c p 连接的三次握手过程。 1 ) 请求端2 号机发送一个初始序号( s e q ) 给1 号机。 2 ) 服务器1 号机收到这个序号后,将此序号加1 后的值为作为应答信号( a c k ) , 同时随机产生一个初始序号( s e q ) ,这两个信号同时发回到请求端2 号机,意 思为:“消息已收到,让我们的数据流以( s e q ) 初始序号这个数开始。” 3 ) 请求端2 号机收到后将确认序号设置为服务器的初始序号( s e q ) 加1 为作 为应答信号。 以上三步完成了三次握手,双方建立了一条通道,接下来就可以进行数据传输 了。下面分析t c p 头信息就可以看出,在握手过程中t c p 头部的相关字段也发 生了变化。 4 ) 头信息分析 我们利用s n i f f e r 抓取了一个t c p 包,如图2 5 所示,这个数据包包含了三 个头信息:以太网( e t h e m e t ) 和i p 和t c p 。 以太网的头信息与第1 、2 行不同的是帧类型为0 8 0 0 ,指明该帧类型为坤。 图2 - 5 头信息分析图 l p 是t c p i p 协议族中最为核心的协议。从图2 2 可以看出所有的t c p 、 u d p 、i c m p 及i g m p 数据都以i p 数据报格式传输的,有个形象的比喻l p 协议 就像运货的卡车,将一车车的货物运向目的地。主要的货物就是t c p 或u d p 分配给它的。需要特别指出的是i p 提供不可靠、无连接的数据报传送,也就是 说i p 仅提供最好的传输服务但不保证i p 数据报能成功地到达目的地。看到这你 会不会担心你的e - m a l l 会不会送到朋友那,其实不用担心,上文提过保证数据 正确到达目的地是t c p 的工作,稍后我们将详细解释。 第二章网络安全与t c p i p 。 一 ”一一一 一 “7 钍钮 。, 一 :二j 证蘑奉l4 逝首部长度l b 位服务类型t t a s )1 6 在总长度薛节熬) 1 6 位标识硝砾志1 3 位片偏移2 0 8 也生存时闫( t i l lj啦协议1 6 宦首都检验和字 露位湮i r t l l t k节 3 啦目的i p 地址 觏伽集膏) 数蠡 图2 - 6 1 p 协议头信息 图2 - 5 中所宣布分4 5 0 0 - - - 7 1 0 1 为口的头信息。这些数是十六进制表示的。 一个数占4 位,例如:4 的二进制是0 1 0 0 4 位版本:表示目前的协议版本号,数值是4 表示版本为4 ,因此口有时也 称作i p v 4 ; 4 位首部长度:头部的是长度,它的单位是3 2 位( 4 个字节) ,数值为5 表示 i p 头部长度为2 0 字节。 8 位服务类型( t o s ) :0 0 ,这个8 位字段由3 位的优先权子字段,现在已经 被忽略,4 位的t o s 子字段以及1 位的未用字段( 现在为o ) 构成。4 位的t o s 子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1 位最多只能有一个为l ,本例中都为0 ,表示是一般服务。 1 6 位总长度( 字节数) :总长度字段是指整个p 数据报的长度,以字节为单 位。数值为o o3 0 ,换算为十进制为4 8 字节,4 8 字节= 2 0 字节的i p 头+ 2 8 字节 的t c p 头,这个数据报只是传送的控制信息,还没有传送真正的数据,所以目 前看到的总长度就是报头的长度。 1 6 位标识:标识字段唯一地标识主机发送的每一份数据报。通常每发送一 份报文它的值就会加1 ,第3 行为数值为3 02 1 ,第5 行为3 0 2 2 ,第7 行为3 02 3 。 分片时涉及到标志字段和片偏移字段,本文不讨论这两个字段。 8 位生存时间( t t l ) :r r l ( t i m e t o 1 i v e ) 生存时间字段设置了数据报可以 经过的最多路由器数。它指定了数据报的生存时间。r r l 的初始值由源主机设置, 一旦经过一个处理它的路由器,它的值就减去l 。可根据r r l 值判断服务器是什 么系统和经过的路由器。本例为8 0 ,换算成十进制为1 2 8 ,w i n d o w s 操作系 统t t l 初始值一般为1 2 8 ,u n i x 操作系统初始值为2 5 5 ,本例表示两个机器在 同一网段且操作系统为w i n d o w s 。 8 位协议:表示协议类型,6 表示传输层是t c p 协议。 第二章网络安全与t c p i p 1 6 位首都检验和:当收到一份ip 数据报后,同样对首部中每个1 6 位进行 二进制反码的求和。由于接收方在计算过程中包含了发送方首部中的检验和,因 此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全 l 。如果结果不是全1 ,即检验和错误,那么m 就丢弃收到的数据报。但是不生 成差错报文,由上层去发现丢失的数据报并进行重传,3 2 位源口地址和3 2 位目 的p 地址:实际这是i p 协议中核心的部分。 3 2 位的口地址由一个网络i d 和一个主机i d 组成。 1 8 位掘端口号1 6 控目的端口号 3 2 世序号j 。 ? 站泣确认序号2 0 * vpt, 字一 4 世茸帛 船口丘) es sii 啦膏口太小;曳。 龃 l gmt 1 雠瞄瀣粕1 b 位鬃鲁指针 嘲 辫 图2 - t t c p 协议头信息 端口号:常说f t p 占2 1 端口、h 1 限占8 0 端口、t e l n e t 占2 3 端口等, 这里指的端口就是t c p 或u d p 的端口,端口就像通道两端的门一样,当两机进 行通讯时门必须是打开的。源端口和目的端口各占1 6 位,2 的1 6 次方等于6 5 5 3 6 , 这就是每台电脑与其它电脑联系所能开的“门”。一般作为服务一方每项服务的 端口号是固定的。本例目的端口号为0 05 0 ,换算成十进制为8 0 ,这正是h t t p 的默认端日,需要指出的是这是h t t p 的控制端口,数据传送时用另一端口,第 三组的分析能看到这一点。客户端与服务器联系时随机开一个大于1 0 2 4 的端口, 本例为0 4 2 8 ,换算成十进制为1 0 6 4 。 3 2 位序号:也称为顺序号( s e q u e n c en u m b e r ) ,简写为s e q ,从上面三次 握手的分析可以看出,当一方要与另一方联系时就发送一个初始序号给对方,意 思是:“让我们建立联系吧? ”,服务方收到后要发个独立的序号给发送方,意思 是“消息收到,数据流将以这个数开始。”由此可看出,t c p 连接完全是双向的, 即双方的数据流可同时传输。在传输过程中双方数据是独立的,因此每个t c p 连接必须有两个顺序号分别对应不同方向的数据流。 3 2 位确认序号:也称为应答号( a c k n o w l e d g m e n tn u m b e r ) ,简写为a c k 。 在握手阶段,确认序号将发送方的序号加1 作为回答,在数据传输阶段,确认序 号将发送方的序号加发送的数据大小作为回答,表示确实收到这些数据。在第三 组的分析中将看到这一过程。 第二章网络安全与t c p i p 4 位首部长度:。这个字段占4 位,它的单位时3 2 位( 4 个字节) 。本例值为 7 ,t c p 的头长度为2 8 字节,等于正常的长度20 字节加上可选项8 个字节。t c p 的头长度最长可为6 0 字节( - - 进制1 1 1 1 换算为十进制为1 5 ,1 5 4 字节= 6 0 字 节) 。 6 个标志位。 u r g 紧急指针,告诉接收t c p 模块紧要指针域指着紧要数据 a c k 置1 时表示确认号( 为合法,为0 的时候表示数据段不包含确认信息, 确认号被忽略。 p s h 置1 时请求的数据段在接收方得到后就可直接送到应用程序,而不必 等到缓冲区满时才传送。 r s t 置l 时重建连接。如果接收到r s t 位时候,通常发生了某些错误。 s y n 置l 时用来发起一个连接。 f i n 置l 时表示发端完成发送任务。用来释放连接,表明发送方已经没有数 据发送了。 t c p 协议的头信息,这三行是三次握手的过程,我们看看握手的过程标志位 发生了什么? 请求端2 号机发送一个初始序号( s e q ) 9 8 7 6 9 4 4 1 9 给1 号机。标志位s y n 置为1 。 服务器1 号机收到这个序号后,将应答信号( a c k ) 和随机产生一个初始序 号( s e q ) 1 7 7 3 1 9 5 2 0 8 发回到请求端2 号机,因为有应答信号和初始序号,所 以标志位a c k 和s y n 都置为1 。 请求端2 号机收到1 号机的信号后,发回信息给1 号机。标志位a c k 置为 1 ,其它标志为都为0 。注意此时s y n 值为0 ,s y n 是标示发起连接的,上两部 连接已经完成。 1 6 位窗口大小:t c p 的流量控制由连接的每一端通过声明的窗口大小来提 供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望 接收的字节。窗1 3 大小是一个1 6 字节字段,因而窗1 :3 大小最大为6 5 5 3 5 字节。 1 6 位检验和:检验和覆盖了整个的t c p 报文段:t c p 首部和t c p 数据。 这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。 第二章网络安全与t c p i p 1 6 位紧急指针:只有当urg 标志置1 时紧急指针才有效。紧急指针是一 个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。 l 氰靖口号 初始序号 0 霉户机请求连接将信息发迸给服务器 - l 可选的最大精尺寸 s 钮钆 j t 譬= 0 服务嚣的翘始序号 0 鼹务器作为回理发迸信息给客户抚 应簪信号 客户机的片号h ) 可选曲最大端肘 s y l l = l l i 应簪信号( 臃裾的序号+ 1 ) 0 然后咎户机发送信息给服务嚣 i s t y 0 l# 1 图2 - 8 三次握手整体示意 2 2 3t c p i p 协议的安全缺陷 i n t e r a c t 是基于t c p i p 协议族的计算机网络。尽管t c p i p 技术获得巨大的 成功,但是也越来越暴露出它再安全上的不足之处。这是由于t c p i p 协议在涉 及初期基本没有考虑到安全性的问题。 t c p i p 协议的安全缺陷【1 4 1 主要表现在: 1 t c p i p 协议数据流采用明文传输。 目前的t c p i p 协议主要建立在以太网上,以太网的一个基本特点是:当一 个网络设备发送一个数据包,同网段上的每个网络设备都会收到这个数据包,然 后检查其目的地址来决定接收或是丢弃这个数据包。因此,数据信息很容易被在 线窃听、篡改和伪造。特别是在使用邱和t d n e t 时,用户的帐号、口令是明文 传输,所以攻击者可以如s n i f f e r 程序、s n o o p 程序、网络分析仪等工具截取含有 用户帐号,口令的数据包,进行攻击。 2 源地之欺骗( s o u r c ea d d r e s ss p o o f i n g ) 或i p 欺骗( i ps p o o f i n g ) 。 t c p ,i p 协议采用i p 地址来作为网络节点的唯一标识,但是节点的m 地址又 不是固定的,是一个公共数据。攻击者可以直接修改自己节点的口地址,然后 将自己伪装成某个可信的节点,冒充它来发动攻击。因此,i p 地址不能被当作 一种可信的认证方法。 3 源路由选择欺骗( s o u r c er o u t i n gs p o o f i n g ) 。 第二章网络安全与t c p i p t c p ,i p 协议中,为了测试的目的,口数据包设置了一个选项- - i ps o u r c e r o u t i n g ,该选项可以直接指明到达节点的路由。攻击者可以利用这个选项进行欺 骗,进行非法连接。攻击者可以冒充某个可信节点的豫地址,构造一个通往某 个服务器的直接路径和返回路径,利用可信用户做为通往服务器的路由中的最后 一站,就可以向服务器发送请求,从而对其进行攻击。t c p i p 的两个传输协议 t c p i p 和u d p 中,由于u d p 是面向非连接的,因而没有初始化的连接建立过 程,所以更容易被欺骗。 作为构架i n t e m e t 的基础,t c p i p 协议中存在的安全缺陷直接导致了现今网 络的不安全性。 2 2 4 对t c p i p 协议的攻击 利用t c p i p 的安全缺陷而产生的针对t c p i p 协议的攻击【1 5 l 主要有以下三 种形式; 1 使目标主机停滞 攻击方有目的性地向攻击目标主机发送一些序列的报文,这些报文序列能够 使被攻击主机进入只能由用户进程命令触发状态转换的状态下,然后因为一直等 待这些命令而停止;或者使被攻击主机进入能够接受并处理报文的状态,这时, 攻击者在短时间内向它发出大量的包,使其疲于处理,而最终造成一段时间内无 法响应任何报文。 2 冒充合法主机 利用第一种方法使目标主机停滞后,攻击者就可以伪造自己的l p 地址,然 后

温馨提示

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

评论

0/150

提交评论