- 1 -
中国科技论文在线
SIP 协议注册劫持攻击的研究
任贵菊*
作者简介:任贵菊,(1985-),女,硕士研究生,主要研究方向:电信网络安全
(北京邮电大学网络与交换技术国家重点实验室,北京 100876)
摘要:SIP 协议具有易用性、灵活性和可扩展性强等特点,使得它在以软交换为中心的下一
代网络(NGN)以及 IP 多媒体子系统(IMS)中得到了广泛的应用,但是,由于 SIP 一般使
用明文形式在 IP 网络上传输,使得其应用的安全性受到极大的挑战,同时,针对 SIP 协议
本身的安全攻击手段也越来越多。本文针对 SIP 协议存在注册劫持攻击问题,详细分析了这
种攻击手段的实现原理,并进行了模拟实现,最后给出了相应的防范措施。希望能够通过对
其攻击手段的研究为 SIP 协议的安全改进提供一定的参考。
关键词:SIP 协议;SIP 安全;注册劫持
中图分类号:TP309
Research on SIP Registration Hijack Attack
Ren Guiju
(State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and
Telecommunications, Beijing 100876)
Abstract: Session Initiation Protocol(SIP) is widely used in NGN and IMS based on it's ease
usability,flexibility and extensibility. It is a text-based protocol transported by IP network, and quite
vulnerable to simulating and tampering by occures more and more SIP attack methods.
This paper mainly focus on one classic attack type that is registration hijack attack. The detail analysis
of this attack is given first;then the attack experiment is realized;at last some tips to guard the attack are
also proposed. It is hopeful that this paper will contibute to the research on the security improvement of
SIP.
Keywords:SIP; SIP Security; Registration Hijack Attack
0 引言
SIP (Session Initiation Protocol) 协议是由 IETF 于 1999 年提出的一个基于 IP 网络,特别
是在 Internet 这样一种复杂的网络环境中,实现实时通讯应用的一种信令协议 [1] ,主要用
于实现多媒体会话控制的会话初始协议。它实现简单、扩展性好,并且与现有 Internet 协议
(如 HTTP 等)联系紧密,而获得了广泛的应用,但是由于其承载网络及其 SIP 协议本身存在
的一些安全漏洞使得针对它的网络攻击行为也越来越普遍。本文主要针对 SIP 协议本身安全
问题的一种攻击-注册劫持攻击进行了研究和分析,并在模拟环境中进行了实现及测试,希
望通过对这种典型的 SIP 安全威胁方式的研究来为 SIP 协议的安全性改进研究工作提供参
考,增强 SIP 的健壮性以保证 SIP 协议的安全运行,降低实际应用中由于 SIP 协议本身的安
全漏洞带来的损失。
1 SIP 协议简介
SIP 系统的体系结构
SIP 的逻辑功能实体有:用户代理(User Agent)、注册服务器(Registrar Server),代
理服务器(Proxy Server)、重定向服务器(Redirect Server)和位置服务器(Location Server)。
- 2 -
中国科技论文在线
图 1 SIP 体系结构图
用户代理用于代表用户发起、接收、结束一个呼叫。注册服务器用来完成对用户代理的
登录,在 SIP 系统的网元中,所有用户都要在某个服务器中登录。代理服务器,是一个中间
元素,它既是一个客户机又是一个服务器,具有解析名字的能力,能够代理前面的用户向下
一跳服务器发出呼叫请求。重定向服务器作为服务器接受用户的会话请求,终结用户请求,
并将请求中的地址映射为新的地址,返回给用户。位置服务器用来存储被叫方的位置信息并
配合代理服务器和重定向服务器提供可能的被叫用户的地址(或位置)。
SIP 消息格式
为了后文更方便介绍注册劫持的实现过程,此处首先介绍一下 SIP 消息的格式。SIP 消
消息采用文本编码格式 ,类似于 HTTP 协议,分为请求消息和响应消息。具体的消息格式
见下图。
命令名称 对端 URI 版本
CALL-ID:value
From:value
To:value
Cseq:value
Via:value
Contact:value
Max-Forwards:value
Allow:value
Content-Length:value
Supported:value
User-Agent:value
Content-Type:value
消息头
……
空白行
消息体 SDP
图 2 SIP 消息格式
2 SIP 协议的安全现状
SIP 是一个至关重要的协议,但基于 SIP 通信的安全性一直没有得到很好的解决。这种
不安全性主要来自于两个方面:SIP 协议自身的不安全性和其 IP 承载网络的不可靠性 [2] 。
由于 SIP 一般使用文本方式在 IP 网络上传输,并且传输网络结构中使用了代理服务器、重
- 3 -
中国科技论文在线
定向服务器等中间设备,使得其消息的真实性、保密性、完整性和可用性等方面受到极大的
挑战[3]。当前的攻击手段除去针对 IP 网络本身的弱点以外大都是从 SIP 协议本身的安全性
先天不足入手的。SIP 协议采用了和 HTTP 协议类似的 request/ response 模式, 用户直接发
送请求或通过服务器转发请求, 服务器或被叫用户对请求进行响应, 从而完成注册、会话邀
请、重定向 [4] 、结束会话等事务。在操作这些事务的过程中,攻击者可能截获 SIP 消息,读
取其中信息并针对会话中各环节的漏洞进行攻击。
针对 SIP 的攻击手段主要有以下几种:注册劫持、消息篡改、会话中断、服务器伪装以
及拒绝服务[5]等。面对种种安全威胁,使用 SIP 协议怎样才能保证通信的安全性,已经成为
一个亟待解决的问题。由于现实中的攻击方式非常多,在此不可能一一尽述,故本文只选取
了其中一种典型的攻击-注册劫持攻击进行研究分析。
3 注册劫持的原理
注册劫持攻击是指攻击者恶意的将注册服务器上合法用户的记录地址绑定到攻击者指
定的联系地址上,从而截获其它用户与此合法用户的通信。
SIP 注册机制是提供一个用户通过 UA 把自己的信息登记到注册服务器上,从而让注册
服务器知道终端在何处可以被访问。一般情况下,当用户第一次注册时 REGISTER 消息中
的 From 头域和 To 头域是相同的,除非是用户通过第三方来注册联系信息。注册服务器会
根据 From 头域来判断注册者的身份,同时也决定是否这个请求可以修改由 To 头域所包含
的 AOR(address-of-record)的相关联系地址。而 SIP 请求的 From 头域,可以被任意修改并
且 SIP 允许第三方代表用户来注册,这就给恶意注册打开了方便之门。攻击者可以通过将合
法用户 AOR 的相关联系地址篡改为自己的联系地址,从而截获对原来 URI 地址的请求。
其消息交互的流程如下图所示。
图 3 注册劫持消息交互过程
4 注册劫持的实现
SIP 注册服务器 IP 为 ,用户 bob 所在的主机 IP 为 。攻击者通过注册
劫持将用户 sip:bob@ 的地址篡改为 sip:bob@。这样以后 alice 同 bob 之间的
- 4 -
中国科技论文在线
通信就被 jack 劫持了。具体的物理分布见下图:
图 4 注册劫持模拟环境实体分布
注册劫持过程的具体交互消息如下:
1)伪造合法用户撤销用户 sip:bob@ 的注册(图 4 F3)
REGISTER sip: SIP/
Via: SIP/ :5061;branch=O5xhkEGsT6vZPRg
To: bob <sip:test@>
From: bob <sip:bob@>;tag=1928301774
CSeq: 99145 REGISTER
Call-ID: 1jewkazvNI06ahU3tHXn
Max-Forwards: 70
Contact: <sip:bob@:5061>
Expires: 0
Content-Length: 0
2)收到 SIP 注册服务器对撤销注册的回应(图 4 F4)
SIP/ 200 OK
Via: SIP/ :5061;branch=O5xhkEGsT6vZPRg
To: bob <sip:bob@>;tag=1271146418687-11626165
From: bob <sip:bob@>;tag=1928301774
CSeq: 99145 REGISTER
Call-ID: 1jewkazvNI06ahU3tHXn
Contact: <sip:bob@:5061>;q=;expires=0
Content-Length: 0
Server: Brekeke OnDO SIP Server (
Expires: 0
3) 伪造合法用户注册,并将合法用户号码绑定攻击者的 IP(图 4 F5)
REGISTER sip: SIP/
Via: SIP/ :5061;branch=QFpW8PucbVDEz9C
To: bob <sip:bob@>
From: bob <sip:bob@>;tag=1928301774
CSeq: 34325 REGISTER
Call-ID: za86Sps9xoNUE1XBJtYb
- 5 -
中国科技论文在线
Max-Forwards: 70
Contact: <sip:bob@:5061>
Expires: 7000
Content-Length: 0
4)收到 SIP 注册服务器对此注册消息的成功确认(图 4 F6)
SIP/ 200 OK
Via: SIP/ :5061;branch=QFpW8PucbVDEz9C
To: bob <sip:bob@>;tag=1271146418718-16416372
From: bob <sip:bob@>;tag=1928301774
CSeq: 34325 REGISTER
Call-ID: za86Sps9xoNUE1XBJtYb
Contact: <sip:bob@:5061>;q=;expires=7000
Content-Length: 0
Server: Brekeke OnDO SIP Server (
Expires: 7000
5 注册劫持的防御
这类威胁存在的根本原因是用户发出的注册请求消息没有进行必要的加密,同时没有一
类安全机制使 SIP 实体能够认证用户的身份[6] 。对消息完全加密是保证消息机密性最可靠的
方式,理论上 SIP 协议可以通过底层的安全机制来保证其安全,如通过网络层的 IPSec 或传
输层的 TLS 对 SIP 消息实现完全加密。加密以后即使攻击者截获网络上的一些数据包也无
法获取进行注册劫持所需要的一些关键数据。而对于用户身份的认证可以借鉴现有的一些认
证机制。如 HTTP 摘要认证、S/MIME 加密认证以及 PGP 认证等方式,从加强对用户身份
的鉴别方面来防范 SIP 注册劫持攻击[7]。
6 结论
本文主要论述了 SIP 注册劫持攻击的原理,并给出了模拟环境中攻击过程的实现,最后
针对 SIP 注册劫持攻击的防范给出了一些建议。随着 SIP 协议被越来越广泛的应用,对其安
全性的研究也就显得越来越重要。无论是针对其承载网络安全性的研究还是针对 SIP 协议本
身安全性的研究,以及一些安全协议的使用对 SIP 性能的影响都是非常值得关注的领域。
[参考文献] (References)
[1] IETF. RFC 3261. SIP :Session Initiation Protocol. 2002.
[2] 闵涵, 陈萃萌, 张琦辉.基于 SIP 协议的网络安全性分析. 计算机工程与设计, 2004, 25(3): 386-389
[3] Her -Tyan Yeh, Hung -Min Sun. Password authenticated key exchange protocols among diverse network domains
[J]. Computers andElectrical Engineering,2005,31:175-189.
[4] 周文,陈凯,张艳.针对 SIP 的 DoS 攻击与防御研究. .
[5] 徐振端,马进,陆松年. SIP 重定向攻击实现及防范. .
[6] 吕武玲,黎忠文.SIP 中基于身份认证的安全机制研究.
[7] Arkko J, Torvinen V, Camarillo G, Niemi A, Haukka T. Security mechanism agreement for the session initiation
protocol (SIP). Internet RFC 3329, 2003.