[技术]初识SDR与GSM嗅探
概述
抽空了解下SDR以及GSM的一些知识。
射频通讯
射频(RadioFrequency 简称RF)表示可以辐射到空间的电磁频率,频率范围从300KHz~300GHz之间。 射频简称RF射频就是射频电流,他是一种高频交流变化 电磁波的简称。美妙变化小于1000次的交流电称为低频电流,大于10000次的称为高频电流,而射频就是这样一种高频电流。高频(大于10K); 射频(300K-300G)是高频段的较高频段;微波频段(300M-300G)又是射频的较高频段。
在整个射频通信中,主要包含以下几种频率:传输频率、接收频率、中频和基带频率。基带频率是用来调制数据的信号频率。
软件定义的无线电(Software Defined Radio,SDR) 是一种无线电广播通信技术,它基于软件定义的无线通信协议而非通过硬连线实现。频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。
其中已在硬件被典型地实现的组件(例如混频器,滤波器,放大器,调制器 / 解调器,检测器等)。
直接利用软体调变的方式而不需变更硬体架构,省去硬体架构调整的负担。
三款SDR平台: HackRF,bladeRF和USRP。
HackRFOne
HackRFOne 是一款软件定义无线电外设,能够发送或接受1MHz至6GHz 的无线电信号。
hackRF One旨在支持现代和下一代无线电技术的测试和开发,是一个开源硬件平台,可用作USB外设或编程独立运行。
特性
-
HackRF最大支持20MHz的采样率
-
High Speed USB,USB供电接口
-
硬件/软件全部开源
-
全面支持GNURadio
GNURadio
GNURadio就是开源世界中软件无线电的代表项目,实现了软件无线电所需要的大部分模块,并且完成了对于采样数据流的缓冲、调度,并由开源社区集体维护。GNURadio对于软件无线电射频前端硬件的支持非常全面,例如USRP、HackRF、BladeRF等。
信号源由osmocom模块提供,设置好信号源的中心频率和采样率,对来自信号源的信号通过抽取,再经过低通滤波,只保留所要解调信号的频率范围,即调频信号的带宽,滤波器截止频率通过GUI Slider设置。滤波后的信号送入WBFM解调模块进行解调,输出即为音频信号,后送入Audio Sink,GNURadio会自动通过音频驱动将音频信号送到计算机的音频输出,在扬声器就会发出FM广播的声音。还可以加上GUI FFT Sink观察广播信号的频谱。
移动通信
随着互联网的普及和智能手机的广泛应用,大家对2G、3G、4G网络并不陌生。然而什么是2G、3G、4G网络,很多人就只能懵逼的人为是上网速度有差异。
其实,真正从个人用户的角度来说,上述理解无可厚非。G指的是Generation,也就是“代”的意思。1G~5G等的定义,主要是从速率,业务类型,传输时延,还有各种切换成功率角度给出具体实现的技术不同。所以1G就是第一代移动通信系统的意思,2G、3G、4G、5G就分别指第二、三、四、五代移动通信系统,而这也确实是人为划代。
第一代移动通信:摩托罗拉8000X,即俗称“大哥大”,语音、短信
第二代移动通信:主要的制式为GSM 以及CDMA IS95/CDMA2000 1x ,语音、短信、连入互联网。
第三代移动通信(3G):3G主流的制式主要就是WCDMA、CDMA2000 EVDO、TD-SCDMA、Wimax,提高了响应速度,降低了时延。
第四代移动通信:整个网络更加扁平化,降低时延,提升用户感受,看视频。
第五代移动通信:拭目以待。
GSM
全球移动通信系统,即GSM(Global System for Mobile Communications),是当前应用最为广泛的移动电话标准,GSM是一个蜂窝网络,蜂窝网络的原因,是因为一个数学结论,即以相同半径的圆形覆盖平面, 当圆心处于正六边形网格的各正六边形中心,也就是当圆心处于正三角网格的格点时所用圆的数量最少。作为运营商,为了考虑成本,不会建设大量多余的基站。
GSM加密采用A5算法。A5算法是一种序列密码,它是欧洲GSM标准中规定的加密算法,专用于数字蜂窝移动电话的加密,用于对从电话到基站连接的加密。A5的特点是效率高,适合硬件上高效实现。
A5发展至今,有A5/1、A5/2、A5/3、A5/4、A5/5、A5/6、A5/7等7个版本,目前GSM终端一般都支持A5/1和A5/3,A5/4以上基本不涉及。
我们国家移动和联通的2G电话网络采用的是GSM。
现在都向像4G、5G转移,GSM 嗅探的用武之地越来越少,也只能依靠一些信号干扰器强制降级才能勉强有一些利用场景。
手机开机时的位置更新流程
-
MS(手机)向系统请求分配信令信道(SDCCH),MS倾向信号强的BTS,算法基站定,故有伪基站攻击
-
MSC收到手机发来的IMSI(国际移动用户标识号)可及消息;
-
MSC(移动交换中心)将IMSI可及信息再发送给VLR(保存的是用户的动态信息和状态信息),VLR将IMSI不可及标记更新为IMSI可及;
-
VLR反馈MSC可及信息信号;
-
MSC再将反馈信号发给手机;
嗅探GSM
每个国家所采用的每个操作码都使用GSM频率段中的不同的频率,通常是从900 Mhz开始。
可以使用kal 命令找到想嗅探的频率
或者直接查询,或者百度运营商GSM更快
使用gqrx寻找相关频率(gqrx 是 GNU Radio 的一个前端实现,主流的发行版软件源中均带有 gqrx。安装非常便捷,使用包管理器即可):
结合wireshark:
注意点
这里涉及到上行数据和下载数据,基站发到手机端的是下行短信,手机发送到基站的是上行短信。所以要嗅探到下行的短信相对容易(广播),所以可能看到GMS SMS内容(因为这些不加密…)
下行短信里没有短信接受者的号码,简单来讲,短信接受者的号码、IMEI等数据,只有在“Location Update”时才会在网络中出现,并且是以加密形式传输的。当接收短信时,基站根据之前位置更新时注册的信息,判断接收者的位置。所以,想要拿到接受者的号码,需要破解A5/1算法并还原出“Location Update”时的原文,Airprobe项目里有介绍如何破解A5/1算法找到Kc。 参考文章
很多情况下,把手机调成2G了也嗅探不到自己的短息,这是因为在所有操作成功的前提下,能嗅探到别人的短信却抓不到自己的大概是因为抓取的ARFCN和手机选择的ARFCN不是同一个,一个区域可能有几个到十几个可以注册的ARFCN,原则上手机一般会自动选择信号最强的ARFCN注册,但是具体注册哪里一个还是有手机系统来确定,所以要完整抓取一个区域内所有的下行短信。
其他应用
超级跑马机
跑马机的原理是伪造 GPS 信号,要伪造 GPS 信号,首先需要获取 GPS 卫星的观测数据,进行采样分析,制作轨迹文件,转换为信号发射出去,车载计程终端会被干扰,将其当做真实的 GPS 信号,跑马机上面的数值就会动起来。
重放攻击无线键盘
重放攻击是一种简单、粗糙的攻击方式,只要有能够收发射频信号的硬件设备就可以实现,但越是简单的攻击方式就越难以防范。参考文章
伪基站
伪基站,又称假基站、假基地台,是一种利用GSM单向认证缺陷的非法无线电通信设备,主要由主机和笔记本电脑组成,能够搜取以其为中心、一定半径范围内的GSM移动电话信息,并任意冒用他人手机号码强行向用户手机发送诈骗、推销等垃圾短信,通常安放在汽车或者一个比较隐蔽的地方发送。伪基站运行时,用户手机信号被强制连接到该设备上,无法连接到公用电信网络,以影响手机用户的正常使用。
伪基站利用移动信令监测系统监测移动通讯过程中的各种信令过程,获得手机用户当前的位置信息。伪基站启动后就会干扰和屏蔽一定范围内的运营商信号,之后则会搜索出附近的手机号,并将短信发送到这些号码上。屏蔽运营商的信号可以持续10秒到20秒,短信推送完成后,对方手机才能重新搜索到信号。大部分手机不能自动恢复信号,需要重启。伪基站能把发送号码显示为任意号码,甚至是邮箱号和特服号码。载有伪基站的车行驶速度不高于60公里/小时,可以向周边用户群发短信,因此,伪基站具有一定的流动性。
一些功率大的伪基站,辐射的范围很广,只要伪基站不关闭发射,就会不断的有手机被吸入。离基站越近,被吸入的可能性越大。当伪基站正在发送诈骗短信的时候,附近有一万人经过,至少有5000人会受到影响。