浅析端口碰撞技术

时间:2022-03-19 04:53:26

浅析端口碰撞技术

摘要:现在的服务器系统大都部署着防火墙、入侵检测等各类安全措施,对流经的网络通信进行监控,检测那些隐藏在数据中的危险行为,保护各项服务的正常运行。但这些措施在面对尚未公布的新型攻击面前,例如0day攻击,都是无效的,因为你很难预先为其制定一条相应的规则来阻止它。所以,在服务器上,任何开放的端口、服务都存在着安全隐患,这正是端口碰撞技术显得更为重要的原因之一。

关键词:端口碰撞;网络安全;防火墙

中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2012) 15-0000-01

1 基本概念

端口碰撞是一种通过对事先商议好的端口进行碰撞以获得特殊授权的防火墙技术。碰撞是由试图访问服务器上一系列关闭端口的顺序组合而组成的,碰撞的过程将被数据包过滤器记录在日志里面,若是预先进行过设置,那么碰撞序列通过验证后服务器端的守护进程就会授权给客户端访问相应端口的权利。端口碰撞的关键在于其提供了一种完全关闭的防火墙技术,对于任何到达的数据包都会被丢弃,而且不会有反馈信息(这和拒绝模式不同,拒绝模式会反馈一个ICMP PORT UNREACHABLE数据包给客户端)。

端口碰撞主要拥有以下特点:

(1)隐蔽性:传统的数据包过滤器默认策略都为Accept,允许网络服务,而将系统、应用程序的安全交给防火墙等安全产品来实现,但端口碰撞通过将默认策略调整为Drop,只有当重新设置过滤策略时才会允许指定的IP地址访问。如果攻击者无法通过嗅探、扫描等手段获知服务器正在监听某个特定的端口,那么该端口受到攻击的可能性就大大降低了。

(2)安全性:端口碰撞可以很好地阻止0day攻击。一般而言,针对0day攻击是极其难以抵御的,但是即使攻击者能在受端口碰撞技术保护的服务器上寻找到一个有版本漏洞的服务,他也无法组织并实施攻击,因为对攻击者而言,对应该服务的端口一直是处于关闭状态的。

(3)用户认证:通过监听所有发往服务器的数据包,筛选出符合预设值的碰撞序列,这就像验证用户密码一样,服务器端的守护进程只会授予通过认证的用户访问某些服务的权利。

2 端口碰撞的局限性

(1)NAT地址转换:NAT是一种在IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术,而数据包过滤器的作用是对所有进出的数据包进行检查,并阻止那些不符合既定规则数据包的传输,但它对于应用层的数据是无法做出很好的响应。当端口碰撞的守护进程临时添加允许访问的过滤规则时,只能包含接受进入连接的IP地址、使用的协议类型、端口号、开放时间等信息。

倘若客户端位于NAT设备之后,那么服务器端接收到的数据包的IP地址将显示为NAT设备外网的公有地址,当碰撞序列获得通过后,服务器将授予该公有地址在允许的时间窗口内合法的访问权,这就意味着与发送正确碰撞序列的客户端同处一个局域网中的所有主机都会获得服务器的合法授权,因为他们的公有地址都是一样的。

(2)应用范围:当端口碰撞面对类似通过web传输的HTTP数据连接或在邮件服务器之间传输的SMTP数据连接这样大规模请求时,就会显得力不从心,因为请求这些服务的对象大都来自于网络的各个方向,并且用户数众多,要是想从系统日志中分析出如此庞大的请求序列,将会占用服务器相当多的资源,从成本方面考虑,这是极其不划算的。所以端口碰撞技术一般都用在保护只需要对特定的、少数用户开放、而又极易招致攻击的服务上,例如SSH和FTP服务。

3 端口碰撞的安全性挑战

(1)重放攻击:对于端口碰撞模型而言,重放攻击是最致命也是最容易实施的一种方案。重放攻击是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的。如今的网络世界充满着安全威胁,除了要考虑为服务器端各个端口、服务提供可靠的保障,我们还因考虑到所有流量在穿越网络时同样也存在被第三方攻击或监听的可能性。对于端口碰撞而言,其只使用了数据包的头部信息,没有应用层的数据与之相关,即使遭受到第三方的拦截,也只能观察到数据包目的地地址、端口号等信息,似乎提取不到任何有价值的信息。

可是,一旦攻击者猜测到目的地主机可能正在使用端口碰撞技术,那么情况将会发生改变。端口碰撞的意义是通过网络传输来提供足够多的信息,使得接收者能够判断出数据包过滤器是否应当临时更新配置,授予那些通过碰撞序列、并证明其合法性的IP地址访问权。若是攻击者能在端口碰撞序列穿越网络时拦截或监听到所有的数据包,那么攻击者可以相当容易的发送相同的碰撞序列给同一主机。因为在服务器端的守护进程看来,只要能提供正确的碰撞序列的IP地址,都是合法的。

(2)端口扫描:端口碰撞的实现涉及到在短时间内对服务器上的多个端口进行一系列的连接请求,虽然在目的上有着本质的不同,但在IDS看来,这些行为是无法分辨的,都是危险信号。绝大部分入侵检测系统都会为应对端口扫描而设定一个阀值,若某一IP地址在较短时间内对服务器不同端口发起的连接请求数超出该阀值,IDS就会生成警告信息,通知管理员主机可能遭受到端口扫描的威胁,若连接请求数继续增加,超过了极限值,则IDS会将该IP地址暂时或永久的列入黑名单。也许你会觉得这很容易解决,只要将端口碰撞的序列数控制在IDS的阀值以内,就不会被IDS所警告。但鉴于在其脆弱的中间流程和过低的数据传输速率,使得很难在安全性和序列数量上取得一个平衡。

(3)针对端口碰撞服务的DoS攻击。乍看DoS和端口碰撞似乎没有什么交集,其实并非如此。由于端口碰撞只利用到数据包首部中有效信息,即端口号,所以只要攻击者可以伪装成客户端的IP地址,并在端口碰撞序列通过网络传递到服务器的过程中,插入伪造的数据包,使其看起来与正常碰撞序列的数据包一样,那么碰撞服务器将无法判断出正确的碰撞序列。这就是一种针对碰撞服务器的拒绝服务攻击,因为攻击者可以迫使合法的客户端无法取得服务器的正常授权。

上一篇:基于AAM关键特征点提取的人脸照片分类方法的研... 下一篇:有关计算机软件的安全检测技术的分析