TCP-IP安全性研究毕业设计论文.doc

上传人:教**** 文档编号:92927842 上传时间:2023-06-16 格式:DOC 页数:44 大小:410.50KB
返回 下载 相关 举报
TCP-IP安全性研究毕业设计论文.doc_第1页
第1页 / 共44页
TCP-IP安全性研究毕业设计论文.doc_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《TCP-IP安全性研究毕业设计论文.doc》由会员分享,可在线阅读,更多相关《TCP-IP安全性研究毕业设计论文.doc(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目 录摘 要I英文摘要II1 绪 论11.1 课题的来由简介11.2 国内外网络与信息系统安全简介12 TCP/IP协议栈简介43 TCP/IP协议栈的安全问题73.1 ICMP攻击73.2 TCP的“SYN”攻击73.3 序列号攻击73.4 截取连接84 TCP/IP协议栈安全问题对策144.1 威胁网络安全的主要因素144.2 TCP/IP协议栈安全具体对策144.2.1 认证问题144.2.2 保密问题164.2.3 截取连接问题174.2.4 TCP会话劫持174.2.5 “SYN”攻击174.2.6 IP地址欺骗184.2.7 IP碎片攻击184.2.8 序列号攻击194.2.9 用

2、户名的问题194.2.10 其他协议和工具194.3 入侵检测194.3.1 安全防御体系194.3.2 防火墙与入侵检测204.3.3 入侵检测系统分类204.3.4 实现方法分类215 SYN FLOODING仿真实验235.1相关技术介绍235.1.1 Visual C+ 6.0的特色235.1.2 Visual C+的开发环境235.2 SYN淹没255.2.1 SYN Flood的基本原理265.2.2 SYN Flooder源码解读275.2.3 SYN Flood攻击的监测与防御初探315.3 实验结果及分析335.4 实验总结35结束语38参考文献39致 谢4041TCP/IP

3、安全性研究摘 要:Internet的日益普及给人们的生活和工作方式带来了巨大的变革,人们在享受网络技术带来的便利的同时,安全问题也提上了议事日程,网络安全也成为计算机领域的研究热点之一。本文在介绍因特网中使用的TCP/IP协议的基础上,对TCP/IP协议的安全性进行了较为全面的讨论,从理论上分析了协议中几种主要的安全隐患,然后在分析有关安全协议的研究成果的基础上,提出了将数据包的数据部分加密传输并对报头部分加以认证的方法等以保障安全的观点。将网络安全理论与实践结合是提高网络安全性的有效途径。本文利用目前常用的协议分析工具对TCP/IP协议子过程进行了深入的分析,并针对TCP/IP协议存在的安全

4、隐患做了大量的实际操作和实验。希望能对未来的信息社会中网络安全环境的形成有所帮助。关键词:TCP/IP;安全;协议The TCP/IP Security ResearchComputer Science and Technology Cao Hua Teacher: Fu KaiyaoAbstract:The increasingly popularization of Internet brings great changes to the manners of peoples living and working. As people enjoy the convenience broug

5、ht by network technology, security issues also come into consideration. Network security also becomes one of the research hotspots in the computer domain. This paper mainly focuses on the security of the TCP/IP protocol on the basis of introduction of the TCP/IP protocol. It also analyzes the severa

6、l main hidden troubles in this protocol. By analyzing the achievements in the research of the related securce protocol,it draws such a view that the data field of a packet should be encrypted and the head field of the packet should be authenticated to ensure security. And it is an effective way to c

7、ombine the theory of the network security with the practice. This paper studies deeply on the TCP/IP protocols sub-process, using the protocol analyzing tools that currently usually used. Many experiments have been done on the hidden troubles in the TCP/IP protocol, and hope to be helpful to form a

8、network security environment in the coming information society.Keywords: TCP/IP;Security;Protocol1 绪 论1.1 课题的来由简介随着计算机的发展,计算机网络技术也成熟起来,使得计算机网络和Internet得到了迅速的发展,它已经不仅仅具有共享信息的作用了。如今,网络,特别是Internet己经成为越来越多的人们工作、学习、生活中不可缺少的一部分。信息的共享和流动在为人们带来方便和高效的同时,也向人们提出了新的问题:如何保护信息?在电子商务时代即将到来的今天,这己经成为了必须解决的问题。任何计算机和

9、网络,只要与Internet连接起来,就随时都有被攻击的危险,在Internet中,没有一台计算机是绝对安全、不受到攻击的。通过网络进行攻击的事件每年都在急剧增长,而且,“扫描”事件的次数还远远大于攻击发生的次数,即使是在学校中我们的实验环境里,也检测到了多次对实验主机的扫描。随着攻击技术的发展和危险的增加,可以说,没有安全技术作保障,任何网络上的信息都是不可信的,甚至是有害的。如果不予以重视,甚至可能给国家、政府、企业和个人带来不可挽回的损失。因此,如今安全技术的重要性日益突出,信息战、信息对抗技术已经是各个国家、政府、企业和个人越来越关心的问题,对此的研究也越来越多,并涉及了其各个方面。但

10、由于历史的原因和安全技术本身的复杂性,而且安全技术的发展极其迅速,使得在安全领域还有大量的工作需要做,许多安全方面的协议和标准还在制定和讨论中,不少问题还没有得到解决,有待进一步的研究。虽然安全问题早己引起了人们的重视,但计算机技术和网络技术的复杂性也给安全研究和实现带来了很大的困难。安全问题涉及到了计算机及其网络中的方方面面,甚至还包括人的管理因素,因此,信息对抗技术的研究,网络安全系统的解决是一个庞大而细致的工作。本课题的研究是对信息战和信息对抗技术研究的一个组成部分,其目的是对现在广泛流行的TCP/IP网络中最常用的几个协议的安全性问题进行研究,并在此基础上提出了一些解决方法以及相关的攻

11、击检测方法和技术。在明确和强调协议在信息对抗技术和安全技术的重要性基础上,通过攻击模型和入侵检测模型的建模,使之对TCP/IP的安全问题有更现实的意义。目前使用最广泛的网络是TCP/IP网络,下层主要是以太网,因此本课题的研究主要是针对建立在共享以太网上的TCP/IP网络,分别讨论TCP, IP, TELNET,PTP, SMTP和HTTP等最常用的协议的安全问题。1.2 国内外网络与信息系统安全简介八十年代末、九十年代初以来,随着以微电了技术、计算机技术和通信技术为核心的信息技术的飞速发展,以高速计算机通信网为纽带的社会信息化进程加快了步伐。人们意识到,信息技术,特别是信息网络是一个国家综合

12、国力强弱的重要标志,而未来社会,国与国的较量就是综合国力的较量,甚至战争也是以夺取信息优势为主要手段的所谓信息战。信息已经成为一个国家的主要战略资源。国外很早就认识到了计算机网络安全和信息安全的重要性,并开始了对信息战和信息对抗技术的研究。西方发达国家相继提出并加速实施了一系列发展信息技术和信息网络的国家级乃至全球信息基础设施计划,旨在抢占未来信息技术的制高点,使他们在二十一世纪信息时代复杂的政治斗争、军事斗争、经济竞争、科技竞争中处于有利地位。然而,网络化、信息化的程度越高,网络和信息系统的安全就越复杂,人们对此也就越关心和焦虑。美国国家安全局局长约翰,麦康奈尔在一次情报官员会上说:“我们比

13、地球上任何一个国家更易遭到攻击,易受攻击的目标是美国的银行、整个金融界、股票市场、联邦贮备委员会、空中交通控制系统以及所有诸如此类的目标。”美国在名为“国防科学委员会夏季特别研究小组战场信息体系结构报告”出台后,人们更深刻地感受到了信息安全迫在眉睫,该报告认为,毁坏信息系统提供了破坏国家利益的“ 一种代价不大的外科手术式手段”,“是通过攻击计算机网络来设法收集情报的自然扩充,而这只是从开发一个系统向毁坏或甚至使其失去运转能力”迈出的一小步。事实上,虽然人们对安全问题越来越重视,但正是由于其复杂性使得安个问题一时不可能得到解决。安全漏洞不断被发现,对政府、企业、公共网站、个人的计算机的攻击事件连

14、续不断,这也促进了安全方面的研究和实施。以美国为首的西方发达国家早已开始了信息安全的标准化制定工作,90年代初期,美国总统克林顿一上台就提出信息高速公路施政纲领,美国政府发布国家信息基础设施(U11)行政计划,不久又提出全球信息基础设施(GII),美国的主张获得大多数国家的响应。Internet在信息化浪潮的推动下成为了公认的未来信息高速公路的雏形,它不仅用于教学、科研,也开始用于商务。但是,Internet采用的是TCP/IP体系,而不是开放系统互连的七层模型,它没有一个完整的安全体系和相应的安全标准,从开放系统互连概念导出的一系列安全体系结构、安全框架和安全机制不完全适应Internet的

15、环境,且不能满足实际需要。若按国际标准化组织的程序来制定Internet的标准,又解决不了当前的急用,在此情况下,Internet上出现了标为“请求注释”(RFC)的文稿,内容广泛,经过网上讨论修改,被大家接受的就成了事实上的标准。“请求注释”中有不少是与安全有关的,涉及到了TCP/IP体系中的许多安全问题及其解决建议和标准。此外,国外有很多公司从事安全方面的研究和开发,并对外提供安全咨询和帮助,各大计算机公司也经常把发现的安全漏洞及相应的补丁(patch)向外公布。国内的计算机网络发展较晚,但近来计算机网络攻击的事件已有所发生,国内也意识到了网络和信息系统安全的重要性。我国国家技术监督局十分

16、重视信息安全的标准化工作,于1984年7月组建了数据加密分技术委员会,并根据现实情况,于1997年8月改组成信息技术安全保密分技术委员会,负责制定信息安全的国家标准。此外,“计算机网络安全产品评估中心”也己经成立。但总的来说,我国现阶段计算机网络和信息系统安全研究还缺少专门性和系统性。人们对安全的意识还很薄弱,不仅大量的系统存在严重的安全隐患,在使用中也有许多安全问题(如配置不当、操作不当等)。目前,我国在网络和信息系统安全方面与国外技术先进国家有不少差距,技术研究上如此安全产品也是这样。我国自主开发产品少,硬软件技术受制于人,这使我们的网络管理呈现出一种十分“虚弱”的健康状态。主要表现在:计

17、算机网络的发展水平,安全技术和管理手段不配套;计算机从产品到技术严重依赖外国。我们虽然在操作系统的研制、国产数据库的开发上作过一些有益的工作,但是“杯水车薪”,难以形成体系。因此,在网络安全产品方面,中国同国外的差距至少有5-IO年,这一方面源于我国总体上应用技术开发落后:另一方面我国的网络在工商业中应用的范围和水平都还比较低,因而善良地希望黑客不光顾也是难以办到的。中国的古训早有:“害人之心不可有,防人之心不可无”。这也使得我国对此的重视和投入很有必要。2 TCP/IP协议栈简介TCP/IP是今天Internet的基础和核心,由于TCP(传输控制协议)和IP(网间网协议)的出现是在七十年代,

18、标准制定完成于八十年代初期,那时的网络规模很小,用户之间相互信任,使用它们的目的就是为了将多个计算机连接起来以便信息共享,对安全问题没有足够的重视,因此使得这些标准缺少安全性措施。当网络得到广泛普及,Intenet遍布世界各地时,TCP/IP网络的安全问题就日益突出了,甚至成为了传统TCP/IP网络发展的障碍。虽然IPv6可以解决现在传统TCP/IP中的一些安全问题,但TCP/IP及其上的应用协议和各类应用的大量存在和使用使得传统的TCP/IP网络仍有相当长的生存期,因此对TCP/IP及其上层应用协议的安全性研究和总结是很有必要的。由于TCP/IP协议栈成员较多,不可能一一研究,因此我们主要研

19、究了几个典型的协议。其日的是通过对这些协议的安全问题的研究,引起对TCP/IP协议的安个问题的重视,以加强这方面的安全工作,增强信息的安全性。从OSI的角度看,TCP/IP协议的层次结构并没有十分明确的划分,但大多数可分为四个层次:应用层、传输层、网间网层、网络接口层。该协议集包括许多协议,但一个系统具体使用何种协议取决于网络用户的需求和网络设计人员的要求。TCP/IP协议由四个层次组成,如图2-1。应用层传输层网间网层网络接口层图2-1 TCP/IP协议分层结构TCP/IP协议栈是多个协议的统称,包括从介于网络接口层与IP层之间的ARP/RARP到应用层的FTP, SMTP等等。整个协议栈中

20、传输控制协议和网间网协议承上启下,是这些协议中最重要的两个协议。为了讨论方便,这一部分的TCP/IP协议栈主要是指传输层和网络层的协议,应用层的几个重要协议下一个部分讨论。首先简单的介绍一下要讨论的几个协议1。n IP (Internet Protocol)是网间网协议,它处于网络层,向上层提供的是不可靠的无连接服务,主要功能是无连接数据报传送、数据报寻径和差错处理。也就是说,网间网协议的作用是尽量把IP包(数据报)通过适当的路径送到目的地,它不保证所有的包都能到达目的地,这由上层协议来处理。n ICMP (Internet Control Message Protocol)是网间网控制报文协

21、议。它是用于处理网络层差错和控制报文传输的专用协议。ICMP报文封装在IP数据报的数据部分中进行传输。n TCP (Transport Control Protocol),传输控制协议,是网间网协议上层的一个协议,它向上层提供可靠的面向连接的服务,即,它在传送信息的双方之间建立一个连接,所有的信息包通过这个连接由发送方到达接收方,传输控制协议保证所有的信息包都被接受方收到。不妨假设一台TCP/IP网络上的主机有以下协议,其结构如图2-2所示通过它们可以说明系统内各种协议之间的关系。应用层传输层网间网层网络接口层图2-2 协议之间的关系由图2-2可见,在TCP/IP中,TCP、UDP、IP是协议

22、集的核心,应用层协议FTP、TENET、SMIP等基本上是依赖于TCP的,而NFS, DNS等则基本上是依赖于UDP的,而有些应用型程序如EGP(外部网关协议),它不使用传输层服务,而直接使用IP服务。IP则是整个协议集的纽带。从总体上看,TCP/IP传输行为开始于应用层协议。在TCP的应用层中,要传输的信息称为“数据流(stream)”,由应用层传输到传输层。而在UDP的应用层中要传输的信息称为“报文(message)”,由应用层传输到传输层。在传输层,TCP/IP将它的用户数据按目的可接受的最大长度分成“段(segment)”传输到IP层,而UDP是基于分组交换的数据模式,它的数据结构以“

23、分组(packet)”传送到IP层。无论是“段”还是“分组”,在网间层都被组织成IP“数据报(datagram)”交给网络链路层,网络链路层则将数据封装成“帧(frame)”,通过具体网络传送出去。尽管如此,TCP/IP模型和协议也有一些缺点: 该模型没有明确地区分服务、接口和协议的概念。好的软件工程实践要求区分规范和实现。因此,对于使用新技术来设计新网络,TCP/IP模型不是一个太好的模板。 TCP/IP模型完全不是通用的,并且不适合描述除TCP/IP模型之外的任何协议栈。 主机网络层在分层协议中根本不是通常意义下的层。它是一个接口,处于网络层和数据链路层之间。接口和层间的区别是很关键的,不

24、能粗心大意. TCP/IP模型不区分物理层和数据链路层。这两层完全不同。物理层必须处理媒质的传输特点。而数据链路层的工作是区分帧头和帧尾,并且以通信需要的可靠性把帧从一端传到另一端。好的模型应该把它们作为分离的层。 虽然TCP和IP协议被仔细地设计,并且很好地实现了,但是随着连入Internet的网络与主机数量的高速增长,IP 地址空间将面临耗尽的危险。3 TCP/IP协议栈的安全问题正是由于TCP/IP协议栈存在很多的不安因素,从而造成应用此协议的主机容易被网络黑客攻击,以下我们通过列举不同的网络攻击来阐述TCP/IP协议栈中的安全问题。3.1 ICMP攻击ICMP用于网络层的错误处理和交换

25、控制信息,它本身是没有身份认证的,利用这一点可以进行拒绝服务攻击或使路径选择改变2。ICMP的“超时”消息表明的是IP包头中的“生存期(TTL)”已经为零,这通常是由于目的主机距离太远或寻径中出现循环路径导致的。“目的不可到达”消息则表明由于某种原因数据包不能到达目的主机。这两种消息都可以使主机立即关闭连接。由于ICMP没有身份认证,使得攻击者有可能伪造这两类消息发送给被攻击主机,使通信终止。“重定向”消息可以用来截取数据包。ICMP的“重定向”消息通常是在主机A要将数据包通过错误的网关发送到目的地时用到,这时网关会发送“重定向”消息给主机A。如果攻击者伪造一个“重定向”消息发送给主机A,就能

26、使被攻击的主机A发送到特定目的主机B的数据包路经攻击者的主机,使攻击者可以窃听到主机A发送给主机B的信息。要注意的是,进行这种攻击时,实施攻击的主机和被攻击主机必须在同一局域网上。“回显”消息是ICMP用于判断主机是否连接在网络上,为此,可以向目标主机发送“回显”请求包,如果目标主机接受到了这个包,它会发送ICMP“回显”响应包。命令“ping”就是“回显”消息包的一个应用。如果路由器等网络设各不对发送到广播地址的ICMP包进行过滤,攻击者可以伪造源地址为受害主机A的ICMP “回显”广播包,目的网络中的主机就会发送大量的响应包到主机A,导致主机A所在的网络阻塞,甚至网络不可用。3.2 TCP

27、的“SYN”攻击TCP连接的建立是通过“三次握手”完成的,“SYN”攻击是利用了“三次握手”机制本身实现的。假定连接由主机A发起,主机B(服务器端)允许接收到来自主机A的连接请求后(带“SYN”标志的包),会发送一个响应(同样带“SYN”标志),并等待主机A的确认。这时,主机B上的这个连接位于侦听队列中,直至收到主机A的确认。这个等待通常至少是75秒,这样使即使是有很大网络延迟的连接建立也可以完成。问题是侦听队列的长度是有限的,在有大量不能完成的连接请求时,这个队列会溢出,这时将不能接收和处理后续的连接请求。因此,攻击者可以在很短的时间内发送大量的连接请求,但不响应目的主机发送回来的连接确认包

28、,导致目的主机的“侦听队列”溢出,不能处理其他的网络服务。此攻击方法在后面章节我们将用实验进行仿真,具体分析其攻击步骤及原理。3.3 序列号攻击TCP提供的是可靠服务,它采用序列号来确认收到的数据。连接双方的初始序列号是在连接建立过程中产生的,也就是说,是在“三次握手”过程中产生的。如果能知道或猜出服务器的初始序列号,则无需窃听技术和条件就可以对服务器进行攻击了。这里有一个问题,假定主机X伪装成主机B,它要与主机A建立连接,当主机A接收到伪装的数据包后,它要发送一个带“SYN”和“ACK”标志的包到被伪装的主机B,而主机B会因为自己不是连接的发起者,它会拒绝这个包:发送一个带“RST”标志的包

29、到主机A,由于“RST”标志表明重置连接,这样主机A就会放弃这个连接,使攻击失败。因此,要成功地实现此类攻击,主机X可以采用TCP的“SYN”攻击来使主机B不能响应网络上传来的数据包,也就收不到主机A发送的带“SYN”和“ACK”标志的连接确认包,使攻击不会终止。当然,如果主机B正处于关机或是离线状态,则攻击就更容易了。不难发现,这种攻击是利用了TCP的初始化序列号生成机制方面的问题而实施的。如果攻击者不能得到序列号的信息,攻击将不能成功。3.4 截取连接截取连接是IP地址欺骗的一个变种,也是IP地址欺骗的一个应用。它指的是攻击主机(主机X)在主机A和主机B之间的连接建立过程中或连接建立后的通

30、信过程中将自己插入到连接中,以伪装成任意一方进行通信。这是非常危险的,因为使用截取连接攻击可以绕过一般的口令、Kerberos和一次性口令等身份认证,只要通信不是经过加密的和签名的,就可以在通信过程中获得连接的控制权3。由于截取连接是极其危险的,也是攻击者常常使用的攻击手段,因此有必要对这一攻击方法作比较深入的研究。为此,我们定义:SVR_SEQ:服务器端将要发送或正在发送的的首个字节的序列号。SVR_ACK:服务器端要接收的下一字节的序列号。SVR_WIND:服务器端的接收窗口。SVR_DATA_LEN:服务器端发送的数据包中的数据的长度。CLT_SEQ:客户端将要发送或正在发送的首个字节的

31、序列号。CLT_ACK:客户端要接收的下一字节的序列号。CLT_WIND:客户端的接收窗口。CLT_DATA_LEN:客户端发送的数据包中的数据的长度。SEG_SEQ:正在传输的某个数据包中的数据的序列号。SEG_ACK:正在传输的某个数据包中的确认序列号。SEG_FLAG:正在传输的某个数据包的标志位信息。SEG_DATA_LEN:正在传输的某个数据包中的数据的长度。它们在正常情况下满足:CLT_ACK=SVR_SEQ=CLT_ACK+CLT_WIND (滑动窗口内)SVR_ACK=CLT_SEQ=SVR_ACK+SVR_WIND (滑动窗口内)典型的没有重传的连接中,从客户端到服务器端的包

32、满足:SEG_SEQ=SVR_ACKSEG_ACK=CLT_ACK连接建立前客户端处于关闭(CLOSE)状态,服务器端处于侦听(LISTEN)状态,“三次握手”这时可以表示如图3-1,其中CLT_SEQ0为客户端初始序列号,SVR_SEQ0是服务器端的初始序列号。图3-1 TCP连接:三次握手在连接双方进入“连接建立”状态时,满足:CLT_SEQ=CLT_SEQ0+1CLT_ACK=SVR_SEQ0+1SVR_SEQ=SVR_SEQ0+1SVR_ACK=CLT_SEQ0+1关闭连接是利用“FIN”标志或“RST”标志完成的。当接收到带“RST”标志的数据包时,主机进入关闭状态并释放这个连接所占

33、有的资源,这个带“RST”标志的包无需确认,所有被释放的连接的后续包将被丢弃。当接收到带“FIN”标志的数据包时,主机进入等待关闭(CLOSE-WAIT)状态,进入关闭连接的一系列包交换并最终关闭连接。在“连接”状态下,当一个数据包中的序列号处于接收方的滑动窗口范围之内时,它将被接受,如服务器端收到的包满足:SEG_SEQ=CLT_SEQ SVR_ACK,SVR_ACK+SVR_WIND客户端收到的包满足:SEG_SEQ=SVR_SEQ CLT_ACK,CLT_ACK+CLT_WIND否则这个包将被丢弃。为了能更清楚攻击的过程,有必要先了解“被破坏的同步状态”,它指的是在连接双方处于连接建立(

34、ESTABLISHED)状态,并且没有数据在交换时,有:SVR_SEQ!=CLT_ACKCLT_SEQ!=SVR_ACK这时如果有数据交换,例如客户端发送数据包到服务器端,可能发生两种情况: SVR_ACKCLT_SEQ=SVR_ACK+SVR_WIND这个包被服务器端接受,数据被保留,等待序列号更小且在接收窗口内的数据的到来。 CLT_SEQSVR_ACK+SVR_WIND包将被丢弃。截取连接攻击的关键就是使连接双方进入“被破坏的同步状态”,使双方的数据交换不能正常进行,然后再伪造双方可接受的数据包使连接的会话继续进行,从而达到控制连接的目的。攻击分两步进行。1)第一步,破坏TCP连接的同步

