因特网与TCPIP安全课件.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《因特网与TCPIP安全课件.pptx》由会员分享,可在线阅读,更多相关《因特网与TCPIP安全课件.pptx(235页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 因特网与因特网与TCP/IP安全安全 5.1 TCP/IP协议栈协议栈 5.2 互联网地址互联网地址 5.3 协议封装协议封装 5.4 IP协议协议 5.5 TCP协议协议 5.6 UDP协议协议 5.7 ARP/RARP协议协议 5.8 ICMP协议协议 5.9 网络服务的安全性网络服务的安全性 第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 5.1 TCP/IP协议栈协议栈 因特网(Internet)依赖于一组称为TCP/IP的协议组。TCP/IP是一组通信协议集的缩写,它包含了一组互补和合作的协议。所有这
2、些协议共同工作,以便在因特网上传输信息。我们知道,ISO/OSI模型将网络表示为一个垂直的模块(或分层)协议栈,每层完成特定的功能。TCP/IP协议栈只是许多支持ISO/OSI分层模型的协议栈的一种。TCP/IP通常被认为是一个四层协议系统,如图5-1所示。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 ISO/OSI参考模型将网络设计划分成七个功能层,但此模型只起到一个指导作用它本身并不是一个规范。例如,TCP/IP网络只使用ISO/OSI模型的五层。图5-2显示了一个简单的五层网络模型,其中每层都采用了TCP/IP协议。网络层和相应的协议层组成了该模型,数据通过此模型在应
3、用程序和网络硬件之间进行传递。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-2中,有箭头的线表示不同的网络软件和硬件之间可能的通信信道。例如,为了和传输层通信,应用程序必须与用户数据报协议(UDP)或传输控制协议(TCP)模块对话;为了和网络层通信,应用程序必须与互联网控制报文协议(ICMP)或者互联网协议(IP)模块对话。但是,不管数据通过什么路径从应用层到网络层,数据都必须经过IP模块才能到达网络硬件。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-1ISO/OSI模型与TCP/IP协议栈第第5 5章章 因特网与因特网与TCP/IPTCP/
4、IP安全安全 图5-2TCP/IP协议栈各相关协议第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 在TCP/IP协议体系结构中,每层负责不同的网络通信功能:(1)链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其它任何传输媒介)的物理接口细节以及数据帧(Frame)的组装。(2)网络层,有时也称作互联网层,处理分组(Packet)在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议、ICMP协议以及IGMP协议(因特网组管理协议)。第第5 5章章 因特网与因特网与TCP/IP
5、TCP/IP安全安全 (3)传输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块(段:Segment)交给下面的网络层、确认接收到的分组报文、设置发送的最后确认分组的超时时钟等。由于传输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报(Datagram)的分组
6、从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必要的可靠性必须由应用层自己负责提供。这两种传输层协议在不同的应用程序中分别有不同的用途,这一点将在后面看到。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 (4)应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:Telnet(远程登录)FTP(文件传输协议)SMTP(简单邮件传输协议)SNMP(简单网络管理协议)第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 5.2 互互 联联 网网 地地 址址互联网上的每个接口必须有一个惟一的互联网地址(也称作I
7、P地址),长32比特。互联网地址并不采用平面形式的地址空间,如1、2、3等,它具有一定的层次结构。五类不同的互联网地址格式如图5-3所示。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-3五类互联网地址第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-4各类IP地址的范围第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 这些32位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法”(DottedDecimalNotation)。例如,作者的系统就是一个B类地址,它表示为:140.252.13.
8、33。区分各类地址的最简单方法是看它的第一个十进制整数。图5-4列出了各类地址的起止范围,其中第一个十进制整数用加黑字体表示。需要注意的是,多接口主机(例如路由器)具有多个IP地址,其中每个接口都对应一个IP地址。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 5.3 协协 议议 封封 装装当应用程序用TCP/IP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些头部信息(有时还要增加尾部信息),该过程如图5-5所示。TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCPSegment)。IP传给网络接
9、口层的数据单元称作IP分组(IPDatagram)。通过以太网传输的比特流称作帧(Frame)。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-5中帧头和帧尾下面所标注的数字是典型以太网帧头部的字节长度。以太网数据帧的物理特性是其长度必须在461500字节之间。有些TCP/IP协议文献也使用octet这个术语来表示字节。更准确地说,图5-5中IP和网络接口层之间传送的数据单元应该是包(Packet)。包既可以是一个IP数据报,也可以是IP数据报的一个片(Fragment)。我们将在下一节讨论IP数据报分片的详细情况。第第5 5章章 因特网与因特网与TCP/IPTCP/I
10、P安全安全 图5-5在以太网上使用TCP进行数据封装第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 UDP数据与TCP数据基本一致。惟一的不同是UDP传给IP的信息单元称作UDP数据报(UDPDatagram),而且UDP的首部长为8字节。回想前面的图5-2,由于TCP、UDP、ICMP和IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入某种标识,以表明数据属于哪一层。为此,IP在首部中存入一个长度为8比特的字段,称作协议域。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。第第5 5章章 因特网与因特网与TCP/IPTCP/I
11、P安全安全 类似地,许多应用程序都可以使用TCP或UDP来传送数据。传输层协议在生成报文首部时要存入一个应用程序的标识符。TCP和UDP都用一个16比特的端口号来表示不同的应用程序。TCP和UDP把源端口号和目的端口号分别存入传输层报文首部中。网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个16比特的帧类型域。以下简单介绍TCP/IP中的各协议具备的功能及其工作原理。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 5.4 IP 协协 议议网际协议IP是TCP/IP的核心
12、,也是网络层中最重要的协议。IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP协议是不可靠的协议,因为IP并没有做任何事情来确认数据包是否按顺序发送或者有没有被破坏。IP数据包中含有发送它的主机的IP地址(源地址)和接收它的主机的IP地址(目的地址)。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 IP数据包的格式如图5-6所示。普通的IP首部字段包含20个字节,除非含有选项部分。分析图5-6中的首部。最高位在左边,记为第0比特;最低位在右边,记为第
13、31比特。四个字节的32比特值以下面的次序传输:首先是07比特,其次是815比特,然后是1623比特,最后是2431比特。这种传输次序称作大字节(BigEndian)顺序。由于TCP/IP首部中所有的二进制整数在网络中传输时都要求以这种次序,因此它又称作网络字节序。以其它形式存储二进制整数的机器,如小字节(LittleEndian)格式,则必须在传输数据之前把首部转换成网络字节序。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-6IP数据包格式及首部中的各字段第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 目前的协议版本号(Version)是4,因此I
14、P有时也称作IPv4。首部长度(HeaderLength)指的是首部以32比特为单位的长度,其中包括任何选项。由于它是一个4比特字段,因此首部最长为60个字节。普通IP数据报(没有任何选择项)字段的值是5。总长度(TotalLength)字段是指整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长16比特,所以IP数据包最长可达65535字节。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 总长度字段是IP首部中必需的内容,因为一些数据链路(如以太网)需要填充一些数据以达到最小长度。尽管以太网的最小帧长
15、为46字节(见图5-5),但是IP数据可能会更短,如果没有总长度字段,那么IP层就不知道46字节中有多少是IP数据报的内容。标识(Identifier)字段惟一地标识主机发送的每一份数据报。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 TTL(TimeToLive,生存时间)字段设置了数据报可以经过的最多路由器数。它指定了数据包的生存时间。TTL的初始值由源主机设置(通常为128或64),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,数据包就被丢弃,并发送ICMP报文通知源主机。常用的网络工具Traceroute就是利用的该字段。第第5 5章章 因特网与因
16、特网与TCP/IPTCP/IP安全安全 高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP协议包含一个选项,叫作IP源路由选项(SourceRouting),可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而设计的,利用该选项可以欺骗系统,使之放行那些通常是被禁止的网络连接。因此,许多依靠IP源地址进行身份认证的服务将会产生安全问题以至被非法
17、入侵。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 在我们深入讨论各种基于IP的攻击之前,将首先介绍一个很关键的概念欺骗(Spoofing)。也就是说,伪造一个假的源IP地址的包是非常容易的,当另外的主机接收到这个包时,会以为包来自假冒的发送者,这个过程称为欺骗目标机器。使用欺骗技术的原因很多,但是最为重要的要数获得匿名性,通过对包的欺骗,攻击看起来是来自其它地方。同样,当攻击者发现某机器的身份具有访问某些资源的特权时,也会使用欺骗技术。IP协议存在的安全问题不少,下面我们选择一些比较典型的攻击案例来分析其安全性。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全
18、安全 1死亡之ping(pingofdeath)最简单的基于IP的攻击可能要数著名的死亡之ping(pingofdeath),这种攻击主要是由于单个包的长度超过了IP协议规范所规定的包长度。产生这样的包很容易,事实上,许多操作系统都提供了称为ping的网络工具。在WIN98中,开一个DOS窗口,输入ping-l65510the.target.ip.addr就可达到该目的。UNIX系统也有类似情况。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 死亡之ping是如何工作的呢?首先是因为以太网帧长度有限,IP包必须被分片。当一个IP包的长度超过以太网帧的最大尺寸(以太网头部和尾部
19、除外)时,包就会被分片,作为多个帧来发送。接收端的机器提取各个分片,并重组为一个完整的IP包。在正常情况下,IP头包含整个IP包的长度。当一个IP包被分片以后,头只包含各个分片的长度。分片并不包含整个IP包的长度信息,因此IP包一旦被分片,重组后的整个IP包的总的长度只有在所有的分片都接收完毕之后才能确定。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 在IP协议规范中规定了一个IP包的最大尺寸,而大多数的包处理程序又假设包的长度超过这个最大尺寸这种情况是不会出现的。因此,包的重组代码所分配的内存区域也最大不超过这个最大尺寸。这样,超大的包一旦出现,包当中的额外数据就会被写入
20、其它正常内存区域。这很容易导致系统进入非稳定状态,是一种典型的缓存溢出(BufferOverflow)攻击。在防火墙一级对这种攻击进行检测是相当难的,因为每个分片包看起来都很正常。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 由于使用ping工具很容易完成这种攻击,以至于它也成了这种攻击的首选武器,这也是这种攻击名字的由来。当然,还有很多程序都可以做到这一点,因此仅仅阻塞ping的使用并不能够完全解决这个漏洞。预防死亡之ping的最好方法是对操作系统进行补丁,这样,内核将不再对超过规定长度的包进行重组。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 2泪滴
21、(Teardrop)攻击Teardrop攻击同死亡之ping有些类似,在这儿,一个大IP包的各个分片包并非首尾相连,而是存在重叠(Overlap)现象。在图5-7中,分片1的偏移等于0,长度等于15,分片2的偏移为5,这意味着分片2是从分片1的中间位置开始的,即存在10字节的重叠。系统内核将试图消除这种重叠,但是如果存在重叠段的分片包长度小于重叠部分长度(如图5-8所示),内核将无法进行正常处理。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-7正常的两个包重叠处理第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-8分片2没有足够的数据来覆盖重叠区
22、第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 3源路由(SourceRouting)实际中,黑客从来不会直接从自己的机器向目标机器发送一个数据包,这很容易被跟踪。相反,它们会利用其它网络中已经获得非授权使用的机器来进行攻击。这样,对攻击的跟踪将变得困难。另外,通过利用IP协议的某些额外选项可以让黑客的攻击锦上添花,那就是IP源路由选项允许发送者指定包的路由。它有两种形式:第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 (1)严格的(Strict)源路由选项。发送端指明IP数据报所必须采用的确切路由。如果一个路由器发现源路由所指定的下一个路由器不在其直接连接
23、的网络上,那么它就返回一个“源站路由失败”的ICMP差错报文。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 (2)宽松的(Loose)源站选路。发送端指明了一个数据报经过的IP地址清单,但是数据报在清单上指明的任意两个地址之间可以通过其它路由器。源路由选项允许黑客伪装成其它的可信任机器,这使得黑客攻击变得难于跟踪。幸运的是,大多数的主要服务都不使用源路由选项,我们可以使用防火墙来过滤掉任何的源路由选项数据包。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 5.5 TCP 协协 议议 如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到T
24、CP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包含序列号和应答号,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层将它们向下传送到IP层、设备驱动程序和物理介质,最后到接收方。面向连接的服务(例如Telnet、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但通常使用UDP传送有关单个主机的信息。图5-
25、9所示是TCP首部的数据格式,如果没有任选字段,其长度是20个字节。第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 图5-9TCP首部第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 每个TCP段都包含源端和目的端的端口号,用于定位发端和收端的应用进程。这两个值加上IP首部的源IP地址和目的IP地址可以惟一确定一条TCP连接。在TCP首部中有6个标志比特,它们中的多个可同时被设置为1。在此只给出各个比特的功能说明(在随后的章节会有更详细介绍):第第5 5章章 因特网与因特网与TCP/IPTCP/IP安全安全 URG紧急指针有效ACK确认序列号有效PSH接收方应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 因特网 TCPIP 安全 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内