2. VoIP网络拓扑与威胁模型

大家好,我是老周。今天咱们聊聊VoIP网络长什么样,以及坏人能从哪些地方下手。

很多人觉得VoIP就是打个电话,能有什么安全问题?我刚开始接触这个领域时也这么想。直到有一次,我在客户现场看到他们的SIP服务器直接暴露在公网上,连个基本认证都没有……嗯,那场面,简直像把家门钥匙挂在门外。

2.1 典型VoIP网络架构

一个标准的VoIP网络,说白了就三样东西:终端、代理服务器、网关。我习惯把它们比作「电话机、总机、接线员」。

2.1.1 终端设备

终端就是用户手里的设备。常见的有:

  • IP话机——最传统的SIP终端,直接连网线
  • 软电话——手机或电脑上的App,比如Zoiper、Linphone
  • ATA网关——把老式模拟话机转成IP信号的设备

我在项目中遇到过一家公司,全员用软电话,但WiFi密码是「12345678」。你想想看,攻击者只要连上WiFi,就能抓取所有通话的RTP流。这不是送人头吗?

2.1.2 代理服务器

SIP代理服务器是整个网络的大脑。它负责:

  • 用户注册与认证
  • 呼叫路由与转发
  • 状态跟踪(谁在线、谁忙)

常见的开源方案有Asterisk、FreeSWITCH、Kamailio。商业方案有Cisco Unified Communications Manager、Avaya等。

2.1.3 网关

网关负责把SIP信令和RTP媒体流,转换成传统PSTN网络能懂的东西。说白了,就是VoIP世界和电话网之间的翻译官。

核心要点:网关往往是安全盲区。很多企业只关注服务器安全,却忘了网关也暴露在公网上。我曾经帮一家银行做渗透测试,发现他们的SIP网关居然允许匿名注册——任何人都能通过它打国际长途。

2.2 常见攻击面分析

攻击面,就是坏人能摸到的地方。我把它分成三个层面:信令层、媒体层、管理面。

2.2.1 信令层攻击

SIP信令是文本协议,说白了就是一堆HTTP风格的请求和响应。攻击者可以:

  • SIP劫持——伪造REGISTER请求,冒充合法用户
  • 中间人攻击——拦截并篡改INVITE请求,把通话转到自己的服务器
  • 注册洪泛——发送大量REGISTER请求,耗尽服务器资源

⚠️ 避坑指南:我曾经遇到一个案例,攻击者通过ARP欺骗,在局域网内拦截了所有SIP流量。他修改了INVITE消息中的SDP部分,把RTP流指向自己的机器。结果呢?所有通话都被录音了,整整三个月没人发现。

2.2.2 媒体层攻击

媒体层主要处理RTP音频流。常见攻击包括:

  • RTP注入——向通话中插入噪音或虚假音频
  • RTP重放——录制一段对话,然后重新播放
  • SRTP降级——强制让双方使用未加密的RTP

2.2.3 管理面攻击

这个最容易被忽视。很多VoIP服务器有Web管理界面,如果密码弱或者有漏洞,攻击者可以直接登录后台:

  • 修改路由规则
  • 导出通话记录
  • 添加后门账号

2.3 攻击者能力假设

做安全,不能假设攻击者是傻子。我一般把攻击者分成三个等级:

等级 能力描述 典型场景
L1 - 脚本小子 只会用现成工具,比如sipdump、sipcrack 扫描公网上的SIP服务器,尝试弱口令
L2 - 专业黑客 能编写自定义脚本,理解SIP协议细节 中间人攻击、SIP劫持、RTP注入
L3 - 国家级 拥有零日漏洞、能攻破SRTP加密 针对特定目标的长期监听

我个人习惯按L2级别来设计防御。为什么?因为L1太弱,防住也没成就感;L3太强,普通企业根本扛不住。L2才是现实中真正会遇到的对手。

2.4 核心威胁模型图

下面这张图,是我自己总结的VoIP威胁模型。你看一眼就明白了:

VoIP网络拓扑与威胁模型 SIP终端 IP话机/软电话 SIP代理服务器 Asterisk/Kamailio SIP网关 连接PSTN 攻击者 常见攻击手段 SIP劫持 / 注册洪泛 中间人攻击 / RTP注入 网关劫持 / 匿名呼叫 防御要点 ✔ 强制SIP认证 + TLS加密 ✔ 部署SBC会话边界控制器 ✔ 定期审计网关配置 ✔ 使用SRTP加密媒体流 ✔ 限制注册来源IP ✔ 开启入侵检测(IDS)

💡 个人经验:我建议你在部署VoIP系统时,先画一张类似的拓扑图。把每个节点的攻击面标出来,然后逐个加固。这样做的好处是——你不会漏掉任何环节。我曾经见过一个团队,服务器加固得跟铁桶似的,结果网关暴露在公网上,被人家当跳板打国际长途,一个月话费多了十几万。

好了,这一章就到这里。记住一句话:VoIP安全不是单点防御,而是全链路防护。终端、服务器、网关,哪个环节出问题,整个系统都不安全。


专注资料整理