35、,使连接进入“被破坏的同步状态”。这又分为连接建立中的攻击和连接建立后的攻击。 连接建立过程中的破坏同步这指在“三次握手”过程中破坏连接的同步,过程如下: 攻击者X侦听服务器端发送的“SYN”/“ACK”包(PKG)。 侦听到服务器端发送的“SYN”/“ACK”包后,攻击者立即向服务器端发送一个带“RST”标志的包,再立即发送到服务器端的用于连接建立的包,这个伪造的用于连接建立的数据包的五元组信息()与侦听到的包PKG中的五元组信息相同,只是客户端的初始序列号(定义这个伪造的序列号为:ATK_SEQ)与PKG中的确认序列号SVR_ACK(=CLT_SEQ+1)完全不同。 客户端接收到服务器端发

36、送的“SYN”/“ACK”包PKG后,进入连接建立状态。服务器端在接收到攻击者X发送的“RST”包后会关闭客户端发起的连接。由于又立即收到攻击者X的连接建立请求,它会在同样的端口打开一个新的连接,并使用新的初始化序列号SVR_SEQ0向客户端发送连接响应包(带“SYN”和“ACK”标志)。 攻击者在侦听到服务器端的这个“SYN”/“ACK”包后,伪造发送客户端对此包的确认包。服务器端因此进入连接建立状态。至此连接的双方已进入连接建立状态,但是被破坏了同步的连接建立状态。简化表示的全过程如图3-2。连接建立后,通信中的破坏同步连接建立后的破坏同步可以使攻击者不受服务器端的一般性的身份认证制约,因

