防火墙攻击方法研究

2024-08-28

防火墙攻击方法研究(精选3篇)

防火墙攻击方法研究 第1篇

通过对不同防火墙的攻击方法和原理进行研究, 为构建安全稳定的网络安全体系提供了理论原理和试验成果。

一、包过滤型防火墙的攻击

最早使用的一种防火墙技术。包过滤技术工作的地方就是各种基于TCP/IP协议的数据报文进出的通道, 它把这两层作为数据监控的对象, 对每个数据包的头部、协议、地址、端口、类型等信息进行分析, 并与预先设定好的防火墙过滤规则进行核对, 一旦发现某个包的某个或多个部分与过滤规则匹配且条件为“阻止”时, 这个包就会被丢弃。后来人们对包过滤技术进行了改进, 称为“动态包过滤”。动态包过滤功能在保持着原有静态包过滤技术和过滤规则的基础上, 会对已经成功与计算机连接的报文传输进行跟踪, 并且判断该连接发送的数据包是否会对系统构成威胁。一旦触发其判断机制, 防火墙就会自动产生新的临时过滤规则或者把已经存在的过滤规则进行修改, 从而阻止该有害数据的继续传输。

二、NAT防火墙的攻击

这种方法是为了让两个不同NAT后面的p2p软件用户可以不通过端口映射直接进行连接, 我们称为UDP打洞技术。

此技术允许在有限的范围内建立连接。协议实现了一

种打洞技术可以在有限的情况下允许对NAT行为进行自动检测然后建立UDP连接。在UDP打洞技术中, NAT分配的外部端口被发送给协助直接连接的第三方。在NAT后面的双方都向对方的外部端口发送一个UDP包, 这样就在NAT上面创建了端口映射, 双方就此可以建立连接。一旦连接建立, 就可以进行直接的UDP通信了。但是UDP连接不能够持久连接。UDP是无连接的并且没有对谁明确的通信。一般地, NAT见了的端口映射, 如果一段时间不活动后就是过期。为了保持UDP端口映射, 必须每隔一段时间就发送UDP包, 就算没有数据的时候, 只有这样才能保持UDP通信正常。另外很多防火墙都拒绝任何的外来UDP连接。

三、代理防火墙的攻击

代理防火墙运行在应用层, 攻击的方法很多。黑客经常利用这些安全漏洞获得Win Gate的非授权Web和Socks的访问, 从而伪装成Win Gate主机的身份对下一个攻击目标发动攻击。

(一) 非授权Web访问

某些Win Gate版本在误配置情况下, 允许外部主机完全匿名地访问因特网。因此, 外部攻击者就可以利用Win Gate主机来对Web服务器发动各种Web攻击, 同时由于Web攻击的所有报文都是从80号Tcp端口穿过的, 因此, 很难追踪到攻击者的来源。

检测Win Gate主机是否有这种安全漏洞的方法如下:

(1) 以一个不会被过滤掉的方式连接到因特网上。

(2) 把浏览器的代理服务器地址指向待测试的Win Gate主机。

(二) 非授权Socks访问

在Win Gate的缺省配置中, Socks代理同样存在安全漏洞。与打开的Web代理一样, 外部攻击者可以利用Socks代理访问因特网。

四、监测型防火墙的攻击

(一) 协议隧道攻击

协议隧道的攻击思想类似于VPN的实现原理, 攻击者将一些恶意的攻击Packet隐藏在一些协议分组的头部, 从而穿透防火墙系统对内部网络进行攻击。

如许多简单地允许ICMP回射请求、ICMP回射应答和UDP分组通过的防火墙就容易受到ICMP和UDP协议隧道的攻击。在实际攻击中, 攻击者首先必须设法在内部网络的一个系统上安装上lokid服务端, 而后攻击者就可以通过lokid客户端将希望远程执行的攻击命令 (对应IP分组) 嵌入在ICMP或UDP包头部, 再发送给内部网络服务端lokid, 由它执行其中的命令, 并以同样的方式返回结果。

(二) 利用FTP-pasv绕过防火墙认证的攻击

FTP-pasv攻击是针对防火墙实施入侵的重要手段之一。如Check Point的Firewall-1, 在监视FTP服务器发送给客户端的包的过程中, 它在每个包中寻找“227”这个字符串。如果发现这种包, 将从中提取目标地址和端口, 并对目标地址加以验证, 通过后, 将允许建立到该地址的TCP连接。

五、通用的攻击方法

(一) 木马攻击

反弹木马是对付防火墙的最有效的方法。攻击者在内部网络的反弹木马定时地连接外部攻击者控制的主机, 由于连接是从内部发起的, 防火墙都认为是一个合法的连接, 因此基本上防火墙的盲区就是这里了。

(二) dos拒绝服务攻击

简单的防火墙不能跟踪tcp的状态, 很容易受到拒绝服务攻击, 一旦防火墙受到dos攻击, 它可能会忙于处理, 而忘记了自己的过滤功能。如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再发送合法数据, 服务器就已经没有这样的连接了, 该用户就被拒绝服务而只能重新开始建立新的连接。

六、总结

黑客攻击防火墙的过程上看, 大概可以分三类。一是探测在目标网络上安装的是何种防火墙系统并且找出此防火墙系统允许哪些服务。我们叫它为对防火墙的探测攻击。二是采取地址欺骗、TCP序号攻击等手法绕过防火墙的认证机制, 从而破坏防火墙和内部网络。三是寻找、利用防火墙系统实现和设计上的安全漏洞, 从而有针对性地发动攻击。

高安全性的防火墙可以让用户无忧, 目前各大厂商正在朝这个方向努力, 我相信防火墙技术将会越来越强。

参考文献

[1]阎慧。防火墙原理与技术[M]。北京:机械工业出版社, 2004

构筑防火墙防范网络攻击 第2篇

一、防火墙及相关技术

1. 防火墙的概念

防火墙, 是一类防范措施的总称, 是一种非常有效的安全模型, 其核心思想是在不安全的网络环境中构造一个相对安全的内部环境。在网络上, 它是指一种将要保护的内部网络和公众访问网络分开的方法, 是内部网络和外部网络之间的第一道屏障。防火墙所作用的是流进或流出网络的数据包, 它能允许经过你同意的数据包进入你的网络, 同时将你不同意的数据包拒之门外。换句话说, 如果不通过防火墙, 内部网络中的人就无法访问外部网络, 外部网络上的人也无法和内部网络中的人进行通信。

防火墙既可以是一台路由器、一台个人电脑或是一台主机, 也可以是多台主机构成的体系。它们被配置为专门保护一个私有的网络, 使之免受外部网络的攻击。

2. 防火墙的功能

(1) 防火墙是网络安全的屏障:一个防火墙 (作为阻塞点、控制点) 能极大地提高一个内部网络的安全性, 并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙, 所以网络环境变得更安全。如防火墙可以禁止诸如众所周知的不安全的NFS协议进出受保护网络, 这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。防火墙同时可以保护网络免受基于路由的攻击, 如IP选项中的源路由攻击和ICMP重定向中的重定向路径。防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。

(2) 防火墙可以强化网络安全策略:通过以防火墙为中心的安全方案配置, 能将所有安全软件 (如口令、加密、身份认证、审计等) 配置在防火墙上。与将网络安全问题分散到各个主机上相比, 防火墙的集中安全管理更经济。例如在网络访问时, 一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上, 而集中在防火墙一身上。

(3) 对网络存取和访问进行监控审计:如果所有的访问都经过防火墙, 那么, 防火墙就能记录下这些访问并作出日志记录, 同时也能提供网络使用情况的统计数据。当发生可疑动作时, 防火墙能进行适当的报警, 并提供网络是否受到监测和攻击的详细信息。另外, 收集一个网络的使用和误用情况也是非常重要的。首先的理由是可以清楚防火墙是否能够抵挡攻击者的探测和攻击, 并且清楚防火墙的控制是否充足。而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的。

(4) 防止内部信息的外泄:通过利用防火墙对内部网络的划分, 可实现内部网重点网段的隔离, 从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。再者, 隐私是内部网络非常关心的问题, 一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣, 甚至因此而暴露了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透露内部细节如Finger, DNS等服务。Finger显示了主机的所有用户的注册名、真名, 最后登录时间和使用shell类型等。但是Finger显示的信息非常容易被攻击者所获悉。攻击者可以知道一个系统使用的频繁程度, 这个系统是否有用户正在连线上网, 这个系统是否在被攻击时引起注意等等。防火墙可以同样阻塞有关内部网络中的DNS信息, 这样一台主机的域名和IP地址就不会被外界所了解。

二、网络攻击的一般过程

网络攻击的目标各有不同, 有的为了获取机密数据, 有的为了谋取经济利益, 也有的纯属好奇, 但不管网络入侵者的攻击是为了什么, 他们采取的攻击手段和步骤却具有一定的共性。一般我们做某件事情都会有事前准备、事件进行、事后善后这三个必要过程, 攻击也一样, 有攻击的准备阶段, 攻击的实施阶段, 攻击的善后阶段, 不管在哪一个阶段出现问题, 攻击就可能失败。所以网络管理员只要识破了攻击的任何一个阶段, 就可以制止入侵者的攻击。

1. 攻击的准备阶段

要发动一个攻击, 首先攻击者必须要对被攻击者有足够的认识。这个过程一般不易被察觉, 所以网络管理者对于这个阶段一般只有事先预防, 比如针对入侵者感兴趣的信息要做好保密工作, 或者使用一些混淆信息来迷惑入侵者。防患于未然, 这是网络管理者必须要具备的素质。

(1) 确定攻击的目标

攻击者在进行一次完整的攻击之前首先要确定攻击要达到什么样的目的, 即给对方造成什么样的后果。常见的攻击目的有破坏型和入侵型两种。破坏型攻击指的只是破坏攻击目标, 使其不能正常工作, 而不能随意控制目标系统的运行。要达到破坏型攻击的目的, 主要手段是拒绝服务攻击。另一类常见的攻击目的是入侵攻击目标, 这种攻击是要获得一定的权限来达到控制攻击目标的目的。应该说这种攻击比破坏型攻击更为普遍, 威胁性也更大。因为黑客一旦获取攻击目标的管理员权限就可以对此服务器做任意动作, 包括破坏性的攻击。此类攻击一般也是利用服务器操作系统、应用软件或者网络协议存在的漏洞进行的。当然还有另一种造成此种攻击的原因就是密码泄露, 攻击者靠猜测或者穷举法来得到服务器用户的密码, 然后就可以和真正的管理员一样对服务器进行访问。

(2) 信息收集

除了确定攻击目的之外, 攻击前最主要工作就是收集尽量多的关于攻击目标的信息。这些信息主要包括目标的操作系统类型及版本, 目标提供哪些服务, 各服务器程序的类型与版本以及相关的信息。要攻击一台机器, 首先要确定它上面正在运行的操作系统是什么, 因为对于不同类型的操作系统, 其上的系统漏洞有很大区别, 所以攻击的方法也完全不同, 甚至同一种操作系统的不同版本的系统漏洞也是不一样的。其次还要获知目标提供哪些服务及各服务的类型, 版本同样非常重要, 因为已知的漏洞一般都是对某一服务的。另外需要获得的关于系统的信息就是一些与计算机本身没有关系的社会信息, 例如网站所属公司的名称、规模, 网络管理员的生活习惯、电话号码等。这些信息看起来与攻击一个网站没有关系, 实际上在入侵者看来这就是非常有用的宝贵信息。

2. 攻击的实施阶段

这是攻击的关键性阶段, 如果网络管理者能够在这个阶段识破入侵者, 那么就能阻止入侵者对你的破坏。但这是有很高的难度的, 你首先得要发现它, 其次你还要有能力制止它, 往往有的管理者明明知道入侵者的行为, 但是却不能有很好的方法制止。再次, 你还必须确保入侵者不可以进行下次攻击。而攻击的实施阶段关键是一个权限的问题。

(1) 获得权限

当收集到足够的信息之后, 攻击者就要开始实施攻击行动了。如果是破坏性攻击, 那么只需利用工具发动攻击就可以。而作为入侵性攻击, 往往要利用收集到的信息, 找到其系统漏洞, 然后利用该漏洞获取一定的权限。能够被攻击者所利用的漏洞不仅包括系统软件设计上的安全漏洞, 也包括由于管理配置不当而造成的漏洞。因此作为一个网络管理员, 都需要掌握尽量多的系统漏洞, 然后根据不同的漏洞来进行不同的防御措施。

(2) 权限扩大

系统漏洞分为远程漏洞和本地漏洞两种, 远程漏洞是指入侵者可以在别的机器上直接利用该漏洞进行攻击并获取一定的权限。攻击一般都是从远程漏洞开始的。但是利用远程漏洞获取的不一定是最高权限, 而往往只是一个普通用户的权限, 这时就需要配合本地漏洞来把获得的权限进行扩大。要完成权限的扩大, 可以利用已获得的权限在系统上执行利用本地漏洞的程序, 还可以放一些木马之类的欺骗程序来套取管理员密码。

3. 攻击的善后工作

(1) 隐藏踪迹

因为所有的网络操作系统一般都提供日志记录功能, 会把系统上发生的动作记录下来。所以, 为了自身的隐蔽性, 入侵者一般都会抹掉自己在日志中留下的痕迹。只修改日志是不够的, 因为百密必有一漏, 即使自认为修改了所有的日志, 仍然会留下一些蛛丝马迹的。例如安装了某些后门程序, 运行后也可能被管理员发现。所以有必要通过替换一些系统程序的方法来进一步隐藏踪迹。这种用来替换正常系统程序的程序有rootkit, 它可以替换系统的ls、ps、netstat、inetd等等一系列重要的系统程序, 当替换了ls后, 就可以隐藏指定的文件, 使得管理员在使用ls命令时无法看到这些文件, 从而达到隐藏自己的目的。

(2) 后门

一般入侵者都会在攻入系统后不止一次地进入该系统。为了下次再进入系统时方便一点, 黑客会留下一个后门, 特洛伊木马就是后门的最好范例。常见的后门程序有密码破解后门, Login后门, 服务后门, Telnet后门等。

摘要:介绍了防火墙技术的功能, 分析了网络攻击的一般过程, 设计了绕过防火墙的网络攻击并模拟其实现过程。

防火墙攻击方法研究 第3篇

随着网络的发展, 网络攻击的手段越来越多, 其中以IP欺骗形式的SYN攻击所占的比例较大, 众多的专家学者都致力于研究如何有效控制SYN攻击[1]。也提出了较多的方法, 例如状态检测算法, 该算法主要是利用TCP连接过程中的几个状态[2], 判断是否是攻击性数据包, 但是该算法存在一些缺陷, 对每个数据包都要检测其状态, 而且要保存较多的数据包信息, 这对系统的吞吐量和内存都有较大的影响。因此, 本实验防火墙致力于提高正常包的通过率, 以及系统吞吐量。对于轻度和中度攻击时的系统性能有很大的提高。

1 系统相关知识

1.1 防火墙

防火墙是防止网络攻击的主要手段之一, 目前的防火墙得到很大的发展, 它防止外部网络对内部网络的攻击, 一个防火墙的参考模型如图1 所示。

1.2 RED算法

RED算法[3]利用当前队列的平均长度计算数据包的丢弃概率, 如图2 所示, 具体由三个原则确定:

(1) 当平均队列长度Lav小于给定的数据包队列长度最小门限值minth时, 数据包丢弃概率P= 0;

(2) 当平均队列长度Lav大于给定的数据包队列长度最大门限值maxth时, 数据包的丢弃概率P= 1;

(3) 当平均队列长度在minth和maxth之间, 数据包的丢弃概率在0~1之间。而且P=max*{ (Q-Min) / (max}th-minth) 。

2 总体设计

因为IP欺骗形式的SYN攻击, 是采用的伪造IP地址和端口, 主机发送ACK数据包, 攻击机器是不会做出回应的[4]。所以判断正常包就可以让客户机其超时重传, 从而检测是否是真实IP。防火墙的设计主要是针对SYN请求数据包, 利用RED算法计算当前的TCP连接请求数据包到来时的TCP缓冲区的平均队列长度Q, 如果平均队列长度Q小于给定的最小队列门限值minth, 则说明当前没有SYN攻击或者只有少数的SYN数据包, 这种情况下不会影响本机性能, 可以直接接收数据包。如果平均队列长度大于最大门限值maxth, 说明当前遭受到较强的SYN攻击, 则随机的丢弃数据包。如果平均队列长度在最小门限minth和最大门限值maxth之间, 则计算当前数据包的随机丢弃概率P, 如果P小于给定的阈值Pm, 则接收数据包, 如果P大于给定的阈值, 则先到哈希表中查找是否存在相同数据包信息的元素 (哈希表存放的是被丢弃的数据包的相关信息) , 如果找到则接收数据包到本机, 如果没有找到则保存数据包相关信息到哈希表中, 同时丢弃该数据包。总体设计如图3 所示。

3 防火墙关键技术实现

3.1 包检测模块

采用RED算法实现对数据包的处理, 判断进入到主机的TCP连接请求数据包的丢弃概率, 首先要定义RED算法中用到的参数:

队列的平均长度是判断丢弃概率的关键因素, 利用函数red_cmp_thresh实现RED算法的队列长度判断, 对于不同的返回值, 计算丢弃概率。

针对不同的队列长度, 计算出当前数据包的丢弃概率:

3.2 哈希表

一个TCP连接请求数据包的丢弃概率经过上面的函数计算以后, 根据和预定的概率值进行比较, 如果概率小于给定的阈值, 则接收数据包通过主机, 如果概率大于给定阈值, 则到哈希表中进行查找, 哈希表中存在相同的数据包信息则接收数据包进入主机, 如果不存在则删除数据包, 同时保存数据包的相关信息到哈希表中。

定义哈希结构PACK_hash, 为了方便系统的快速查找, 在这里将其定义为大小为4 096 的哈希数组。

进行哈希函数的查找和插入的哈希函数, 可以利用数据包的源地址表示, 将源地址的前16 位和后16 位相加, 得到的结果除留余数, 具体的函数可以是:

3.3 数据包信息结构和定时器

在后面的处理过程中, 只用到了数据包的源地址和目的地址, 所以可以定义数据包的信息结构:

3.4 数据包匹配

数据包在哈希表中查找相应的节点, 匹配数据包的源地址和目的地址是否相同。

基于数据包的源IP地址进行匹配:

基于数据包的目的IP地址进行匹配:

4 结论

本防火墙的设计采用的拥塞控制算法RED算法, 同时利用了哈希表相关知识。构建了一个简单实用的小型防止IP地址欺骗的SYN攻击的防火墙, 经过试验测试, 该防火墙在轻度和重度攻击时, 有较好的防御能力, 正常包的通过率保持在98%左右, 系统性能较好, 吞吐量较大。

摘要:目前, SYN FLOOD攻击占70%80%。IP欺骗是常用的方式, 如何防止IP欺骗的SYN攻击成为研究热点。设计是以redhat 5.0为平台, 结合RED算法设计并实现一个抗SYN攻击的包过滤防火墙, 该防火墙在轻度和中度攻击的情况下判断一个数据包的丢弃概率, 当被丢弃则保存该数据包到哈希表中, 主机等待客户机重传TCP连接请求, 检测是否是真实性的IP地址, 经过分析研究和实验的验证具有较好的吞吐量, 同时正常数据包的通过率很高。当遭受的是重度攻击时, 则直接采用的是RED中的随机丢弃数据包。

关键词:防火墙,SYN攻击,RED算法,哈希表

参考文献

[1]周剑岚, 冯珊.运用hook技术实现的软件防火墙[J].华中科技大学学报:自然科学版, 2004, 32 (3) :83-85.

[2]毛德操, 胡希明.Linux内核源代码情景分析[M].杭州:浙江大学出版社, 2001.

[3]陈军, 陈志刚.主动队列管理RED算法的改进与实验仿真研究[J].计算机工程, 2006, 9 (6) :44-47.

[4]POTTER B.Open source firewall alternatives[J].Network Security, 2006, 18 (6) :16-17.

[5]丁晓波, 桑楠, 张宁.Linux 2.6内核的内核对象机制分析[J].计算机应用, 2005, 25 (1) :76-84.

上一篇:电力系统振动故障下一篇:框架重构