关于RTP bleed Bug的关键信息 漏洞描述 RTP bleed Bug 是RTP代理中一个严重的漏洞,允许恶意用户在不需要位于中间人的位置下注入和接收正在进行的通话的RTP流。 漏洞工作原理 RTP代理通过代理RTP流解决NAT对RTC系统的影响。当NAT存在时,RTP代理软件通常不能依赖于通过信令(如SIP)获取的RTP IP和端口信息。 攻击者可将RTP流发送到RTP代理并接收代理的RTP流,导致通话音频泄露、身份冒充和可能的话费欺诈。 泄露的实践情况 RTP代理泄露含未加密音频的RTP包,允许对进行中的呼叫进行音频注入。 加密的RTP(SRTP)包也可能泄露,对未加密的RTP有不同的安全含义。 是否此漏洞在RTP协议规范中是设计缺陷 在一定程度上是,RTP包在未加密的会话中没有身份验证。即使没有NAT,除非数据包的源不可知(除非双方都使用对称RTP),则可能被利用。 此漏洞与Heartbleed漏洞对比 Heartbleed由于OpenSSL中的漏洞泄露内存,而RTP Bleed由于易受攻击系统中的设计问题泄露RTP包。 RTP Bleed不需要攻击者在目标网络中具有战略性位置,只需要向漏洞系统发送RTP包。 已知的受影响软件 Asterisk 14.4.0 RTPProxy (测试版本1.2.1-2Ubuntu1 和 RTPProxy 2.2.alpha.20160822) 漏洞的推荐解决方案 使用SRTP以避免此漏洞对保密性和完整性的影响,SRTP应理想地在两个端点之间且不通过任何中介。 认证的STUN可以为RTP引入某种形式的身份验证。 WebRTC的漏洞 通常不,WebRTC通过强制使用SRTP、认证的STUN以及在需要时使用TURN避免此特定的安全漏洞。