37、为攻击者可以在身份认证结束之后破坏TCP连接的同步状态,获取连接控制权。以攻击者伪装成客户端为例,步骤如下: 攻击者X侦听服务器端发送的任意数据包。 攻击者侦听到服务器端到客户端的数据包PKG,取出包中的SVR_SEQn和SVR_ACKn,并计算出PKG中数据段的长度SVR_DATA_LENn。图3-2 连接建立过程中的破坏同步 攻击者伪造客户端到服务器端的数据包PKGn+1,,满足:SEG_SEQn+1=SVR_ACKSEG_ACKn+1=SVR_SEQn+SVR_BATA_LENnSEG_DATA_LENn+10服务器端在接收到数据包PKGn+1,后会进入被破坏的同步状态。因为这时有:CL

38、T_SEQ!=SVR_ACK主要过程如图3-3。图3-3 通信中的破坏同步2)第二步,控制连接。这需要伪造通信数据包来完成。假定TCP会话己进入如上的被破坏的同步状态,这时客户端发送一个数据包满足:SEG_SEQ=CLT_SEQSEQ_ACK=CLT_ACK因为这时连接双方处于被破坏的同步状态,有:CLT_SEQSVR_ACK因此这个包将被丢弃,攻击者可以将此数据包中的SEG_SEQ, SEG_ACK,数据部分的内容和校验和修改后发出:SEG_SEQ=SVR_ACKSEG_ACK=SVR_SEQ这样的数据包就能被服务器端接收并处理。由于攻击者可以侦听和伪造IP数据包,因此它可以加入或删除通信双

