开源BTS产品中存在多处漏洞,攻击者或可劫持手机通讯基站

前言

在过去的几周时间里,我从多个方面对GSM的安全性进行了调查和研究,例如GSM通信协议中存在的漏洞。除此之外,我还对目前世界上应用最为广泛的BTS软件进行了安全审计。在这篇文章中,我将会给大家介绍一下我在这款开源产品中所发现的多个漏洞,这些漏洞将允许攻击者入侵基站收发信台(BTS),并远程控制它的信号收发模块。

背景知识

一个基站收发信台(BTS)是由软件和无线电设备组成的,它是智能手机连接GSM、UMTS、以及LTE网络时必不可少的关键组件。BTS主要分为基带单元、载频单元和控制单元三部分。基带单元主要用于话音和数据速率适配以及信道编码等;载频单元主要用于调制/解调与发射机/接收机间的耦合;控制单元则用于BTS的操作与维护。BTS中存储编码算法A5和密钥Kc,用于解密接收到的密文形式的用户数据和信令数据(包括解密)。

它相当于Wi-Fi网络中的无线接入点,它负责管理Um接口的通信过程。Um接口是MS(MobileStation,移动台)和BTS之间的接口,通过该接口,MS完成与网络侧的通信,完成分组数据传送、移动性管理、会话管理、无线资源管理等多方面的功能。Um接口是GSM/GPRS/EDGE网络中,MS与网络之间的接口,也被称为空中接口(AirInterface)。Um接口用于传输MS与网络之间的信令信息和业务信息。具体如图一所示:

图一:MS与BTS的连接

BTS的底层软件实际上是一个信号收发器,而它就是无线硬件设备的直接接口。它主要负责频率调谐,并处理GMSK(高斯最小移频键控)数据的调制与解调。简而言之,它主要负责的是将无线电波转化成数字信号。BTS其余逻辑单元的通信和同步操作都是由图二所示的三个UDP数据包负责处理的。

图二:信号收发模块以及用来与BTS其余逻辑单元进行通信的三个UDP数据包

其如上图所示,“ClockSocket”数据包主要负责进行时间同步;BTS会使用“CommandSocket”数据包来向信号收发器发送控制命令;最后,“DataSocket”数据包负责将GSM数据包从BTS通过无线电信号广播出去,然后接收返回的响应信息。其中,信号收发器模块中的“UDPSocket”类主要负责处理上述三个信道的通信过程。

我们的分析表明,目前大多数BTS软件所使用的都是同一个(或者极其相似的)收发器代码库。因此,基本上这些BTS软件都会受到相同漏洞的影响。恶意攻击者可以利用这些漏洞来远程控制信号收发器模块,从而影响BTS的正常功能。

不仅如此,攻击者还有可能向收发器模块发送GSM数据脉冲,然后对移动用户进行各种网络攻击,例如IMSI分离、加密降级、以及拒绝服务攻击等等。

为了让信号收发器模块能够接收并处理攻击者发送的信息,发送至数据信道套接字的UDP数据包必须遵循下列格式:

当信号收发器模块接收到了这些数据包之后,它会解码这些数据包,然后使用GMSK来进行信号调制。最终,不同内容的信号脉冲将会被发送到与之相连的移动台(MS)。

即便是下方列表中标注的产品只使用了GMS或者UMTS网络,但是它们的信号收发器模块(这是一个独立组件)本身却是基本相同的。所以我们推测,负责处理LTE连接的BTS软件同样也使用了类似的信号收发器代码。

受影响产品

-YateBTS<= 5.0.0

-OpenBTS<= 4.0.0

-OpenBTS-UMTS<= 1.0.0

-Osmo-TRX/Osmo-BTS<= 0.1.10

-以及其他使用了相同信号收发器代码的产品

相关厂商

-Legba股份有限公司(YateBTS)

-RangeNetworks(OpenBTS和OpenBTS-UMTS)

-OsmoCOM(Osmo-TRX和Osmo-BTS)

问题一:过度暴露的服务绑定

概述

这个漏洞存在于上述产品的网络库中,这个问题导致信号收发器的UDPsockets地址绑定到了0.0.0.0,但是这三个信号收发器的地址应该绑定到用户设置的地址上(默认为127.0.0.1)。这也就意味着,攻击者可以利用这些地址来与BTS系统进行连接,并从信号收发器中接收(发送)数据包。除此之外,访问这些暴露了UDP网络套接字的服务其安全性将无法得到保障,因为任何身份验证机制都无法保证这些服务的安全。

图三:三个信号收发器的套接字地址全部绑定到了地址0.0.0.0

影响

攻击者可以使用IP连接来发送UDP数据包,并获取BTS的所有功能。这也就意味着,攻击者可以实现远程控制、GSM流量劫持、获取用户的通信数据、DoS拒绝服务攻击,甚至还会发生更加糟糕的事情。

细节披露

