
·106·
SIP协议安全技术研究
李沛然
(中国移动通信集团黑龙江有限公司,黑龙江哈尔滨150000)
摘要:针对基于SIP协议的网络中常见的安全成胁进行分类,并提出相对应的安全防御措施。关键词:SIP协议;成脉;防护措施
信息技术
SIP协议全称为Session Initiation Protocol,是一个基于IP协议的
式。由于SIP信令的主要应用场合为互联网环境,因此应用层泛洪攻击是互联网应用比较常见的威助。攻击者在较短时间向SIP应用网络系
应用层的信令控制协议,用于创建、变更和结束一个或多个参与者的会话。SIP消息由首行,SIP头域和一个可选的SIP消息体组成。SIP信令消息借鉴HTTP表达方式,这种表达方式为恶意分子构造SIP消息提供了便利,也因为该原因.让SIP协议的安全防衡成为一个比较复杂的间题。本文给出了基于SIP协议网络应用的安全目标,对基于SIP协议的网络中常见的安全威胁进行分类。在此基础上提出相对应的安全防御措施,目标就是为基于SIP协议的网络应用提供一个安全的发展环境。
1安全目标
SIP协议为网络提供的多媒体会话的信令、媒体安全可靠的传输。
统发起大量信令请求(如INVITE、REGISTER请求等),达到增加通信系统负载来实现拒绝服务(DOS)目的。恶意用户会向CSCF节点发送大量伪造的REGISTER请求,迫使CSCF执行占用资源并进行计算,消耗 CSCF节点大量内存资源,最终到达拒绝服务(DOS)目的。当然.除了 REGITER请求外,还有INVTTE,OPTION等SIP请求其有同样占用系统资源而达到拒绝服务(DOS)。
2.4伪装攻击。恶意份子通过监听等手段获得SIP信令在交互过程中的信息。通过技术,可以将服务器伪装成SIP信令交互的中间节点,与核心网节点进行敏感信息监控、恶意盗打等行为。一般来说,伪装节
但是,在传输过程中会遇到恶意的筹改,窃听,伪装,注人等恶意行为。
点为PCSCF节点。
基于SIP协议的应用网络应该满足以下安全目标,
机密性(Confidentiality)它是指在基于SIP协议的网络中的相关数据信息不会泄露给非授权的用户或实体。即信息只能够被授权的用户所使用,它是保护网络系统安全的重要手段。完整性(Integrity)它是指网络中的相关数据信息未经授权保持不变的特性。即网络中的数据信息在传输过程不会被算改、制除、伪造、重放等破坏。可用性(Availability)它是指当网落中的信息可以被投权用户或实体访间,并且可以根据需要使用的特性。即网络信息服务在需要时,准许授权用户或实体使用,或者当网络部分受到破坏需要降级使用时,仍可以为投权用户或实体提供有效的服务。可认证性(Authentication)它是指应提供高安全级别的认证机制、阻止非法用户获取用户权限,使非浅语用户无法在基于 SIP协议的网络上完成注册。可控性(Controllability)它是指对网络信息的传播和内容具有控制能力的特性。它可以保证对网络信息进行安全监控。
2 威胁分类
2.1监听攻击。监听攻击主要威胁通信各方的信息的机密性。由于 SIP消息基于文本格式,在实际应用中,常常以明文的形式进行应用。恶意分子使用诸如Wirehark等拆包工其,可以非常容易的捕提信令消息。较为容易地获取了会活双方的相关信息。应该说,这种缺陷是基于 IP传输系统的SIP协议本身固有的协议缺陷,通过技术手段直接避免该间题的发生。监听攻击直接影响了基于SIP协议的网络系统的机密性。SIP协议是一个引导性的应用层协议,其弓导的应用媒体协议常常使用的RTP协议。恶意分子可以通过检测网络中的数据流量,可以通过不断的解码尝试探测出具体应用
2.2SIP解析器攻击。SIP解析器是SIP协议栈的子模块。它是SIP 信令消息通信系统最核心的信令组成部分,负责所有输入/输出信令消息的处理,构造消息学段信息。换句话说,SIP解析器出现间题将会产重影响基于SIP格式所有消息的交互。但在实际使用过程中,由于SIP协议的版本以及应用厂家对其理解的程度的偏差,常常出现异构或者不符合国际规范等间题。我们称这种SIP信令消息为略形消息。对于一个闭环的成熟信令解析器,应该具备放弃略形信令消息的能力,保障基于 SIP信令系统的稳定性。常见的SIP解析器攻击有以下几种:2.2.1SIP 多字段信令攻击。在SIP信令消息中,某字段多次重复出现.常见的多个From/To/Contaet/Via等字段,在一定程度上增加了解析器解析的复杂度,会对整个通信系统造成影响。2.2.2异编码SIP信令攻击。在SIP 消息传输过程中包含一些实际上并不存在的学符或学段,解析器无法正常识别该字符或学段。这个攻击成为异编码SIP信令攻击。2.2.3超长 SIP信令攻击。SIP消息的长度超过了正常的字符数,可能是某些字符连续出现、数字的超长等,如超长的Call-ID,Tag字段等。
2.3应用层泛洪攻击。泛洪攻击主要是通过大量的持续性的应用层 SIP信令攻击,消耗系统资源,最终导致通信系统的服务瘫换的攻击方
2.5SQL注入攻击。SQL注人攻击广泛存在于各类互联网应用之中。特别在基于文本的信令消息系统中,进行SQL注人攻击。例如,在 REGIGSTER信令消息中的Authorization字段中,包含SQL注人语句,若S-CSCF节点不进行拦截丢弃处理,信令消息将会转发至HSS数据库节点执行,造成重要的用户信息泄露。
Authorization:Digest usemame="exemple';
Update subscriber set first_name='malicious'’ where username=’ex-emple'
realm="192.168.0.1", algorithm="md5" uri="sipx 192.168.0.1",
nonce=" 3cef753900000001771328f5ae1b8b7f0d742dalfeb5753e,
response=" 53fe98db10e1074b03b3e06438bda70r 3防护措施
对于监听攻击的防护措施方法较多,最有效的方法是对应用层数据进行加密,即使恶意分子截取到数据,但会因为没有解密的专用的秘朗而无法将数据解密,进而失去监听的意义。但应注意的一点是秘朗的安全管理非常关键,因为恶意分子会为了经济利益不择手段地获取秘朗
SIP协议解析器攻击防御的关键在于服务器确定消息是否符合协议语法。如果不符合,即对"畴形"的信令消息必领丢弃。实际上这对SIP 协议服务器要求较高,对于全IP端到端的通信系统,详细分析应用层内容,就会影响全IP端到端通信的时延,基至影响到如语音业务这种对时延非常敏感的业务质量。因此防御解析器攻击的算法尤为重要。由 Geneiatakis等人提出的签名检测系统的效率非常高,是比较理想的算法之一
在SIP信令消息的网略中应重点防御洪泛攻击,洪泛攻击被认为是最严重的互联网应用威助之一。SIP信令应用层的泛洪防御可以使用如下方法,对IP接入地址的请求个数进行统计,单个IP地址在每秒200 条请求及以上的情况下,就应该将该IP地址置于"黑名单"中,系统不再响应该IP地址所发送的请求消息
另外,对于伪装攻击和SQL注入攻击防御思路基本一致,就是使用双向鉴权的方式进行防御。对于SIP协议的双向鉴权,通用的方法就是使用AKA(Authentication and KeyAgreement,鉴权和密钥协商)鉴权。一方面网络对用户进行鉴权,防止非法用户占用网络资源。另一方面,用户对网络进行鉴权,防止用户接入了非法的网络,可以有效地防御伪装政击和SQL注入攻击。
4结论
本文给SIP协议的安全目标,对基于SIP协议的应用网络常见的安全威胁分类分析,并给出了相应的防御措施。本文内容都是基于当前的通信网络应用技术研究,希望会对SIP协议的广泛应用起到一定积极作用。