作者:UnicornTeam
本文主要分两大部分:第一部分主要阐述“5G消息”的概念、技术本质、部署方式、入网流程以及未来短时间内的发展形势;第二部分主要揭露已经部署了“5G消息”的运营商网络中暴露出来的一些安全问题。
如果读者对“5G消息”的RCS技术很是了解,并且关注“5G消息”的安全问题,不妨直接跳到第二部分开始阅读。
如果读者对“5G消息”不甚了解,却不想花太多时间去了解,就只需要知道“5G消息”和微信类产品没有太大的使用体验区别。
如果有兴趣继续了解安全问题可以直接直接跳第二部分阅读。
如果兴趣不大,就只需要知道,睡觉关机对身体和钱包都是有好处的,并且不要随意接入免费的无线热点。
第一章:漫谈"5G消息"
前段时间三大运营商力挺的“5G消息”,将有可能成为5G应用市场中最先落地的应用项目,据5G消息白皮书可知,这一消息采用RCS(Rich Communication Services & Suite,富媒体通信)技术。提到这项已诞生十几年的技术大家可能并不陌生,早在07年出现的飞信就是基于该技术的产品。一说飞信,大家不免对这项技术带有一些负面印象,那么不妨让我们先看看
1、5G消息与当年的飞信有何不同?
首先我们要了解LTE也就是我们现在在使用的4G网络采用的是全分组交换技术(PS),不同于之前的GSM、WCDMA与CDMA,即2G、3G网络支持传统电话业务的,而LTE网络不支持。所以在开通4G后,用户上网会有一个飞速的提升,但是在4G刚开始投入使用的时候打电话与发短信还是会切换到2G或3G网络(即CSFB)。直到国内运营商开始部署开通了VoLTE,一个专门属于4G的短信与通话业务的,它们遵循GSMA制定的 IR.92“IMS Profile for Voice and SMS”即VoLTE(Voice over LTE)标准。随后VoLTE还增加了视频通话的能力,这就有点类似iPhone的Facetime。
而RCS技术发展至今,理所当然也包含了视频通话这一功能,确切说只要是移动app中运行的所有功能,RCS短信上是都可以实现的。这是曾经的飞信所不存在的,而且听起来是一项很酷的功能。
2、那么既然VoLTE和RCS都有相同的视频通话功能,它们本质是一样的吗?
很明显不是,RCS是对富媒体通信业务更完好的补充,是运营商想来留住客户的OTT(Over The Top)产品。RCS与VoLTE同时存在且不冲突。最关键的点是VoLTE的业务是提供QoS保证的,而RCS没有。再者,RCS技术除了PS接入网络也可以只通过Wi-Fi而接入网络,所以RCS技术乃微信、skype、iMessage类产品的竞争产品。而RCS与VoLTE共存时,运营商需要给终端用户提供一个统一的通信体验,比如微信类业务用户是需要注册,加好友,才可以和对方进行通话;而RCS只需要做到用户身份统一,并且有统一的IMS(IP Multimedia Subsystem),就可以做到给没有开通RCS服务的用户以短消息或手机所支持的方式进行送达。目前RCS的功能也可以通过两种方式提供给用户,一种是厂家集成,另外一种则通过独立的应用供用户下载。
如下图所示的应用场景,将来“5G消息”不仅局限在5G手机,4G、3G甚至2G网络的手机同样可以享用这一服务,UE A、B、C和D分别为不同制式的终端。
3、接下来,大家可能也会关心RCS与VoLTE既然有重复功能,那么在彼此之间是如何实现的呢?
其实在VoLTE引入之前,RCS就自带IMS协议栈,通过互联网接入APN接入运营商网络,采用各自独立实现的方式并存,而VoLTE通过基带芯片实现,下面这张图可以很好的展示它们的部署方式。
显然这种双IMS协议栈的部署方式会对终端资源的能耗造成极大的损失,并且重叠的业务也会限制业务的服务效率,因此整合协议栈将是终端厂商的主流做法。然而,整合的方式有多种多样,如下图所示,可以是在基带芯片引入API接口供RCS调用IMS协议栈,也可以在底层引入聚合相关IMS信令的模块,无论采用何种方式接入,在运营商的网络中VoLTE和RCS总是由同一个IMS核心网来提供控制与服务,因此运营商不必等到终端采用一致的方案就可以部署RCS业务。然而终端的不同部署方案决定了该技术在不成熟阶段必然存在不同程度的安全问题。
4、接下来说说RCS与VoLTE的入网注册方式:
RCS与VoLTE的注册也可以相互独立存在,因此此处可存在多种鉴权机制。其中VoLTE基于USMI/IMSI的信息通过IMS AKA机制鉴权,而RCS也可以采用其它的鉴权方式,如用户名、密码、域名等。鉴权机制优先采用SIP/TLS的方式,当然如果某些客户端不具备TLS传输的能力时,非TLS的认证传输也是支持的,但是需要携带随机数来防止重放。
在2019年,谷歌就开始宣布支持RCS技术,其应用名称Chat,中兴、华为、三星、小米、vivo、OPPO也将在今年底实现全面支持“5G消息”。谷歌其实早就想把落后已久的SMS换成RCS,安卓用户也希望能拥有自己的iMessage。只不过由于苹果系统暂时对RCS技术的不支持,所以5G消息对安卓用户的改变更为可观。因此安卓用户给苹果用户发消息依旧是绿色的气泡(苹果用户之间发送消息则是的蓝色气泡)。
5、既然RCS技术是如此强大,苹果又为何积极性不高呢?
那是因为苹果的iMessage采用端到端加密技术,即密钥分发体制掌握在苹果自己手里,相比RCS技术来说也是要安全太多,用户之间发送的消息苹果看不看两说,反正中间运营商是看不到。如果苹果选择了RCS技术,就如同放任Message的加密形同虚设。所以老实说,苹果积极去支持RCS技术没有太大意义,除非将来RCS技术彻底替代了SMS的地位,苹果被迫选择这种改变,那么在此之前,RCS技术都将属于次要地位。
第二章:“5G消息”的安全隐患
前面我们说到了终端厂商各自部署自己的RCS功能,并且运营商所部属的RCS网络处于不成熟阶段,那么不妨看一看一些优先于我国部署RCS网络的国家,都发生过哪些安全问题。以下漏洞来自SRLAB在2019年12月份的Blackhat Europe上的汇报。
以上总共罗列了五种存在的攻击方法,分别是用户跟踪、冒充其他用户、恶意欺诈、网站的DDoS攻击以及消息拦截。其中,前四项都属于网络配置错误出现的漏洞,易攻易防,而第五项消息拦截则需要攻击者具备一定的技术能力,结合多个漏洞完成的一项攻击目标。
以下便是每种安全问题的描述:
1. 用户跟踪
Track users的攻击方式是群发SIP OPTION requests,通过返回的数据包可得到在线用户的ip地址,同时也暴露了用户粗略的位置信息。
2. 冒充其他用户
Impersonate users属于SIP协议中早先就存在的漏洞,在目前已经商用的某些5G消息中依旧存在,即攻击者在正常注册到网络后,可以构造他人身份的SIP INVITE消息来发起通话。
3. 恶意欺诈
Conduct fraud的攻击方式属于内网攻击,也可以是利用中间人构造的恶意的Wi-Fi热点,对受害者的流量信息进行劫持。由于RCS的核心处理器只能通过IP地址和用户的手机号来识别用户,因此攻击者拿到PCSCF的IP地址与端口号后,可以冒充受害者的身份给他人发送虚假的消息。
4. 网站的DDoS攻击
Website DDoS的攻击方式则是由于用来分享文件的Message Session Relay协议没有对文件大小设置上限,并且用户打开链接会自动下载文件,因此当群发该XML格式的消息时会造成服务器宕机;同时研究者还发现,某些RCS request消息会携带敏感信息例如Session token。
5. 消息拦截
Intercept texts的攻击方式有三种实现方式:
第一种,是由于XCAP接口的配置不当的问题,会造成类似SS7的攻击;
第二种,可以通过窃取用户RCS的配置文件,其窃取方式可以是通过恶意apps、恶意热点。
更具体的操作步骤是通过恶意Wi-Fi热点将Javascript脚本注入到用户所访问的网页,再将用户从恶意的热点踢下来,迫使用户重新登录到LTE的网络中,此时便可以拿到用户在运营商网络中的cookie,再利用cookie发送到config server,从而拿到用户的XML config 文件。该文件中包含用户名、密码、证书以及其它的一些用户隐私参数。换言之,拿到用户的XML config文件意味着可以彻底地接管用户的所有权限。
以上获取XML config文件的方式稍稍复杂,然而还有一种更简单暴力的方式,就是暴力破解,直接随机构造IMSI发送登录request,通过服务器返回值是否为200来寻找有效的IMSI(也可以通过IMSI catcher来代替),随后再暴力破解用户登录的验证码,即6位OTP,最后直接通过IMSI与OTP登录到服务器拿到用户配置信息,接管用户。
通过以上四种方式中的任何一种拿到用户的XML config文件后就可以以用户的身份注册到RCS网络中,并且将SMS over IP这项功能设置为开启状态,那么由IP-SM-GW转发过来的短消息会优先走RCS服务,如果RCS客户端没有确认接收到该消息,消息则以短信的形式再次发给受害者。也就是说,攻击者在这里既可以做短信拦截也可以单纯的做监听,并且不需要近距离接触用户。
第三种攻击方式也是利用恶意Wi-Fi热点,对用户进行DNS劫持,将用户劫持到攻击者的P-CSCF(带有效的SSL证书)上,随后攻击者再接入真实的P-CSCF上。即攻击者在用户与运营商之间做了一个带解密的中间人攻击,从而达到透明传输用户数据的目的。
所以,尽管RCS被视为取代 SMS 短信的新标准,但是它存在的问题一点也不比传统短信少。以上所暴露出来的问题,有四个问题都是配置不得当造成的,例如第二个问题,只需要对otp增加时间限制就可以有效的防止爆破攻击,只不过在某些厂商部署新技术时,因重视效率而忽略了更为重要的安全问题。其次,就简单应用来说,如果用户发送一条短信,还需要他去搞明白这条短信是否原生系统发送,是否收费,对方是通过短信的形式看到,还是通过客户端看到,这可能都不是用户所能承受的复杂。科技发展到今天,SMS短信被淘汰是早晚的事,而我们沟通的对象不仅仅局限在通讯录里的熟人好友,更多的商业价值体现在非熟人的沟通联络上,甚至不单是人,也可能是汽车、家用电器甚至是宠物,这些都是RCS技术的优势, 然而不要忘了“Great power comes with great responsibility”。
参考文献:
-GSMA PRD RCC.07: "RCC.07 Rich Communication Suite 9.0 Advanced Communications Services and Client Specification v10.0"
-3GPP TS23.700:“Study on support of the 5GMSG Service”(Release 17)
-https://i.blackhat.com/eu-19/Wednesday/eu-19-Yazdanmehr-Mobile-Network-Hacking-IP-Edition-2.pdf
-https://www.eefocus.com/communication/323882/r1
声明:本文来自360 IoT安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。