中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 其它操作系统综合讨论区 » 攻击者如何利用“IP地址欺骗”突破防火墙系统?
作者:
标题: 攻击者如何利用“IP地址欺骗”突破防火墙系统? 上一主题 | 下一主题
红色狂想
金牌会员

龙哥DOS


积分 4289
发帖 1501
注册 2003-2-23
来自 河南省
状态 离线
『楼 主』:  攻击者如何利用“IP地址欺骗”突破防火墙系统? 使用 LLM 解释/回答一下


攻击者如何利用“IP地址欺骗”突破防火墙系统?


一般的访问控制主要在防火墙中进行设置,制定一些安全策略:如内部局域

网的资源不允许外部网上的用户使用;不设防区(又称非军事区)可以为内部或

外部局域网,其中的资源允许外部网的用户有限度地使用;可以使外部用户访问

非军事区(DMZ区)的WEB服务器等等。深入分析研究防火墙技术,利用防火墙配

置和实现 的漏洞,可以对它实施攻击。通常情况下,有效的攻击都是从相关的子

网进行的,因为这些网址得到了防火墙的信赖,虽说成功与否尚取决于机遇等其

他因素,但对攻击者而言很值得一试。

突破防火墙系统最常用的方法是IP地址欺骗,它同时也是其他一系列攻击方

法的基础。之所以使用这个方法,是因为IP自身的缺点。IP协议依据IP头中的目

的地址项来发送IP数据包。如果目的地址是本地网络内的地址,该IP包就被直接

发送到目的地。如果目的地址不在本地网络内,该IP包就会被发送到网关,再由

网关决定将其发送到何处。这是IP路由IP包的方法。IP路由IP包时对IP头中提供

的IP源地址不做任何检查,并且认为IP头中的IP源地址即为发送该包的机器的IP

地址。当接收到该包的目的主机要与源主机进行通讯时,它以接收到的IP包的IP

头中IP源地址作为其发送的IP包的目的地址,来与源主机进行数据通讯。IP的这

种数据通讯方式虽然非常简单和高效,但它同时也是IP的一个安全隐患,很多网

络安全事故都是因为IP这个的缺点而引发的。

黑客或入侵者利用伪造的IP发送地址产生虚假的数据分组,乔装成来自内部

站的分组过滤器,这种类型的攻击是非常危险的。关于涉及到的分组真正是内部

的还是外部的分组被包装得看起来象内部的种种迹象都已丧失殆尽。只要系统发

现发送地址在其自己的范围之内,则它就把该分组按内部通信对待并让其通过。

通常主机A与主机B的TCP连接(中间有或无防火墙)是通过主机A向主机B提出

请求建立起来的,而其间A和B的确认仅仅根据由主机A产生并经主机B验证的初始

序列号ISN。具体分三个步骤:

主机A产生它的ISN,传送给主机B,请求建立连接;B接收到来自A的带有SYN

标志的ISN后,将自己本身的ISN连同应答信息ACK一同返回给A;A再将B传送来ISN

及应答信息ACK返回给B。至此,正常情况,主机A与B的TCP连接就建立起来了。

B ---- SYN ----> A
B A

假设C企图攻击A,因为A和B是相互信任的,如果C已经知道了被A信任的B,那

么就要相办法使得B的网络功能瘫痪,防止别的东西干扰自己的攻击。在这里普遍

使用的是SYN flood。攻击者向被攻击主机发送许多TCP- SYN包。这些TCP-SYN包

的源地址并不是攻击者所在主机的IP地址,而是攻击者自己填入的IP地址。当被

攻击主机接收到攻击者发送来的TCP-SYN包后,会为一个TCP连接分配一定的资源

,并且会以接收到的数据包中的源地址(即攻击者自己伪造的IP地址)为目的地

址向目的主机发送TCP-(SYN+ACK)应答包。由于攻击者自己伪造的IP地址一定是

精心选择的不存在的地址,所以被攻击主机永远也不可能收到它发送出去的TCP-

(SYN+ACK)包的应答包,因而被攻击主机的TCP状态机会处于等待状态。如果被

攻击主机的TCP状态机有超时控制的话,直到超时,为该连接分配的资源才会被回

收。因此如果攻击者向被攻击主机发送足够多的TCP-SYN包,并且足够快,被攻击

主机的TCP模块肯定会因为无法为新的TCP连接分配到系统资源而处于服务拒绝状

