本文原创作者:敏争
“伪基站”目前已经成为广告、诈骗等垃圾短信的重要实施手段。在经过一轮打击销声匿迹一段时间之后,现在又有抬头之势,有的犯罪集团通过生产、销售“伪基站”设备,年获利可达到几百万。
一、伪基站及其危害
伪基站,是一套非法无线电发射装置,由一台笔记本电脑、一台发射器、一根天线、一部手机、一组电瓶组成。
其中手机是用来探测伪基站可用的工作信道,到了某个区域后,用这个改造过的手机就可以测定出这个区域基站的信道,然后伪基站开始广播控制信道,由于信号的强度优势,诱使周围的手机连接伪基站,最后向连接上来的手机发送垃圾短信。从攻击角色上看,伪基站也是一种中间人攻击。
通过伪基站发送的短信一般是两类:
1、广告类。比如“xxx盛大开业,开业钜惠,光顾即送VIP至尊卡一张……”; 2、诈骗类。比如“我是房东,我在外地,请把房租打到我爱人账号xxx”;更有甚者,伪造10086或者95xxx的发送号码,诱骗用户访问木马链接,植入木马App,实现对用户的永久控制。通讯录、短信、照片等隐私信息都会被盗取。
二、GSM基本原理
整个GSM网络中,在手机终端侧,最重要的两个标识是IMSI和MSISDN。而运营商网络侧,核心是一个控制器(MSC)和三个数据库(HLR、VLR、AUC)。中间是基站系统。下面对几个关键概念分别做出解释:
1、 概念解析
IMSI
IMSI是SIM卡的唯一ID,类似居民身份证号,全世界唯一。每次登记、位置更新、呼叫建立的尝试,都是以IMSI作为用户标识。
MSISDN
用户的电话号码,相当于姓名或者QQ昵称,即便重复了也不会影响正常的通信过程。IMSI和MSISDN的对应关系,存储在运营商的HLR中。
MSC
移动业务交换中心(mobile switching center),是GSM网络的核心,它提供交换功能以及面向系统其他实体的功能。MSC可以从三种数据库(HLR、VLR、AUC)获取处理用户位置登记和呼叫请求所需的全部数据。
反之,MSC也根据其最新获取的信息请求更新数据库的部分数据。MSC具有号码储存译码、呼叫处理、路由选择、回波抵消、超负荷控制等功能;MSC能支持位置登记、越区切换和自动漫游等移动管理功能;MSC支持信道管理、数据传输,以及包括鉴权、信息加密、移动台设备识别等安全保密功能。
HLR
归属位置数据库,负责移动用户管理的数据库,永久存储和记录所辖区域内用户的签约数据,并动态地更新用户的位置信息,以便在呼叫业务中提供被呼叫用户的网络信息。
VLR
拜访位置数据库,它是一个动态数据库,服务于其控制区域内移动用户的,存储着进入其控制区域内已登记的移动用户相关信息,为已登记的移动用户提供建立呼叫连接的必要条件。
VLR从该移动用户的归属用户位置寄存器(HLR)出获取并储存必要的数据。一旦移动用户离开该VLR的控制区域,则重新在另一个VLR登记,原VLR将取消临时记录的该移动用户数据。
AUC
鉴权中心,是GSM系统中的安全管理单元。存储鉴权算法和密钥,保证各种保密参数的安全性,向HLR提供鉴权参数(鉴权三参组,RAND、SRES、KC)。AUC鉴权中心通过伪随机码发生器产生128位随机数RAND,RAND和KI经过A3算法产生SRES,RAND和KI经过A8算法产生KC。
BSS
基站子系统,包括BTS(基站收发台)和BSC(基站控制器),是GSM系统与无线蜂窝方面最基本的组成部分。它通过无线电通信直接和手机相接,负责无线发送接收和无线资源管理。
另一方面,基站子系统与网路子系统(NSS)中的移动业务交换中心(MSC)相连,实现移动用户间或移动用户与固定网路用户之间的通信连接,传送系统信号和用户信息等。
2、GSM通信信道
其中BCCH向手机广播本小区频率和LAC(区域位置识别码),这个对于实现伪基站至关重要。
3、 GSM用户鉴权
在GSM网络中,SIM卡和运营商配合完成用户鉴权,以此防止未经授权的接入,保护运营商和合法用户双方的利益。
每个用户在GSM网中注册登记时,被分配给一个客户电话号码(MSISDN,就是通常的手机号)和客户身份识别码(IMSI)。
IMSI通过SIM写卡机写入客户的SIM卡中,同时在写卡机中又产生了一个对应此IMSI的唯一客户鉴权密钥Ki,它被分别存储在客户的SIM卡和网络侧AUC中。
在AUC中还有个伪随机码发生器,用于产生一个伪随机数RAND。在GSM规范中还定义了A3、A8和A5算法,分别用于鉴权和加密过程。
GSM的鉴权流程如下:
1、 GSM网络侧和SIM卡上存储相同的用户密钥Ki,用户开机准备接入网络,移动终端发送IMSI给MSC/VLR; 2、 VLR将首先查看在数据库中该MS是否有鉴权三参组,如果有,将直接向MSC下发鉴权命令,否则,向相应的HLR/AUC请求鉴权参数,从HLR/AUC得到三参组,然后再向MSC下发鉴权命令; 3、 MSC收到VLR发送的鉴权命令后,通过基站子系统向移动终端下发鉴权挑战请求; 4、 移动终端收到鉴权挑战请求后,利用SIM卡通过A3、A8算法计算出SRES和加密密钥KC,通过鉴权响应消息送达MSC; 5、 MSC将鉴权结果回送VLR,由VLR核对MS上报的鉴权结果和从HLR取得的鉴权参数中的结果,如果二者一致,则允许接入,否则拒绝此次接入请求。 6、GSM安全性
从整个鉴权流程可以看出,在GSM网络中,SIM卡接入网络的鉴权方式是单向鉴权:只能网络对卡鉴权,卡无法鉴权网络。因此无法对抗主动攻击,如伪基站,非法设备可以伪装成合法的网络设备,实现欺骗。
三、伪基站
伪基站的整体工作流程:
1、监听与伪装
1、使用修改过固件的手机获取邻小区BCCH频率; 2、选定BCCH信号最弱的小区频率; 3、发射伪装后的BCCH信号;
2、吸引手机接入
1、手机发现LAC(位置区识别码)变化,要重选接入小区,伪基站要求手机鉴权,手机发送鉴权应答信息,伪基站直接确认成功; 2、手机发现接入小区变化,触发位置更新请求; 3、伪基站向手机发起识别请求,获取到IMSI、IMEI;
3、发送短信
伪基站设定任意主叫号码,于独立控制信道发送任意数量短信。
4、踢出手机
1、 伪基站更新LAC并广播; 2、 手机发现LAC变化,重新发起位置更新请求; 3、 伪基站拒绝位置更新; 4、 手机重选小区,接入正常基站;
四、解决的可能性
1、3G、4G网络实现了双向鉴权,通信过程使用了更强壮的加密算法和完整性算法,因此安全性更高,解决了伪基站问题; 2、可以统计手机的LAC位置更新频次,过频(几秒到几十秒)意味着出现异常; 3、短信和语音通信使用端到端加密。
*原创作者:敏争,本文属FreeBuf原创奖励计划文章,未经作者本人及FreeBuf许可,切勿私自转载。