开发者社区> 玄学酱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

一种基于SDR实现的被动GSM嗅探

简介: 本文讲的是一种基于SDR实现的被动GSM嗅探,软件定义无线电(SDR)是一种无线电通信系统,简单来说,就是通过数字信号处理技术在通用可编程数字信号处理硬件平台上,利用软件定义来实现无线电台的各单元功能,从而对无线电信号进行调制、解调、测量。
+关注继续查看
本文讲的是一种基于SDR实现的被动GSM嗅探

一种基于SDR实现的被动GSM嗅探

软件定义无线电(SDR)是一种无线电通信系统,简单来说,就是通过数字信号处理技术在通用可编程数字信号处理硬件平台上,利用软件定义来实现无线电台的各单元功能,从而对无线电信号进行调制、解调、测量。SDR架构放弃了传统无线电电路中所有的硬件单元,包括变频、混频、滤波器、放大器、检波器、解调器等,所有的处理,包括混混频,滤波,解调等都是用软件来完成的,完全是一种新的架构和技术。

其实,SDR技术和架构的无线电产品在军用和商用无线电领域早已广泛使用,近年来SDR技术已经被应用到了与大众接触最为密切的移动电话中了。

使用SDR嗅探监听GSM网络的通信流量已经不是什么新鲜事了,只要调到到特定频率时,我们就可以使用SDR来捕获无线电波。可捕获的频率范围和带宽随不同的SDR设备而不同。本文中,我们将使用最便宜的RTL-SDR来嗅探GSM,RTL-SDR 是一个低廉的家用消费档次的 DVB-T USB 接口的接收机,这些 DVB-T 接收机基于 Realtek 的 RTL2832U 芯片外加一个诸如 Elonics E4000 一类的高频头而构成,价格低廉到 20 到 25 美元的 RTL-SDR,它们无疑是目前最低廉的SDR硬件设备。

在详细介绍之前,首先看看不同的GSM频段。GSM是由国际电信联盟指定的一组由GSM手机运行的预定频率进行的操作。

一种基于SDR实现的被动GSM嗅探

从上图可以看出,标注黄色的那两个频段正是印度所使用的GSM,但900频段的使用国家为8个,1800频段的使用国家为3个,这意味着其手机用户要和其他国家的用户共同使用同一频段。

为了嗅探到GSM,我们首先需要识别GSM下行链路信道,这样就需要知道你的手机正在运行的频率,你可以通过获得手机的绝对无线频道编号 (Absolute Radio Frequency Channel Number -ARFCN )来获得它。

ARFCN,是在GSM无线系统中,用来鉴别特殊射频通道的编号方案,阐述了GSM 无线网络系统的Um 接口上的两个物理无线电系统链路和通道。一个用于上行链路信号,一个用于下行链路信号。

下面以我使用的摩托罗拉G4为例来进行实例说明,在这款手机中,我可以通过在手机键盘上拨*#*#4636#*#*来获得服务模式。由于对2G(GSM简称2G)的分析要比3G或4G要容易得多,所以我将手机切换到2G模式,分析如下所示。

一种基于SDR实现的被动GSM嗅探

从上图的画红框的部分可以看出,我的ARFCN号是672,这样就可以使用ARFCN号码来计算出我的手机运行的确切频率。通过使用简单的ARFCN计算器,就可以知道我的手机正在运行的频率。

一种基于SDR实现的被动GSM嗅探

现在,让我们将RTL-SDR调整到特定频率,并找出我们需要看到的内容。

一种基于SDR实现的被动GSM嗅探

我们可以清楚地看到该频率上的GSM数据流,除此之外,我们还会扫描相关的所有GSM频率,以便我们确认下行链路信道。推荐大家使用kalibrate-rtl工具来扫描相关的GSM频率。

一种基于SDR实现的被动GSM嗅探

从上图中,可以看到我的手机的下行链路信道,同时,kalibrate-rtl也给我们算出了偏移值,这将有助于你更好地校准你的SDR。

由于SDR接收的数据只是原始数据,所以没有什么实际意义。我们可以使用GR-GSM来解码这些原始数据,并将其处理成有意义的信息。

一种基于SDR实现的被动GSM嗅探

与此同时启动wireshark,这样我们就将开始在wirehark中看到GSM数据包,我们也可以过滤出Gsmtap数据包。

一种基于SDR实现的被动GSM嗅探

如上图所示,这是一个系统信息类型3数据包。由于MS在空闲模式下,与网络设备间的联系是通过广播的系统消息实现的。所以借助这个数据包,网络设备向MS广播系统消息,使得MS知道自己所处的位置,以及能够获得的服务类型,在广播的系统消息中的某些参数还能用于MS的小区重选。

一种基于SDR实现的被动GSM嗅探

