让攻击者“劫持”在合法发起人和目标之间建立会话时,攻击者需要知道TCP段中使用的TCP序列号。如果攻击者成功猜测或预测正确的TCP序列号,他可以向目标发送正确构造的ACK段。如果攻击者的ACK段到达de如中所示,在发起人的ACK段之前,攻击者会被目标信任图1 - 4.
IP欺骗
攻击者猜测或预测正确TCP序列号的方式取决于发起的IP欺骗攻击的类型。表1-7描述了两类IP欺骗攻击。
表1 - 7 IP欺骗攻击的类型 |
|
类型的攻击 |
描述 |
Nonblind欺骗 |
当攻击者和目标在同一子网时,就会发生非盲欺骗。由于处于同一子网,攻击者可能能够使用包捕获实用程序来收集序列号。 |
盲欺骗 |
当攻击者和目标不在同一个子网中时,就会发生盲欺骗。因此,获取正确的TCP序列号更加困难。然而,使用诸如径路由(接下来描述),攻击者可以准确地确定这些序列号。 |
利用IP源路由发起远程IP欺骗攻击
如果攻击者使用一个称为IP源路由的特性,他可以指定两个端点所采用的完整路由路径。考虑图1 - 5.攻击者在与目标主机不同的子网上。但是,攻击者发送一个IP报文,在IP报文头中指定了源路由,从而导致目的主机通过指定的路由将流量发送回被欺骗的IP地址。这种方法可以克服前面描述的攻击者在发起远程IP欺骗(盲欺骗)攻击时可能遇到的挑战。
IP源路由
源路由有两种变体:
宽松的:攻击者指定数据包必须通过的IP地址列表。但是,数据包也可以通过与列表中指定的IP地址互连的其他路由器进行传输。
严格的:攻击者指定的列表中的IP地址是允许数据包通过的唯一IP地址。
利用中间人攻击发起本地IP欺骗攻击
如果攻击者与目标系统位于同一子网上,他可能会发起中间人攻击。在中间人攻击的一种变体中,攻击者说服系统通过攻击者的PC发送帧。例如,攻击者可以发送一系列免费的ARP(GARP)帧到系统。这些GARP帧可能声称攻击者的第2层MAC地址是下一跳路由器的MAC地址。然后,攻击者可以捕获流量并将其转发到合法的下一跳路由器。因此,最终用户可能不会注意到任何可疑情况。
中间人攻击的另一种变体是攻击者将一个集线器连接到承载攻击者想要捕获的流量的网段,如图所示图1 - 6.或者,攻击者可以连接到Catalyst交换机上的Switch Port Analyzer (SPAN)端口,该端口复制指定的流量并将它们转发到配置的SPAN端口。然后,攻击者可以使用包捕获实用程序来捕获在终端系统之间传输的流量。如果捕获的流量是纯文本的,攻击者可能能够获得机密信息,如用户名和密码。
中间人攻击
防范IP欺骗攻击
以下方法可用于缓解IP欺骗攻击:
使用访问控制列表(ACL)在路由器接口上。当流量从外部网络进入路由器时,ACL可用于拒绝声称使用本地网络内部使用的IP地址寻址的任何外部流量。相反,ACL应用于防止离开本地网络的流量参与DDoS攻击。因此,ACL可能会eny任何离开本地网络的流量,声称其源地址与内部网络的IP地址空间不同。
通过IPsec隧道加密设备之间(例如,两个路由器之间,或终端系统和路由器之间)的通信量图1 - 7,请注意,拓扑现在由IPsec隧道保护。即使攻击者仍然可以通过他的非法hub捕获数据包,捕获的数据包是不可读的,因为流量是在IPsec隧道中加密的。
保护隧道中的交通
使用加密身份验证。如果对话中涉及的各方都经过身份验证,那么潜在的中间人攻击者就可以被挫败。对话中的另一方无法成功验证潜在攻击者。
理解保密攻击
机密性攻击(见图1-8)试图让攻击者看到“机密”数据(如个人记录、用户名、密码、信用卡号码和电子邮件)。由于攻击者通常会复制数据,而不是试图操纵数据或使系统崩溃,因此机密性攻击通常不会被发现。即使有跟踪文件访问的审计软件,如果没有人怀疑有问题,审计跟踪可能永远不会被检查。
机密性攻击
在图1-8, web服务器和数据库服务器之间存在相互信任的关系。数据库服务器存储机密客户信息,如信用卡信息。因此,a公司决定保护数据库服务器(例如,修补已知的软件漏洞),而不是web服务器。但是,攻击者利用两台服务器之间的信任关系获取客户信用卡信息,然后利用窃取的信息向公司B购买。程序如下:
第一步 |
攻击者利用a公司web服务器的一个漏洞,获得了对该服务器的控制。 |
步骤2 |
攻击者利用web服务器和数据库服务器之间的信任关系从数据库服务器获取客户信用卡信息。 |
步骤3 |
攻击者使用窃取的信用卡信息从B公司购买商品。 |
表1-8列出了攻击者在进行机密性攻击时可能使用的几种方法。
Table 1-8 机密性攻击策略 |
|
策略 |
描述 |
数据包捕获 |
数据包捕获实用程序(如Wireshark,可在http://www.wireshark.org)通过将网卡置于混杂模式,可以捕获PC机网卡可见的数据包。一些协议(例如Telnet和HTTP)以纯文本形式发送。因此,攻击者可以读取这些捕获的数据包类型,可能允许他查看机密信息。 |
Ping扫描和端口扫描 |
机密性攻击可能始于对网络资源的扫描,以识别网络上的攻击目标。ping扫描可以用来ping一系列IP地址。Ping应答可能向攻击者表明可以在这些IP地址上访问网络资源。一旦确定了IP地址集合,攻击者可能会扫描一段UDP和/或TCP端口,以查看在指定IP地址的主机上有哪些服务可用。此外,端口扫描通常有助于攻击者识别目标系统上运行的操作系统。 |
垃圾站潜水 |
由于许多公司在没有适当粉碎的情况下丢弃机密信息,一些攻击者在公司垃圾箱中翻找,希望发现可用于破坏网络资源的信息。 |
电磁干扰(EMI)拦截 |
由于数据经常在电线上传输(例如,非屏蔽双绞线),攻击者有时可以通过拦截传输介质发出的电磁干扰来复制在电线上传输的信息。这些电磁干扰排放有时被称为“辐射”。 |
窃听 |
如果攻击者获得了对配线柜的物理访问权,他可能会通过物理方式窃听电话电缆以窃听电话对话。或者,他可能会在网络电缆中插入一个共享媒体集线器。这将使他能够连接到集线器并接收通过网络电缆传输的数据包副本。 |
社会工程 |
攻击者有时使用社交技术(通常利用人们的帮助欲望)来获取机密信息。例如,攻击者可能伪装成IT部门的成员,要求公司员工提供其登录凭据,以便“IT员工测试连接” |
通过公开渠道发送信息 |
攻击者可能使用公开的通道在网络上发送或接收机密信息。使用公开通道的一个例子是在一个协议中隧穿另一个协议(例如,通过HTTP发送即时消息传输)。隐写术是通过公开信道发送信息的另一个例子。隐写术的一个例子是发送由数百万像素组成的数字图像,“秘密”信息以特定像素编码。只有发送方和接收方知道哪些像素表示编码信息。 |
通过隐蔽通道发送信息 |
攻击者可能使用隐蔽通道通过网络发送或接收机密信息,该通道可以将信息作为一系列代码和/或事件进行通信。例如,二进制数据可以通过向目标发送一系列ping来表示。特定时间段内的单个ping可以表示二进制0和两个ping在同一时间段内,可以表示二进制1。 |
了解完整性攻击
完整性攻击试图改变数据(即破坏数据的完整性)。图1-9显示完整性攻击的示例。
完整性的攻击
在图中,攻击者发起了中间人攻击(如上所述)。这种攻击导致银行客户和银行服务器之间的数据流通过攻击者的计算机发送。然后,攻击者不仅可以拦截数据,还可以操纵数据。在图中,注意到银行客户试图将500美元存入她的账户。然而,攻击者截取并更改交易的细节,这样向银行服务器发出的指令是将5000美元存入攻击者的账户。
以下列表描述了攻击者可能利用的方法来进行完整性攻击: