防火墙技术是计算机网络信息安全防护的常用技术,可以有效的控制网络之间的访问,防治非法用户进入网络内部,对维护网络安全起到良好的效果。
《网络新媒体技术》网络技术期刊,创刊于1980年,是由中国科学院声学研究所主办,海洋出版社出版的公开发行的科技刊物。其办刊宗旨是发展信息科学,推广计算机在各行各业的应用和发展,促进计算机科学领域的技术交流与合作,为祖国的社会主义现代化建设服务。荣获1990年获海洋出版社优秀期刊奖、中文核心期刊(1992)。
通过对几种不同防火墙的攻击方法和原理进行研究,针对黑客攻击的方法和原理,我们能够部署网络安全防御策略,为构建安全稳定的网络安全体系提供了理论原理和试验成果。
防火墙技术是一种用来加强网络之间访问控制,防止外部网络用户以非法手段通过外部网络进入内部网络,访问内部网络资源,以保护内部网络操作环境的特殊网络互联设备。它对两个或多个网络之间传输的数据包如链接方式按照一定的安全策略来实施检查,以决定网络之间的通信是否被允许。
从理论上看,防火墙处于网络安全的最底层,负责网络间的安全认证与传输,但随着网络安全技术的整体发展和网络应用的不断变化,现代防火墙技术已经逐步走向网络层之外的其他安全层次,不仅要完成传统防火墙的过滤任务,同时还能为各种网络应用提供相应的安全服务。尽管如此,事情没有我们想象的完美,攻击我们的是人,不是机器,聪明的黑客们总会想到一些办法来突破防火墙。
一、包过滤型防火墙的攻击
包过滤技术是一种完全基于网络层的安全技术,只能根据Packet的来源、目标和端口等网络信息进行判断,无法识别基于应用层的恶意入侵。
包过滤防火墙是在网络层截获网络Packet,根据防火墙的规则表,来检测攻击行为。根据Packet的源IP地址;目的IP地址;TCP/UDP源端口;TCP/UDP目的端口来过滤。所以它很容易受到如下攻击。
(一)ip欺骗
如果修改Packet的源,目的地址和端口,模仿一些合法的Packet就可以骗过防火墙的检测。如:我将Packet中的源地址改为内部网络地址,防火墙看到是合法地址就会放行。
这种攻击应该怎么防范呢?
如果防火墙能结合接口,地址来匹配,这种攻击就不能成功了。
eth1连接外部网络,eth2连接内部网络,所有源地址为内网地址的Packet一定是先到达eth2,我们配置eth1只接受来自eth2的源地址为内网地址的Packet,那么这种直接到达eth1的伪造包就会被丢弃。
(二)分片伪造
分片是在网络上传输IP报文时采用的一种技术手段,但是其中存在一些安全隐患。PingofDeath,teardrop等攻击可能导致某些系统在重组分片的过程中宕机或者重新启动。这里我们只谈谈如何绕过防火墙的检测。
在IP的分片包中,所有的分片包用一个分片偏移字段标志分片包的顺序,但是,只有第一个分片包含有TCP端口号的信息。当IP分片包通过分组过滤防火墙时,防火墙只根据第一个分片包的Tcp信息判断是否允许通过,而其他后续的分片不作防火墙检测,直接让它们通过。
工作原理弄清楚了,我们来分析:从上面可以看出,我们如果想穿过防火墙只需要第一个分片,也就是端口号的信息符合就可以了。
那我们先发送第一个合法的IP分片,将真正的端口号封装在第二个分片中,那样后续分片包就可以直接穿透防火墙,直接到达内部网络主机,通过我的实验,观察攻击过程中交换的数据报片断,发现攻击数据包都是只含一个字节数据的报文,而且发送的次序已经乱得不可辨别,但对于服务器TCP/IP堆栈来说,它还是能够正确重组的。
二、NAT防火墙的攻击
这里其实谈不上什么攻击,只能说是穿过这种防火墙的技术,而且需要新的协议支持,因为这种方法的是为了让两个不同NAT后面的p2p软件用户可以不通过端口映射直接进行连接,我们称为UDP打洞技术。
UDP打洞技术允许在有限的范围内建立连接。STUN(TheSimpleTraversalofUserDatagramProtocolthroughNetworkAddressTranslators)协议实现了一种打洞技术可以在有限的情况下允许对NAT行为进行自动检测然后建立UDP连接。在UDP打洞技术中,NAT分配的外部端口被发送给协助直接连接的第三方。在NAT后面的双方都向对方的外部端口发送一个UDP包,这样就在NAT上面创建了端口映射,双方就此可以建立连接。一旦连接建立,就可以进行直接的UDP通信了。
但是UDP连接不能够持久连接。UDP是无连接的并且没有对谁明确的通信。一般地,NAT见了的端口映射,如果一段时间不活动后就是过期。为了保持UDP端口映射,必须每隔一段时间就发送UDP包,就算没有数据的时候,只有这样才能保持UDP通信正常。另外很多防火墙都拒绝任何的外来UDP连接。
由于各方面原因,这次没有对建立TCP的连接做研究,估计是能连接的。
三、代理防火墙的攻击
代理防火墙运行在应用层,攻击的方法很多。这里就以WinGate为例。WinGate是以前应用非常广泛的一种Windows95/NT代理防火墙软件,内部用户可以通过一台安装有WinGate的主机访问外部网络,但是它也存在着几个安全脆弱点。
黑客经常利用这些安全漏洞获得WinGate的非授权Web、Socks和Telnet的访问,从而伪装成WinGate主机的身份对下一个攻击目标发动攻击。因此,这种攻击非常难于被跟踪和记录。
导致WinGate安全漏洞的原因大多数是管理员没有根据网络的实际情况对WinGate代理防火墙软件进行合理的设置,只是简单地从缺省设置安装完毕后就让软件运行,这就让攻击者可从以下几个方面攻击:
(一)非授权Web访问
某些WinGate版本(如运行在NT系统下的2.1d版本)在误配置情况下,允许外部主机完全匿名地访问因特网。因此,外部攻击者就可以利用WinGate主机来对Web服务器发动各种Web攻击(如CGI的漏洞攻击等),同时由于Web攻击的所有报文都是从80号Tcp端口穿过的,因此,很难追踪到攻击者的来源。
检测WinGate主机是否有这种安全漏洞的方法如下:
(1)以一个不会被过滤掉的连接(譬如说拨号连接)连接到因特网上。
(2)把浏览器的代理服务器地址指向待测试的WinGate主机。
如果浏览器能访问到因特网,则WinGate主机存在着非授权Web访问漏洞。
(二)非授权Socks访问
在WinGate的缺省配置中,Socks代理(1080号Tcp端口)同样是存在安全漏洞。与打开的Web代理(80号Tcp端口)一样,外部攻击者可以利用Socks代理访问因特网。
(三)非授权Telnet访问
它是WinGate最具威胁的安全漏洞。通过连接到一个误配置的WinGate服务器的Telnet服务,攻击者可以使用别人的主机隐藏自己的踪迹,随意地发动攻击。
检测WinGate主机是否有这种安全漏洞的方法如下:
1)使用telnet尝试连接到一台WinGate服务器。
[root@happy/tmp]#telnet172.29.11.191
Trying172.29.11.191….
Connectedto172.29.11.191.
Escapecharacteris'^]'.
Wingate>10.50.21.5
2)如果接受到如上的响应文本,那就输入待连接到的网站。
3)如果看到了该新系统的登录提示符,那么该服务器是脆弱的。
Connectedtohost10.50.21.5…Connected
SunOS5.6
Login:
其实只要我们在WinGate中简单地限制特定服务的捆绑就可以解决这个问题。
四、监测型防火墙的攻击
一般来说,完全实现了状态检测技术防火墙,智能性都比较高,普通的扫描攻击还能自动的反应。但是这样智能的防火墙也会受到攻击!
(一)协议隧道攻击
协议隧道的攻击思想类似与VPN的实现原理,攻击者将一些恶意的攻击Packet隐藏在一些协议分组的头部,从而穿透防火墙系统对内部网络进行攻击。
比如说,许多简单地允许ICMP回射请求、ICMP回射应答和UDP分组通过的防火墙就容易受到ICMP和UDP协议隧道的攻击。Loki和lokid(攻击的客户端和服务端)是实施这种攻击的有效的工具。在实际攻击中,攻击者首先必须设法在内部网络的一个系统上安装上lokid服务端,而后攻击者就可以通过loki客户端将希望远程执行的攻击命令(对应IP分组)嵌入在ICMP或UDP包头部,再发送给内部网络服务端lokid,由它执行其中的命令,并以同样的方式返回结果。
由于许多防火墙允许ICMP和UDP分组自由出入,因此攻击者的恶意数据就能附带在正常的分组,绕过防火墙的认证,顺利地到达攻击目标主机。
(二)利用FTP-pasv绕过防火墙认证的攻击
FTP-pasv攻击是针对防火墙实施入侵的重要手段之一。目前很多防火墙不能过滤这种攻击手段。如CheckPoint的Firewall-1,在监视FTP服务器发送给客户端的包的过程中,它在每个包中寻找“227”这个字符串。如果发现这种包,将从中提取目标地址和端口,并对目标地址加以验证,通过后,将允许建立到该地址的TCP连接。
攻击者通过这个特性,可以设法连接受防火墙保护的服务器和服务。
五、通用的攻击方法
(一)木马攻击
反弹木马是对付防火墙的最有效的方法。攻击者在内部网络的反弹木马定时地连接外部攻击者控制的主机,由于连接是从内部发起的,防火墙(任何的防火墙)都认为是一个合法的连接,因此基本上防火墙的盲区就是这里了。防火墙不能区分木马的连接和合法的连接。
说一个典型的反弹木马,目前变种最多有“毒王”之称的“灰鸽子”,该木马由客户端主动连接服务器,服务器直接操控。非常方便。
(二)d.o.s拒绝服务攻击
简单的防火墙不能跟踪tcp的状态,很容易受到拒绝服务攻击,一旦防火墙受到d.o.s攻击,它可能会忙于处理,而忘记了自己的过滤功能。简单的说明两个例子。
Land(LandAttack)攻击:在Land攻击中,黑客利用一个特别打造的SYN包,它的源地址和目标地址都被设置成某一个服务器地址进行攻击。此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时,在Land攻击下,许多UNIX将崩溃,NT变得极其缓慢。
IP欺骗DOS攻击:这种攻击利用TCP协议栈的RST位来实现,使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。假设现在有一个合法用户(a.a.a.a)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为a.a.a.a,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从a.a.a.a发送的连接有错误,就会清空缓冲区中已建立好的连接。这时,合法用户a.a.a.a再发送合法数据,服务器就已经没有这样的连接了,该用户就被拒绝服务而只能重新开始建立新的连接。
六、结论
我们必须承认以现在的防火墙技术,无法给我们一个相当安全的网络。网络中是没有百分之百安全的,由于我们面对的黑客都属于聪明的高技术性计算机专家,攻击时的变数太大,所以网络安全不可能单靠防火墙来实现,只可能通过不断完善策略、协议等根本因素才行。
在防火墙目前还不算长的生命周期中,虽然问题不断,但是,它也在科学家的苦心经营下不断自我完善,从单纯地拦截一次来自黑客的恶意进攻,逐步走向安全事件管理及安全信息管理的大路,并将最终汇入网络安全管理系统的大海,这应该是一种历史的必然。一旦防火墙把网络安全管理当作自我完善的终极目的,就等同于将发展的方向定位在了网络安全技术的制高点,如果成功,防火墙将成为未来网络安全技术中不可缺少的一部分。
参考文献:
[1]W.RichardAs.TCP/IP详解卷一:协议[M].机械工业出版社,2000.
[2]黎连业,张维.防火墙及其应用技术[M].北京:清华大学,2004.
[3]MarcusGoncalves.防火墙技术指南[M].北京:机械工业出版社,2000.
[4]阎慧.防火墙原理与技术[M].北京:机械工业出版社,2004.
[5]王达.网管员必读网络安全(第2版)[M].北京:电子工业出版社,2007.