由于黑客攻击最近在新闻中屡有报导,我们都知道需要认真地对待计算机安全问题。尽管有许多出版物介绍可以用来确保计算机环境安全的软件,但很少有出版物说明黑客攻击实际上是如何执行的。如果您负责确保公司的计算机环境的安全,那么,理解黑客攻击的工作原理对您就很重要了。在本文中,Michael Pichler 分析了一些有趣的网络攻击并说明了它们是如何工作的。您将看到黑客是多么富于创造性,并将了解自己的软件中所包含的一些特性是如何被利用来对付您的。本文适合于对网络有一定理解,但不一定从事网络领域日常工作的读者。
黑客基础知识
不难想象,本文可选择的攻击类型范围很广。我之所以选取本文所讨论的几种特定攻击,是因为它们不需要太多关于所涉及协议的知识,但仍然能有效地说明了攻击是如何执行的、攻击实际上是多么简单(一旦您知道了详细信息)以及攻击者所需的资源(计算和网络)是多么有限。尽管不可能在本文中涵盖关于黑客攻击的整个主题,但我已尽可能简化基本原理,而仍然尽量多地提供必要信息,以便您理解所描述的攻击。
攻击的种类
稍后您将了解关于所选取的攻击及其执行方式的详细信息。但在开始讨论之前,您需要理解这个领域的一些术语。通常,攻击是按其特征分类的。下面描述了这些特征中的两种:
扫描:扫描或跟踪足迹(footprinting)是黑客的初始信息收集过程的一部分。在黑客能够攻击系统之前,他们需要收集关于该系统的信息,如网络布局、操作系统类型、系统可用服务、系统用户等。黑客可以根据所收集的信息推断出可能的弱点,并选择对选定目标系统的最佳攻击方法。
拒绝服务攻击:通常,黑客瞄准特定系统,闯入系统以便将其用于特定用途。那些系统的主机安全性经常会阻止攻击者获得对主机的控制权。但进行拒绝服务攻击时,攻击者不必获得对系统的控制权。其目标只是使系统或网络过载,这样它们就无法继续提供服务了。拒绝服务攻击可以有不同的目标,包括带宽消耗(bandwidth consumption)和资源缺乏(resource starvation)。
协议
本文讨论了针对网际控制报文协议(ICMP)和传输控制协议(TCP)上的攻击,这两个协议都属于网际协议(IP)系列。在深入研究关于这些协议的详细信息之前,我打算先在适合于这些协议的环境中讨论它们。图 1 显示了将以太网假定为底层物理网络技术时的网际协议(Internet Protocol)栈的简化图。
图 1. 网际协议栈
如图 1 所示,网络协议通常是分层的。这样做是有意义的,因为底层协议提供很基本的服务,如网络电缆上的信号传输。此外,较高级别的协议提供更复杂的应用层服务,如 Telnet。每个层都使用下面一层的服务,这使得顶层协议能够在物理网络上传输消息。让我们简要地研究一下图 1 中显示的协议。
称为物理层协议的两个底层处理网络电缆上的实际信号传输。高一级别的协议 — 网际协议(IP)使用这一服务。
网际协议(IP)提供“主机对主机”包(或数据报)传递服务。IP 在底层物理网络的边界之间提供最基本的数据报传递形式。反过来,IP 层又提供由网际控制报文协议(ICMP)和传输控制协议(TCP)使用的服务。
网际控制报文协议(ICMP)是 IP 的组成部分,但它使用某些 IP 服务。ICMP 提供服务,使主机能够彼此交流控制信息。ICMP 由 IP 和一些更高级别的协议使用,如传输控制协议(TCP)。
传输控制协议(TCP) 是本文中讨论的第三个重要协议。TCP 的功能比 IP 更进一步,并提供两个重要特性:连接和服务质量。这意味着您可以在两台主机之间开一个虚拟通道,通过这个通道,使得所发送的包的顺序及其实际传递都得到保障。
接下来更高的一级是应用层协议,如 Telnet 和 SMTP。它们都使用由 TCP 提供的服务。例如,当您用 Telnet 连接到主机时,打开一个连接,并且您希望所有输入这个 Telnet 会话的数据都以正确的顺序发送到接收主机。