黑客攻击解密 分析选定的网络进行……( 三 )


这种攻击背后的动机只是使网络或服务暂时瘫痪 。因为攻击者不需要功能强大的机器或高速的网络连接来执行这种攻击 , 所以它特别危险 。
Smurf 攻击
 
类别:拒绝服务攻击
描述:Smurf 攻击是拒绝服务攻击的一种非常可怕的形式 , 因为它具有放大效应 。Smurf 攻击利用 ICMP 回应消息 。如上所述 , 主机 A 每次向主机 B 发送回应请求消息时 , 主机 B 都会返回回应应答消息以表明自己是活动的 。名称“Smurf 攻击”源自一个名为 smurf 的利用程序 , 攻击者用该程序来执行这种攻击 。
在深入研究这种攻击的详细信息之前 , 我应该解释一下术语电子欺骗(spoofing) 。电子欺骗可以解释成用于伪造的网络安全术语 。它指的是攻击者有办法构造包含错误数据的网络数据报 。例如 , 攻击者可以从主机 A 向主机 B 发送数据报 , 但在该数据报头的源地址字段使用主机 C 的 IP 地址 。这样 , 主机 B 就会认为包是来自主机 C 而不是主机 A 。实际上 , 主机 C“假扮”了主机 A , 而主机 B 对此一无所知 。
知道了这一点 , 假设攻击者构造了一条 ICMP 回应消息 , 它的头中包含伪造的任意主机 A 的源地址 , 如 192.168.2.2 。让我们进一步假设主机 A 位于网络 192.168.2.0 , 并且攻击者将该数据报发送到这个网络的网络广播地址而不是某台特定主机 。通过将该数据报发送到网络广播地址 , 该数据报将被广播到这个网络上的每台主机 , 而该网络上的每台主机都会向假想的发送方(主机 A)返回回应应答消息 。假设有 255 个子网 , 每个子网有 255 台计算机 , 则会有超过 65,000 台计算机向主机 A 发送回应应答消息 — 而这还只是假设攻击者仅仅广播了一条欺骗数据报(255 * 255 = 65,025) 。通过增加欺骗包广播的次数或网络广播的规模 , 您将发现这能够成为非常严重的攻击形式 。
Smurf 攻击的动机与前一种攻击相同 。容易发现 , 由于这种攻击的放大效应 , 它甚至能够使工业强度的 Web 服务器瘫痪 。同样 , 攻击者只需要很少的资源 。
传输控制协议(TCP)
TCP 协议在包交换计算机网络中提供面向连接的、可靠的流传递服务 。这意味着 TCP 模块保证传递无重复、无传输错误 , 而且数据以正确顺序传输 。TCP 进一步提供了端口抽取功能 , 这使得主机可以并行地打开多个 TCP 连接 。您可以由此发现 TCP 是由源地址/端口和目的地地址/端口四部分标识的 。IP 地址/端口对被称为套接字 。
TCP 与下面的 IP 层和上面的表示层及应用层协议(如 Telnet 或 SMTP)相互操作 , 如图 1 所述 。
在继续讨论攻击之前 , 我将更详细地讨论 TCP 的某些方面 , 这些知识对于下面讨论的攻击是必需的 。尤其是 TCP 包(称为段)的结构、如何在主机之间建立 TCP 连接和如何关闭连接 。
TCP 包的结构
与 IP 数据报类似 , TCP 段包含头部分、可选(选项)部分和数据部分 。现在 , 让我们更仔细地研究一下 TCP 头的某些重要字段:
源端口:分配给启动连接的主机上虚连接的端口号 。
目的地端口:目的地端口号 。这也由启动连接的主机分配 , 因为只有该主机知道自己“想”连接到哪里 。例如 , 如果您打开到特定主机的 Telnet 连接 , 则目的地端口将被设置为 23 。
序列号和确认号:发送方和接收方使用两个序列号来确保包没有丢失、没有重复以及可以在目的地节点以正确顺序重新组装 。
标志:这个字段包含六个控制位:
URG:向接收方表明一接收完数据就进行紧急处理 。
ACK:表明确认号字段是有意义的 。
PSH:表明必须迅速地将数据传递到接收方 。
RST:表明要立即复位连接 。
SYN:在需要同步序列号的情况下设置 。
FIN:表明不会再有来自发送方的数据了(也就是说 , 连接将要关闭) 。
以上是 TCP 头中的重要字段 , 下面关于 TCP 连接的建立和关闭的几节将使您更好地理解这些字段的用途 。
建立和关闭 TCP 连接
 
连接建立:TCP 连接的建立由要建立连接的客户机和该客户机联系的服务器通过三步握手过程执行 。要开始连接 , 您需要有一个在特定端口提供服务的服务器;例如 , 在端口 23 侦听的 Telnet 服务 。当客户机想要打开与服务器的连接时 , 它向服务器发送一个连接请求 。这意味着向服务器发送一个设置了 SYN 标志的 TCP 包 。服务器以设置了 SYN 和 ACK 标志的包应答 。最后 , 客户机通过向服务器发送设置了 ACK 标志的 TCP 包进行确认 。这样 , 客户机和服务器之间的连接就建立起来了 。


推荐阅读