39、方交换的数据。根据应用层协议的不同,可以进行不同类型的攻击,造成不同程度的危害。以下我们讨论几个常见的应用层协议的安全性。这几种应用层的协议都不同程度地存在安全问题,虽然其中某些问题己有标准予以讨论,但在实现和配置中仍存在大量这些安全问题。这些协议的安全问题既有共性,也有特殊性。用户名和口令是广泛使用的身份认证机制,telnet、ftp等协议都是采用的这种认证方式。不幸的是,telnet和ftp的用户名和口令都是明文传输的,在没有附加的安全认证机制情况下,这是非常危险的。而smtp, http等更是在通常情况下没有身份认证。这几个协议不仅仅是身份认证存在隐患,还有安全保密的问题:它们的通信内容

40、是明文传输的。这对于不同的协议有不同的危害。窃听者可以通过窃听到的包的数据内容来获得应用层协议的通信内容。由此可见,没有加密措施作保障,通信的内容和用户的个人隐私得不到保护。应用层的保密问题与TCP/IP的保密问题密切相关,如果在IP层采用了较好的、可用的保密措施,则通信的应用层协议内容将不再是明文传输,应用层协议的安全保密压力自然减少很多。反之,由于TCP/IP层没有安全保密措施,因此这些应用层协议有必要使用好的安全机制来保证数据的保密性。截取连接攻击能够成功的关键是TCP和IP协议本身具备了进行截取连接攻击的条件,以及应用层的协议是内容是不加密的。但对于不同的应用层协议,采用这种攻击有不同

