1、第2章网络协议的安全性计算机网络的演变第一阶段:理论基础研究的基础第二阶段:新型分组交换技术的诞生 标志着计算机网络与通信技术的结合基本成型第三阶段:TCPIP 协议的提出 标志着通信与计算机技术的结合基本完成计算机网络的概念能够相互共享资源的方式互连起来的自治计算机系统的集合通信技术计算机技术计算机网络技术角度资源共享角度对信息的存储和处理实现计算机与计算机之间的互连、互通4计算机网络的的性质分散性 计算机网络所连接的计算机系统可以是分布在不同地理位置的多台独立的计算机系统。异构性 计算机网络中所包含的计算机不论是在组成上,还是功能上,都可以有显著的不同。自治性 参与连接计算机网络的计算机应
2、该是“自治计算机系统”,即所有计算机应该实行自我管理。计算机网络协议 用来规定信息格式语法 用来说明通信双方应当怎么做语义 详细说明事件的先后顺序时序规则网络协议包含三个基本要求网络协议是网络上所有设备之间通信规则的集合。6计算机网络分类 广播式网络(Broadcast Networks)点对点网络(Point-to-Point Networks)按传输技术分类 局域网(LAN)城域网(MAN)广域网(WAN )按网络的覆盖范围与规模分类 有线网络 无线网络按通信技术分类计算机网络的组成与结构资源子网通信子网主机局域网主机局域网主机局域网大型机终端路由器路由器路由器路由器路由器路由器终端8常见
3、计算机网络拓扑结构总线型结构 优点:结构简单,可扩充性好缺点:维护难,分支节点故障查找难常见计算机网络拓扑结构环状结构 优点:简化了路径选择,节点控制软件简单缺点:传输效率低,不便于扩充,可靠性低,维护难,网络连接设备常见计算机网络拓扑结构星状结构 优点:结构简单,便于管理;控制简单,便于建网;网络延迟时间较小,传输误差较低。缺点:成本高、可靠性较低、资源共享能力也较差。以中央节点为中心,又称为集中控制式网络常见计算机网络拓扑结构树状结构 分级的集中控制式网络常见计算机网络拓扑结构网状结构 优点:系统可靠性高,容错能力强缺点:连接不经济,每台设备之间均有点到点的链路连接;安装复杂分布式网络常见
4、计算机网络拓扑结构无线接入设备无线终端无线终端无线通信基站无线通信基站地面接受天线卫星无线通信与卫星通信网络结构 TCP/IP协议基础 OSI参考模型 互联网设计之初的使用目的是用于科学研究,其基本假设就是节点的诚实性;由于计算机网络的广泛使用,这种假设在今天已经无法成立,因此可能导致各种各样的攻击。这些攻击主要针对两方面的缺陷:协议设计的缺陷,这种攻击会一直存在,直至该协议更新;协议实现的缺陷,这种攻击会随着软件的更新而消除。TCP/IP协议基础 OSI参考模型(Cont.)应用进程访问网络服务的窗口应用层 解释不同控制码、字符集和图形字符等表示层 负责建立、维护和同步通信设备之间的交互操作
5、会话层 负责整个消息无差错、按顺序地的从信源到信宿传递过程传输层 负责数据包成功和有效率地经过多条链路、由信源到信宿的传递过程网络层 负责将数据帧无差错地从一个站点送达下一个相邻站点数据链路层 数据链路实体间透明的比特(Bit)流传输物理层TCP/IP协议基础TCP/IP协议栈(Cont.)直接为网络应用提供服务,使得应用程序能通过网络收发数据应用层 为应用层实体提供端到端的通信功能,提供有连接的服务和无连接的服务传输层 提供可靠、无连接的数据报传递服务。网际层负责对数据包进行路由选择网际互联层 负责在实际网络中传输、发送、接收端到端数据包网络接口层uOSI模型是在协议开发前设计的,具有通用性
6、.TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络.u实际市场应用不同(OSI模型只是理论上的模型,并没有成熟的产品,而TCP/IP已经成为“实际上的国际标准”)TCP/IP协议基础TCP/IP协议栈(Cont.)SMTPHTTPTELNETDNSSNMPTFTPRPCTCPUDP ARP,RARP,etc.IP,ICMP,IGMP应用应用层层传输传输层层网际网际层层网络网络接口接口层层以太网,帧中继,令牌环以太网,帧中继,令牌环,etc.TCP/IP协议基础协议数据封装应用层传输层网络层数据链路层物理层应用层传输层网络层数据链路层物理层AHTHIHFHBitsDATAFT假消
7、息攻击v假消息攻击假消息攻击 利用网络协议设计中的缺陷,通过发送伪造的数据包达到欺骗目标、从中获利的目的 哪些协议设计有缺陷,是容易受到攻击的呢?哪些协议设计有缺陷,是容易受到攻击的呢?假消息攻击的分类 分类与网络协议各层次的关系应用层传输层网络层数据链路层DNS欺骗,SMB中间人攻击SYN Flood攻击,IP欺骗ICMP重定向攻击,IP分片攻击ARP欺骗物理层数据发送应用层应用层传输层传输层网络层网络层主机网络层主机网络层应用程序操作系统操作系统网络设备应用数据应用数据TCP头应用数据TCP头IP头应用数据TCP头IP头帧头网页访问内部网络外部网络GET HTTP:/正确的TCP包头正确的
8、IP包头正确的MAC帧头您的主机:建立TCP连接 要访问上的数据,必须首先和服务器建立起连接。正确的TCP包头正确的IP包头正确的MAC帧头TCP包头 TCP包头部分包括源端口、目的端口、TCP标志、TCP选项等内容。正确的TCP包头正确的IP包头正确的MAC帧头源端口:4039目的端口:80FLAGS:SYNIP包头 IP包头部分包括源IP地址、目的IP地址、IP标志等内容。正确的TCP包头正确的IP包头正确的MAC帧头源IP:202.196.53.8目的IP:?目的IP:162.105.203.114n目的IP地址通过DNS解析确定。MAC帧头 MAC帧头部分包括源MAC地址、目的MAC地
9、址以及上层协议类型等内容。正确的TCP包头正确的IP包头正确的MAC帧头源MAC:00-06-29-b3-4c-49 目的MAC:?连接的MAC帧头部分 由路由表信息和ARP缓存信息,可以确定帧头的目的MAC地址域正确的TCP包头正确的IP包头正确的MAC帧头源MAC:00-06-29-b3-4c-49 目的MAC:?目的MAC:00-e0-4c-de-04-26目标IP地址路由IP地址目标MAC地址主机路由表 route print显示当前主机的路由表信息。=Active Routes:Network Destination Netmask Gateway Interface 0.0.0.0
10、0.0.0.0 202.196.53.254 202.196.53.8 127.0.0.0 255.0.0.0 127.0.0.1 27.0.0.1 202.196.53.0 255.255.255.0 202.196.53.8 202.196.53.8 202.196.53.8 255.255.255.255 127.0.0.1 127.0.0.1 Default Gateway:202.196.50.254=vDestIP&Netmask=Network Destination,选择相应的,选择相应的Interface和和Gateway发送数据发送数据162.105.203.114地址解析
11、协议ARP Arp命令显示了本机的arp缓存。Internet Address Physical Address Type 202.196.53.254 00-e0-4c-de-04-26 dynamic 202.196.53.57 08-00-46-60-8d-3a dynamicC:arp-a ARP协议的作用物理地址物理地址IP地址IP地址地址解析协议地址解析协议(ARP)(ARP)反向地址解析协议反向地址解析协议(RARP)(RARP)地址解析协议ARP31地址解析协议ARP硬件类型硬件地址长度硬件地址长度(n)(n)发送方硬件地址(n字节)发送方协议地址(m字节)目的方硬件地址(n字
12、节)目的方协议地址(m字节)协议地址长度协议地址长度(m)(m)协议类型操作操作015311:ARP请求(request)2:ARP应答(reply)1:Ethernet(10 Mb)3:Amateur Radio AX.254:Token Ring6:IEEE 802 networks11:Local talk0 x0800:IPv4链路层和局域网5-32ARP:地址解析协议地址解析协议p每个在局域网上的每个在局域网上的IP节点节点(Host,Router)都有都有ARP 表表pARP表表:局域网上一局域网上一些节点的些节点的IP/MAC地地址映射址映射 TTL(Time To Live):
13、映射地址的失效时映射地址的失效时间间(典型为典型为20分钟分钟)问题:知道问题:知道B的的IP地址怎么地址怎么知道它的知道它的MAC地址地址1A-2F-BB-76-09-AD58-23-D7-FA-20-B00C-C4-11-6F-E3-9871-65-F7-2B-08-53 LAN237.196.7.23237.196.7.78237.196.7.14237.196.7.88链路层和局域网5-33ARP协议协议p A想发送分组给想发送分组给 B,A知道知道 B的的IP地址地址p 假设假设B的的MAC地址不在地址不在A的的ARP表中表中p A广播广播包含包含B的的IP地址的地址的ARP查查询包
14、询包 目的目的MAC地址地址=FF-FF-FF-FF-FF-FF 在局域网上的所有机器都能在局域网上的所有机器都能收到收到ARP查询查询p B收到收到 ARP包,回给包,回给A一个带有一个带有B的的MAC地址的包地址的包 包单播包单播unicast发送给发送给A的的MAC地址地址p A缓存缓存IP-to-MAC地址对在地址对在 ARP表中,直到信息过期表中,直到信息过期(timeout)软件规定软件规定:如果如果ARP表的信息表的信息在一定时间内没有刷新,则在一定时间内没有刷新,则信息将过期。信息将过期。p ARP是即插即用的是即插即用的:无需网络管理员干预,节点无需网络管理员干预,节点就能创
15、建就能创建ARP表表链路层和局域网5-34路由到其他局域网路由到其他局域网A通过通过R向向B发送分组发送分组 假设假设A知道知道B的的IP地址地址p 在路由器在路由器R中有两个中有两个ARP表,每个针对一个表,每个针对一个IP网络网络(LAN)p 在主机的路由表中发现路由器的在主机的路由表中发现路由器的IP:111.111.111.110p 在主机的在主机的ARP表中发现表中发现MAC地址:地址:E6-E9-00-17-BB-4B等等等等ARB链路层和局域网5-35p A创建一个分组,源地址为创建一个分组,源地址为A,目的地址为,目的地址为Bp A使用使用ARP得到得到R的的111.111.1
16、11.110的的MAC地址地址p A创建一个链路层帧,该帧以创建一个链路层帧,该帧以R的的MAC地址为目的地址地址为目的地址,并包含,并包含 A-to-B的的IP数据包数据包p A的适配器发送帧的适配器发送帧p R的适配器收到帧的适配器收到帧p R从从Ethernet帧中提取帧中提取IP数据包,得知目的地址为数据包,得知目的地址为Bp R使用使用 ARP得到得到B的的MAC地址地址p R创建一个包含创建一个包含A-to-B的的IP数据包的帧发送给数据包的帧发送给BARBARP协议的效率改进 响应ARP请求的主机将请求者的IPMAC映射缓存。主动的ARP应答会被视为有效信息接受ARP效率带来的问
17、题 发送错误的发送者MAC地址的ARP请求 发送错误的接收者MAC地址的ARP应答38地址解析协议的安全威胁网关192.168.1.10100:00:00:00:00:A1192.168.1.10200:00:00:00:00:A2192.168.1.10300:00:00:00:00:A3192.168.1.10400:00:00:00:00:A4192.168.1.100:00:00:00:00:01Internet谁是192.168.1.102我是192.168.1.1192.168.1.100:00:00:0000:00:00:00:00:01:00:01192.168.1.10119
18、2.168.1.10100:00:00:0000:00:00:00:00:A1:00:A1192.168.1.102192.168.1.10200:00:00:0000:00:00:00:00:A2:00:A2192.168.1.103192.168.1.10300:00:00:0000:00:00:00:00:A3:00:A3192.168.1.104192.168.1.10400:00:00:0000:00:00:00:00:A4:00:A4地址解析协议的安全威胁网关192.168.1.10100:00:00:00:00:A1192.168.1.10200:00:00:00:00:A219
19、2.168.1.10300:00:00:00:00:A3192.168.1.10400:00:00:00:00:A4192.168.1.100:00:00:00:00:01Internet我是192.168.1.1192.168.1.1192.168.1.100:00:00:0000:00:00:00:00:A2:00:A2192.168.1.101192.168.1.10100:00:00:0000:00:00:00:00:A1:00:A1 ARP欺骗的攻击过程 攻击者在局域网网段发送虚假的IP/MAC对应信息,篡改网关MAC地址,使自己成为假网关 受害者将数据包发送给假网关(攻击者)假网关
20、(攻击者)分析接收到的数据包,把有价值的数据包记录下来(比如QQ以及邮箱登录数据包)假网关再把数据包转发给真正的网关ARPARP欺骗欺骗攻击攻击ARP欺骗0260.8c01.22220260.8c01.3333AB网关0260.8c01.111110.0.0.210.0.0.110.0.0.3攻击者在局域网段发送虚假的IP/MAC对应信息,篡改网关MAC地址,使自己成为假网关受害者将数据包发送给假网关(攻击者)假网关(攻击者)分析接收到的数据包,把有价值的数据包记录下来(比如QQ以及邮箱登录数据包)假网关再把数据包转发给真正的网关ARP欺骗ARP欺骗问题的原因:ARP协议设计之初没有考虑安全问
21、题,所以任何计算机都可以发送虚假的ARP数据包。ARP协议的无状态性。响应数据包和请求数据包之间没有什么关系,如果主机收到一个ARP响应却无法知道是否真的发送过对应的ARP请求。ARP缓存需要定时更新,给攻击者以可乘之机。ARP欺骗 ARP欺骗的危害 嗅探 拒绝服务攻击 中间人攻击 ARP欺骗的局限性 ARP欺骗只能被用于局域网(黑客必须已经获得局域网中某台机器的访问权)。44网络接口层协议及安全威胁根据交换表来决定把到达的帧发送到哪个端口,而不是广播接收到的帧但是对于以下两种情况,交换机会采用广播方式发送数据第一,如果帧的目的MAC 地址为广播地址,广播该帧,即:FF-FF-FF-FF-FF
22、-FF。第二,如果帧的目的MAC地址在交换机表中查不到对应的表项,则广播该帧。窃听交换机交换机毒化攻毒化攻击击以太网采用星型拓扑结构,使用集线器(hub)或者交换机(switch)连接网络节点。链路层和局域网5-45集线器集线器Hub集线器本质上是物理层集线器本质上是物理层的中继器:的中继器:处理的基本单位是位处理的基本单位是位 信号放大,延长网络距信号放大,延长网络距离离 收到的位发送给所有其收到的位发送给所有其它连接节点它连接节点 多个端口使用相同的传多个端口使用相同的传输速率,没有帧缓存输速率,没有帧缓存 没有没有CSMA/CD:由计算:由计算机的网卡检测冲突机的网卡检测冲突twiste
23、d pairhubABCD链路层和局域网5-46集线器内部逻辑结构集线器内部逻辑结构端口端口1端口端口2端口端口3端口端口4集线器连接的网络集线器连接的网络 物理上是星型拓扑结构物理上是星型拓扑结构 逻辑上是总线型拓扑结构逻辑上是总线型拓扑结构twisted pairhubABCD链路层和局域网5-47EthernetEthernet交换机交换机p交换机工作在链路层交换机工作在链路层p基于帧转发基于帧转发,实现实现MACMAC地址过滤地址过滤p物理上和逻辑上都是物理上和逻辑上都是星型结构星型结构p交换:交换:A-to-AA-to-A和和 B-B-to-Bto-B同时工作,不冲同时工作,不冲突突
24、链路层和局域网5-48交换机转发交换机转发 交换机怎么确定将接收到的交换机怎么确定将接收到的MAC帧转发到哪一帧转发到哪一个网段呢个网段呢?hubhubhubswitchABCDEFGHI123链路层和局域网5-49交换机的交换机制交换机的交换机制p交换机内部保存一个交换机内部保存一个源地址源地址表又称为表又称为交换表交换表p交换表的表项交换表的表项:(MAC地址地址,接口接口,时间时间)交换表中过期的表项将被删除交换表中过期的表项将被删除(TTL 可以是可以是60分分钟钟)p交换机交换机学习学习哪一个主机可以通过哪一个接口哪一个主机可以通过哪一个接口到达交换机到达交换机 当接收一数据帧时当接
25、收一数据帧时,交换机交换机“学习学习”发送者的位发送者的位置置:即数据进入交换机的即数据进入交换机的LAN网段与接口之间的网段与接口之间的对应关系对应关系 在交换表中记录发送者在交换表中记录发送者/位置对应关系位置对应关系p上述机制称之为交换机的上述机制称之为交换机的“自学习自学习”链路层和局域网5-50交换机举例交换机举例假设假设A发送数据帧到发送数据帧到Ep交换机接收来自交换机接收来自A的数据帧的数据帧m注意在交换表中注意在交换表中A在交换机的接口在交换机的接口1上,上,E在交换机在交换机的接口的接口2上上m交换机将转发数据帧到接口交换机将转发数据帧到接口p数据帧被数据帧被E接收接收 hu
26、bhubhubswitchABCDEFGHI接口接口ABEG1123123MACMAC地址地址链路层和局域网5-51交换机举例交换机举例假设假设C发送数据帧到发送数据帧到Dp交换机接收来自交换机接收来自C的数据帧的数据帧m记录记录C所对应的接口号所对应的接口号1m因为因为D不在交换表中不在交换表中,交换机将转发数据帧到接口交换机将转发数据帧到接口2和和3p数据帧被数据帧被D接收接收 hubhubhubswitchABCDEFGHI接口接口ABEG1123123MACMAC地址地址C 1链路层和局域网5-52交换机举例交换机举例假设假设D回复数据帧给回复数据帧给C.p交换机接收来自交换机接收来自
27、D的数据帧的数据帧m记录记录D所对应的接口号为所对应的接口号为2m因为因为C在交换表中,并且接口为在交换表中,并且接口为1,则交换机只向接,则交换机只向接口口1转发数据帧转发数据帧p数据帧被数据帧被C接收接收hubhubhubswitchABCDEFGHI接口接口1123123MACMAC地址地址C 1ABEGD 2链路层和局域网5-53交换机举例交换机举例假设假设A发送数据帧到发送数据帧到B会有什么结果呢?会有什么结果呢?p交换机接收来自交换机接收来自A的数据帧的数据帧m注意在交换表中注意在交换表中A在交换机的接口在交换机的接口1上上,B也在交换机也在交换机的接口的接口1上上p数据帧将被交换
28、机丢弃数据帧将被交换机丢弃 hubhubhubswitchABCDEFGHI接口接口ABEG1123123MACMAC地址地址丢弃相同接丢弃相同接口的数据帧口的数据帧网络接口层协议及安全威胁(Cont.)交换机交换机毒化攻毒化攻击击 交换表的空间是有限的,新的“MAC地址端口”映射对的到达会替换旧的表项。如果攻击者发送大量的具有不同伪造源MAC地址的帧,由于交换机的自学习功能,这些新的“MAC地址端口”映射对会填充整个交换机表,而这些表项都是无效的,结果交换机完全退化为广播模式,攻击者达到窃听数据的目的。(switch poisoning)55版本号标识生存期源IP地址目的IP地址选项数据IP
29、协议填充位报头校验和分段移位标志(13)总长度标志(3)协议标识服务类型包头长度0153156IP协议的安全威胁拒绝服务攻击 避免被追踪而受到惩罚,构造针对同一目的 IP 地址的 IP 分组,而源 IP 地址为随机的IP地址基于 IP 地址认证的网络服务 假冒可信的IP 地址而非法访问计算机资源TCP首部20 字节的固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 位SYNRSTPSHACKURG位 0 8 16 24 31填 充TCP 数据部分TCP 首部TCP 报文段IP 数据部分IP 首部发送在前TCP协议T
30、CP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。数据偏移(即首部长度)占 4 位,它指出 TCP 报文段的数据起始处
31、距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。保留字段占 6 位,保留为今后使用,但目前应置为 0。紧急 URG(URGent)当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。确认 ACK(ACKnowledgment)只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。推送 PSH(PuSH)发送方收到push指示后快速发送该数据及其之前的数据,接收 TCP 收到 PSH=1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。复位 RS
32、T(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。同步 SYN(SYNchronize)同步 SYN=1 表示这是一个连接请求或连接接受报文。终止 FIN(FINis)用来释放一个连接。FIN 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。窗口字段窗口字段 占占 2 字节,用来让对方设置发送窗口的字节,用来让对方设置发送窗口的依据,单位为字节。依据,单位为字节。检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。
33、紧急指针字段 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。选项字段 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”填充字段 这是为了使整个首部长度是 4 字节的整数倍。TCP连接的建立已经建立的TCP连接SEQ=ISNA=1000 (SYN=1)主机B主机ASEQ=ISNB=2000 ACKA=1001(SYN=1,ACK=1)SEQ=1000 ACK=2001(ACK=1)TCP连接的释放已经建立的TCP连接SEQ=6000 (FIN
34、=1)主机B主机ASEQ=8000 ACK=6001(ACK=1)SEQ=6001 ACK=8001(ACK=1)连接被释放SEQ=8000 ACK=6001(FIN=1)TCP协议的特点全双工连接(full-duplex connection)该连接的两端有两条彼此独立、方向相反的传输通道面向连接(connection-oriented)通信双方在开始传输数据前,必须通过“三次握手三次握手”的方式在二者之间建立一条逻辑上的链路(虚电路虚电路),用于传输数据可靠性(reliable)自动分片;保证传送给应用层的数据顺序是正确的;自动过滤重复的封包;确认-重传确保数据包可靠到达 面向字节流(by
35、te-stream)议将应用程序和网络传输相分割,为流传输服务提供了一个一致的接口 DoS(Denial of Service):拒绝服务 DoS攻击是指利用网络协议漏洞或其他系统以及应用软件的漏洞耗尽被攻击目标资源,使得被攻击的计算机或网络无法正常提供服务,直至系统停止响应甚至崩溃的攻击方式。即攻击者通过某种手段,导致目标机器或网络停止向合法用户提供正常的服务或资源访问。拒绝服拒绝服务攻击务攻击DOS原理DOS的基本模式(1)资源耗尽型UESTCDOS的基本模式 消耗网络带宽。攻击者有意制造大量的数据报或传输大量文件以占用有限的网络带宽,致使合法用户无法正常使用网络资源。消耗磁盘空间。攻击者
36、利用磁盘空间的有限性或存储空间大小控制的缺陷,短时间内制造大量的垃圾信息,使系统或用户因没有磁盘空间而停止工作。消耗CPU和内存资源。操作系统需要提供CPU和内存资源给许多进程共用,攻击者利用系统中存在的缺陷,有意使用大量的CPU和内存资源,导致系统服务性能下降甚至造成系统崩溃。例如:UESTC UNIX系统中,编制下面的C程序可以实现消耗CPU资源和内存资源的攻击。main()main()fork();fork();main();main();DOS的基本模式(2)配置修改型UESTC改变路由信息;修改 Windows NT注册表;修改UNIX系统的各种配置文件,如/etc目录下的各种文件。
37、DOS的基本模式(3)基于系统缺陷型 攻击者利用目标系统和通信协议的漏洞实现拒绝服务攻击。例如一些系统出于安全考虑,限制用户试探口令次数和注册等待时间。当用户口令输入次数超过若干次,或注册等待时间超过某个时间值,系统就会停止该用户的使用权。攻击者利用系统这个安全特点,有意输错口令导致系统锁定该用户帐号,致使该用户得不到应有的服务。(4)物理实体破坏型 这种拒绝服务攻击针对物理设备。攻击者通过破坏或改变网络部件实现拒绝服务攻击,其攻击的目标包括:计算机、路由器、网络配线室、网络主干段、电源、冷却设备。UESTC(1)服务过载 当大量的服务请求发向一台计算机中的服务守护进程时,就会发生服务过载。计
38、算机忙碌地处理不断到来的服务请求,以至于无法处理常规的任务。同时,许多新到来的请求被丢弃。如果攻击的是一个基于TCP协议的服务,那么这些请求的包还会被重发,结果更加重了网络的负担。DOS攻击的基本形式DOS攻击的基本形式(2)消息流 消息流发生于用户向一台网络上的目标主机发送大量的数据报,来延缓目标主机的处理速度,阻止它处理正常的任务。这些请求可能是请求文件服务,要求登录或者仅仅是简单的要求响应数据报。(3)信号接地 物理方法也可以关闭一个网络。将网络的电缆接地,引入一些其他信号或者将以太网上的端接器拿走,都可以有效地阻止客户发送或者接收消息。UESTC“广播风暴”v(4)粘住粘住攻击攻击 可
39、以使用TCP的半连接耗尽资源。如果攻击者发出多个连接请求。初步建立了连接,但又没有完成其后的连接步骤,接收者便会保留许多这种半连接,占据有限的资源。通常这些连接请求使用的是伪造的源地址,连接来自于一台不存在的主机或者一台无法访问的主机。DOS攻击的基本形式DoS攻击分类 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。SYN Flood 死ping(ping of death)泪滴(teardrop)Smurf攻击 Land攻击 分布式拒绝服务攻击 SYN Flood攻击SYN Flood攻击SEQ=ISNA=1000 (SY
40、N=1)主机B主机ASEQ=ISNB=2000 ACKA=1001(SYN=1,ACK=1)l 对Windows NT攻击很有效l 利用IP欺骗技术SYN Flood攻击 SYN Flood远程拒绝服务攻击具有以下特点:针对TCP/IP协议的薄弱环节进行攻击;发动攻击时,只要很少的数据流量就可以产生显著的效果;攻击来源无法定位;在服务端无法区分TCP连接请求是否合法。防御措施:在防火墙上过滤来自同一主机的后续连接。SYN洪水威胁很大,由于释放洪流的主机并不寻求响应,所以无法从一个简单高容量的传输中鉴别出来。死ping(ping of death)在早期版本中许多操作系统对网络数据包的最大尺寸有
41、限制,对TCP/IP栈的实现在ICMP包上规定为64KB。在读取包的报头后,要根据该报头里包含的信息来为有效载荷生成缓冲区。当发送ping请求的数据包声称自己的尺寸超过ICMP上限,也就是加载的尺寸超过64K上限时,就会使ping请求接收方出现内存分配错误,导致TCP/IP堆栈崩溃致使接受方当机。死ping(ping of death)防御:现在所有的标准TCP/IP实现都已实现对付超大尺寸的包,并且大多数防火墙能够自动过滤这些攻击,包括从windows98之后的windows,NT(service pack 3之后)linux,Solaris 和Mac OS都具有抵抗一般ping of de
42、ath攻击的能力。此外对防火墙进行配置,阻断ICMP以及任何未知协议都将防止此类攻击。泪滴(teardrop)泪滴攻击利用那些在TCP/IP堆栈实现中,信任IP碎片中的包的标题头所包含的信息来实现攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP 包括service pack 4以前的NT 在收到含有重叠偏移的伪造分段时将崩溃。例如一个40个字节的数据报被分为两片,第一片数据发送036个字节,而第二片发送2427字节,在某些情况下会破坏整个IP协议栈,必须重新启动计算机才能恢复。补充:IP数据包格式UESTC泪滴(teardrop)防御:服务器应用最新的服务包,或者在设
43、置防火墙时对分段进行重组,而不是转发它们。l 特别打造一个特别打造一个SYNSYN包,其源地址和目标地址都包,其源地址和目标地址都被设置成某一个服务器地址;被设置成某一个服务器地址;l导致接收服务器向它自己的地址发送导致接收服务器向它自己的地址发送SYN-ACK消息,消息,结果这个地址又发回结果这个地址又发回ACKACK消息并创建一个空连接;消息并创建一个空连接;l每一个这样的连接都将保留直到超时;每一个这样的连接都将保留直到超时;l许多许多UNIXUNIX将崩溃,将崩溃,NTNT变的极其缓慢(大约持续五变的极其缓慢(大约持续五分钟)。分钟)。Land攻击攻击 l通过采用通过采用ICMP技术进
44、行攻击。技术进行攻击。(a)攻击者找出网络上有哪些路由器会回应)攻击者找出网络上有哪些路由器会回应ICMP请求。请求。(b)用一个虚假的)用一个虚假的IP源地址向路由器的广播源地址向路由器的广播地址发出讯息,路由器会把这讯息广播到网络上地址发出讯息,路由器会把这讯息广播到网络上所连接的每一台设备。所连接的每一台设备。(c)这些设备马上回应,同时产生大量讯息流)这些设备马上回应,同时产生大量讯息流量,从而占用所有设备的资源及网络带宽,而回量,从而占用所有设备的资源及网络带宽,而回应的地址就是受攻击的目标应的地址就是受攻击的目标。Smurf攻击攻击 Smurf攻击示意图 lFraggle攻击与攻击
45、与Smurf攻击类似,但它使用的攻击类似,但它使用的不是不是ICMP,而是,而是 UDP Echo。l防范防范:在防火墙上过滤:在防火墙上过滤UDP应答消息应答消息Fraggle攻击 l基本原理是利用工具软件,集中在一段时间内,基本原理是利用工具软件,集中在一段时间内,向目标机发送大量垃圾信息,或是发送超出系统接向目标机发送大量垃圾信息,或是发送超出系统接收范围的信息,使对方出现负载过重、网络堵塞等收范围的信息,使对方出现负载过重、网络堵塞等状况,从而造成目标的系统崩溃及拒绝服务。状况,从而造成目标的系统崩溃及拒绝服务。l常见的炸弹攻击有邮件炸弹、聊天室炸弹等。常见的炸弹攻击有邮件炸弹、聊天室
46、炸弹等。l防御:对邮件地址进行配置,自动删除来自同一防御:对邮件地址进行配置,自动删除来自同一主机的过量或重复的消息。主机的过量或重复的消息。炸弹攻击85UDP协议UDP源端口消息长度数据UDP目的端口校验和0153186UDP协议的特点无连接的协议 传输数据之前,源端和目的端无需建立连接。不可靠的协议 如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示不保序的协议 不能确保数据的发送和接收顺序87UDP的安全威胁192.168.1.104服务器192.168.1.103192.168.1.101可信客户端 UDP请求源地址192.168.1.101 UDP应
47、答UDPUDP假冒假冒UDP的安全威胁(Cont.)192.168.1.104服务器192.168.1.103192.168.1.101可信客户端 UDP请求 填充填充UDP应答源地址192.168.1.104UDP应答UDPUDP劫持劫持应用层:域名服务协议comorgcnedunet/org/uk/educom/org/uestcwwwbbsccseme/ee/域名服务协议(Cont.)客户端本地DNS服务器www.example.org192.0.32.10其他DNS DNS查询www.example.org?DNS查询www.example.org?DNS应答192.0.32.10 D
48、NS应答192.0.32.10HTTP请求HTTP应答DNS会话的验证 DNS查询和应答是基于UDP的应用 验证不同的查询/应答是依靠报文中的标识段(ID)DNS欺骗的原理 客户端以特定的标识ID向DNS服务器发送域名查询数据包 DNS服务器查询之后以同样的ID返回给客户端响应数据包 攻击者拦截该响应数据包,并修改其内容,返回给客户端DNSDNS欺骗欺骗DNS欺骗 难点在于如何获得标识号ID 可以结合ARP欺骗或ICMP重定向等手段,采用嗅探的方法得到94域名服务协议安全威胁DNS服务器受害客户端www.example.org?ID=111 www.example.org=1.1.1.1ID=
49、111攻击者DNS IDDNS ID欺骗攻欺骗攻击击域名服务协议安全威胁(Cont.)DNS服务器受害客户端www.example.org?ID=111 www.example.org?ID=36 www.example.org=1.1.1.1和一些其他被篡改的记录,ID=36 www.example.org=1.1.1.1ID=11196域名服务协议安全威胁(Cont.)DNS服务器受害客户端 www.example.org=1.1.1.1 ID=xxxx大量猜测ID的伪造应答数据包攻击者www.example.org?ID=xxxx发出大量查询 www.example.org?www.ex
50、ample.org=1.1.1.197域名服务协议安全威胁(Cont.)DNS服务器组攻击者被攻击者1.1.1.1www.example.org?ID=xxxx发出大量查询,From IP=1.1.1.1 www.example.org=1.2.3.4大量应答基于基于DNSDNS的的DDoSDDoS攻击攻击超文本传输协议本地DNS服务器203.208.39.22客户端HTTP协议安全威胁本地DNS服务器21.120.12.12客户端74.125.71.83中间人中间人攻击攻击HTTP协议安全威胁(Cont.)持久性跨站(persistent XSS or stored XSS)攻击数据存放于服