TCP IP安全性研究毕业设计论文.docx
- 文档编号:29224810
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:53
- 大小:196.67KB
TCP IP安全性研究毕业设计论文.docx
《TCP IP安全性研究毕业设计论文.docx》由会员分享,可在线阅读,更多相关《TCP IP安全性研究毕业设计论文.docx(53页珍藏版)》请在冰豆网上搜索。
TCPIP安全性研究毕业设计论文
TCP/IP安全性研究
摘要:
Internet的日益普及给人们的生活和工作方式带来了巨大的变革,人们在享受网络技术带来的便利的同时,安全问题也提上了议事日程,网络安全也成为计算机领域的研究热点之一。
本文在介绍因特网中使用的TCP/IP协议的基础上,对TCP/IP协议的安全性进行了较为全面的讨论,从理论上分析了协议中几种主要的安全隐患,然后在分析有关安全协议的研究成果的基础上,提出了将数据包的数据部分加密传输并对报头部分加以认证的方法等以保障安全的观点。
将网络安全理论与实践结合是提高网络安全性的有效途径。
本文利用目前常用的协议分析工具对TCP/IP协议子过程进行了深入的分析,并针对TCP/IP协议存在的安全隐患做了大量的实际操作和实验。
希望能对未来的信息社会中网络安全环境的形成有所帮助。
关键词:
TCP/IP;安全;协议
TheTCP/IPSecurityResearch
ComputerScienceandTechnologyCaoHuaTeacher:
FuKaiyao
Abstract:
TheincreasinglypopularizationofInternetbringsgreatchangestothemannersofpeople'slivingandworking.Aspeopleenjoytheconveniencebroughtbynetworktechnology,securityissuesalsocomeintoconsideration.Networksecurityalsobecomesoneoftheresearchhotspotsinthecomputerdomain.ThispapermainlyfocusesonthesecurityoftheTCP/IPprotocolonthebasisofintroductionoftheTCP/IPprotocol.Italsoanalyzestheseveralmainhiddentroublesinthisprotocol.Byanalyzingtheachievementsintheresearchoftherelatedsecurceprotocol,itdrawssuchaviewthatthedatafieldofapacketshouldbeencryptedandtheheadfieldofthepacketshouldbeauthenticatedtoensuresecurity.Anditisaneffectivewaytocombinethetheoryofthenetworksecuritywiththepractice.ThispaperstudiesdeeplyontheTCP/IPprotocol’ssub-process,usingtheprotocolanalyzingtoolsthatcurrentlyusuallyused.ManyexperimentshavebeendoneonthehiddentroublesintheTCP/IPprotocol,andhopetobehelpfultoformanetworksecurityenvironmentinthecominginformationsociety.
Keywords:
TCP/IP;Security;Protocol
1绪论
1.1课题的来由简介
随着计算机的发展,计算机网络技术也成熟起来,使得计算机网络和Internet得到了迅速的发展,它已经不仅仅具有共享信息的作用了。
如今,网络,特别是Internet己经成为越来越多的人们工作、学习、生活中不可缺少的一部分。
信息的共享和流动在为人们带来方便和高效的同时,也向人们提出了新的问题:
如何保护信息?
在电子商务时代即将到来的今天,这己经成为了必须解决的问题。
任何计算机和网络,只要与Internet连接起来,就随时都有被攻击的危险,在Internet中,没有一台计算机是绝对安全、不受到攻击的。
通过网络进行攻击的事件每年都在急剧增长,而且,“扫描”事件的次数还远远大于攻击发生的次数,即使是在学校中——我们的实验环境里,也检测到了多次对实验主机的扫描。
随着攻击技术的发展和危险的增加,可以说,没有安全技术作保障,任何网络上的信息都是不可信的,甚至是有害的。
如果不予以重视,甚至可能给国家、政府、企业和个人带来不可挽回的损失。
因此,如今安全技术的重要性日益突出,信息战、信息对抗技术已经是各个国家、政府、企业和个人越来越关心的问题,对此的研究也越来越多,并涉及了其各个方面。
但由于历史的原因和安全技术本身的复杂性,而且安全技术的发展极其迅速,使得在安全领域还有大量的工作需要做,许多安全方面的协议和标准还在制定和讨论中,不少问题还没有得到解决,有待进一步的研究。
虽然安全问题早己引起了人们的重视,但计算机技术和网络技术的复杂性也给安全研究和实现带来了很大的困难。
安全问题涉及到了计算机及其网络中的方方面面,甚至还包括人的管理因素,因此,信息对抗技术的研究,网络安全系统的解决是一个庞大而细致的工作。
本课题的研究是对信息战和信息对抗技术研究的一个组成部分,其目的是对现在广泛流行的TCP/IP网络中最常用的几个协议的安全性问题进行研究,并在此基础上提出了一些解决方法以及相关的攻击检测方法和技术。
在明确和强调协议在信息对抗技术和安全技术的重要性基础上,通过攻击模型和入侵检测模型的建模,使之对TCP/IP的安全问题有更现实的意义。
目前使用最广泛的网络是TCP/IP网络,下层主要是以太网,因此本课题的研究主要是针对建立在共享以太网上的TCP/IP网络,分别讨论TCP,IP,TELNET,PTP,SMTP和HTTP等最常用的协议的安全问题。
1.2国内外网络与信息系统安全简介
八十年代末、九十年代初以来,随着以微电了技术、计算机技术和通信技术为核心的信息技术的飞速发展,以高速计算机通信网为纽带的社会信息化进程加快了步伐。
人们意识到,信息技术,特别是信息网络是一个国家综合国力强弱的重要标志,而未来社会,国与国的较量就是综合国力的较量,甚至战争也是以夺取信息优势为主要手段的所谓信息战。
信息已经成为一个国家的主要战略资源。
国外很早就认识到了计算机网络安全和信息安全的重要性,并开始了对信息战和信息对抗技术的研究。
西方发达国家相继提出并加速实施了一系列发展信息技术和信息网络的国家级乃至全球信息基础设施计划,旨在抢占未来信息技术的制高
点,使他们在二十一世纪信息时代复杂的政治斗争、军事斗争、经济竞争、科技竞争中处于有利地位。
然而,网络化、信息化的程度越高,网络和信息系统的安全就越复杂,人们对此也就越关心和焦虑。
美国国家安全局局长约翰,麦康奈尔在一次情报官员会上说:
“我们比地球上任何一个国家更易遭到攻击,易受攻击的目标是美国的银行、整个金融界、股票市场、联邦贮备委员会、空中交通控制系统以及所有诸如此类的目标。
”美国在名为“国防科学委员会夏季特别研究小组战场信息体系结构报告”出台后,人们更深刻地感受到了信息安全迫在眉睫,该报告认为,毁坏信息系统提供了破坏国家利益的“一种代价不大的外科手术式手段”,“是通过攻击计算机网络来设法收集情报的自然扩充,而这只是从开发一个系统向毁坏或甚至使其失去运转能力”迈出的一小步。
事实上,虽然人们对安全问题越来越重视,但正是由于其复杂性使得安个问题一时不可能得到解决。
安全漏洞不断被发现,对政府、企业、公共网站、个人的计算机的攻击事件连续不断,这也促进了安全方面的研究和实施。
以美国为首的西方发达国家早已开始了信息安全的标准化制定工作,90年代初期,美国总统克林顿一上台就提出信息高速公路施政纲领,美国政府发布国家信息基础设施(U11)行政计划,不久又提出全球信息基础设施(GII),美国的主张获得大多数国家的响应。
Internet在信息化浪潮的推动下成为了公认的未来信息高速公路的雏形,它不仅用于教学、科研,也开始用于商务。
但是,Internet采用的是TCP/IP体系,而不是开放系统互连的七层模型,它没有一个完整的安全体系和相应的安全标准,从开放系统互连概念导出的一系列安全体系结构、安全框架和安全机制不完全适应Internet的环境,且不能满足实际需要。
若按国际标准化组织的程序来制定Internet的标准,又解决不了当前的急用,在此情况下,Internet上出现了标为“请求注释”(RFC)的文稿,内容广泛,经过网上讨论修改,被大家接受的就成了事实上的标准。
“请求注释”中有不少是与安全有关的,涉及到了TCP/IP体系中的许多安全问题及其解决建议和标准。
此外,国外有很多公司从事安全方面的研究和开发,并对外提供安全咨询和帮助,各大计算机公司也经常把发现的安全漏洞及相应的补丁(patch)向外公布。
国内的计算机网络发展较晚,但近来计算机网络攻击的事件已有所发生,国内也意识到了网络和信息系统安全的重要性。
我国国家技术监督局十分重视信息安全的标准化工作,于1984年7月组建了数据加密分技术委员会,并根据现实情况,于1997年8月改组成信息技术安全保密分技术委员会,负责制定信息安全的国家标准。
此外,“计算机网络安全产品评估中心”也己经成立。
但总的来说,我国现阶段计算机网络和信息系统安全研究还缺少专门性和系统性。
人们对安全的意识还很薄弱,不仅大量的系统存在严重的安全隐患,在使用中也有许多安全问题(如配置不当、操作不当等)。
目前,我国在网络和信息系统安全方面与国外技术先进国家有不少差距,技术研究上如此安全产品也是这样。
我国自主开发产品少,硬软件技术受制于人,这使我们的网络管理呈现出一种十分“虚弱”的健康状态。
主要表现在:
计算机网络的发展水平,安全技术和管理手段不配套;计算机从产品到技术严重依赖外国。
我们虽然在操作系统的研制、国产数据库的开发上作过一些有益的工作,但是“杯水车薪”,难以形成体系。
因此,在网络安全产品方面,中国同国外的差距至少有5-IO年,这一方面源于我国总体上应用技术开发落后:
另一方面我国的网络在工商业中应用的范围和水平都还比较低,因而善良地希望黑客不光顾也是难以办到的。
中国的古训早有:
“害人之心不可有,防人之心不可无”。
这也使得我国对此的重视和投入很有必要。
2TCP/IP协议栈简介
TCP/IP是今天Internet的基础和核心,由于TCP(传输控制协议)和IP(网间网协议)的出现是在七十年代,标准制定完成于八十年代初期,那时的网络规模很小,用户之间相互信任,使用它们的目的就是为了将多个计算机连接起来以便信息共享,对安全问题没有足够的重视,因此使得这些标准缺少安全性措施。
当网络得到广泛普及,Intenet遍布世界各地时,TCP/IP网络的安全问题就日益突出了,甚至成为了传统TCP/IP网络发展的障碍。
虽然IPv6可以解决现在传统TCP/IP中的一些安全问题,但TCP/IP及其上的应用协议和各类应用的大量存在和使用使得传统的TCP/IP网络仍有相当长的生存期,因此对TCP/IP及其上层应用协议的安全性研究和总结是很有必要的。
由于TCP/IP协议栈成员较多,不可能一一研究,因此我们主要研究了几个典型的协议。
其日的是通过对这些协议的安全问题的研究,引起对TCP/IP协议的安个问题的重视,以加强这方面的安全工作,增强信息的安全性。
从OSI的角度看,TCP/IP协议的层次结构并没有十分明确的划分,但大多数可分为四个层次:
应用层、传输层、网间网层、网络接口层。
该协议集包括许多协议,但一个系统具体使用何种协议取决于网络用户的需求和网络设计人员的要求。
TCP/IP协议由四个层次组成,如图2-1。
应用层
传输层
网间网层
网络接口层
图2-1TCP/IP协议分层结构
TCP/IP协议栈是多个协议的统称,包括从介于网络接口层与IP层之间的ARP/RARP到应用层的FTP,SMTP等等。
整个协议栈中传输控制协议和网间网协议承上启下,是这些协议中最重要的两个协议。
为了讨论方便,这一部分的TCP/IP协议栈主要是指传输层和网络层的协议,应用层的几个重要协议下一个部分讨论。
首先简单的介绍一下要讨论的几个协议[1]。
⏹IP(InternetProtocol)是网间网协议,它处于网络层,向上层提供的是不可靠的无连接服务,主要功能是无连接数据报传送、数据报寻径和差错处理。
也就是说,网间网协议的作用是尽量把IP包(数据报)通过适当的路径送到目的地,它不保证所有的包都能到达目的地,这由上层协议来处理。
⏹ICMP(InternetControlMessageProtocol)是网间网控制报文协议。
它是用于处理网络层差错和控制报文传输的专用协议。
ICMP报文封装在IP数据报的数据部分中进行传输。
⏹TCP(TransportControlProtocol),传输控制协议,是网间网协议上层的一个协议,它向上层提供可靠的面向连接的服务,即,它在传送信息的双方之间建立一个连接,所有的信息包通过这个连接由发送方到达接收方,传输控制协议保证所有的信息包都被接受方收到。
不妨假设一台TCP/IP网络上的主机有以下协议,其结构如图2-2所示通过它们可以说明系统内各种协议之间的关系。
应用层
传输层
网间网层
网络接口层
图2-2协议之间的关系
由图2-2可见,在TCP/IP中,TCP、UDP、IP是协议集的核心,应用层协议FTP、TENET、SMIP等基本上是依赖于TCP的,而NFS,DNS等则基本上是依赖于UDP的,而有些应用型程序如EGP(外部网关协议),它不使用传输层服务,而直接使用IP服务。
IP则是整个协议集的纽带。
从总体上看,TCP/IP传输行为开始于应用层协议。
在TCP的应用层中,要传输的信息称为“数据流(stream)”,由应用层传输到传输层。
而在UDP的应用层中要传输的信息称为“报文(message)”,由应用层传输到传输层。
在传输层,TCP/IP将它的用户数据按目的可接受的最大长度分成“段(segment)”传输到IP层,而UDP是基于分组交换的数据模式,它的数据结构以“分组(packet)”传送到IP层。
无论是“段”还是“分组”,在网间层都被组织成IP“数据报(datagram)”交给网络链路层,网络链路层则将数据封装成“帧(frame)”,通过具体网络传送出去。
尽管如此,TCP/IP模型和协议也有一些缺点:
①该模型没有明确地区分服务、接口和协议的概念。
好的软件工程实践要求区分规范和实现。
因此,对于使用新技术来设计新网络,TCP/IP模型不是一个太好的模板。
②TCP/IP模型完全不是通用的,并且不适合描述除TCP/IP模型之外的任何协议栈。
③主机网络层在分层协议中根本不是通常意义下的层。
它是一个接口,处于网络层和数据链路层之间。
接口和层间的区别是很关键的,不能粗心大意.
④TCP/IP模型不区分物理层和数据链路层。
这两层完全不同。
物理层必须处理媒质的传输特点。
而数据链路层的工作是区分帧头和帧尾,并且以通信需要的可靠性把帧从一端传到另一端。
好的模型应该把它们作为分离的层。
⑤虽然TCP和IP协议被仔细地设计,并且很好地实现了,但是随着连入Internet的网络与主机数量的高速增长,IP地址空间将面临耗尽的危险。
3TCP/IP协议栈的安全问题
正是由于TCP/IP协议栈存在很多的不安因素,从而造成应用此协议的主机容易被网络黑客攻击,以下我们通过列举不同的网络攻击来阐述TCP/IP协议栈中的安全问题。
3.1ICMP攻击
ICMP用于网络层的错误处理和交换控制信息,它本身是没有身份认证的,利用这一点可以进行拒绝服务攻击或使路径选择改变[2]。
ICMP的“超时”消息表明的是IP包头中的“生存期(TTL)”已经为零,这通常是由于目的主机距离太远或寻径中出现循环路径导致的。
“目的不可到达”消息则表明由于某种原因数据包不能到达目的主机。
这两种消息都可以使主机立即关闭连接。
由于ICMP没有身份认证,使得攻击者有可能伪造这两类消息发送给被攻击主机,使通信终止。
“重定向”消息可以用来截取数据包。
ICMP的“重定向”消息通常是在主机A要将数据包通过错误的网关发送到目的地时用到,这时网关会发送“重定向”消息给主机A。
如果攻击者伪造一个“重定向”消息发送给主机A,就能使被攻击的主机A发送到特定目的主机B的数据包路经攻击者的主机,使攻击者可以窃听到主机A发送给主机B的信息。
要注意的是,进行这种攻击时,实施攻击的主机和被攻击主机必须在同一局域网上。
“回显”消息是ICMP用于判断主机是否连接在网络上,为此,可以向目标主机发送“回显”请求包,如果目标主机接受到了这个包,它会发送ICMP“回显”响应包。
命令“ping”就是“回显”消息包的一个应用。
如果路由器等网络设各不对发送到广播地址的ICMP包进行过滤,攻击者可以伪造源地址为受害主机A的ICMP“回显”广播包,目的网络中的主机就会发送大量的响应包到主机A,导致主机A所在的网络阻塞,甚至网络不可用。
3.2TCP的“SYN”攻击
TCP连接的建立是通过“三次握手”完成的,“SYN”攻击是利用了“三次握手”机制本身实现的。
假定连接由主机A发起,主机B(服务器端)允许接收到来自主机A的连接请求后(带“SYN”标志的包),会发送一个响应(同样带“SYN”标志),并等待主机A的确认。
这时,主机B上的这个连接位于侦听队列中,直至收到主机A的确认。
这个等待通常至少是75秒,这样使即使是有很大网络延迟的连接建立也可以完成。
问题是侦听队列的长度是有限的,在有大量不能完成的连接请求时,这个队列会溢出,这时将不能接收和处理后续的连接请求。
因此,攻击者可以在很短的时间内发送大量的连接请求,但不响应目的主机发送回来的连接确认包,导致目的主机的“侦听队列”溢出,不能处理其他的网络服务。
此攻击方法在后面章节我们将用实验进行仿真,具体分析其攻击步骤及原理。
3.3序列号攻击
TCP提供的是可靠服务,它采用序列号来确认收到的数据。
连接双方的初始序列号是在连接建立过程中产生的,也就是说,是在“三次握手”过程中产生的。
如果能知道或猜出服务器的初始序列号,则无需窃听技术和条件就可以对服务器进行攻击了。
这里有一个问题,假定主机X伪装成主机B,它要与主机A建立连接,当主机A接收到伪装的数据包后,它要发送一个带“SYN”和“ACK”标志的包到被伪装的主机B,而主机B会因为自己不是连接的发起者,它会拒绝这个包:
发送一个带“RST”标志的包到主机A,由于“RST”标志表明重置连接,这样主机A就会放弃这个连接,使攻击失败。
因此,要成功地实现此类攻击,主机X可以采用TCP的“SYN”攻击来使主机B不能响应网络上传来的数据包,也就收不到主机A发送的带“SYN”和“ACK”标志的连接确认包,使攻击不会终止。
当然,如果主机B正处于关机或是离线状态,则攻击就更容易了。
不难发现,这种攻击是利用了TCP的初始化序列号生成机制方面的问题而实施的。
如果攻击者不能得到序列号的信息,攻击将不能成功。
3.4截取连接
截取连接是IP地址欺骗的一个变种,也是IP地址欺骗的一个应用。
它指的是攻击主机(主机X)在主机A和主机B之间的连接建立过程中或连接建立后的通信过程中将自己插入到连接中,以伪装成任意一方进行通信。
这是非常危险的,因为使用截取连接攻击可以绕过一般的口令、Kerberos和一次性口令等身份认证,只要通信不是经过加密的和签名的,就可以在通信过程中获得连接的控制权[3]。
由于截取连接是极其危险的,也是攻击者常常使用的攻击手段,因此有必要对这一攻击方法作比较深入的研究。
为此,我们定义:
SVR_SEQ:
服务器端将要发送或正在发送的的首个字节的序列号。
SVR_ACK:
服务器端要接收的下一字节的序列号。
SVR_WIND:
服务器端的接收窗口。
SVR_DATA_LEN:
服务器端发送的数据包中的数据的长度。
CLT_SEQ:
客户端将要发送或正在发送的首个字节的序列号。
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(滑动窗口内)
典型的没有重传的连接中,从客户端到服务器端的包满足:
SEG_SEQ=SVR_ACK
SEG_ACK=CLT_ACK
连接建立前客户端处于关闭(CLOSE)状态,服务器端处于侦听(LISTEN)状态,“三次握手”这时可以表示如图3-1,其中CLT_SEQ0为客户端初始序列号,SVR_SEQ0是服务器端的初始序列号。
图3-1TCP连接:
三次握手
在连接双方进入“连接建立”状态时,满足:
CLT_SEQ=CLT_SEQ0+1
CLT_ACK=SVR_SEQ0+1
SVR_SEQ=SVR_SEQ0+1
SVR_ACK=CLT_SEQ0+1
关闭连接是利用“FIN”标志或“RST”标志完成的。
当接收到带“RST”标志的数据包时,主机进入关闭状态并释放这个连接所占有的资源,这个带“RST”标志的包无需确认,所有被释放的连接的后续包将被丢弃。
当接收到带“FIN”标志的数据包时,主机进入等待关闭(CLOSE-WAIT)状态,进入关闭连接的一系列包交换并最终关闭连接。
在“连接”状态下,当一个数据包中的序列号处于接收方的滑动窗口范围之内时,它将被接受,如服务器端收到的包满足:
SEG_SEQ=CLT_SEQ
[SVR_ACK,SVR_ACK+SVR_WIND]
客户端收到的包满足:
SEG_SEQ=SVR_SEQ
[CLT_ACK,CLT_ACK+CLT_WIND]
否则这个包将被丢弃。
为了能更清楚攻击的过程,有必要先了解“被破坏的同步状态”,它指的是在连接双方处于连接建立(ESTABLISHED)状态,并且没有数据在交换时,有:
SVR_SEQ!
=CLT_ACK
CLT_SEQ!
=SVR_ACK
这时如果有数据交换,例如客户端发送数据包到服务器端,可能发生两种情况:
①SVR_ACK 这个包被服务器端接受,数据被保留,等待序列号更小且在接收窗口内的数据的到来。 ②CLT_SEQ 包将被丢弃。 截取连接攻击的关键就是使连接双方进入“被破坏的同步状态”,使双方的数据交换不能正常进行,然后再伪造双方可接受的数据包使连接的会话继续进行,从而达到控制连接的目的。 攻击分两步进行。 1)第一步,破坏TCP连接的同步,使连接进入“被破坏的同步状态”。 这又分为连接建立中的攻击和连接建立后的攻击。 ·连接建立过程中的破坏同步 这指在“三次握手”过程中破坏连接的同步,过程如下: ①攻击者X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCP IP安全性研究毕业设计论文 IP 安全性 研究 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)