41、的效果,危害也不同。因为攻击者所能做的就不仅仅是像窃听这样的被动攻击了,而是可以取得连接的控制权,发送自己想发送的内容,进行主动攻击了。虽然TCP/IP中定义了校验和,TCP还利用序列号机制来保证数据的完整性,但这些信息在TCP/IP没有足够的安全措施时是很容易被攻击者改变的,而应用层的这些协议本身却没有足够的完整性验证措施。因此,攻击者完全可以修改数据包中的数据部分的内容而不为上层协议所知。以telnet为例,攻击者可以修改服务器返回的信息,但并不改变TCP中数据段的长度,客户端却仍然将这些信息正常处理,觉察不到已被攻击。如果有信息摘要、数字签名等安全措施作保障,就可以保证数据在传输过程中的

42、完整性,当数据被改变(偶然或恶意)时,接收方能觉察到,以进行正确的处理(如重传)。在此强调一下FTP协议的安全性,因为ftp有代理功能,其本身是意在支持两个ftp服务器之间的文件传输:由ftp的客户端主机A发送ftp的“PORT”命令到服务器端主机B,指定另一个ftp服务器的地址和端口(假定为主机C),使得在主机B和主机C之间可以传送文件。这里,主机B就充当了代理。不幸的是,利用代理功能,攻击者就可以进行间接攻击,从而隐蔽攻击者的真实身份和信息,并且可以对付基于网络地址的访问限制。实施这种攻击时,攻击者先建立到代理服务器的助连接,利用“PORT”命令指定被攻击主机的地址和欲攻击的端口,之后再传

