今天分享的论文主题为移动通信网络中IP多媒体子系统(IP Multimedia Subsystem, IMS)的安全问题。该工作由来自台湾交通大学、密歇根州立大学的研究人员共同完成。论文发现了 IMS 框架中 VoLTE 和 VoWi-Fi 的三个安全问题,设计了一个可以隐蔽发起 DoS 攻击的漏洞利用工具,并在亚洲和北美地区 4 个顶级运营商的 4G 网络下,使用 7 个品牌的手机进行了实验。论文提出的攻击可在仅已知目标手机号的前提下,在高达 99.0% 的时间内阻止受害者接收来电。论文发表于无线和移动通信领域顶级会议 MobiCom 2020(录用率 62/384 = 16.15%)。出于篇幅原因,本推送重点介绍论文提出的安全问题及攻击方案,应对措施部分请参考论文原文。
全文共 2900 字,阅读时间约 7 分钟。
01
【背景介绍】
IMS (IP Multimedia Subsystem,IP多媒体子系统) 是4G/5G通信网络中提供多媒体服务的重要架构。VoLTE (Voice over LTE) 和 VoWi-Fi (Voice over Wi-Fi)是其中两个重要的通话功能,实现了对传统 2G/3G 网络电话功能的升级。具体而言,VoLTE 提供 4G LTE 网络下的通话服务,而 VoWi-Fi 作为对 VoLTE 的补充,提供Wi-Fi 网络下的通话服务。
VoLTE 和 VoWi-Fi 使用 SIP (Session Initiation Protocol) 协议[1, 2]作为信令协议。SIP 协议在格式上与 HTTP 协议类似,图表 1 和图表 2 分别是 RFC3261 给出的 SIP 请求包和响应包简例,移动通信网络中使用的 SIP 协议在此基础上修改了一些字段的规范,但协议格式基本一致。
图表 1 SIP 请求包简例
图表 2 SIP 响应包简例
02
【安全问题】
说明:作者将四个运营商匿名表示为 NA-I、NA-II、AS-I、AS-II,分别对应一个北美国家和一个亚洲国家的两个运营商。其中 NA-I 和 NA-II 占据了所在国家超过 52.4% 的市场份额,AS-I 和 AS-II 占据了所在国家超过 42.9% 的市场份额。此外,作者在原文中使用 V1~V3 表示三个安全问题。本篇推送将沿用上述记号。
V1: VoWi-Fi 信令会话缺乏应用层的数据源认证
首先,作者发现,手机 IMS 应用程序和 IMS 服务器的 VoWi-Fi 信令会话尽管可能被 IPSec 保护,但缺乏应用层上的数据源认证。也就是说,攻击者可以获取这类信令会话的访问权限,从而劫持信令会话,完成细粒度的数据包控制。
具体来说,如果手机对 IPSec 的支持依赖于操作系统,攻击者可以通过获取系统的更高控制权限(例如 root 权限)来窃取 IPSec 的安全参数;而如果手机对 IPSec 的支持不依赖于操作系统,攻击者仍可以利用 SIM 卡嗅探器监听应用程序与 SIM 卡中 ISIM (IP Multimedia Services Identity Module) 模块的通讯,从而窃取 IPSec 安全参数。
图表 3 攻击者劫持信令会话后,发起 Session Name 为 “FORGED SIP” 的通话
简而言之,当攻击者对手机具有较高控制权限(例如 root 权限、物理操作权限)时,可以通过各种手段劫持 IMS 应用程序与 IMS 服务器建立的 VoWi-Fi 信令会话。劫持完成后,攻击者可以不受应用程序的限制,细粒度地控制与 IMS 服务器间的通讯,为后续攻击提供了利用基础。
V2: IMS 服务器允许并发呼叫
由于 IMS 支持用户发起会议通话,用户可以拥有并发的通话会话。但一般来说,这些并发通话需要由用户在应用程序上逐个建立。然而,攻击者利用 V1 便可并发向地多个用户发起呼叫。图表 4 展示了不同运营商允许的最大并发呼叫数。有趣的是,并发呼叫的目标可以是同一个用户,这也为后文提到的 DoS 攻击提供了便利。
图表 4 不同运营商允许的最大并发呼叫数
V3: 临时响应 (Provisional Responses) 的可靠性机制可被滥用
为了维持运营商级的通话质量,3GPP (移动通信)标准建议使用 “前置条件 (precondition)”[3] 机制,在通话建立过程中为双方进行资源预留。以 VoWi-Fi 为例,其建立通话的流程如图表 5 所示。临时呼叫者发起 INVITE 请求后,被呼叫者除了返回 100 Trying 以外,还会在返回 183 Session Progress 的同时进行资源预留。呼叫者接收到 183 Session Process 时也会进行资源预留,并回复 PRACK (Provisional Response ACKnowledgetment)。被呼叫者接收到 PRACK 后,才会开始响铃。
图表 5 建立 VoWi-Fi 通话的流程
然而,攻击者可以滥用该机制,隐蔽地阻塞被呼叫者,使其无法接收其他来电。如图表 6 所示。
图表 6 攻击者利用 precondition 机制阻止被呼叫者接收其他来电
03
【攻击设计】
由于网络结构和部署的复杂性,在移动通信网络中展开实际的攻击往往比较困难。因此,对移动通信网络安全研究而言,发现可被利用的缺陷只是其中一步,设计可行度高的攻击方案、证明安全威胁能够造成实际影响也很重要。因此,论文在提出安全缺陷的同时,也利用大量篇幅讨论了攻击方案的细节设计,以提升攻击的隐蔽性和阻塞时间占比。
1. DoS 攻击设计
作者发现,当攻击者发起 INVITE 并在一定时间后主动发送 CANCEL 时,CANCEL 到达 IMS 服务器前存在一个排队时间(Queuing Time)。在排队时间内第一个到达 IMS 服务器的其他 INVITE 请求,会在攻击者的 CANCEL 到达后被发往目标手机。为了增加 DoS 攻击阻止用户接收电话的时间,攻击者可以在发出 CANCEL 之前再发出另一个 INVITE 请求,如图表 7 所示。
图表 7 排队(Queuing)机制
此外,攻击者需要控制发起第二个 INVITE 请求与发出 CANCEL 的时间间隔:间隔太短则会导致阻塞时间占比低;间隔太长则无法落入排队时间,导致 DoS 难以持续。对此,作者利用V2 指出的 INVITE并发安全隐患,设计了自适应、多层级的 DoS 攻击方案。如图表8所示,攻击者可使用两个 INVITE 尝试落入排队时间,其中 Dynamic INVITE 的间隔时间 β 将根据运行情况动态调整,目的是尽量增加阻塞时间占比;而 Last-line INVITE 的间隔时间 α 静态固定,目的是在 Dynamic INVITE 落入排队时间外时,也能确保 DoS 的下一周期成功。
图表 8 自适应多层级 DoS 攻击
此外,作者还设计了多目标攻击方案:单个攻击者向多个目标发起攻击,攻击者每次只在会话取消后才发送新的 INVITE 请求。这样的设计使得对于同一个目标的攻击只会占用一个会话并发量,在运营商限制最大并发量的前提下,可以更好地实现多目标攻击。
作者在 AS-I 和 NA-I 两个运营商网络中,对于静态间隔攻击、自适应多层级攻击、多目标攻击各自进行了实验验证。图表9给出了受害者通话阻塞时长占总攻击时长的比例,最高可在99%的攻击时间内实现对受害者的通话阻塞。
图表 9 各类攻击方法下,阻塞时长占总攻击时长的比例
2. 隐蔽检测目标状态的设计
作者希望能够通过向目标发起通话请求过程中的 SIP 数据包,隐蔽地判断目标是否可受攻击,从而避免在 DoS 攻击过程中暴露。
具体地,攻击者与攻击目标的实际状态可按照通话技术(3G/VoWi-Fi/VoLTE)、通话状态(空闲/拨打中/通话中)、跨运营商状态(攻击者与目标在同一运营商/不同运营商),形成 18 种组合情况。其中,当目标处于 VoWi-Fi/VoLTE、空闲/通话中,且与攻击者在同一运营商时,便认为目标可受攻击。
对于不同的组合情况,作者利用10 部来自 7 个厂商的不同手机,在 4 个运营商网络中共采集了超过 5000 次通话请求过程中的 SIP 数据包。基于采集到的数据,作者利用支持向量机实现了对不同组合情况的识别分类器。为了提高分类准确率,作者还根据经验和支持向量机的结果,将 18 种组合情况进行了分组处理。具体检测流程的讨论较为繁琐,请感兴趣的读者参考原文。
最终,作者设计了一个双阶段的检测方法:首先检测并排除与攻击者运营商不同的目标;其次,在 DoS 攻击的过程中,当检测到目标切换为 3G 时则暂停攻击,检测到目标切换回 VoLTE/VoWi-Fi 时继续攻击。在融合了目标状态检测、提升了攻击隐蔽性后,作者同样测量了各类攻击方法导致受害者通话阻塞时长占总攻击时长的比例,如图表 10 所示。对比图表 9 可以发现,结合了状态检测、提升隐蔽性后,阻塞时长占比最多只下降了 1.60%。
图表 10 结合状态检测时,各类攻击方法下阻塞时长占总攻击时长的比例
04
【结论】
这篇论文指出并分析了 VoLTE/VoWi-Fi 的三个安全问题,并利用这些安全问题设计了一个隐蔽的 DoS 攻击方案,在仅已知目标手机号的前提下,可在最高 99.0% 的时间中阻止受害者接收来电。该论文还利用机器学习作为辅助手段,隐蔽地检测目标的可攻击性,避免不可攻击的目标对攻击有所察觉。此外,原文针对三个安全问题均提出了解决方案,实现了 V2 和 V3 解决方案的原型系统并进行了测试。本文开展的攻击实验覆盖了 2 个国家的 4 个顶级运营商及 7 个手机品牌,所揭示的安全风险对全球运营商、设备供应商以及移动通信安全社区起到了重要的警示作用。
原文链接
https://www.cse.msu.edu/~xietian1/paper/Mobicom2020.pdf
参考文献
[1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol”, RFC 3261, DOI 10.17487/RFC3261, June 2002, <https://www.rfc-editor.org/info/rfc3261>.
[2] Garcia-Martin, M., “Input 3rd-Generation Partnership Project (3GPP) Release 5 Requirements on the Session Initiation Protocol (SIP)”, RFC 4083, DOI 10.17487/RFC4083, May 2005, <https://www.rfc-editor.org/info/rfc4083>.
[3] Camarillo, G., Ed., Marshall, W., Ed., and J. Rosenberg, “Integration of Resource Management and Session Initiation Protocol (SIP)”, RFC 3312, DOI 10.17487/RFC3312, October 2002, <https://www.rfc-editor.org/info/rfc3312>.
编辑&审校|张一铭、刘明烜
原文始发于微信公众号(NISL实验室):【论文分享】幽灵电话:4G通话系统中IMS的漏洞、拒绝服务攻击及应对措施