伪基站和空中信息拦截

原创 2013年12月02日 16:04:00

背景:201012月,Security Research Labs实验室的KarstenNohlOsmocomBB项目程序员SylvainMunautChaos Communication Congress黑客大会上展示了通过普通手机作为网络“嗅探器”,使用普通电脑和开源软件OsmocomBB,成功拦截附近的GSM用户的通话和短信内容。

      其实不管是gsm,3g、lte,都可以空口拦截。只不过gsm协议栈开源了,屌丝也可以玩了。

前期准备:

1.Moto C123用于网络嗅探的普通手机,并替换RxTx滤波器(网购,http://shop.sysmocom.de/)
2.OsmocomBBGSMLayer1Layer3协议栈,开源软件,http://bb.osmocom.org/trac/
3.固件:基带芯片驱动相关固件,OsmocomBB提供,http://bb.osmocom.org/trac/wiki/firmware

 

以下省略1000字。。。。

 

鉴权演进过程:

 

鉴权原理: 

 

1、GSM篇

GSM网络中,SIM卡和网络侧配合完成用户鉴权,以此防止未经授权的接入,保护运营商和合法用户双方的利益。GSM鉴权过程主要涉及AUCHLRMSC/VLRMSSIM卡。

每个用户在GSM网中注册登记时,被分配给一个客户电话号码(MSISDN,就是通常的手机号)和客户身份识别码(IMSI)。IMSI通过SIM写卡机写入客户的SIM卡中,同时在写卡机中又产生了一个对应此IMSI的唯一客户鉴权密钥Ki,它被分别存储在客户的SIM卡和网络侧AUC中。在AUC中还有个伪随机码发生器,用于产生一个伪随机数RAND。在GSM规范中还定义了A3A8A5算法,分别用于鉴权和加密过程。

GSM网络侧和SIM卡上存储相同的用户密钥Ki,用户开机准备接入网络,移动终端发送IMSIIMSIGSM系统分配给移动用户的唯一的识别号)给MSC/VLRVLR将首先查看在数据库中该MS是否有鉴权三参组,如果有,将直接向MSC下发鉴权命令,否则,向相应的HLR/AUC请求鉴权参数,从HLR/AUC得到三参组,其中包括RAND,然后再向MSC下发鉴权命令。MSC收到VLR发送的鉴权命令后,通过BSSMS下发鉴权请求,MS收到鉴权请求后,利用SIM卡通过A3/A8算法计算出SRES和加密密钥Kc,通过鉴权响应消息送达MSCMSC将鉴权结果回送VLR,由VLR核对MS上报的鉴权结果和从HLR取得的鉴权参数中的结果,如果二者不一致,拒绝此次接入请求。

鉴权流程如图所示,使用A3算出应该返回的鉴权数据,使用A8算出加密密钥,用于空中接口的信息加密。

 

也可以看这个图:

GSM已经采取了一些安全措施,但依然存在一些问题,主要体现在以下方面。

1)单向鉴权

只能网络对卡鉴权,卡无法鉴权网络。不能对抗主动攻击(如伪基站攻击),非法设备(如基站)可以伪装成合法的网络设备,欺骗用户,窃取用户信息。

2)加密

GSM系统中的加密不是端到端的,只是在无线信道部分即MSBTS之间进行加密,这给攻击者提供了机会。

GSM系统中,加密算法是固定不变的,没有更多的密钥算法可供选择,缺乏算法协商和密钥协商的过程。

在移动通信中,终端和网络间的大多数信令信息是非常敏感的,需要得到完整性保护。而在GSM网络中,没有考虑数据完整性保护的问题,如果数据在传输的过程中被篡改也难以发现。

 2、3G篇

GSM鉴权相比,3G鉴权不但有网络鉴权用户的功能,还增加了用户鉴权网络的功能和完整性保护功能。另外,3G鉴权还增加了密钥的长度,使用更加强壮的加密算法和完整性算法。

AKAAuthentication and Key Agreement,认证和密钥协商协议)是3G系统中用来实现用户终端与网络端的鉴权机制,流程如图所示。

这个图就不详细描述了,主要是就是实现了双向鉴权,解决伪基站。

 

3、结论

 gsm由于单项鉴权,所以有伪基站的问题,3G及以后网络是双向鉴权,可以解决。

4、空中拦截的问题。。。

不管是2G、3G、LTE网络设计时都设计了空中加密,但都没有开启。由于各方面原因吧。

如果不开启,理论上无论哪种网络都可以被拦截,不是GSM特定问题。

解决思路:

 1、运营商开启空口加密

2、业务提供商https

3、短信或者语音实现端对端加密或者业务短信实现客户端到平台加密。

 

相关文章推荐

GSM Hacking:静默短信(Silent SMS)在技术侦查中的应用 20160617

https://www.kn1f4.com/news/234.html 0×00 前言 技术侦查时我们经常需要对目标人物进行定位,监听目标人物的电话和短信。 如何做到...

iPhone/iOS获得基站信息[整理]

解决完了Android,下面应该就到了iPhone了。这个问题网上搜索的时候基本都是一个代码版本。 参考 iphone-wireless。 当然,我们实际上有三种方法可以获取,目前我并未在真机上面...

android 获取基站信息

package com.example.gsmcelllocation; import java.util.List; import android.app.Activity; import and...

android GSM+CDMA基站定位--获取移动网络相关信息

本文转自:http://yunlonglove.iteye.com/blog/1560342 在googleAPI里提供了基站信息的获取类TelephonyManager,通过其方法...

iPhone/iOS获得基站信息[整理]

解决完了Android,下面应该就到了iPhone了。这个问题网上搜索的时候基本都是一个代码版本。 参考 iphone-wireless。 当然,我们实际上有三种方法可以获取,目前我并未在真机上面...

Android 工具类 —— 判断网络连接状态、GPS是否打开、基站信息和手机IMSI码

参考:http://www.jb51.net/article/32920.htm 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接 代码...

MTK基站信息数据

6225平台,想要获取到基站信息,Cell_ID和LAI 在工程模式的Network Setting->Network Info下面设置好后, 就可以输出了 :460 :00F :80 184   :...

Andreoid实现GPS/AGPS定位及获取附近多个基站信息

说明一下,我这里假设您的Android手机已经打开了GPS,故不再判断是否打开GPS功能。 首先,GPS是Android手机的一项系统服务,当然要在程序中允许定位这项权限了,在AndroidMani...

手机基站信息获取

android平台获取手机信号及小区等信息。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:伪基站和空中信息拦截
举报原因:
原因补充:

(最多只允许输入30个字)