43、送指定文件到被攻击主机的被攻击端口,而文件的内容就是对响应端口的服务的攻击命令。例如对smtp的攻击,攻击者在主机X发起攻击,先在本地创建一个包含smtp命令的文件,文件的内容可以是传送一封恶意邮件,之后建立到代理服务器主机B的ftp连接,将这个文件传输到主机B上,再用“PORT”命令指定被攻击的主机C及其端口25,传送这个文件到主机C就实现了对主机C的隐藏身份的smtp访问和攻击。4 TCP/IP协议栈安全问题对策上面讨论的安全问题,不仅仅是协议标准制定的问题,实际上还关系到协议实现和实际应用中的可行性、配置等问题。而在信息对抗中涉及到的都是实实在在的应用中的问题,因此有必要针对应用中存在的

44、这些问题采取适当的对策要解决这些安全问题,既可以针对性地加强使用管理,合理配置,也可以利用其他的工具和协议来加强安全性,采用入侵检测技术也能很大程度上避免更大的损失。但这些都没有从根本上改变TCP/IP协议栈的模式,解决其安全问题。对目前广泛使用的TCP和IP来说,很多安全问题是无法彻底解决的,IPv6是新制定的网络层的网间网协议,与IPv4相比很大程度上解决了许多安全问题,但要广泛使用仍需一段时间。4.1 威胁网络安全的主要因素网络处于不安全的状况,Internet更加不安全,威胁网络安全的因素大致可以分为以下几类4:1因特网协议簇本身具有的先天不足,是网络不安全最基本的根源。2系统漏洞广泛

