RTP插入攻击
这一类传输层攻击的特征是攻击者将带有欺骗性的RTP包插入RTP流中。根据插入RTP包的形式不同,得到的结果也不相同。
1)SSRC冲突攻击
一旦接收到两个来自不同发送者的数据包但是却具有相同的SSRC,RTP就会进入冲突状态。RTP的冲突处理机制很简单:如果一个源发现另外一个源使用与他相同的SSRC,就必须发送RTCP BYE包然后再随机选择一个新的;如果接受者发现有两个源发生碰撞,则它会保持其中一个的包而丢弃来自于另一个的包;两个源会解决碰撞问题因此碰撞不会持续。
以下两种DoS攻击可以用来帮助理解RTP如何处理冲突:
a.当攻击者窃取其中一个对等点的SSRC后,将自己的RTP报文发送给另外一个对等点。接收者一旦接收到相同的SSRC,就选择接收从单一源发送来的数据包。因此,攻击者就可以有效地剔除一个VoIP用户。
b.攻击者向目标主机发送带有目标自身的SSRC的RTP报文。目标主机则被迫放弃当前的RTP流而选择一个新的,然后冲突释放了SSRC。这使得所有目标主机参与的会话都会产生中断。
2)其他的SSRC操纵
SSRC操纵可以以更加复杂和创新的方式来实现。如果攻击者知道其中一个对等点的SSRC,他就能够用相同的SSRC和IP特性伪造报文,但是拥有比合法报文更高的时间戳和RTP序号值。在接收端RTP应用将会首先处理攻击者的数据包而丢弃合法的数据包,因为他们的时间戳不合法并且更晚。这种攻击使得虚假的内容在真实的音频内容之前播放,这种攻击也可以看作为一种拒绝服务攻击。
基于RTP攻击的解决方案
与一些基于SIP的攻击的情况相同,大部分基于RTP的攻击都依赖于伪造的欺骗性RTP包并将他们插入RTP中。要是没有保护措施,可以认为RTP是一种不安全的协议。如果攻击者能够截取到RTP包,那么伪造恶意的数据包并在合适的时候将他们发送出去只是微不足道的事。即使攻击者无法获取RTP流,只要攻击者拥有对等点的一些信息,伪造欺骗性的RTP报文并且发动攻击也并不是一件困难的事。
与SIP的情况相同,保护RTP流免受攻击的解决方案就是引入加密机制和类似安全哈希的数字签名。
结束语
目前VoIP安全的发展还处于初始阶段,安全威胁和攻击还有待于建立起一系列理论。但是在实践中却很难执行,主要是因为相关基础知识和攻击检测机会的缺乏。但是,随着VoIP网络数量的不断壮大,攻击者必将对这一新兴的技术产生兴趣。选择分层的方法进行分析强调了消除威胁的解决方案,而且当新的攻击模型出现时能够更有效地对其进行定义。