基于会话的CM-IMS业务攻击、监测与防护
2012-08-09于娟娟余谦贺延敏邓岩
于娟娟,余谦,贺延敏,邓岩
(中国移动通信集团河南有限公司,郑州 450008)
CM-IMS系统是移动公司业务开展至今最为开放的一套系统,随着业务的发展,系统的开放性和方便灵活的业务承载,已经成为黑客关注和攻击的新目标。已经先后在多个省公司发生针对CM-IMS系统国内、国际长途盗打,PBX业务滥用,账号口令猜测引发的盗号,发送业务畸形分组攻击核心网络等安全问题。
本文从几种常见的攻击谈起,分别分析每种攻击产生的原因、如何检测攻击,最终实现攻击抑制和防护。同时,本文介绍了一套在现网定制开发的IMS安全防护系统,可以有效解决IMS相关安全问题。
1 从SIP看IMS安全
IMS网络的信令基础是SIP,Session Initiation Protocol (RFC 3261)是IETF多媒体架构的其中一部分,像HTTP又像E-mail的SMTP,就是不像ITU-T的H.232。
让我们做一个近距离的比对,看看SIP和SMTP是如何相似。如图1所示。
通过比对两个协议的分组头发现,SIP虽然是一个为语音设计的电信协议,但是它模仿了太多的传统IP SMTP,SMTP由于出现的太早,所以很少涉及安全考虑和措施。想伪造别人的邮箱发送邮件只要在特定环境下更改“from”信令后面的信息即可,实现伪源电话也是同样的道理。
图1 SIP和SMTP的对比
SIP如此简单,IMS攻击也就变得如此容易,所以它所面临的安全问题比SMTP还要多。
2 IMS安全问题分析
2.1 基于IMS的盗打、滥用、盗号
2.1.1 问题表象
业务盗用:指盗打国际长途,盗用IMS账号进行呼叫等未经授权的行为,盗用可能伴随盗号同时发生。业务滥用:指超出正常业务使用模式的垃圾呼叫,欺诈等使用行为,例如“响一声”电话。
发生盗用、滥用的原因主要是以下4种可能,当前以IP PBX问题居多,如图2所示。
2.1.2 攻击检测
IMS系统里面的安全网元SBC对于此类攻击几乎没有任何防护效果,主要原因是SBC无法判断用户是正常合法用户,还是被盗用后上线的非法用户。
可以从基于会话的用户行为模型进行分析。盗打、滥用一般都表现为大量的国际长途呼叫,呼叫的号码不固定,呼叫的时间很随机,与正常客户的呼叫会有很大差别,其实很容易判断。但是需要知道什么是正常的用户呼叫,用户正常的呼叫习惯是什么,而且是针对每一个客户的行为习惯,这样就很容易判断什么是异常的呼叫了。
一旦为每个用户建立了这样的用户呼叫行为习惯模型,就能轻松捕捉到黑客的盗用、滥用行为,当用户发起呼叫的时候,通过用户呼叫行为习惯模型,就可以很容易地识别出正常和非正常客户了。
建模可以通过以下5元组建立,也可以引入更多的行为特点,如图3所示。
图2 CM-IMS业务盗用、滥用的原因分析
图3 会话建模示意图
例如用户在凌晨3点登录,不符合用户以往的行为特点,视为一级告警;同时登录的IP地址不在以往统计的所有IP地址范围内,告警升级为二级;如果用户又拨打了国际长途,而且呼叫时长、频次,及被叫号码等都不符合用户以往习惯特点,升级为三级告警,盗打的可能性已经很大了,可以考虑采取一定的措施主动联系客户或者抑制客户呼叫。
2.1.3 抑制和防护
如果已经判断和发现了盗打、滥用,可以通过实时和非实时方式处理。非实时方式可以通过特定系统告知后台的BOSS,锁定客户账号等方式;实时方式就需要有一个系统通过特定协议通知SBC/P-CSCF等网元,断开用户当前及后续的呼叫。
当然,也涉及到一个溯源的问题。这个问题与传统的IP攻击溯源没有差别,也同样面临一些困难。在已经发生的案例中,黑客的安全意识相对比较强,他们在盗用IMS系统呼叫的时候,往往通过国外的一个Proxy服务器或者国外的一个免费的VPN网关连接到国内运营商的IMS系统,溯源的时候可能面临很难追查下一跳的问题。
2.2 针对IMS核心网的SIP畸形分组攻击
2.2.1 问题表象
SIP畸形攻击类似于传统的IP畸形分组攻击,主要是利用软件系统开发的bug或者系统处理异常发起攻击。例如某厂商开发的IMS系统定义Call ID字长不超过20个字符,可能定义一个20个字长的堆栈,黑客可以发送一个100字长的Call ID,如果程序不对超长做专门的处理,可能会造成堆栈溢出,系统死机或者死循环等问题。
在实际的现网测试中也发现,几个简单的SIP畸形分组就可能造成核心网元宕机、过载或者引起特定分组在网内频繁转发造成网络风暴。
SIP畸形协议分组大概有以下7种类型:格式畸形;溢出畸形;Utf-8编码畸形;参数重复畸形;参数字段缺失畸形;IPv4畸形和IPv6畸形。
2.2.2 攻击检测
理论上SBC是会对这类畸形分组进行检测并抑制。问题在于SBC的处理能力和检测能力的实时更新。要想对绝大多数的SIP畸形都能发现,需要引入鲁棒检测技术,穷举可能发生的畸形特点,构造对应的攻击特征库,并且要像更新病毒特征码一样不断更新。可是,当前的SBC没有部署这样的能力。另外,如果有太多的在线检测和处理过程,SBC也可能不堪重负。
为提高SIP畸形检测能力,需要SBC之外的某个系统代替SBC进行安全检测,实时更新又不影响IMS系统的正常业务。后续谈到的IMS安全防护系统就在旁路的位置部署了这样一套SIP畸形检测特征库,包含1000多种SIP畸形特征码,可以在不影响IMS系统效率的情况下处理SIP攻击。
2.2.3 抑制和防护
对付这类攻击无非就是2种解决方案,要么修补IMS核心网元bug,要么提供外围防护系统。IMS核心网元bug不可能实时修复,必然存在一个发现到修补的周期,这个周期就是黑客利用的周期,当然也可能存在有了补丁,但是没有及时修补的情况,更给黑客留下了丰富的利用漏洞搞破坏的时间。
所以,此类问题的抑制和防护必然需要一个外围的安全防护系统,通常应该和SIP畸形检测系统合体,检测到问题在攻击分组到达特定网元的时候就通知核心网终止这个分组。
2.3 针对IMS核心网的DoS/DDoS攻击
2.3.1 问题表象
DoS/DDoS在IP网里面再常见不过了,大量数据分组拥塞网络或者大量虚假连接耗尽服务器资源是很有效的破坏手段,基于IP网络的IMS系统也不能幸免。
但是有一个测试结果让我们更加悲观。经过测试发现,针对IMS业务的DoS/DDoS攻击比针对底层IP网络的DoS/DDoS攻击更有效。例如黑客发送10000个SYN flood洪水攻击分组才能打瘫一台服务器,而发送几百个SIP register攻击分组就可以让IMS系统瘫痪。原因是register过程服务器会进行加解密处理,增加了系统对资源的消耗。
2.3.2 攻击检测
国外的运营商已经发生了这样的情况,运营商部署了Anti-DDoS系统,但是依然没有起到防护作用。
原因要从Anti-DDoS系统原理说起。Anti-DDoS系统基本分为2个部分:DoS/DDoS检测系统和旁路的引流清洗系统。在上面的问题中,DoS/DDoS检测系统由于是为传统IP设计,不具备SIP协议DoS/DDoS检测能力,所以没能发现针对IMS业务的SIP的DoS/DDoS攻击,造成没能及时引流和清洗攻击流量。所以要实现IMS系统的Anti-DDoS,不仅仅要能处理传统IP,还要能处理SIP等业务协议。
2.3.3 抑制和防护
既然能够识别SIP业务协议,借助传统的Anti-DDoS产品实现DoS/DDoS攻击防护就不难了。
可是问题又来了。传统的Anti-DDoS系统对特定IP的攻击流量全部引流、清洗,大大增加了处理时延,对于时间不敏感的数据业务没有问题,但是对于IMS语音业务增加时延用户就很难接受了。
对于此类问题,建议采用在线标记路由方式处理。首先,还是要有DoS/DDoS发现系统,发现攻击后,对SIP信令流量打标签,而不处理SIP语音部分,将打了标签的SIP信令流量在后面的路由交换设备上通过策略路由发送给清洗设备清洗。这样只增加了信令时延,例如只是客户电话接续的时候时间长了一点,但是一旦拨通后语音讲话没有任何延迟。
处理流程如图4所示。
图4 CM-IMS中Anti-DDoS处理流程图
之所以能这样做,是因为攻击只可能发生在信令部分,到了语音部分系统除了转发已经不做其它解析处理了。
3 IMS安全防护系统
基于以上对IMS安全问题的讨论,我们在IMS现网定制开发了一套IMS安全防护系统。该系统从协议入手,采用会话关联和综合分析,在自学习的基础上建立用户呼叫行为习惯模型,实时提供暴力破解、呼叫频率异常、呼叫行为异常、盗号等检测功能,及时发现业务盗打盗用;提供单位时间协议异常检测、会话应答异常检测、业务量分析等功能,及时发现IMS关键网元(如SBC,P-CSCF)的异常状态。
系统拓扑如图5所示。
(1)发现针对CM-IMS的业务账号破解攻击23次,业务盗打2次,疑似业务滥用1次,及SIP畸形分组攻击3次以及33次疑似的大流量攻击。
(2)每日发现 1500次呼叫异常和450万个异常注册数据分组。
(3)系统实施后,调整了终端和网络配置,每天减少了10%的异常呼叫,每天减少异常注册协议分组420万个。
4 安全问题的延伸
当然,随着IMS业务发展,IMS还将面临几个新的问题:
(1)IMS将提供更多的基于Web的应用。IMS应用的一个显著特点是大多基于Web系统,方便易用。但是,众所周知,近几年最火的安全话题就是Web安全,也是黑客利用最频繁、攻击收效最显著的系统。随着IMS基于Web应用的不断发展,基于Web实现对IMS业务攻击现象将更加普遍。
(2)IMS业务从大客户模式向普通个人用户过渡。当前,IMS业务基本只对大客户开放,终端方式也以硬终端为主。随着对个人用户的业务放开,软终端更多的被引入,网络变得更加开放和更难管理,会产生更多的来自Internet的攻击和终端问题。
(3)IMS终端安全问题。IMS终端发展的时候正值智能手机成熟期,IMS终端更多向Android和Windows Phone系统靠拢,更强大的系统功能和更短的开发周期的同时,也带来了跟智能手机同样的安全问题。简单说,IMS终端和PC系统已经差别不大了,在PC上出现的所有安全问题都可能在IMS终端上出现,例如病毒、木马、僵尸网络、窃听等,而控制IMS终端后直接拨打国际长途产生的经济效益恐怕会让黑客更加努力。
图5 CM-IMS业务和协议安全监控系统拓扑图
(4)IMS伪源电话欺诈。通过篡改IMS系统SIP信令,可以实现伪源电话,用于电信欺诈案件中屡见不鲜。
(5)IMS作为LTE的核心承载对4G网络的安全影响。LTE规划中,IMS将最终成为LTE的核心承载网。在国内4G网络即将建设和放号的大背景下,我们也必须考虑LTE安全对IMS网络的威胁,以及IMS安全对LTE网络的威胁。由于IMS业务的丰富性,也造就了IMS系统与其它电信系统的互联互通,例如短信/WAP/彩信等系统,这些系统由于开放性不高,黑客攻击这些系统的难度比较大。但是,IMS的引入可能让IMS成为攻击跳板,在控制IMS核心网元后,发起对互联互通的其它电信业务系统的攻击。
其实,以上的问题还有很多,不能一一枚举。这就需要我们在新业务、新技术发展的同时,不断关注应运而生的安全问题,发现问题、解决问题,更好地保障运营商业务和网络的安全运行。