转载

SIP代理:新型DDoS攻击反射器

0×00 SIP代理:新型网络反射器

为了缓解SIP网络的身份窃取现状,一个基于证书的中间域认证机制已经在RFC 4474中提出来了。不幸的是,证书分发机制也存在设计漏洞。本文中,我们研究了一种攻击方式 利用SIP的基础架构作为反射器宕掉一个web服务器。最后我们会讨论潜在的防御这种攻击的办法。

0×01 介绍

目前SIP广泛运用的认证办法基于HTTP的hash摘要机制。因此SIP的使用者需要和相同家庭域共享用户名密码等用于认证消息源。

然而此类共享机密通常不是分布式的,因此多域环境间身份滥用是可能的,也会导致一些安全问题例如VoIP 蠕虫 和伪造访客等。

为了应对这个问题,J.Peterson 提出了一个基于证书的域间认证机制,一个源SIP域以自身私钥签名发出的信息并且接收的SIP域认证接收信息的签名。因此接收的SIP域必须有源SIP的证书才能认证签名。尽管如此,设计签名分发策略还是有一个严重的问题,一个接收SIP的代理应该通过SIP信息指定的URL地址下载证书,然而在下载证书时,SIP信息仍然不可信且未被认证。因此这个机制让攻击者有机会吧SIP代理链接到任意远程主机。我们的实验证明了攻击者可以利用证书下载的时间封锁一个受害SIP代理。

本文中我们要研究另一种方法,攻击者可以收集SIP代理的清单作为反射器攻击web服务器。此类攻击可以造成严重的影响,尤其是支持HTTPS的服务器。

0×02 背景知识 SIP和RFC 4474

SIP是设计用来建立,修改,终止双方或多方会话的基于文本协议。

要了解SIP 有一些网络术语:

用户代理(UA),代理服务器,登录服务器。一个UA表示会话的末端。参考UA的身份,它可以是UAC(UA客户端)用来初始化SIP信息,或者UAS(UA服务器)接收SIP请求并且回复。 一个代理服务器面向不同SIP网络组件的SIP信息。一个登录服务器用于用户登录并且声明其在网络中的权限。

大体上说,一些安全检查或认证都强迫给了代理。SIP用户以自身的URI(统一资源认证)认证。一个URI包括域名和用户名,SIP消息格式和HTTP格式很像,消息头和消息体都有对应的值。

VoIP攻击者为了不被追踪经常欺骗SIP认证。RFC 3261提出了一个HTTP的共享机密的认证机制,然而此方法因为机密不是分布式的,在多域环境中不管用。

接着,RFC 4474 提出了新办法:

SIP代理:新型DDoS攻击反射器

图1(域间认证机制)

多域环境下召唤者发出调用请求给被召唤者,源域用私钥给这个请求签名,产生的签名又编码进一个新的头身份文档,再添加进源请求中。

除此之外,源域附加了另一个新的头身份信息,其中包括URL(指出下载证书的位置)还有认证算法。修改的请求接着进到接收域,接收域先检查本地有没有对应的证书,没有的话代理必须要到认证信息指定的URL下载。如果下载没成功或者证书不合法,接收域会忽略请求并返回失败信息。否则,代理就用证书提取的公钥认证签名是否合法。请求只在认证成功的情况下传给召唤者。

0×03 利用SIP代理反射攻击

我们假定文中提到的所有的SIP代理实行的是RFC 4474的认证机制。机制中一个严重的问题就是认证措施实行前,接收代理无法知道进入的域间请求是不是伪造的。攻击者可以欺骗多个代理让它们连接任意主机进行证书下载,无论网站服务器是否支持证书下载,DDoS攻击都能起到效果。

就其论文来看,攻击效果在20倍到40倍左右,思路值得借鉴。

当然作者也提出了很多的预防办法,比如:

1,替换认证机制,创建TLS连接或者在源SIP和接收SIP之间建立IPsec隧道。 2,建立统一的证书库,证书地址就可以硬编码进接收SIP中。但是此机制难以被网络运营商采用。 3,一个SIP代理想认证请求需要主动获取证书,为了防止上述问题,我们修改了分发方法,由源SIP主动推送证书。 将认证证书编码进请求中,可以缓解这个问题。

SIP代理:新型DDoS攻击反射器

正文到此结束
Loading...