拒绝服务(dos)攻击的目标是连接到internet上的设备和网络。它们的目标不是为了偷取数据,而是让设备或网络失效,从而使用户不再有机会获取网络资源。zywall已被预先配置为能够自动发现并且阻断所有已知的dos攻击。
9.4.1 基础知识
计算机使用tcp/ip来共享intemet上的信息。tcp/ip是一组提供特定功能的应用协议。我们一般使用“tcpport”或“udpport”来代表这些协议,例如http(web),ftp(filetransferprotoc01),pop3(e-mail)等等。例如,web通信使用tcp端口80。
当计算机在intemet上通信的时候,它们会使用客户端/服务器的模式,服务器会在一个特定的tcp/udp端口上侦听来自网络上的远端客户计算机的请求信息。例如,一般web服务器会侦听80端口。请注意,当一台计算机试图连接端口80的时候,其它端口也是激活的。如果配置或管理计算机不小心,黑客就有可能从一个无保护的端口上攻击它。
一些常见的ip端口是:
表54 常用ip 端口

9.4.2dos攻击类型
dos攻击会有以下四种类型:
1.用tcp/ip执行中的缺陷。
2.利用tcp/ip规范上的弱点。
3.用大量无用的数据阻塞网络。
4.ip欺骗。
1、“pingofdeath”和“teardrop”攻击使用的是计算机和主机系统tcp/ip的缺陷。
a)pingofdeath利用“ping”宋创建一个超过ip规范所允许的最大65,535字节的ip数据包。如果这个数据包被发送到一个系统,那么该系统就可能拥塞,挂死或重新启动。
b)teardrop攻击利用的是ip数据包重组过程中的弱点。当数据在网络上传送的时候,ip数据包通常会被拆成更小的块。这些片段除了包含一个分支信息,比如说,“这个片段包含了原始ip数据包(没有被拆分)400个字节中的200字节”以外,它和原始ip数据包是一样的。“teardrop”程序创建了一系列的包含了重叠的分支信息的ip片段。当这些片段在目的地被重组的时候,一些系统就有可能会拥塞,挂死或重新启动。
2、cp/ip 规范上的弱点使得它容易受到“syn flood”和“land”的攻击。这些攻击会在两个应用之间初始化通信握手的时候发生。
图70 三步握手

在通常情况下,开始会话的一端送出一个syn(同步)数据包给接收端。接收端送回一个(收到)数据包和它自己的ack syn。然后,开始端回应一个ack。经过这样的握手,一个连接就建立起来了。
a)syn attack 会使用一系列的syn 数据包来淹没一个目标系统。每个数据包都会使目标系统产生一个syn-ack 回应。当目标系统等待对syn-ack 做出回应的ack 时,它就会让所有的syn-ack 排列等待。只有当ack 回来以后或者内部时钟(通常都被设成相对较长的时间间隔)中断了这个三方握手,syn-ack 才会被移出队列。当队列被充满以后,系统就会忽略所有进来的syn 请求,从而使得合法用户不能被系统接受。
图71 syn flood

b)对于land 攻击,黑客会使用假源ip 地址的syn 数据包淹没目标系统。这就好象是主机在向自己发送数据包,当目标系统尝试回应自己的请求的时候,系统不能正常工作了。
3、brute-force 攻击,例如“smurf”攻击,针对的是ip 规范中定向的或子网广播的特性,用大量的无用的数据迅速淹没目标路由器。一个smurf 黑客一般用icmp(internet control messageprotocol)回应请求数据包来淹没一个系统。因为每个
数据包的目的ip 地址是向整个网络广播的,路由器会向全网的所有主机广播icmp 的回应请求数据包。如果网络上有大量的主机,这会产生大量的icmp 回应请求和回应。如果一个黑客选择了假的源ip 地址作为icmp 回应请求数据包的ip 地址,就不仅会造成“媒介”网络的阻塞,而且会造成被伪造的源ip 地址网络,也叫做“受害者”网络的阻塞。这种通信广播洪水会消耗所有的带宽,使得通信中断。
图72 smurf attack

9.4.2.1 icmp 的易损性
icmp 是一种和ip 协议相关的错误报告协议。下列是可以触发报警的icmp 类型:
表55 触发报警的icmp 命令
5 redirect
13 timestamp_request
14 timestamp_reply
17 address_mask_request
18 address_mask_reply
9.4.2.2 非法命令(netbiosh 和smtp)
只有下表中的netbios 命令是合法的,其余都是非法的。
表56 合法的netbios 命令
message:
request:
positive:
negative:
retarget:
keepalive:
除了下表所示的命令以外,其余的smtp 命令都是非法的。
表57 合法的smtp 命令
auth data ehlo etrn expn helo help mail noop
quit rcpt rset saml send soml turn vrfy
9.4.2.3 traceroute
traceroute可以用来判断一个数据包在两点之间所经过的路径。有时候,当一个包过滤器防火墙配置不正确的时候,黑客就可以利用traceroute工具宋获得防火墙内部网络的拓扑结构。
通常,很多dos攻击会采用一种叫做“ipspoofing”的技术来作为攻击的一部分。ipspoofing可以用来入侵系统,掩藏黑客身份或者扩大dos攻击的效果。ipspoofing是一种用来欺骗路由器或防火墙,让它们认为通信是来自可信任的网络,从而未经认证就接入计算机的技术。为了实现ipspoofing,黑客必须修改数据包的包头,使数据包象是由可信任的网络产生的,从而被路由器或防火墙所接受。zywall可以阻隔所有ipspoofing的攻击。