博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
伪基站和空中信息拦截
阅读量:5924 次
发布时间:2019-06-19

本文共 1741 字,大约阅读时间需要 5 分钟。

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

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

前期准备:

1.Moto C123:用于网络嗅探的普通手机,并替换Rx和Tx滤波器(网购 )
2.OsmocomBB:GSMLayer1到Layer3协议栈,开源软件,
3.固件:基带芯片驱动相关固件,OsmocomBB提供,
 
以下省略1000字。。。。
 
鉴权演进过程:
鉴权原理:

1、GSM篇

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

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

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

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

.

也可以看这个图:

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

(1)单向鉴权

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

(2)加密

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

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

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

 2、3G篇

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

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

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

 

3、结论

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

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

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

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

解决思路:

1、运营商开启空口加密

2、业务提供商https

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

转载地址:http://masvx.baihongyu.com/

你可能感兴趣的文章
C++ 数字转换为string类型
查看>>
程序员全国不同地区,微信(面试 招聘)群。
查看>>
【干货】界面控件DevExtreme视频教程大汇总!
查看>>
闭包 !if(){}.call()
查看>>
python MySQLdb安装和使用
查看>>
Java小细节
查看>>
poj - 1860 Currency Exchange
查看>>
chgrp命令
查看>>
Java集合框架GS Collections具体解释
查看>>
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
(转)DOTA新版地图6.78发布:大幅改动 增两位新英雄
查看>>
Solaris 10u11 安装python2.7.10
查看>>
工欲善其事必先利其器SecureCRT+VMware® Workstation_学习笔记
查看>>
文件和目录权限chmod,更改所有者和所属组chown,umask,隐藏权限lsattr/chattr
查看>>
阿里PB级Kubernetes日志平台建设实践
查看>>
怎么把无线由器限
查看>>
Java实现的冒泡排序
查看>>
APP中的第三方“支付”功能该如何测试
查看>>
HDU 1907
查看>>