Username:
Password:
Remember Me?
利用IP地址欺骗突破防火墙深层技术解析
< 上一篇
|
下一篇 >
来源:作者: 发布时间:2007-11-21 13:26:00
利用IP地址欺骗突破防火墙深层技术解析
作者:佚名 发文时间:2005.05.20
一般的访问控制主要在防火墙中进行配置,定制一些安全策略:如内部局域网的资源不允许外部网上的用户使用;不设防区(又称非军事区)能够为内部或外部局域网,其中的资源允许外部网的用户有限度地使用;能够使外部用户访问非军事区(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 <---- SYN+ACK ---- A
B ---- ACK ----> 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 <---- SYN+ACK ---- A
C(B) ---- ACK ----> 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源地址欺骗将基本上无法奏效。在当前并不是每一网关及路由器都能做到这一点的情况下,网络系统员只能将自己管理的网络至于尽可能严密的监控之下,以防备可能到来的攻击。(T114)
喜欢本文,那就收藏到:
上一篇:
运用CrackLib构建安全的Unix口令
下一篇:
最新的黑客技术:详解XSS跨站脚本攻击 (1)
相关评论
我也要评论
还没有关于此文章的相关评论!
首页
上一页
下一页
尾页
昵称:
(为空则显示guest)
评论分数:
★
★ ★
★★★
★★★★
★★★★★
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
相关推荐
xml轻松学习手册(3)xml的术语_xml教程
xml轻松学习手册(4)xml语法_xml教程
xml轻松学习手册(5)xml实例解析_xml教程
了解web页面工具语言xml(一)产生背景_xml教程
了解web页面工具语言xml(二)定义_xml教程
了解web页面工具语言xml(三)支持工具_xml教程
了解web页面工具语言xml(四)应用分类_xml教程
了解web页面工具语言xml(五)好处_xml教程
了解web页面工具语言xml(六)展望_xml教程
xml技术上传文档_xml技巧
相关资讯
Perl语言的文字处理模式之二
Perl语言的文字处理模式之一
本地调试PERLCGI程式
怎样利用Perl研发Internet/Intranet应用之二
怎样利用Perl研发Internet/Intranet应用之一
Perl教学第二篇简单变量
Perl教学第一篇概述
Perl教学目录
给您三万块做百万级数据量的网站,用Perl您敢做吗?
CGI教程(1)简介
点击发布文章
导航
主页
设为首页
加入收藏
联系我们
赞助商
文章类别
行业资讯
域名资讯
虚拟主机
托管租用
VPS
CDN
网站运营
技术资讯
Mac OS
网络设备
路由技术
网络技术
HTML/DHTML
源码天堂
网络编程
Java
Perl
C/C++
Shell
数据库其他
DB2
Sybase
存储备份
硬件技术
网站建设
通信技术
虚拟化技术
安全其他
安全工具
加密和破解
数据库安全
程序安全
网络安全
系统安全
防火墙
VPN
网管技术其他
Informix
Oracle
PostgreSQL
Dreamweaver教程
windows操作系统
XML编程
NET编程
JSP编程
PHP编程
ASP编程
Mssql
Mysql
Access
Coreldraw
flash
web服务器
ftp服务器
mail服务器
邮件系统
IBM-AIX
HP-UX
Sco
Solaris
FreeBSD
Linux
Proxy
CSS教程
Javascript教程
Ajax
dns服务器
Photoshop教程
站长资讯
冲浪宝典
帮助中心
首页新闻
其它相关问题
安全漏洞相关问题
网站推广相关问题
虚拟主机相关问题
网站建设相关问题
服务器相关问题
备案相关问题
支付相关问题
后台操作指南
代理相关问题
邮件相关问题
域名相关问题
vps相关问题
行业资讯
名网动态
新手指南
代理帮助
订阅
Rss Feed
主机赞助商连接:
华夏名网虚拟主机域名注册
关于我们 | 网站声明 | 联系我们 | 广告服务 IDC中文资讯站-客观公证的IDC产业权威媒体
Copyright
@
2007-2008 IDCNEWS.NET, All Rights Reserved
蜀ICP备07504800号