TCP IP协议安全性研究毕业设计论文.docx
《TCP IP协议安全性研究毕业设计论文.docx》由会员分享,可在线阅读,更多相关《TCP IP协议安全性研究毕业设计论文.docx(69页珍藏版)》请在冰豆网上搜索。
![TCP IP协议安全性研究毕业设计论文.docx](https://file1.bdocx.com/fileroot1/2023-2/4/8a77d20f-3ac7-46bf-baa9-e30098c0a075/8a77d20f-3ac7-46bf-baa9-e30098c0a0751.gif)
TCPIP协议安全性研究毕业设计论文
附录SYNFlooder攻击代码
TCP/IP协议安全性研究
摘要:
Internet的日益普及给人们的生活和工作方式带来了巨大的变革,人们在享受网络技术带来的便利的同时,安全问题也提上了议事日程,网络安全也成为计算机领域的研究热点之一。
由于TCP/IP协议的设计是针对可以信任的环境,所以协议本身存在着许多的安全隐患。
本文在介绍因特网中使用的TCP/IP协议的基础上,对TCP/IP协议及其子协议的安全性进行了全面的分析,从理论上分析了协议中几种主要的安全隐患。
将网络安全理论与实践结合是提高网络安全性的有效途径。
本文利用目前常用的协议分析工具对TCP/IP协议子过程进行了比较深入的分析,并针对TCP/IP协议存在的安全隐患做了一些实际操作和实验。
希望能在协议的应用中对使用者能有所帮助。
关键词:
TCP/IP;安全性;协议;IPSec;SSL
TheStudyonTCP/IPProtocolSecurity
Specialty:
NetworkEngineeringSiLiTeacher:
FuKaiyao
Abstract:
TheincreasinglypopularizationofInternetbringsgreatchangestothemannersofpeople'slivingandworking.Aspeopleenjoytheconveniencebroughtbynetworktechnology,securityissuesalsocomeintoconsideration.AsthedesignoftheTCP/IPprotocolisinthetrustedenvironment,soitselfhasmanysecuritynon-avoidantproblem.Networksecurityalsobecomesoneoftheresearchhotspotsinthecomputerdomain.ThispapermainlyfocusesonthesecurityoftheTCP/IPprotocolonthebasisofintroductionoftheTCP/IPprotocolandsub-protocol.Italsoanalyzestheseveralmainhiddentroublesinthisprotocol.Anditisaneffectivewaytocombinethetheoryofthenetworksecuritywiththepractice.ThispaperstudiesdeeplyontheTCP/IPprotocol’ssub-process,usingtheprotocolanalyzingtoolsthatcurrentlyusuallyused.ManyexperimentshavebeendoneonthehiddentroublesintheTCP/IPprotocol,andhopetobehelpfultotheuserwhichareintheprotocolapplicationfield.
Keywords:
TCP/IP;Security;Protocol;IPSec;SSL
前言
TCP/IP(TransmissionControlProtocol/InternetProtocol)是20世纪70年代中期美国国防部(DoD)为其研究性网络ARPANET开发的网络体系结构,ARPANET最初是通过租用的电话线将美国的几百所大学和研究所连接起来。
随着卫星通信技术和无线电技术的发展,这些技术也被应用到ARPANET网络中,而已有的协议已不能解决这些通信网络的互联问题,于是就提出了新的体系结构,用于将不同的通信网络无缝连接。
这种体系结构后来被称为TCP/IP参考模型。
TCP/IP协议是Internet进行网际互联通信的基础,目前Internet能如此迅速的在全球延伸,主要是由于TCP/IP协议簇的开放性,它打破了异构网络之间的壁垒,把不同国家的各种网络连接起来,使Internet成为了没有明确物理界限的网际。
从而人们能充分的享受的全球共享,但是正因为TCP/IP的开放性,它给Internet带来的安全隐患也是全面而且系统的。
当初美国开发TCP/IP协议的框架的时候基本没有考虑安全问题,因为他们是在可以信赖的环境下开发TCP/IP协协议的,主要应用在美国国防部内部网络,并没有考虑到以后的大规模应用。
当Internet遍布世界以后,网络的环境发生了根本的变化,信任的问题变得突出起来,因此Internet变得充满了问题。
由于自身的缺陷、网络的开放性以及黑客的攻击是造成互联网络不安全的主要原因。
TCP/IP作为Internet使用的标准协议集,是黑客实施网络攻击的重点目标。
但TCP/IP协议组本身存在着一些安全性问题。
TCP/IP协议是建立在可信的环境之下,首先考虑网络互连缺乏对安全方面的考虑;这种基于地址的协议本身就会泄露口令,而且经常会运行一些无关的程序,这些都是网络本身的缺陷。
互连网技术屏蔽了底层网络硬件细节,使得异种网络之间可以互相通信。
这就给“黑客”们攻击网络以可乘之机。
由于大量重要的应用程序都以TCP作为它们的传输层协议,因此TCP的安全性问题会给网络带来严重的后果。
网络的开放性,TCP/IP协议完全公开,远程访问使许多攻击者无须到现场就能够得手,连接的主机基于互相信任的原则等等性质使网络更加不安全。
因此,目前正在制定安全协议,在互连的基础上考虑了安全的因素,希望能对未来的信息社会中对安全网络环境的形成有所帮助。
1TCP/IP协议
Internet上使用的是TCP/IP协议。
IP(InternetProtocol),“网际互连协议”,即为计算机网络相互连接进行通信而设计的协议。
TCP(TransferControlProtocol)是传输控制协议。
TCP/IP协议是能使连接到网上的所有计算机网络实现相互通信的一套规则,任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。
正是因为有了此协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。
虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和互联网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:
远程访问(TELNET)、文件传输协议(FTPFileTransferProtocol)、简单邮件传输协议(SMTPSimpleMailTransferProtocol)等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。
IP协议之所以能使各种网络互联起来是由于它把各种不同的“帧”统一转换成“IP数据报”格式,这种转换是因特网的一个最重要的特点。
所以IP协议使各种计算机网络都能在因特网上实现互通,即具有“开放性”的特点。
TCP/IP协议的基本传输单位是数据包(datagram)。
TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信装进信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方(就像信封上要写明地址一样),如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。
总之,IP协议保证数据的传输,TCP协议保证数据传输的质量[1]。
1.1TCP/IP参考模型
图1-1TCP/IP协议结构图
(1)链路层,有时也称作数据链路层或网络接口层,这是TCP/IP的最低层,负责接收从IP层交来的数据报并将IP数据报通过底层物理网络发送出去,或者从底层物理网络上接收物理帧,抽出数据报,交给IP层。
通常包括操作系统中的设备驱动程序(如局域网的网络接口)和含自身数据链路协议的复杂子系统(如X.25中的网络接口)。
它们一起处理与电缆(或其他任何传输介质)的物理接口细节。
图1-2TCP/IP参考模型与ISO模型对应关系
(2)网络层,有时也称作互联网层,主要的功能是负责相临的两个节点之间的数据传输,处理分组在网络中的活动。
主要有:
一是处理来自传输层的数据发送请求,二是处理输入数据报,三是处理ICMP报文。
TCP/IP网络模型的网络层在功能上非常类似于OSI参考模型中的网络层。
(3)传输层,TCP/IP参考模型中的传输层和OSI参考模型中的传输层的作用是一致的,即在源结点和目标结点之间的两个进程实体之间提供可靠的端到端的通信。
在TCP/IP协议族中,有两个互不相同的传输层协议:
TCP(传输控制协议)和UDP(用户数据报协议)。
TCP协议是一个可靠的面向连接的传输协议,UDP是一个不可靠、无连接的传输层协议,UDP协议将可靠性问题交给应用程序解决。
(4)应用层,处理特定的应用程序细节。
几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:
Telnet远程登录,FTP(FileTransferProtocol)文件传输协议,SMTP(SimpleMailTransferProtocol)简单邮件传送协议,HTTP(HyperTextTransferProtocol)超文本传输协议,DNS(DomainNameService)域名服务等。
1.2TCP/IP的可靠性思想
在TCP/IP网络中,IP采用无连接的数据报机制,对数据“尽力传递”,即只传送报文,无论是否正确,不做验证,不发确认,也不保证报文的顺序。
TCP/IP的可靠性体现在传输层。
传输层协议之一的TCP提供面向连接的服务,因为传输层是端到端的,所以传输层的安全性被称为端到端的安全性。
UDP不保证可靠性,传输的可靠性的保障由应用程序完成。
1.3网际协议第4版(IPv4)
1.3.1IP地址划分
Internet上的每台主机(Host)都有一个唯一的IP地址。
IP协议就是使用这个地址在主机之间传递信息,这是Internet能够运行的基础。
IP地址有两部分组成,一部分为网络地址,另一部分为主机地址,IP地址分为A,B,C,D,E,5类。
常用的是B和C两类。
其格式为:
A类:
1.0.0.0127.255.255.255
8位网络号,24位主机号用于大型网络(0.0.0.0和127.0.0.0.0保留)
B类:
128.0.0.0192.255.255.255
16位网络号,16位主机号用于中型网络
C类:
192.0.0.0223.255.255.255
24位网络号,8位主机号用于小型网络
D类:
224.0.0.0239.255.255.255组播地址
E类:
240.0.0.0247.255.255.255保留将来使用
这种IP地址划分的方法虽然已经做过改进(最初IP地址并未分类,选择32也仅仅是为了方便报文格式对齐),但仍然称不上完美。
在实际中,主机数大于256的网络很多,但是主机数超过1000的缺很少。
上面的划分方法造成了B类IP地址的大量浪费,因为一个主机数超过256的网络不得不去申请一个B类IP地址,而B类IP地址能容纳65536台。
在这样的情况下,可变长子网掩码(VLSMValiableLengthSubnetworkMask)出现了。
它的思想就是把多个C类IP地址分给一个网络从而节省下B类IP地址资源。
例如,在一个202.117.125.0/27的网络中,这个IP地址的网络位就是前27位,
110010100111010101111101000/00000
斜杠之前全部是网络位,只有斜杠之后的5位表示主机号。
1.3.2IP报文
IP是TCP/IP协议族中最为核心的协议。
所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。
IP提供不可靠、无连接的数据报传送服务。
不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。
无连接(connectionless)这个木语的意思是IP并不维护任何关于后续数据报的状态信息,每个数据报的处理是相互独立的。
这也说明,IP数据报可以不按发送顺序接收。
IP数据报的格式如图1-3所示:
(1)版本(version),4位,指出创建分组的IP版本。
(2)头长度(IPHeaderLength,IHL),4位,指出分组头(Packetheader)中32比特字的数目。
(3)服务类型(TypeofService,ToS),8位,根据分组的处理指定对应的运输层请求。
这个字段有4种选择:
优先、低延迟、高吞吐和高可靠。
(4)总长(totallength),也叫分组长度(PacketLength)指示整个IP分组的长度。
它是一个16比特的字段,提供最大长度65,535个字节。
(注:
普通的IP首部长为20个字节,除非含有选项字段。
)
图1-3IP数据报格式
(5)标识(Identification),16位;标志(Flags),3位;用于判断分段是属于哪个数据报。
(6)段偏移量(FragmentOffset),13位。
这三个字段用于分段,说明分段在数据报中的位置。
(7)生存期(TimeToLive,TTL),8位,将分组第一次送入因特网的站点设定生存期字段,规定了分组能够在因特网中停留的最长时间。
分组每经过一个路由器后,就会将生存期字段减一定的数值。
如果生存期字段达到或小于0,路由器就删除它。
这个步骤保证了路由或拥塞问题不会造成分组在因特网中无止境地循环。
(8)协议,8位,规定了使用IP的高层协议。
它使目的地的IP将数据转给在该端的适当条目。
例如,如果IP分组包含了TCP段,协议字段为6。
含有UDP和ICMP分组的协议字段分别是17和1。
(9)校验和,16位,用于在分组头上进行差错检测。
由于数据是来自于TCP或其他协议的段,它有自己的差错检测。
这样,IP只需关心分组头中的检测错误。
(10)源IP地址(sourceaddress)和目的IP地址(destinationaddress),32位,这些字段包含了发送和接收的结点地址。
(11)IP数据的报格式中还有一些可选项。
可选项是变长的,主要用于控制和测试。
作为IP协议的组成部分,在所有IP协议的实现中,选项处理是不可或缺的。
可选项由选项代码、长度和选项数据三项组成。
目前定义了五种选项:
①安全性(security),说明报文的安全程度。
理论上将军事路由器可以使用此选项选择路径,使报文避开不友好的国家的路由器。
实际上,所有路由器忽略该字段。
②严格路由选择(strictsourcerouting)要求报文严格按照指定路由传送。
③松散路由选择(loosesourcerouting)要求报文严格按次序经过指定路由器,但是报文还可以经过其他路由器。
④记录路由(recordroute)用来记录报文从源主机到目标主机经过的所有路由器的IP地址。
⑤时间戳(timestamp)选项用于记录IP数据报经过每一个路由器的时间。
1.4网际协议第6版(IPv6)
1.4.1IPv6协议内容
IPv6是IP协议的一个新版本,是IPv4的升级版本([RFC-791])。
从IPv4到IPv6,其主要改动在以下几个方面:
扩充地址容量
IPv6将地址的大小从IPv4的32位扩充到了128位,以支持更多级的地址层次、更多带有地址的结点数量,以及更简单的地址自动配置。
通过在组播地址中加入“scope”域,增强了组播路由规模。
并且IPv6定义了一种“anycastaddress”的新地址类型,用于向一个结点中的任意组中的任意一员发送数据包。
简化报头格式
一些IPv4报头域被删除或作了可选项,以减少一般情况下一个包的处理时间。
并且,这样可以限制IPv6报头所占的带宽耗费。
增强了对选项和扩展的支持
IPv6中,IP报头选项被编码。
这种变化使得数据转发更有效,并使得对选项长度的限制不像以前那样严格。
而且为将来增添新的选项提供了更大的灵活性。
流标志能力
IPv6中加入了一种新的能力:
当发送方要求对特殊路径流加以特殊处理时(比如要求非默认服务质量或是实时服务的时候),可以对这个流中的包加以标志。
验证和加密能力
IPv6在以下方面做了扩展:
支持验证,支持数据集成,支持数据加密。
1.4.2IPv6报文格式
版本(version)对于IPv6来说字段是6,在IPv4到IPv6过渡的过程中,路由器通过检测该字段来确定报文类型。
优先级(priority)用来表示报文的优先程度。
0-7标识非实时数据,8-15用于标识实时数据。
流标识(flowlabel)字段用来标识从源端某进程到目的端某进程之间建立起来的一条特殊连接。
有效负载长度(PayloadLength)标明报文中用户数据的字节数,不包括40字节的报头。
下一个头部(NextHeader)说明如果还有扩充头部的话,它是哪一种。
站点限制(HopLimit)也叫最大跳数。
说明了饱文的生存时间。
相当于IPv4中的TTL。
源地址(SourceAddress)和目的地址(DestinationAddress)是IP地址,长度为16字节。
图1-4IPv6报头格式
IPv6的主要特点包括:
(1)扩大了地址空间,采用128位地址长度,几乎可以不受限制地提供IP地址,从而确保了端到端连接的可能性。
(2)提高了网络的整体吞吐量。
由于IPv6的数据包可以远远超过64K字节,应用程序可以利用最大传输单元(MTU),获得更快、更可靠的数据传输,同时在设计上改进了选路结构,采用简化的报头定长结构和更合理的分段方法,使路由器加快数据包处理速度,提高了转发效率,从而提高网络的整体吞吐量。
(3)服务质量得到很大改善。
报头中的业务级别和流标记通过路由器的配置可以实现优先级控制和QoS保障,极大地改善了IPv6的服务质量。
(4)安全性有了更好的保证。
采用IPSec可以为上层协议和应用提供有效的端到端安全保证,能提高在路由器水平上的安全性。
(5)支持即插即用和移动性。
设备接入网络时通过自动配置可自动获取IP地址和必要的参数,实现即插即用,简化了网络管理,易于支持移动节点。
IPv6不仅从IPv4中借鉴了许多概念和术语,它还定义了许多移动IPv6所需的新功能。
(6)更好地实现了多播功能。
在IPv6的多播功能中增加了“范围”和“标志”,限定了路由范围和可以区分永久性与临时性地址,更有利于多播功能的实现。
亚太的地址空间更加匮乏,所以大多数分析家认为采用IPv6标准的国家将是那些IP地址极度匮乏的国家,如中国、印度等。
对于这些国家来说,IPv6是一个新的机遇,他们可以作出以下选择:
使用NAT技术用很少的地址连接到美国占主导地位的IPv4世界中;或者投资IPv6获得他们需要的众多地址,与其它的IPv6用户相连接,创建一个更大的IPv6因特网。
在时机成熟之时,它们将会选择后者。
其实地址空间缺乏并不单是亚洲存在,全世界都存在这样的问题。
所以现在世界各国都在积极的推动IPv6和下一代网络的发展。
由于IPv4的开发是在可信赖的网络环境下进行的,缺乏安全方面考虑造成了IPv4的先天不足。
IPv6在IPv4的基础上在安全方面做了很多的考虑,但IPv6的实现需要硬件的支持,所以在短时间内无法大范围的推广。
所以在目前的情况下针对IPv4的攻击仍然是网络安全的主要威胁。
本文在后续章节中所有的论述也是主要针对IPv4。
2TCP/IP协议安全性分析
Internet是基于TCP/IP协议的,TCP/IP协议具有网络互连能力强、网络技术独立,支持FTP,TELNET,SMTP和HTTP等标准应用协议等特点,是目前能够满足不同种计算机之间、异构网络之间互连要求的网络互连协议。
但是,由于它主要考虑的是异种网间的互连问题,并没有考虑安全性,因此协议中存在着很多安全问题。
另一方面由于大量重要的应用程序都以TCP作为它们的传输层协议,因此TCP的安全性问题又会给网络带来严重的后果和影响。
2.1TCP/IP协议主要安全隐患
TCP/IP协议的安全隐患主要有:
(1)TCP/IP协议数据流采用明文传输,因此数据信息很容易被窃听、篡改和伪造。
特别是在使用FTP和TELNET时,用户的帐号、口令是明文传输,所以攻击者可以截取含有用户帐号、口令的数据包,进行攻击,例如使用SNIFFER程序、SNOOP程序、网络分析仪等。
(2)源地址欺骗(Sourceaddressspoofing),TCP/IP协议是用IP地址来作为网络节点的唯一标识,但是节点的IP地址又是不固定的,因此攻击者可以直接修改节点的IP地址,冒充某个可信节点的IP地址,进行攻击。
下面分别来举例两种源地址欺骗攻击[3]。
方式一:
假设主机A是攻击主机,它伪装成B主机和C主机对话。
A主机在发出数据包的时候,入侵者可以用软件把源地址从A主机的地址改成B主机的地址。
虽然C主机的数据包仍然会发送到B主机而不是A主机,但是这对于一些黑客来说无关紧要,他们不用看到结果就能实施攻击。
方式二:
这是一种“中间人”式的欺骗。
它会截获目标主机返回给真实主机的数据包。
这种欺骗下,攻击主机可以和被攻击主机进行完整的对话,入侵者也可以看到结果,即要能截获返回的数据包。
为此,攻击主机需要做到:
攻击主机潜入目标主机和真实主机之间的路径上,这在路径的末段最容易做到。
在中间是最难的,因为根据IP网络的路径选择特点,“中间”路径的选择变化是非常大的。
在机器之间改变路径,从而引导攻击机器,这取决于网络的拓扑结构以及你的网络、远程网络和其他网络之间的ISP使用的路由系统,这可能十分容易,也可能十分困难。
(3)源路由选择欺骗(SourceRoutingspoofing),TCP/IP协议中,IP数据包为测试目的设置了一个选项—IPSourceRouting,该选项可以直接指明到达节点的路由,攻击者可以利用这个选项进行欺骗,进行非法连接。
攻击者可以冒充某个可信节点的IP地址,构造一个通往某个服务器的直接路径和返回的路径,利用可信用户作为通往服务器的路由中的最后一站,就可以向服务器发请求,对其进行攻击。
在TCP/IP协议的两个传输层协议TCP和UDP中,由于UDP是面向非连接的,因而没有初始化的连接建立过程,所以UDP更容易被欺骗。
(4)路由选择信息协议攻击(RIPAttacks)。
RIP协议用来在局域网中发布动态路由信息,它是为了在局域网中的节点提供一致路由选择和可达性信息而设计的。
可是各节点对收到的信息是不检查它的真实性的,TCP/IP协议没有提供这个功能。
ICMP协议存在有安全缺口,攻击者可利用ICMP重定向报文破坏路由,并以此增强其窃听能力。
(5)鉴别攻击(AuthenticationAttacks).TCP/IP协议只能以IP地址进行鉴别,而不能对节点上的用户进行有效的身份认证,因此服务器无法鉴别登录用户的身份有效性。
目前主要依靠服务器软件平台提供的用户控制机制,比如UNIX系统采用用户名、口令。
虽然口令是密文存放在服务器上,但是由于口令是静态的、明文传输的,所以无法抵御重传和窃听。
而