我们可以在UDPSocket类的构造器中找到引起这个漏洞的根本原因。在源文件“CommonLibs/Sockets.cpp”中,你可以找到“UDPSocket::open”方法,而正是这个方法中的错误代码才导致了这个漏洞的存在。值得注意的是,所有受影响的产品中都包含有这份源文件。下面这段代码就是漏洞代码:

从上面的代码段中我们可以看到,系统将绑定的地址保存到了mDestination类的成员变量中,但是UDPSocket::open方法的实现方式却是这样的:

尽管UDPSocket类提供了一个构造参数来指定服务器所要绑定的IP地址,但是这部分数据却被代码忽略了。正如上图第272行代码所示,通信socket被绑定到了INADDR_ANY,然而并没有使用mDestination地址变量。

问题二:基于栈的远程缓冲区溢出

概述

攻击者可以通过向设备的控制信道发送一个较大的UDP数据包来引起栈缓冲区的溢出。

影响

攻击者可以实现远程代码执行(RCE)或者对设备发动拒绝服务(DoS)攻击。

细节披露

控制信道是由源文件Transceiver.cpp中的Transceiver::driveControl方法控制的。这部分代码如下所示:

注意代码中数据包的缓存空间,这部分空间存在于方法栈中,其大小被定义为100字节(MAX_PACKET_LENGTH)。

接下来,我们对源文件Sockets.cpp中声明的DatagramSocket::read方法(DatagramSocket类是UDPSocket类的父类)进行了分析,结果我们发现了下列信息:

我们可以看到,代码读取的是MAX_UDP_LENGTH所代表的长度,并非MAX_PACKET_LENGTH变量的值。而MAX_UDP_LENGTH的值是在Sockets.h源文件中定义的,如下图所示:

因此,攻击者只需要向信号收发器发送一个大小超过100字节的UDP数据包,就可以成功在目标设备上引起栈溢出。图四显示的是该漏洞所引发的错误调试信息:

图四:由于UDP数据包过大所导致的数据包切分错误

问题三:未经身份验证的远程控制

概述

控制信道并没有引入任何形式的身份验证机制。再加上‘问题一’使得其部分信息暴露在了外部网络中,所以恶意攻击者就可以利用这个漏洞来远程控制信号收发器模块。

影响

攻击者可以:

-通过关闭模块来实现拒绝服务攻击。

-通过修改无线电信号频率来阻塞信号发送。

-通过“SETBSIC”命令远程劫持BTS。

细节披露

控制信道使用源文件Transceiver.cpp中的Transceiver::driveControl方法来处理UDP协议。该协议暴露的部分功能包括:

-开启或关闭TRX模块:CMDPOWERON / CMD POWEROFF

-更改TRX的无线频率:CMDRXTUNE frequency / CMD TXTUNE frequency

-设置GSM信号的验证信息:CMDSETBSIC value

攻击者只需要向服务器的5701端口发送一个简单的UDP数据包,就可以远程执行上面这些

结论,缓解方案,以及建议

通过这篇文章,想必大家已经了解了这些代码漏洞和身份验证机制的缺乏将会如何影响上述的这些BTS产品了。而且不仅如此,攻击者甚至还可以利用这些漏洞来发动大规模的网络攻击。

我们强烈建议厂商赶紧采取下列的缓解措施,以提升相应产品的安全性能:

1. 更新你的BTS软件,如果收到了更新补丁推送,请尽快安装补丁程序。

2. 将用于控制操作和数据转换的socket地址绑定到本地接口(127.0.0.1)。

3. 防火墙:阻止流经端口5701(控制端口)和端口5702(数据端口)的所有外部网络流量。

4. 引入身份验证系统,以防止没有权限的攻击者通过BTS控制端口来登录服务器或访问网络。

5. 修复代码中的缓冲区大小问题。

6. 进行额外的代码审计。

* 参考来源ZIMPERIUMzLabs

时间: 2024-11-10 01:13:53

开源BTS产品中存在多处漏洞,攻击者或可劫持手机通讯基站的相关文章

威胁预警:IBM InfoSphere系列产品中发现多处高危安全漏洞

本文讲的是威胁预警:IBM InfoSphere系列产品中发现多处高危安全漏洞, 近期,网络安全公司SEC Consult披露了影响IBM InfoSphere DataStage以及IBM InfoSphere Information Server等产品的若干个未修复漏洞的详细信息. 据悉,IBM InfoSphere DataStage 是一款强大的基于图形化界面的 ETL 工具,它可以从多个不同的业务系统,多个平台的数据源中抽取数据.转换数据.装载数据到各种目标系统中:而IBM InfoS

连 Adobe 都正在从自家产品中抛弃 Flash

很显然,Adobe Flash正在慢慢死去,即便Adobe公司从来都避讳这么说.但今天,Adobe在自家的Adobe Connect中抛弃了Flash,按照国外媒体的说法,这表明就连Adobe公司本身都已经不怎么待见Flash了.或许这也是Flash未来走向终点的一个表 现. Adobe Connect是个视频会议工具,或者说web通讯系统,支持企业最多1000名参与者共同进行通话.迄今为止,它仍旧要求安装Adobe Flash,不过现如今这款工具也开始拥抱HTML5,这样一来也就不需要安装额外