态。并且即使被攻击主机所在网络的管理员监听到了攻击者的数据包也无法依据

IP头的源地址信息判定攻击者是谁。

当B的网络功能暂时瘫痪,现在C必须想方设法确定A当前的ISN。首先连向25

端口,因为SMTP是没有安全校验机制的,与前面类似,不过这次需要记录A的ISN

,以及C到A的大致的RTT(round trip time)。这个步骤要重复多次以便求出RTT的

平均值。一旦C知道了A的ISN基值和增加规律,就可以计算出从C到A需要RTT/2的

时间。然后立即进入攻击,否则在这之间有其他主机与A连接,ISN将比预料的多



C向A发送带有SYN标志的数据段请求连接,只是信源IP改成了B。A向B回送

SYN+ACK数据段,B已经无法响应,B的TCP层只是简单地丢弃A的回送数据段。这个

时候C需要暂停一小会儿,让A有足够时间发送SYN+ACK,因为C看不到这个包。然

后C再次伪装成B向A发送ACK,此时发送的数据段带有Z预测的A的ISN+1。如果预测

准确,连接建立,数据传送开始。问题在于即使连接建立,A仍然会向B发送数据

,而不是C,C仍然无法看到A发往B的数据段,C必须蒙着头按照协议标准假冒B向A

发送命令,于是攻击完成。如果预测不准确,A将发送一个带有RST标志的数据段

异常终止连接,C只有从头再来。随着不断地纠正预测的ISN,攻击者最终会与目

标主机建立一个会晤。通过这种方式,攻击者以合法用户的身份登录到目标主机

而不需进一步的确认。如果反复试验使得目标主机能够接收对网络的ROOT登录,

那么就可以完全控制整个网络。

C(B) ---- SYN ----> A
B A
C(B) ---- PSH ----> A

IP欺骗攻击利用了RPC服务器仅仅依赖于信源IP地址进行安全校验的特性,攻

击最困难的地方在于预测A的ISN。攻击难度比较大,但成功的可能性也很大。C必

须精确地预见可能从A发往B的信息,以及A期待来自B的什么应答信息,这要求攻

击者对协议本身相当熟悉。同时需要明白,这种攻击根本不可能在交互状态下完

成,必须写程序完成。当然在准备阶段可以用netxray之类的工具进行协议分析。

虽然IP欺骗攻击有着相当难度,但我们应该清醒地意识到,这种攻击非常广

泛,入侵往往由这里开始。预防这种攻击还是比较容易的。IP本身的缺陷造成的

安全隐患目前是无法从根本上消除的。我们只能采取一些弥补措施来使其造成的

危害减少到最小的程度。防御这种攻击的最理想的方法是:每一个连接局域网的

网关或路由器在决定是否允许外部的IP数据包进入局域网之前,先对来自外部的

IP数据包进行检验。如果该IP包的IP源地址是其要进入的局域网内的IP地址,该

IP包就被网关或路由器拒绝,不允许进入该局域网。这种方法虽然能够很好的解

决问题,但是考虑到一些以太网卡接收它们自己发出的数据包,并且在实际应用

中局域网与局域网之间也常常需要有相互的信任关系以共享资源,这种方案不具

备较好的实际价值。另外一种防御这种攻击的较为理想的方法是当IP数据包出局

域网时检验其IP源地址。即每一个连接局域网的网关或路由器在决定是否允许本

局域网内部的IP数据包发出局域网之前,先对来自该IP数据包的IP源地址进行检

验。如果该IP包的IP源地址不是其所在局域网内部的IP地址,该IP包就被网关或

路由器拒绝,不允许该包离开局域网。这样一来,攻击者至少需要使用其所在局

域网内的IP地址才能通过连接该局域网的网关或路由器。如果攻击者要进行攻击

,根据其发出的IP数据包的IP源地址就会很容易找到谁实施了攻击。因此建议每

一个ISP或局域网的网关路由器都对出去的IP数据包进行IP源地址的检验和过滤。

如果每一个网关路由器都做到了这一点,IP源地址欺骗将基本上无法奏效。在当

前并不是每一网关及路由器都能做到这一点的情况下,网络系统员只能将自己管

理的网络至于尽可能严密的监视之下,以防备可能到来的攻击。




C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
C++ ☆☆☆ 中国DOS联盟成员 ☆☆☆ C++
C++ ★★★ 爱提问的红色狂想 ★★★ C++
C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
2003-10-24 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (189236106)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: