2024年4月4日发(作者:)
网络攻击是一种主动式攻击威胁,其安全威胁是最高的,因为这些实施网络攻击的黑客们通
常是有明确目的的,一旦攻击成功,就可能给公司带来巨大的损失。在本章1.2.4节已介
绍到了网络攻击的一些主要类型,本节要具体介绍这些网络攻击的行为特征和基本防御方
法。
1.1 拒绝服务攻击行为特征和防御方法
拒绝服务(Denial of Service,DoS)攻击是最常见的一种网络攻击。目前已知的拒绝服务攻击
就有几百种,它是最基本的入侵攻击手段,也是最难对付的入侵攻击之一。
DoS攻击的目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有汁算机网络
带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被
消耗殆尽,最后导致合法的用户请求无法通过。连通性攻击指用大量的连接请求冲击计算机,
使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。在这
一攻击原理下,针对所攻击的服务或协议的不同,它又有许多种不同的攻击方式。正确了解
这些不同的拒绝攻击方式,就可以正确、系统地为自己所在企业部署完善的安全防护系统。
在此,我们仅针对几种典型的拒绝服务攻击原理进行简要分析,并给出基本的防御策略。但
是要注意,
就目前来说,对于拒绝服务攻击,并没有特别有效的预防方法,所以DoS攻击尤其是DDo
S攻击成为了黑客们经常使用的攻击手段之一。部署防火墙和入侵检测系统可以起到一定的
预防作用。
1.TCP SYN洪水(TCP SYN Flood)攻击
TCP SYN洪水攻击是整个拒绝服务攻击中被黑客们应用最广、最容易实现的一类拒绝服务
攻击。它的攻击原理就是TCP/IP栈只能等待有限数量的ACK(应答)消息,因为每台计算机
用于创建TCP/IP连接的内存缓冲区都是非常有限的。如果这一缓冲区充满了等待响应的初
始信息,则该计算机就会对接下来的连接停止响应,直到缓冲区里的连接超时。TCP SYN
洪水攻击利用了这一系统漏洞来实施攻击。要明白TCP SYN洪水攻击的具体过程得先明白
TCP协议连接建立的三次握手过程。
TCP SYN拒绝服务攻击原理其实也就是TCP连接的三次握手过程。我们知道,一个TCP
连接的建立需要经过三次握手,即:
(1)建立发起者向目标计算机发送一个TCP SYN报文。
(2)目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发
起者回送一个TCP ACK报文,等待发起者的回应。
(3)发起者收到TCP ACK报文后,再回应一个ACK报文。
通过以上3个简单的步骤就把一个TCP连接建立起来了。但黑客也正是利用了这一连接原理
的不足而实施攻击的。攻击的过程与TCP连接的三次握手过程基本一样,只是在最后一步
发起者收到TCP ACK报文后不向目标计算机回应ACK报文,这样导致目标计算机一直处
于等待状态。由此可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发
起者的ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把日标计算机
的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。
攻击者在实施TCP SYN洪水攻击时,首先利用伪造的IP地址向目标发出多个连接(SY-N)
请求,目标系统在接收到请求后发送确认信息,并等待回答。由于黑客们发送请示的IP地
址是伪造的,所以确认信息不会到达任何汁算机,当然也就不会有任何计算机为此确认信息
作出应答了。而在没有接收到应答之前,目标计算机系统是不会主动放弃连接的,会继续在
缓冲区中保持相应连接信息。当达到一定数量的等待连接后,缓区部内存资源耗尽,从而开
始拒绝接收任何其他连接请求,当然也包括本来属于正常应用的请求,这就是黑客们的最终
目的。
防御TCP SYN洪水攻击的基本方法:在防火墙上过滤来自同一主机的后续连接。防火墙
具体抵御TCP SYN洪水攻击的方法将在本书的第3章中详细介绍。
2.ICMP与UDP洪水攻击
正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请
求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Repl
y报
文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片
的
时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文f产生ICMP洪水),则目
标
计算机会忙于处理这些ECHO报文,而无法继续处理其他的网络数据报文,这就是ICMP
洪水
攻击,也是一种拒绝服务攻击(DOS)。
UDP洪水攻击原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,
导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。
防御ICMP与UDP洪水攻击的基本方法:关掉不必要的TCP/IP服务,或者对防火墙进行
配置阻断来自Intemet的请求这些服务的ICMP和UDP请求。
3.死亡之Ping(Ping 0f death)攻击
在早期,路由器对包的大小是有**的,许多操作系统TCP/IP栈规定ICMP包的大小**在6
4KB以内。在对ICMP数据包的标题头进行读取之后,是根据该标题头里包含的信息来为有
效载荷生成缓冲区。当ICMP包大小超过64KB,就会出现内存分配错误,导致TCP/IP堆
栈崩溃,从而使接受方计算机宕机。这就是这种“死亡之Ping”攻击的原理所在。根据这一攻
击原理,黑客们只需不断地通过Ping命令向攻击目标发送超过64KB的数据包,就可使目标
计算机的TCP/IP堆栈崩溃,致使接收方宕机。
防御死亡之Ping攻击的基本方法:现在所有的标准TCP/IP协议都已具有对付超过64KB大
发布评论