西门子多产品XML外部实体注入漏洞CVE-2017-12069 窃取敏感信息或者打DoS

就在31日,西门子多个产品被爆出存在XML外部实体注入漏洞,CVE-2017-12069.攻击者利用该漏洞可能导致敏感信息泄露,或者引发远程DoS攻击.涉及到的西门子产品有Siemens SIMATIC WinCC.PCS.NET PC-Software等多个版本.CVSS v3评分8.2 SIMATIC WinCC (Windows Control Center)--视窗控制中心,它是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性. SIMATIC PCS 7 是一款基于应

腾讯 今天上午在其微信产品中全面屏蔽了来往的动态分享

11月1日午间消息,来往官方微博今日发布消息称,腾讯今天上午在其微信产品中全面屏蔽了来往的动态分享. 据介绍,上午10时许,不少用户发现,朋友圈中关于来往的分享链接无法打开,先是安装了腾讯手机管家的用户被提示风险,随后所有用户访问都被屏蔽. 而没有安装腾讯手机管家的用户也收到了来自腾讯手机管家的屏蔽,提示"经腾讯手机管家检测,该网页可能包含恶意欺诈内容,已终止访问." 屏蔽事件的导火索是,来往今天开始启动新一轮推广活动,派发6000万元双11红包给来往用户.用户只要在1日至9日登录了来

求一款简单的在线编辑器,关键是免费能用到产品中哈~!

问题描述 不想自己去实现一个哈.有字体和字号,颜色等常用的基本功能就差不多了.最好是基于原生js,不要带框架的. 解决方案 百度的UEditor http://ueditor.baidu.com/解决方案二:我们公司的eform 自定义web表单系统中,也用到这种在线编辑器,有关键字颜色的变化,能查找等.解决方案三:xheditor解决方案四:ueditor,比较强大,可以去官网定制功能.解决方案五:这个有很多呢,你百度一下"富文本编辑器",有很多,对比一下看那个功能,界面比较适合.以

12306订票排队系统效率低下被指存在多处漏洞

用户提交订单后会被强制进入排队系统 新浪科技讯 9月18日凌晨消息,铁道部唯一的官方订票网站12306.cn周日完成了新一轮升级,但是多位用户反映,升级后用户购票可能会被强制排队,由于系统存在多处漏洞,排队后购买失败的概率很大. 家住北京亚运村的刘许已经是第三次从12306购票了.经过了春节.五一长假的"磨练",他已经对购票流程相当熟悉,早早的开始关注购票信息.不过,这一次他可能要失望了. 当他好不容易完成所有订票流程后,系统提示订单已经提交,但是需要30分钟时间排队处理.在等待了漫长

公开仓库中Docker镜像的漏洞分析结果发布

Federacy的一名研究人员发布了一项报告,该报告分析了公开仓库中Docker镜像的漏洞.24%的镜像发现了明显的漏洞,其中基于Ubuntu的镜像漏洞最多,而基于Debian的镜像漏洞最少. 这项研究扫描了133个公开Docker仓库中的91个,其中每个仓库都有一个添加'latest'标记的镜像,底层的镜像是一个主Linux分发版本并且带有可运行的包管理器.这里,使用了一个修改过的vuls开源漏洞扫描器来扫描镜像.vuls是用Go语言编写的,支持Linux和FreeBSD.数据是通过Feder

荷兰政府:保证不强制在任何产品中留有后门

由安全部和司法部发布.安全部部长和商务部部长共同签署的一份政府文件中指出,政府认为现阶段荷兰不宜采取限制性的法律措施来反对加密机制的开发和使用. "在加密产品上引入技术投入(后门)之后,当局可以访问用户加密的文件,同样网络犯罪者也可以访问用户加密文件.如果在加密产品中引入后门,将会对传输.存储的信息和ICT系统完整性带来不可预测的危害." 一个月前,荷兰政府刚刚同意给OpenSSL项目提供540000美元的资金支持.然而OpenSSL项目开发的是一个可被广泛使用的开源加密软件库. 该文

Siri语音导航将整合到苹果全线产品中

新浪科技讯 北京时间10月7日晚间消息,业内分析师山农·克劳斯(Shannon Cross)周五一份报告中称, iPhone 4S的语音导航系统Siri不久后将被应用到Macintosh.Apple TV和iPad等全线产品中,从而对谷歌和微软等竞争对手构成威胁. 克劳斯说:"投资者对乔布斯的逝世感到悲痛和心烦意乱,这完全可以理解.但我们认为,iPhone 4S的核心功能被忽视了.只有消费者开始使用该技术,才可能被重视起来." 苹果周二发布iPhone 4S时,许多人感到失望.因为除了