由于A5算法是一种序列密码,它是欧洲GSM标准中规定的加密算法,用于数字蜂窝移动电话的加密,加密从用户设备到基站之间的链路。A5算法包括很多种,主要为A5/1和A5/2。其中,A5/1为强加密算法,适用于欧洲地区;A5/2为弱加密算法,适用于欧洲以外的地区。所以我们只能看到一些没有加密过的控制通道。

AUC(鉴权中心)是GSM系统中的安全管理单元,存储鉴权算法和密钥,保证各种保密参数的安全性,向HLR(归属用户位置寄存器)提供鉴权参数。存储用以保护移动用户通信不受侵犯的必要信息。AUC一般与HLR合置在一起,在HLR/AUC内部,AUC数据作为部分数据表存在。鉴权参数包括三组:RAND(Random Number,随机数),SRES(Sign Response,符号响应),Kc(Ciphering Key,加密密钥)。

不过由于 Ki或Kc永远不会通过网络进行交换,因此无法通过空中嗅探加密密钥。此外,Kc会在每次呼叫设置之前更改。这意味着每呼叫一次,就会出现一次不同的加密密钥。如果我们有足够强的计算能力,旧版本的A5可能就会被破解。目前已有研究已经通过在云计算中建立了整个流程来破解A5 / 1加密, Kraken是可以用于此的一个工具。

我们无法使用RTL-SDR捕获语音数据,因为在通话期间,会发生信道跳频,而RTL-SDR的带宽不足以一次捕获整个范围。所以,我们需要一个更好的SDR,要具有更多的带宽,如HackRF或任何SDR设备。HackRF是一款由Michael Ossmann发起的开源软件无线电外设,支持从30MHz到6GHz,最大带宽20MHz。

我们的电话是如何被嗅探到的?

1.加密算法的降级

由于许多旧的手机没有足够的计算能力来使用新的加密算法,所以为了维持它们的运行,运营商必须支持旧的加密算法,这就造成了即使我们想使用强大的加密算法但迫于现实,也会被切换到较弱的加密算法。

2. 有意关闭加密方案

在电信安全漏洞评估中,我们发现有时运营商在网络上的负载增加时会完全关闭加密方案,从而降低流量的加载,以便可以轻松容纳更多的用户。

3. 中间人攻击

中间人攻击者可以创建伪造的手机发射塔,让附近的移动用户使用发射塔,这样就可以迫使MS根本不使用加密。

4.获取sim卡的加密认证

在2015年,有消息说,美英间谍机构曾入侵世界最大SIM卡制造商金雅拓(Gemalto)公司,盗取加密密钥,以便在未获得许可的情况下获取手机通信信息。




原文发布时间为:2017年6月9日
本文作者:xiaohui
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
[Nowcoder] Browser Games-2021牛客多校10-A | Hash /压缩Trie
给出 n 个字符串,对于每个 i ,找到最少需要多少个前缀,将第 1 -> i 个字符串的前缀包含在内,不包含第 i + 1 -> n 个字符串的前缀 首先暴力的字典树解法(由于内存的加强,并不能通过该题) 压缩Trie 是可以的
11 0
基于SSM实现记账系统demo(二)
基于SSM实现记账系统demo(二)
61 0
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
207 0
基于Redis实现特殊的消息队列
本文将介绍一种基于Redis实现的消息队列(Redis message queue, RMQ),RMQ可以作为传统消息队列的互补选择,在传统消息队列没有涉及的场景中使用RMQ。
251 0
基于XenServer7.3创建虚拟机和安装系统
本篇博客承接上篇XenServer安装教程,作为XenServer7.3环境下创建虚拟机和安装操作系统的简明教程。 图片较多,介意者慎入。 如需转载,请注明出处http://lzoro.com 唠唠嗑 惯例唠嗑,既然搭建了虚拟平台,目的肯定是为了安装虚拟机和整合系统服务,XenServer的虚拟机创建和系统安装并不像vSphere来得那么简单(个人觉得),但也不难,不过过程中需要注意一些细节,格子觉得还是记录下来,也许有人需要呢,是吧。
1193 0
企业级LNMP架构搭建实例(基于Centos6.x)
1.1 部署LNMP架构说明 1.1.1 LNMP架构内容   01.部署linux系统   02.部署nginx网站服务   03.部署mysql数据库服务   04.部署php动态解析服务 1.
1471 0
【Qt编程】基于Qt的词典开发系列<十一>系统托盘的显示
    本文主要讨论Qt中的系统托盘的设置。系统托盘想必大家都不陌生,最常用的就是QQ。系统托盘以简单、小巧的形式能让人们较快的打开软件。废话不多说,下面开始具体介绍。
1199 0
2012年下半年11月份系统架构设计师上午试题答案之一
2012年下半年11月份系统架构设计师上午试题答案之一 试题一:企业资源三大流 企业的所有资源包括三大流:物流、资金流和信息流。 试题二:企业信息化方法 1. 业务流程重构法; 2. 核心业务应用法; 3. 人力资本投资方法; 选择错误答案是:组织变革法。
830 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20683
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载