关于伪基站恶意发送垃圾短信的分析和定位研究
一、 背景
1. 伪基站及伪基站短信系统介绍
伪基站是假冒现网移动通信网络,利用其信号强度、位置区等参数设置,诱骗用户在其覆盖区域内接入,获取用户位置更新消息中IMSI和IMEI等信息,伪基站在获取用户信息后可通过设置使移动手机快速断网,或待用户离开其覆盖区域后再登记到现网移动网络。伪基站主要是公安部门为了掌握特定区域的用户动向而设置,一般设置在出入城市的主要干道附近、或需要重点关注的市内区域。
但近期又发现了伪基站的新变种“伪基站短信系统”,不法分子不但利用伪基站收集用户信息,还利用伪基站恶意发送垃圾广告短信,当用户将进入伪基站覆盖区域时,用户在伪基站下会位置更新成功,然后伪基站给用户发送垃圾短信,用户接收短信成功后,可通过设置使手机快速和伪基站断网注册到正常的移动网络。
2. 伪基站及伪基站短信系统对现网的影响
由于目前GSM网络采用单向鉴权,仅有网络对用户终端的鉴权,用户终端对网络不进行鉴权,利用伪基站可以窃取用户信息、甚至发起对现网网络的攻击。伪基站的广播网号、广播频率和现网相同,位置区设置和现网不同,由于其信号强度远强于现网,当用户将进入伪基站覆盖区域时会快速重选到伪基站小区进行位置更新。用户在伪基站覆盖区域一般会发生以下过程:“伪基站小区重选->向伪基站发起位置更新->伪基站位置更新拒绝->手机重新进行现网小区重选->再次位置更新成功”,此过程一般需要12秒以上;如果利用伪基站发送短信需要先在伪基站注册成功发送短信,随后位置更新失败后在现网位置更新成功,此过程至少需要25秒以上,在此期间会造成用户无法主被叫,严重影响客户的业务感知。
1 / 10
由于伪基站短信系统不与现网连接就能发送垃圾短信,和传统的短信群发器相比有着明显的优势,不法广告商无需担心手机卡欠费或被运营商拦截,对人员密集区域群发有更强的针对性。如果此技术被不法分子掌握和利用,将会造成难以预估的后果。为了快速定位伪基站短信系统及其发送垃圾短信的区域,提供针对伪基站短信系统的分析定位手段,利用信令监测系统、网管统计数据和日常测试中发现的伪基站短信系统发送垃圾短信情况进行了专项分析研究。
二、 技术方案
1、
伪基站的主要网络特征
伪基站是独立的网络系统,和现网没有任何连接,只能通过用户和伪基站及现网的位置更新信令特征来分析,根据路测和现网数据分析,目前伪基站主要有以下特征:
1)伪基站在覆盖区域内的发射功率远高于现网小区,其小区重选磁滞(CRH)和偏移值(CRO)设置较小。
2)伪基站的覆盖范围距离较小,用户向伪基站发起登记注册失败后,由于小区重选磁滞设置和偏移值较小,会在较短的时间切回现网网络。存在同一用户在现网同一小区、短时间内连续位置更新的情况。
3)用户从伪基站切回现网网络时必须做一次位置更新,位置更新消息中上报的源LAC是伪基站的LAC,或者是0、65534、65535等异常的LAC。
4)伪基站的LAC和现网的LAC不一样,在伪基站覆盖区域的现网小区位置更新频繁,位置更新次数远超过正常的小区。
可以针对以上信令特征进行统计分析,统计源LAC是伪基站LAC的位置更新频次以及更新到现网的小区CI以确定伪基站的大概位置。
2、 普通伪基站和伪基站短信系统的位置更新流程
普通伪基站
1)
主要是用于收集用户信息,用户向伪基站发起位置更新,失败后会迅速登记到现网位置区。其位置更新流程如下:
2 / 10
图1 伪基站位置更新信令流程图
位置更新失败的拒绝原因是:“Cause value 13: Roaming not allowed in this location area”,有的伪基站也发送位置更新拒绝原因:“Cause value 12: Location Area not allowed”或,“Cause value 11: PlMN not allowed” 按照GSM 04.08规范,当位置更新拒绝原因为11、12、13时,手机会清除存储的LAI、TMSI和密钥序列,重置位置更新尝试计数器, 更新位置更新状态为“ROAMING NOT ALLOWED”并将LAI和PLMN ID存储到相关禁止列表中。 对Cause value : (11),手机将PLMN ID存储到相关禁止列表后,只会自动有新的PLMN时才会发起位置更新请求尝试,对正常用户的影响较大,伪基站一般不会采用,伪基站的位置更新拒绝原因一般采用Cause value 12和Cause value 13。
如果拒绝原因是Cause value : (12),手机将LAI存储于\location areas for regional provision of service\,仅在新的PLMN会发起位置更新请求尝试;如果拒绝原因是Cause value : (13),手机将LAI存储于\或LAI时才 location areas for roaming\,在返回MM IDEL状态时,手机会启动HPLMN选择。
对位置更新拒绝原因值11、12、13,手机会清除原来存储的LAI和TMSI,下次会采用系统保留的LAI:460-00-65534(也有的手机采用460-00-0)和IMSI号码发起位置更新。
2)
伪基站短信系统
伪基站发送垃圾短信时,用户会在伪基站位置更新成功,然后伪基站给用户发送垃圾短信,用户接收垃圾短信后,期间伪基站会变换LAC,经过特定时间后再次向伪基站发起位置更新,此次位置更新失败,然后重选到现网小区后发起位置更新成功。
3 / 10
向伪基站发起位置更新 在伪基站下位置更新成功 伪基站发送短信成功 伪基站变换LAC后重新发起位置更新 伪基站变换LAC后重新位置更新失败 小区重选到现网LAC后重新发起位置更新, 在现网LAC下位置更新成功 图2 伪基站位置更新及发送短信信令流程图
? 15:36:50 tems手机探测到伪基站信号,重选到伪基站的广播频点,随
后手机发起第一次位置更新请求,伪基站向手机提取了IMSI和IMEI,后位置更新成功,登记在伪基站下LAC1。
? 15:37:03 伪基站向手机发送垃圾广告短信,手机收到垃圾短信。 ? 15:37:09 由于手机在上一次位置更新过程中,伪基站将原来的LAC1修
改未LAC2,伪基站的频点和BISC未修改,手机无需小区重选,待手机侧定时器超时后,由于手机中存储的LAC1和伪基站广播的LAC2不同,又向伪基站做了一次位置更新,但这次位置更新被拒绝。 ? 15:37:20 随后手机在现网做小区重选和位置更新成功。
通过以上信令流程分析,伪基站利用和现网不同的LAC诱骗手机进行位置更新,提取手机的IMSI和IMEI,向手机发送垃圾广告短信,随后变换LAC并且根据手机的IMSI和IMEI信息,每部手机或每个号码在同一时间段只能收到一次短
4 / 10
信。在测试时将两个卡放到同一部TEMS测试手机中,只有第一张卡收到了短信。
根据实际测试,用户从发送短息的伪基站位置更新失败时,失败原因如下:
Location Area Identification
Mobile country code (MCC) : 460 Mobile network code (MNC) : 00
Location area code (LAC) : 65534 (Hex 0xFFFE) Mobile identity
Odd/even indication : (1) Odd number of digits Type of identity : (1) IMSI
Identity digits (BCD) : 46002705310xxxx
Cause value : (15) No Suitable Cells In Location Area
对位置更新失败原因为:“ No Suitable Cells In Location Area”的情况,手机会在同一PLMN的不同LA尝试再发起位置更新。由于对位置更新拒绝原因15,手机不清除原有的LAI和TMSI,手机再次位置更新时会采用上次位置更新拒绝前存储的LAI(一般是伪基站的LAI)和TMSI。
3、 伪基站短信系统的定位方法
根据以上伪基站发送短信后的信令特征分析,伪基站短信系统的除了和普通伪基站具有相同的信令特征外,还有一个明显的特征是接收短信后发起的到现网位置区的位置更新消息中采用TMSI、源LAI使用伪基站的LAI。可以根据以上特征确定现网发伪基站短短信系统的疑似情况,主要分析流程如下:
1)统计现网每个位置区(按照源位置区统计)的位置更新情况,排除现网在用的位置区LACi(i=1,2,3,?)和相邻地市的边界区域位置区LACj(j=1,2,3,?) 2)对1)中筛选的每天超过5000次的异常位置区LACx(x=1,2,3,?) 3)统计现网成功位置更新消息中源LAC使用LACx、且采用TMSI发起的位置区和CIy(y=1,2,3,?)
4)对源LAC使用LACx、且采用TMSI发起的位置更新的CIy,统计其位置更新次数和位置更新号码,如果位置更新次数/位置更新号码小于2,且小区内日位置更新次数大于500次或忙时位置更新次数大于100次,且位置更新次数较上周同期或平时均值有1倍以上增长的则判定CIy是疑似伪基站短信系统的区域。 5)统计现网成功位置更新消息中源LAC使用LACx、且采用IMSI发起的位置区和CIz(z=1,2,3,?),如果小区内日位置更新次数大于5000次或忙时位置
5 / 10