45、传播,据统计,大概平均每千行代码就有一个缺陷。3黑客的攻击活动,黑客攻击活动越来越频繁,从昔日的小规模向有组织的方向发展。4攻击的工具随手可得。5病毒的泛滥也是网络不安全的很重要因素。6基础信息产业严重依靠国外。4.2 TCP/IP协议栈安全具体对策以下先讨论协议栈中的共同的安全问题的对策,再讨论特殊的问题的对策。4.2.1 认证问题 TCP/IP TCP和IP本身没有什么认证机制,TCP连接双方对IP数据报的认可来自五元组:,接收方取出IP数据报中的五元组信息,与本地五元组信息比较,匹配正确则表明此数据报来自匹配连接的另一方,再根据序列号信息判定包中的数据是否可用。这就使得恶意者可以伪造具有

46、合法信息的数据报,进行防护地址欺骗,实施攻击。要解决这个问题,就必须在网络层协议IP中引入认证机制,例如实现IPsec(IP Security)。IPSec (Internet 协议安全)是一个工业标准网络安全协议,为 IP 网络通信提供透明的安全服务,保护 TCP/IP 通信免遭窃听和篡改,可以有效抵御网络攻击,同时保持易用性。IPSec有两个基本目标:1)保护IP数据包安全;2)为抵御网络攻击提供防护措施。 IPSec结合密码保护服务、安全协议组和动态密钥管理三者来实现上述两个目标。 IPSec基于一种端对端的安全模式。这种模式有一个基本前提假设,就是假定数据通信的传输媒介是不安全的,因此

47、通信数据必须经过加密,而掌握加解密方法的只有数据流的发送端和接收端,两者各自负责相应的数据加解密处理,而网络中其他只负责转发数据的路由器或主机无须支持IPSec5。该特性有助于用户在下列方案中成功地配置IPSec: 局域网:C/S模式,对等模式 广域网:路由器对路由器模式,网关对网关模式 远程访问:拨号客户机,专网对Internet的访问 设计IPsec的目的是为IPv4和IPv6提供互操作的高质量的、基于加密的安全性,包括访问控制,数据源身份认证,保密性等等,IPsec中有两个协议: AH (Authentication Header)和ESP (Encapsulating Security Payl

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