




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
随着生活节奏的加快,计算机网络技术也在高速发展‘Internet作为已经成为我们生活中不可或缺的一部分。Internet安全问题也越来越受人们关注,TCP/IP作为一个事实上的工业标准,是Internet使用的标准协议集,是U前Internet网络的基础,也是网络环境中广泛采用的互联网协议。然而,这样重要的一个协议族在其制订之初,没有考虑安全因素,因此他本身无安全可言。网络安全问题越来越受到国家和社会的关注,网络安全已经成为计算机通信领域的重要研究方向之一。这篇论文从研究TCP/IP协议的脆弱性入手来研究TCP/IP协议的安全问题,对TCP/IP的进行了对TCP/IP进行概述,模型的发展、如何由OSI模型发展到了TCP/IP模型,并对TCP/IP模型的优点、体系结构、数据报结构进行了描述;再对TCP/IP进行了详解,对常见协议按照使用被使用关系、所属公司、等进行分类,并对主要协议描述,并对各个层次协议的脆弱性问题进行了比较深入的讨论。在前面分析的基础上画出TCP/IP安全图。然后用现在最为流行的ARPSpoof工具从实验的角度上来分析ARP协议的脆弱性,证明ARP协议的脆弱性确实存在。关键词:TCP/IP协议;网络安全;脆弱性;TCP/IP安全图;ABSTRACTWiththedevelopmentofcomputernetworktechnology,TCP/IPasadefactoindustrystandard,isthesetofInternetstandardprotocolusedisbasedonthecurrentInternetnetworkiswidelyusedinthenetworkenvironmentoftheInternetprotocol.However,aprotocolfamilysuchanimportantbeginningintheformulation,thereisnosecurityinmind,sonosecuritytospeakofhisown.Networksecurityisincreasinglyconcernedbythestateandsociety,networksecurityhasbecomeanimportantresearchfieldofcomputercommunicationdirections.ThispaperfromthestudyTCP/IPprotocoltostarttostudythevulnerabilityofTCP/IPprotocolsecurityproblem,TCP/IEwasontheTCP/IPoverview,modeldevelopment,andhowthedevelopmentoftheOSImodeltotheTCP/IPmodel,andTCP/IPmodeladvantages,architecture,datareportedstructuredescribed;thenonTCP/IPDetailedconductedonthecommonprotocoltobeusedinaccordancewithrelations,thecompanies,suchastheclassificationofthemainprotocoldescription,andthevulnerabilityofalllevelsofprotocolissuesmorein-depthdiscussion.BasedontheanalysisinthepreviousdrawTCP/IPsecurityplans・ThennowthemostpopulartoolsfromtheexperimentalpointofviewARPSpoofupanalysisofthevulnerabilityofARPprotocoltoprovethevulnerabilityofARPprotocoldoesexist.Keywords:TCP/IPprotocol;networksecurity;vulnerability;TCP/IPsecurityplans#NBSSNNetBIOS会话服务协议WindowsInternet名字服务(WindowsInternetNameService,WINS)也被称为NetBIOS名字服务,因为它把NetBIOS名字解析IP地址。网络基本输入/输出系统(NetBIOS)是山IBM发明并由IBM和微软共同开发的。后来,微软在现今已过时了的LANManger产品中使用NetBIOS<>NetBIOS的作用是提高应用层与传输层之间的无关性,其LI标是允许应用程序开发人员写带网络功能的程序时无需理解底层的网络。而且NetBIOS允许应用程序使用多个传输协议。开发人员只需写应用对NetBIOS层的作用函数,而不需和特定的协议打交道。(9)X-WINDOW3.3.2传输层协议.安全协议SSL安全套接字协议TLS传输层安全协议.目录访问协议DAP目录访问协议LDAP轻量级U录访问协议.其他协议XOT基于TCP之上的X.25协议VanJacobson压缩TCP协议ISO-DEISO开发环境RPC远程过程调用协议TALI传输适配层接口协议RUDP可幕的用户数据报协议MobilIP移动IP协议.TCPTCP是传输层协议(OSI参考模型中第四层),它使用IP,提供可靠的应用数据传输。TCP在两个或多个主机之间建立面向链接的通信。TCP支持多数据流操作,提供流控和错误控制,甚至完成对乱序到达报文的重新排序。传.UDP用户数据报协议是IP的另一个主机到主机层协议(对应于OSI参考模型的传输层)。UDP提供了一种基本的、低延时的称为数据报的传输。UDP的简单性使UDP不适合于一些应用,但对另一些更复杂的、自身提供面向链接功能的应用却很适合。其他可能使用UDP的情况包括:转发路山表数据交换、系统信息、网络监控数据等的交换。这些类型的交换不需要流控、应答、重排序或任何TCP提供的功能。3.3.3网络层协议.安全协议AH认证头协议ESP安全封装有效载荷协议.路由协议(1) EGP外部网关协议(2) NHRP下一条解析协议(3) GGP网关到网关协议(4) RSVP资源预留协议(5) RIP2路由信息第二版路山信息协议,通常称为RIP(RoutingInformationProtocol),是使用最久的协议之一。RIP是一类基于距离-向量路由算法的协议,这种算法在ARPANET出现之前即存在。在1957〜1962年之间人们对这种算法进行了理论上的研究。在整个60年代,这些算法被不同的公司广泛实现并标以不同的名字。最终造成的结果是这些产品之间紧密相关,但同时由于被各公司进行功能强化而使它们不能提供完全的互操作能力。(6) OSPF开放最短路径优先协议OSPF是专门设计用于自治系统之内的IP路曲协议。如果用户的网络必须适用多种可路由协议,就要考虑使用别的路山协议而不是OSPF。OSPF基于IP数据报头中的目的IP地址来计算路由,并不提供对非IPLI的地的路由计算。而且,各种OSPF信息直接封装在IP中:无需其他协议(TCP、UDP等)来传输。OSPF也被设计用于快速地检测自治系统内的拓扑变化,并且在发现变化之后收敛到新的拓扑。路山决定以自治系统内互联的路由器之间的链路状态为基础。这些路山器各自都维护一个相同的数据库,其中记录了网络的链路状态。这个数据库中包含的是路由器状态,其中有可用的接口、可以到达的相邻路山器及链路、状态信息。(7) IE-IRGP增强内部网关选择协议(8) VRRP虚拟路山器冗余协议(9) PIM-DM密集模式独立组播协议(10) PIM-SM系数模式独立组播协议(IDIGRP内部网关路由协议(12) RIPngFORIPv6IPv6路由信息协议(13) PGM实际通用组播协议(14) DVMRP距离矢量组播路山协议(15) MOSPF组播开放量短路径优先协议3).其他协议(1)IP/IPv6互联网协议/互联网协议第6版IP—直在演进,这要归功于IETF的不懈努力。许多新的特性和功能在后续RFC文档中得到扩充,然而所有这些都建造在RFC791基础之上。从结构角度讲,现在的IP版本是4。新的版本6儿近完成。但只有IPv4是当前的标准且被广泛接受。在IPv4(当前版本)开发之时,32位的IP地址似乎足够Internet需要。但随着Internet的增长,32位的地址被证明有问题。正在开发之中的IP下一代,通常称为IP版本6(IPv6),就是为了克服这个不足而设计的。IP下一代必须提供什么?以下变化列表能简单地告诉读者IPv6的主要特征:128位而不是32位的网络地址。IP头中更有效的应用和选项扩展。无头校验和。用于服务质量要求的流标识。不允许有数据报分段。内嵌式的授权和加密安全。IVMPv6互联网控制信息协议第6版ICMP互联网控制协议IGMP互联网组管理协议SLIP串行线路IP协议3.3.4网络接口层协议•隧道协议PPTP点对点隧道协议L2TP第二层隧道协议L2F第二层转发协议ATMP介入隧道管理协议.CISCO协议CDP思科发现协议CGMP思科组管理协议.地址解析协议ARP地址解析协议RARP逆地址解析协议.其他协议MPLS多协议标签交换协议XTP压缩传输协议DCAP数据转接客户访问协议SLE串行连接封装IPinIPIP套IP封装协议PPP点对点传输协议IEE802.3WLANDACSICATMFrainRely4TCP/IP协议脆弱性分析4.1TCP/IP各层协议的脆弱性分析4.1.1应用层协议脆弱性分析一RADIUS协议该层次上面有许多不同的应用协议,比如说:POP、DNS,FTP,SMTP等等,针对该层次的攻击数不胜数,但是主要漏洞还是软件的漏洞。RADIUS协议作为该层一个重要的协议,对其进行脆弱性分析。1).RADIUS协议讲解RADIUS是远程拨号用户认证协议,最初主要用于拨号接入用户的身份认证、授权与计费,现在已发展成为一种通用的用户身份认证与计费协议。现在任何运行RADIUS客户端软件的计算机或通信设备都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用多种方式登录认证。同时,它还是一种可扩展的协议,通过扩展属性即可扩展交换信息内容。它规定TNAS作为认证客户端(RADIUSClient)和认证服务器(RADIUSServer)以及认证服务器之间传送身份认证信息和计费信息的消息格式和流程。RADIUS协议釆用对称密钥加密技术,通信的双方RADIUSClient和RADIUSServer之间共事一个密钥K,利用MD5单向不可逆加密算法,双方在交换的信息后面附MD5(信息+K)作为确认对方身份的信息,这一安全机制可以防止假冒的RADIUSClient或RADIUSServer破坏认证系统。用户的口令在报文中以密文传输,这一安全机制可以防止用户口令被非法侦听窃取。2).RADIUS协议规定RADIUS系统利用UDP协议通信,RADIUS报文被封装在UDP包中传送,其报文格式如下:1字节1字节2字节16字节N字节CodeIdentiferLengthAuthenticatorAttributes图4-1RADIUS协议数据报格式各字段含义如下:Code:定义RADIUS报文类型,可以取值如下::AccessRequest(接入请求)Client->Server:AccessAccept(接入同意)Server->Client:AccessReject(接入拒绝)Server->Client:AccountingRequest(计费请求)Client->Server:AccountingResponse(计费响应)Server->ClientIdentifier:用于匹配请求报文和响应报文,请求报文和响应报文中的这一字段应相同。Length:报文长度。Authenticator:通信双方身份证实手段,用来确认双方身份,保证通信安全。在AccessRequest报文中,Authenticator是一个16字节的随机数。在AccessAccept和AccessReject报文中,Authenticator是一个16字节的随机数。在AccessAccept和AccessReject报文中,Authenticatoi-MD5(Code+Id+Length+Access-Req.Authenticator+Attributes+K)。在AccountingResponse扌艮文中,Authenticatoi-MD5(Code+Id+Length+Accounting-Req.Authenticator+Attribute
s+K)。Attributes:RADIUS协议定义了儿十种属性,例如User-Name,User-Password,Framed-IP-Address等,表示通信双方需要交换的信息。定义自己的属性来扩展RADIUS协议。User-Password属性是以密文传输的。设口令明文为X,口令密文为Y,加密算法为:Y=MD5(K+Access-ReqAuthenticator)XORXo在接收方拥有密钥K,便可利用X=MD5(K+Access-Req.Authenticator)XORY来获得口令明文,与从用户数据库中取得的用户口令比较,从而检验用户输入的口令是否正确。.RADIUS认证流程RADIUS协议认证流程如图所示。本地用户的RADIUS认证流程如下:NAS NA$拨号用户 (Radius客户端) (Radius服务端)拨号AccessRequest >AccessRequest >建立PPP连接< 下网 >AccessAcceptWAccessRequest >AccessRequest >建立PPP连接< 下网 >AccessAcceptW AccessRequest
(开始计费〉、
AccessResponse
(计费响应〉AccessRequest-
(停止计费〉
>AccessResponse〈 (计费询应〉AcCQSSACCQptAccessRequest(开始计费〉AccessResponse(计费晌应)AccessRequest(停止计费〉 >AccessResponse<(计费松应〉图4-2RADIUS协议认证流程用户接入NAS,输入帐号、口令(即密码)。NAS向RADIUSServer发送Access-Reqest数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的。RADIUSServei•对用户名和密码的合法性进行验证,如果合法,给NAS返回Access-Accept数据包。Access-Accept数据包中包含为用户提供的服务类型(如PPP或Telnet),相应的配置信息(如PPP的IP地址信息,子网掩码等)。NAS收到此信息后对本地环境进行配置,并启动对拨入用户的相应服务(如建立PPP连接)。否则返回Access-Reject数据包,拒绝用户访问。如果允许访问,NAS向RADIUSServer发送开始计费请求AccountingRequest数据包,RADIUSServer返回AccountingResponse数据包。用户下网,NAS向RADIUSServer发送结束计费请求AccountingRequest数据包,RADIUSServer返回Ac-countingResponse数据包。RADIUS不但支持本地认证,还支持漫游认证。所谓漫游认证,就是两个RADIUSServer之间可以转发RADIUS认证和计费数据包,相互认证。这样可以让用户通过本来和其无关的RADIUSServer进行认证。图1中,A和B可以漫游认证,B的用户可以漫游到A,通过NAS、RADIUSServer(A)、RADIUSServer(B)进行漫游认证上网。漫游认证过程中,RADIUSServer(A)作为Client,将NAS发来的AccessRequest、AccountingRequest数据包转发给RA-DIUSServer(B),RADIUSServer(B)返回相应的响应包RADIUSServer(A)再将响应包返回给NASo本地用户和漫游用户在认证过程中输入用户名不同,本地用户输入username即可,漫游用户需输入username©area,其中are是安全域标识,RADIUSServer将根据area判断该用户所属安全域,从而向对应的RADIUSServer转发认证包。.RADIUS安全机制分析分析RADIUS认证过程,NAS与RADIUSServer,以及RADIUSServer之间数据包的传送是在开放的Internet中的通信,存在以下儿个方面的安全问题:双方通信被非法侦听,攻击者窃取合法的用户帐号及口令。如果用户帐号及口令被窃取并使用,真正的用户将蒙受损失。攻击者假冒RADIUSServer,给NAS响应,破坏认证系统正常的认证及授权。攻击者假冒NAS,向RADIUSServer发请求,比如发计费请求,导致RADIUSServer记录错误计费信息。因此,RADIUS协议的安全性是影响认证系统能否安全认证、安全授权、安全计费的关键问题。从RADIUS协议内容来看,安全机制主要有以下两个方面:通信双方的身份认证。认证系统的每对实体之间都有一个共享密钥K,双方在交互报文中附加MD5(信息+K)放在Authenticator字段,通过Authenticator字段认证通信双方身份。MD5釆用哈希函数算法[3],是不可逆的,因此,假冒者不能从MD5(信息+K)中推导出K;如果没有K,假冒者就不能算出正确的MD5(信息+K)。接收者通过验证Au-thenticator字段可以验证发送方身份,有效防止假冒欺骗。因此,这一安全机制可以解决安全问题(2)和(3)。共享密钥K的安全十分重要,一旦K被假冒者获得,该安全机制就会崩溃。RADIUS协议没有提供通信双方交换K的机制,K不在网上传输,在实现中,K以网外形式分配来保证K的安全。用户口令的加密传输。用户口令以密文方式传输且是单向密文,加密算法为:口令密文二MD5(K+Access-Req.Authenticator)XOR口令明文。由于MD5算法的不可逆性,窃听者不能从密文推出明文,从而保证了口令在传输中的安全,可有效地解决安全问题(1)。另外,用户口令在用户数据库中的存放也应以单向密文形式,即加密方式存储,以提高安全性、保密性。一种实现方法是:口令密文二f(MD5(口令明文))。认证时,RADIUSServer使用K解得口令明文后,计算f(MD5(口令明文))得到口令密文,将结果与数据库中的口令密文比较,即可验证口令是否正确。以上关于用户口令加密传输、加密存储的安全机制,攻击者既不能通过劫取报文获得口令,也不能通过攻击数据库获得口令,保证了口令的传输安全和存储安全。从上述分析可见,RADIUS协议通过通信双方身份认证和口令加密传输两方面的安全性保护机制,有效解决了假冒攻击、侦听窃取口令等安全问题,从而保证了认证系统的安全。.RADIUS协议脆弱性分析⑴釆用UDP通信,可黑性比TCP通信差。RAD协议采用基于UDP的传输,而UDP釆用简单的丢包机制没有关于重传的规定,没有错误处理,因此,RADIUS通信的可靠性完全依赖于网络层,如果网络发生拥塞则发生丢包。RADIUS包的丢失会对认证成功率、计费标准有一定的影响。这一不足,可以考虑采用TCP传输和增误处理进行改进。(2)MD5算法存在一定的安全隐患。2004年国际密码学会议上公布了一个破解MD5的方法,采用MD5算法的安全系统受到一定威胁。但山于破解算法是一个概率性的破解算法,只对部分信息集用,所以,虽然MD5算法存在一定安全隐患,但仍比较安全,是可用的。RADIUS协议采用MD5算法加密,存在一定的安全患。这一不足,可以考虑选择其它尚未被破解的单向加密法,比如SHA-1等来代替MD5算法的使用,以增强安全用SHA-1算法替换MD5算法,对于RADIUS协议的报格式和认证流程不会造成任何影响,不需作任何改变,是行的一种解决办法。4.1.2传输层协议脆弱性分析・TCP协议.TCP协议讲解TCP的功能受限于其头中携带的信息。因此理解TCP的机制和功能需要了解TCP头中的内容。下图显示了TCP头结构,和其中各域的大小。2字节2字节4字节4字节4字节6字节6字节2了节2字节2字节最小1字节变长充TCP源端口号UDP目的端口号TCP顺用号TCP应答号数据偏移保留标志位窗口人小校验和域针选项域1位URG1位ACK1位PSH1位RST1位同步1位FIN图4-3TCP头结构TCP协议头最少20个字节,包括以下各域:・TCP源端口一16位的源端口域包含初始化通信的端口号。源端口和源IP地址的作用是标识报文的返回地址。・TCP目的端口一16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。・TCP序列号一32位的序列号由接收端计算机使用,重组分段的报文成最
初形式。在动态路山网络中,一些报文很可能使用不同的路山,因此,报文会乱序到达。这个序列号域可以补偿传输中的不一致。•TCP应答号-TCP使用32位的应答(ACK)域标识下一个希望收到的报文的第一个字节。对一些没发生的事情作应答有点不直观,但收到ACK报文的源计算机会知道特定的段已经被收到。标识每个ACK的号是应答报文的序列号。这个域只在ACK标志被设置时才有效。•数据偏移一这个4位域包括TCP头大小,以32位数据结构或称为“字”为单位。•保留一6位恒置0的域。为将来定义新的用途保留。•标志一6位标志域,每1位标志可以打开一个控制功能,这六个标志是:紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。这些标志,以出现的先后顺疗:排列为URG、ACK、PSH、RSTSYN和FINo考虑到前面对它们功能进行的描述,这些标志的意义容易理解。•窗口大小一目的机使用16位的域告诉源主机,它想收到的每个TCP数据段大小。•校验和-TCP头也包括16位的错误检查域、校验和域。源主机基于数据内容计算一个数值。LI的主机要进行相同的计算。如果收到的内容没有被改变过,两个计算结果应该完全一样,从而证明了数据的有效性。•紧急一紧急指针域是一个可选的16位指针,指向段内的最后一个字节位置,这个域只在URG标志设置了时才有效。如果URG标志没被设置,紧急域作为填充。在源与U的主机之间网络中的设备要加快处理标识为紧急的数据段。•选项一至少一字节的可变长域标识哪个选项(如果是有的话)有效。如果没有选项,这一字节的域等于0,说明选项域的结束。这个字节等于1表示无需再有操作。值2表示下四个字节包括源机器的最大段长度(MaximumSegmentSize,MSS)oMSS是数据域中可包含的最大数据量,源和LI的机器要对此达成一致。•数据一技术上讲,并不是TCP头的一部分,认识到应用数据段在紧急指针和/或选项域之后,但在填充域之前是很重要的。域的大小是最大的MSS,MSS可以在源和口的机器之间协商。数据段可能比MSS小,但却不能比MSS大。•填充一和它名字所暗示的不同,填充在数据通信中总是为数学忖的而存在。其U的是确保空间的可预测性;定时和规范大小。这个域中加入额外的零以保证TCP头是32位的整数倍。2)TCP协议及原用户用尸发送SYNijf求 SYNJ服务器收到未自服务器的回复发送确认信息正确建立连接用户用尸发送SYNijf求 SYNJ服务器收到未自服务器的回复发送确认信息正确建立连接SYNKACKJ-1服务器收到请求回复SYW-ACK色ACKKT收到确认正确建立连接核动发送SLN核动发送SLN谖求收到确认正确关闭连接用户发送嘶求服务器收到请求回复确认用户发送嘶求收到未自服务器的回复FI2请求发送确认信息•正确关闭连接图4-4一次正常TCP连接的建立和关闭过程TCP(传输控制协议)提供面向连接、可靠的、全双工的、点对点的通信服务。在利用TCP进行通信之前,通信双方需要建立一条TCP连接。当需要结束通信时,可由通信的任何一方来终止TCP连接。为了确保连接的建立和终止都是可靠的,TCP使用三次握手的方式。TCP使用SYN(同步段)报文来描述用于创建一个连接的三次握手中的消息,用FIN(结束段)报文来描述用于关闭一个连接的三次握手中的信息。收到请求的一方会使用ACK(确认)报文来对请求方或发送方来回复确认。如图为一个TCP连接正常的连接和终止过程。3)针对TCP协议的脆弱性分析(1) TCP序列号的随机性对TCP数据包结构和TCP协议的工作流程的分析可知:在创建一个TCP连接的三次握手过程中,要求连接双方都要产生一个随机的32bit的初始序列号。如果在计算机重新启动之后,一个应用尝试建立一个新的TCP连接,TCP就选择一个新的随机数。这样可以保证新的连接不受原来连接的重复或延迟包的影响。TCP序列号的随机性导致是TCP协议的脆弱性之一,既然是随机的那么这个丿芋列号就可以被猜测产生,猜测攻击不仅可以在建立TCP连接的三次握手过程中实现,而且还可以在TCP连接建立后的数据传送过程中实现。(2) 发送连接建立请求的IP判定在TCP连接的建立过程中,每当服务器接收到一个TCP连接建立请求,就向连接建立请求者回复SYN+ACK信息,同时将该请求插入请求队列中等候处理。如果攻击者使用大量的并不存在的IP地址同时向服务器发送TCP连接建立请求,服务器就会响应大量的连接建立请求并试图等待源IP的连接建立确认,如果这些IP地址根本不存在,则这些IP对于服务器来说是不可达的,那么,服务器就永远接收不到任何的回复确认信息,这个连接就处于半开状态一直呆在请求队列中直到超时,而在这等待的时间里,系统资源得不到释放,山于服务器的请求队列的长度是有限的,大量半开状态的连接必将使请求队列溢出,从而使得服务器无法处理新的连接建立请求,从而使服务器无法向正常的用户提供服务。(3) 内存空间的开辟TCP在将连接建立请求插入到请求队列的同时,会在本机内存中开辟相应的内存空间用于建立相关的数据结构和保存状态。大量的SYN请求信息必将使服务器开辟大量的缓冲区,从而将系统的内存资源消耗尽,使得服务器无法再进行别的工作,最终陷入瘫痪的状态。4.1.3网络层协议脆弱性分析・IP协议1).IP头结构
4位4位17节IP版本号头长度•服务类型标志2字节文报总长2字节度4位4位17节IP版本号头长度•服务类型标志2字节文报总长2字节度标识3位优先级1位正常&1位正密&1位正當&髙2位保留低延时高吞吐虽能位1字节1字节1字节2字节4字4分段声讯协议校脸字变偏移时M标识和城目节长域域域的垃地地充址址3字节分段标志图4・5IP头结构图1示给出了IP头结构,以及其中各域的大小。IP头有以下各域:・版本一IP头中前四位标识了IP的操作版本,比如版本4或版本6。・Internet^长度一头中下面4位包括头长度,以32位为单位表示。・服务类型一下面的一个字节包括一系列标志,这些标志能保证优先级(相对于其他IP报文的绝对优先级)、延时、祚吐量以及报文数的可靠性参数。优先级标志3位长,而延时,吞吐量和可靠性标志每个1位长。剩下的两位保留为将来之用。•总长度(TotalLength)-报文总长度,16位域,长度以字节为单位。有效值范围最大至65535个字节。•标识(Identifier)一每个IP报文被赋予一个惟一的16位标识,用于标识数据报的分段。•分段标志(FragmentationFlag)一下一个域包括3个1位标志,标识报文是否允许被分段和是否使用了这些域。第一位保留并总设为0,第二位标识报文能否被分段。如果这位等于0,说明内容可以被分段。如果等于1,它就不能被分段。第三位只有在第二位为0时才有意义。如果这一位等于0(数据可分成多个报文),这一位标识此报文是否是这一系列分段的最后一个,或者接收应用程序是否还希望有更多的段。0指示报文是最后一个。・分段偏移(FragmentOffest)—8位的域指出分段报文相对于整个报文开始处的偏移。这个值以64位为单位递增。・生存时间(TTL)-IP报文不允许在广域网中永久漫游。它必须限制在一定的TTL内。8位的TTL在经过每一跳时加1。在到达它的最大限制之后,报文就被认为是不可转发的。之后产生一个ICMP报文并发回源机器,不可转发的报文被丢弃。・协议一8位域指示IP头之后的协议,如VINES>TCP、UDP等。・校验和(checksum)—校验和是16位的错误检测域。目的机、网络中的每个网关要重新讣算报文头的校验和,就如同源机器所做的一样。如果数据没有被改动过,两个计算结果应该是一样的。这个域也通知H的主机所接收的数据的量。・源IP地址一源计算机的IP地址。・目的IP地址一目的计算机的IP地址。•填充一为了保证IP头长度是32位的整数倍,要填充额外的0。这些头域说明IPv4的网络层是无连接的:网络中的转发设备可以自山决定通过网络的报文的理想转发路径。它也不提供任何上层协议如TCP所提供的应答、流控、序化功能。IP也不能用于引导IP报文中的数据到正确的LI的应用程序。这些功能留给上层协议,如TCP和UDP。.IP协议功能IP协议的主要功能包括:寻址和路由分段和重组传输过程中数据损坏检测和更正寻址和路由IP主要的功能是寻址和路山。它能使报文送到特定LI的地,这就是寻址功能;连接源和U的地网络中的路山器和交换机使用U的IP地址确定经过网络的最优路径,这是路山功能。相似的,IP报文也包括源机器地址。源地址的出现是因为目的机可能会和源机通信。分段和重组有时应用数据的一段不能完全包括在一个IP报文中,可能是应用数据过大等原因,我们不作追究,但是它们必须分段成两个或更多的报文。当分段发生时,IP必须能重组报文,无论被分为多少段。源和LI的机遵守完全相同的分段和重组过程,他们是可逆的关系。否则,不可能将重组的数据转发。在U的机上,数据恢复到源机器上的相同格式时,传输数据就被成功重组了。IP头中的分段标志标识分段的数据片。重组分段的数据和乱序帧经重排序到达的数据是非常不同的。重新排序乱序帧是TCP的功能。C.损坏报文补偿IP的最后一个主要功能是检测和补偿在传输过程中遭到破坏或丢失的报文。在这个功能中路由起着重要作用。破坏报文的方式不止一个,报文是很脆弱的,报文以与源机创建时不同的位模式到达LI的机时,就认为报文被破坏了。也有许多原因可造成报文丢失。网络拥塞会导致报文TTL超时,检测到报文TTL超时的路山会简单地把报文丢弃。另一种情况是,报文遭到EMI或RFI干扰,可能使头信息变得没有意义。在这种情况下,报文也将被丢弃。当报文被破坏或者丢弃时,路山器必须通知源机。这时IP头中包含了源机器的IP地址的作用就体现出来了。IP不包括重传机制,但通知源主机可能会导致重传,因此通知源主机起着重要作用。这是路由起了很大的作用。IP协议脆弱性分析(DIP地址的唯一性和公开性IP地址的唯一性和公开性,是导致IP协议脆弱性存在的根本原因。在TCP/IP
协议中,IP地址是用来作为网络节点的惟一标志,但是节点的IP地址乂不是固定的,是一个公共数据,因此攻击者可以直接修改节点的IP地址,冒充某个可信节点的IP地址攻击,或者编程(如RawSocket),实现对IP地址的伪装。4.1.4网络接口层协议脆弱性分析・ARP协议1)ARP协议讲解在内网安全防范中,ARP协议的安全性是一个非常重要的,也是内网攻击者最偏向于利用的网络底层协议,针对其产生的攻击也很多,因此对ARP协议的安全性分析具有相当重要的意义。ARP协议,全称地址解析协议,是TCP/IP协议中位于网络接口层的协议,为两种不同类型的地址提供动态映射:32bit的IP地址和网络接口层使用的任何类型的地址。ARP协议的功能ARP协议的主要功能是提供IP地址和网络接口层的地址的映射。下面我们举例说明:假设交换式局域网内有两台主机A和B,当A需要与B进行通信时,A首先利用ARP协议获得B的MAC地址,为进行通信做准备,工作原理如图1所示。收到请求更新ARP缓存并进行收到应答更新ARP缓存收到应答更新ARP缓存图4-6ARP协议工作原理ARP协议脆弱性分析ARP协议是具有广播性、无连接性、无序性、无认证字段、无关性和动态性,这些特性是导致其脆弱性存在的根本原因。同时ARP协议建立在局域网主机相互信任的基础之上,这种互信也直接导致了其不安全。正是山于这些问题的存在,所以利用ARP协议漏洞进行网络攻击是相当有效,而且是难以预防的。我们即将在下一章中对ARP协议的脆弱性进行验证,并将其脆弱性进行详细的解释和阐述。5实验・ARP协议脆弱性验证欺骗类攻击在主动攻击中是非常普遍的。欺骗类攻击是比较复杂的攻击,ARP欺骗是其中最常见的攻击之一。两台主机在局域网上通信时是使用MAC地址的。当一台主机发送数据到另一台主机时,它就要在自己的ARP缓存中查找目标主机的MAC地址,如果地址不在缓存中,将会发送广播来寻找。这种获得地址的方法取决于只有正确的主机才会响应并且只能以正确的MAC地址响应这一理念。ARP是个无状态协议,它不保持对请示和响应的跟踪。任何主机都可以不必接受请示而发送响应,其结果导致LI标主机更新它们的ARP缓存。黑客机可以发送响应来操作LI标主机的ARP缓存,称为ARP欺骗。ARP欺骗的结果是,黑客机可以接受口标主机的数据,极有可能存在恶意的LI的。当然,这就需要黑客机按需要截取,终端或者修改通信信息。5.1实验原理如果1号主机要向2号主机发送报文,就会先查询本地的ARP缓存表,找到2号主机IP所对应的MAC地址后,就会进行数据传送。如果未找到,则1号主机广播一个ARP请求报文,网上所有主机都会收到这个请求,但只有2号主机识别自己的IP地址,于是向1号主机发送一个ARP响应报文。该报文就包含有2号主机的MAC地址,1号主机接收到2号主机的响应后,就会更新本地的ARP缓存,然后按照这个MAC地址发送数据。因此本地高速缓存的ARP表是本地网络高速流通的基础,而这个缓存是动态的。ARP协议并不只在发送了ARP请求后才接受ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址都储存在ARP缓存中。5.2实验目的进一步了解ARP协议,并对ARP协议的脆弱性进行分析;5.3实验设备PC机一台、XP虚拟机两台;5.4实验步骤1•配置本地PC的IP地址为、虚拟机的地址分别为:、;如图所示:2.查看各自的IP地址以及MAC地址;
图5-1 1号主机IP.MAC地址图5・22号主机IP.MAC地址图5・3号主机IP、MAC地址3•查看各自的ARP缓存注意产看ARP缓存表中的IP地址对应的MAC地址;G:XDociinientsandSettings\wangweitao>arp一aInterface: 0x2InternetAddressPhiysicalAddressType4088-ae-ld-d2-68-95dyna.niic2200-0c-29-34-b7-7csta.tic2300-0c-29-f?-f8-3fsta.tic00-0c-29-34-h7-7cdynanic00-0c-29-f9-f8-3fdynanic图5-41号主机ARP缓存信息C:xDocunentsandSettings^Administrator>arp-aIntepface: 0x10003IntepnetAddressPhysicalAddressType4088-ae-ld-d2-68-95dynamic2300—1£—d0—ca~4a—3adynamic00—1f—d0-ca-4a—3adynamic00-0c-29-f9-£8-3fdynamic图5-52号主机ARP缓存信息4.运行ARPSpoof,先查看本机的IP地址和MAC地址然后生成job.txt文件,如图所示:fc:\at*pspoof.3.1.spc\Release>arpspoof/IARPSpoofUer3.1hbyCoolDiyer0-NUIDIfinForceMCPNetworkingAdapterDriver(MicrosoftJsPacketScheduler)IPAddress : PhysicalAddress.•:00-1F-D0-CA-4A-3ADefaultGateway•.:N/A图5-6査看本机IP地址和MAC地址fc:Xarpspoof・3・:1.src\Release>arpspoof/nHRPSpoofUer3.lbbyCooIDiyer[+1ReplaceJobfilejob・txtreleasesuccess—图5・7生成job.txt文件5.在PC机上执行ARP欺骗。向虚拟机发送伪造ARP应答,声称它的MAC地址就是10.10.41」的MAC地址。C:xai*pep<jof.3•丄.ei'cxRelease poof10.10.41・2JLO・£6.41.38001/i*Job.txtARPSpoofUer3・1bbyCoulDiyerBindonJLG・10.41・1HUIDIAnFui*ceMCPNetvoi*kincfAdapterDriver<Mlci*oeo£t*ePacketSchodulci*>・・•[*JPairingrulHITP^l・==>HTIPZl.!206OKSci*ucr:CoolDiyor^sHackIISContent-Lcngl;h:27Connection:closeContent-Iypo:text/htmlUrtckbycoo1<1iye»*<nofr«nt-s>[・]LoA<l«d1>*uLets.--lx!Spoofing1H.1M.41.2<->10.10・4i・3
图5・81号主机欺骗3号主机6•在个主机上ping一下对方,然后查看3号主机的ARP缓存表;~CiMITO01S\syst«32\c«d.*5-91号主机pin叭3~CiMITO01S\syst«32\c«d.*5-91号主机pin叭3号主机InternetAdrlpe^sPhysicalAdd""00~lf-J0-ca-4ci-3ciTyped^fiariic,lD|x|El|C:sDocuinentscuulSettinasMidiniriistrator>ping|C:sDocuinentscuulSettinasMidiniriistrator>pingPinginglfi.lfi.41.1with32liptesofdata:ReplyWcplyNepJLy^cplyFrom10.41・i:h^tes=32from10-10.41.1ReplyWcplyNepJLy^cplyFrom10.41・i:h^tes=32from10-10.41.1:bytc3-32from10.10・4:L・1.:b</tee=32fropi:bytes-32time=liu<?timc<ln3timeClnetlineClinsTTL=64TTL-64ITL=64TTL-64Pingstatisticsfor:Packets:Pingstatisticsfor:Packets:Sent=4,Received^ppwiximateroundtpiptinesin=4,Lost=0〈0之loss>,nilli-seconds:Mininuim-0ns,Maximun-imsfivcrajfc-0ni3■C:sDucuinentsandSettin9s\Adininistrator>pingPinging10.lfi.41.3with32l.iptesofdata:peplyKeplyReply^cplvfrom10-Ifi.41.3:h^tes=32frompeplyKeplyReply^cplvfrom10-Ifi.41.3:h^tes=32from:bytc3~32From 41.3:hi;tes=3Zfrom10-10.41.3:bytes-32time=Sn»stimc・2e3time=4n»sthne-5msTTL=128TTL-128TTL=12STTL-128Pingstatisticsfor1A.10.41.3:Pachots:SentPingstatisticsfor1A.10.41.3:Pachots:Sent=4,Rccoivodmipvoximateroundti*iptinesIn=4#Lost=0<0^:Loes>,nilli-seconds:Hiniruim■2nsHaximun-5pig»nuezge■仆3图5-102号主机pingK3号主机图5-113号主机pin头2号主机C:\>arp-aInterface:——0x20002InternetfiddressPhysicalAddressType4088ac-ld-d268-95dynamic00-lf-d0-ca-4a-3adynamic00-lf-d0-ca-4a-3adynamic图5-12攻击后在3号主机上的ARP缓存表此时我们可以看到2号主机的MAC地址变成和1号主机相同的MAC地址。7•此时抓包分析目的IP地址:目的MAC地址:00-0C-29-34-B7-7C,如下图:Frame4ftL(74bytesonwire,74bytescaptured)~Ethernern.src:WTware.f9:f8:3f(00:0c:29:f9:f8:3f),ost:Glga-Byr.ca:4a:3a(00:lf:dO:ca:4a:3a)♦inxerneiProtocol,src:(),ost:()S)InrernetcontrolMessageProtocol00000010002000300040CIOe700066oo2d608066aoCCS305664a00316b64ab033c0106600892doo66TC28d1306600977Oa2672900000010002000300040CIOe700066oo2d608066aoCCS305664a00316b64ab033c0106600892doo66TC28d1306600977Oa267d3bd 0a Oa 29 03 Oa Oa .< )...la00 61 62 63 €4 65 66 .abcdef6f70 71 72 73 74 75 76 gh1jklmn opqrsruv6869 wabcdefghiF辽•:Pi'IDCUraCUMniirVlJDCAIS^l'G"IPadMts:741DiiplAy«4!24B«rk«4!0Drived:0图5・13数据包截图5.5实验结论通过本次ARP欺骗实验,有效的验证了ARP协议存在的脆弱性。即ARP这个无状态协议,它不保持对请示和响应的跟踪。任何主机都可以不必接受请示而发送响应,其结果导致LI标主机更新它们的ARP缓存。这样就使黑客机可以利用这个漏洞,发送响应来操作目标主机的ARP缓存。结果是,黑客机可以接受目标主机的数据,极有可能存在恶意的目的。在有局域网的某个子网中,既能防止此类攻击乂不给网络管理带来额外麻烦的方法是选择带有抗ARP欺骗攻击功能的防火墙产品和杀毒软件产品。6结论6.1TCP/IP存在脆弱性TCP/IP存在脆弱性,总体来说:.开放性。TCP/IP协议具有开放性,不提供安全保证,虽然方便了网络互联,同时也为非法入侵者提供了方便。他们一旦入侵,就可以冒充合法用户进行破坏,篡改信息,窃取报文内容。.Internet提供了不安全服务,这些不安全服务也是基于应用层的协议设计的。如远程访问,许多数据信息是明文传输,明文传输既提供了方便,也为入侵者提供了窃取条件。入侵者可以利用网络分析工具实时窃取到网络上的各种信息,其至可以获得主机系统网络设备的超级用户口令,从而轻易地进入系统。类似于此的攻击数不胜数。.是因特网连接基于主机上社团的彼此信任,只要侵入一个社团,其他就可能受到攻击。这也是由于网络互联过程中基于的TCP/IP的脆弱性,具体地讲,网络系统存在以下三个方面的滑洞,这是网络安全的最大隐患。根据TCP/IP脆弱性分析可将脆弱性归为以下儿类:没有可幕的身份验证网络节点的IP地址是否匹配在第四章中我们已经提到这一点,协议以32bit的IP地址来作为网络节点的唯一标识,而IP地址只是用户软件设置中的一个参数,因而是可以随意修改的。对UDP来说,是根据这个IP地址来唯一标识通信对方。由于TCP/IP不能对节点上的用户进行有效的身份认证,服务器无法鉴别登录用户的身份有效性,攻击者可以冒充某个可信节点的IP地址,进行IP欺骗攻击。TCP序列号的可预测性TCP则通过三次握手,使情况稍有改善oTCP中的每个报文都含有一个标识本报文在整个通信流中位置的32bit序列号,通信双方通过序列号来确认数据的有效性。曲于TCP设计三次握手过程本身并不是为了身份验证,只是提供同步确认和可靠通信,虽然这也能够提供一定的身份验证的支持,但这种支持很薄弱。由于某些系统的TCP序列号是可以预测的,攻击者可以构造一个TCP数据包,对网络中的某个可信节点进行攻击。不能有效防止信息泄漏IP协议不信息泄漏问题,在TCP/IP的核心协议IP、TCP、UDP中,没有一个协议提供对数据进行加密的功能。IP协议是无连接的协议,一个IP包在传输过程中很可能会经过很多路山器和网段,在其中的任何一个环节都很容易进行窃听。更严重的是,现有大部分协议都是明文在网络上传输的,如telnet、ftp、smtp、pop3、http等,攻击者只需简单地安装一个网络嗅探器,就可以看到通过本节点的所有网络数据包。这种'全裸’的方式儿乎毫无安全性可言。没有提供可靠的信息完整性验证手段在TCP/IP协议中,尽管提供对数据完整性验证的描施,但是仍然非常薄弱。在IP协议中,仅对IP头实现校验和保护,而对报文不做任何操作。在UDP协议中,对整个报文的校验和检查是一个可选项,也就是不是所有的报文都经过校验和检查,而且对UDP报文的丢失不做检査。在TCP协议中,比以上两种协议做的要好一些,但也是有限的。虽然每个报文都经过校验和检查,并且通过连续的序列号来对包的顺序和完整进行检查,保证数据的可靠传输。但事实上,绝大部分基于TCP的应用都假设TCP传输是可靠的,而实际上这种数据完整性的检查是不够的。校验算法中没有涉及加密和密码验证,很容易对报文内容进行修改,再重新汁算校验和。最后,TCP的疗:列号也可以任意的修改,从而在原数据流中添加和删除数据。协议没有手段控制资源占有和分配在传统的网络(如电讯网络)中,有两种控制资源占有和分配的手段:资源限额和计费。资源限额相对于计费来说是一种主动的方法,即每个客户都分配一定限额,限制客户对资源的使用。当资源使用达到限额时,通信活动就被限制。计费相对来说就比较被动,即根据资源的使用,事后向用户收取一定的费用,来限制用户对资源的使用。这两种方式相结合来使用是比较常见的。但是‘TCP/IP没有提供控制资源占有和分配的手段。TCP/IP中,完全凭借用户自觉。如果参加TCP通信的一方发现上次发送的数据报丢失,则主动将通信速率降至原来的一半。这样,也给恶意的网络破坏者提供了机会。如网络破坏者可以大量的发IP包,造成网络阻塞,也可以向一台主机发送大量的SYN包,从而大量占有该主机的资源。这种基于资源占用造成被攻击主机拒绝向其他主机服务。TCP/IP安全图根据第3章TCP/IP协议详细分析和第4章脆弱性分析的结果,对常见协议按层分类。在每层中,按照协议类型、所属公司、使用或被使用的相关性再进行分类。然后在安全图中对常见协议进行展示,根据脆弱性分析的结果,在存在嗅探点的协议上进行标记。进而画出网络安全图。网络安全图可以让我们更清楚的知道TCP/IP协议的体系结构,以及常见协议的关系,标记存在嗅探点的协议,可以让我们对常见协议中不安全的协议一L1了然。如图所示:NlFHPror«VTiATPHU8:CeW:r>Tu"Telnet
aFt^rfcrIEQ5信尺笫4层应用层各种程字协{议,如http,ftp.smtp・«FAHP云卫丈峠访闰沁SOOCTS炙土之•亭faA■gp Til■to -哎美住土初该・u玄-次W=Q均廉刃■S.enCPAJMF辽前三u石日多pop3o3-MTTPGDP去K":处0;:*ft-%<ncc&*OCC«Cbrr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Excel函数知识课件
- dpmas基本知识教学课件
- 简约几何培训课件
- 职场妈妈的时间管理
- 人教版数学六年级下册第四单元比例应用题训练(含答案)
- 人教版数学六年级下册《圆、圆柱的认识、圆柱的表面积》(试题)
- 2025年广元市重点中学高三下学期生物试题(月考)独立作业1含解析
- 沈阳城市建设学院《团体操编排》2023-2024学年第二学期期末试卷
- 省际名校2024-2025学年高三寒假考试(一)化学试题含解析
- 湖南交通职业技术学院《机械设计基础A2》2023-2024学年第二学期期末试卷
- 振动理论习题答案
- 创新学习方法助力2024年ESG考试的试题及答案
- GB/T 10810.1-2025眼镜镜片第1部分:单焦和多焦
- 精装工程师转正述职报告
- 统编版小学语文四年级下册第13课《猫》精美课件
- 新媒体环境下新闻虚拟主播对受众认知影响及发展路径研究
- 山东省威海市2024届高三下学期二模试题 数学 含解析
- 做最勇敢的自己
- 农大3号鸡饲养管理手册-
- 不公开开庭审理申请书
- 手术部位标识国家标准(2023版)
评论
0/150
提交评论