日志样式

案例:伪基站中断用户数的电子数据取证

目前,双向鉴权等安全机制已在3G、4G手机上广泛运用,但并非意味着3G、4G就能完全杜绝伪基站劫持行为。手机厂商为提升用户的体验感,采用双待机的网络技术,即4G/3G负责网络通道,2G主要负责语音和短信通道。客户在语音通话状态下仍可接收当前的数据服务,造成了通信安全隐患。
 
本文以打击伪基站违法犯罪为出发点,讲述如何从伪基站设备中提取出电子证据。结合办理非法生产、销售、使用“伪基站”设备案件的意见,提出当前取证存在缺乏用户数据关联分析、中断用户数计数错误、提取数据不全和容易重复多计算中断用户数的问题,并形成以gsm_business表、send.data、OpenBTS.log三者数据关联分析的取证思路,得出中断用户总数。
 
引  言
 
伪基站即假基站,是未取得电信设备进网许可和无线电发射设备型号核准的非法无线电通信设备,该设备利用运营商2G通信的漏洞,伪装成运营商的基站,冒用他人手机号码强行向用户手机发送短信息。
 
一、伪基站的组成和原理
 
(一)伪基站的组成
 
伪基站主要由五部分组成:发射主机、发射天线、装有伪基站软件的控制电脑和电源(见图1 )。其控制软件一般为“OpenBTS”(Open Base Transceiver Station),以Ubuntu为运行系统。
 
图1 伪基站设备
 
(二)伪基站工作原理
 
伪基站设备主要利用GSM网络单向认证机制漏洞网络可以对终端认证,而终端却无法对网络实施进行认证。伪基站锁定当前基站的工作频点,并通过功率放大器在同一频点上发送伪导步、寻呼信号和同步信息,迫使伪基站范围内的手机断开与基站的连接,转而与伪基站相连。获取手机的SIM卡的IMSI和机身的IMEI等信息后,伪基站就向手机发送编辑的任意号码短信。在整个过程中,手机未能进入正常通信状态,直到离开伪基站的影响范围,重新接入基站后才能恢复正常通信。( 见图2 )
 
图2伪基站信号流程
 
目前,双向鉴权等安全机制已在3G、4G手机上广泛运用,但并非意味着3G、4G就能完全杜绝伪基站劫持行为。手机厂商为提升用户的体验感,采用双待机的网络技术,即4G/3G负责网络通道,2G主要负责语音和短信通道。客户在语音通话状态下仍可接收当前的数据服务,造成了通信安全隐患。
 
二、伪基站取证适用的法律
 
在具体案件中,使用伪基站发送短信构成犯罪的嫌疑人多以破坏公用电信设施罪居多。
 
根据《最高人民法院关于审理破坏公用电信设施刑事案件具体应用法律若干问题的解释》(法释[2004]21号)规定,“造成二千以上不满一万用户通信中断一小时以上,或者一万以上用户通信中断不满一小时的”属于刑法第一百二十四条规定的“危害公共安全”的情形之一。
 
即,伪基站的取证需从中断的用户数量和时间着手。
 
由于伪基站以劫持发送短信为目的,中断时间一般不到一小时以上,所以本文以提取中断用户的数量来进行证据固定。
 
三、伪基站的电子数据取证及取证方法的研究
 
(一)伪基站取证实例
 
【案例背景】
2016年11月07日,接中国移动公司员工报警称:2016年11月07日14时30分时许,某地小学附近有人利用伪基站设备向中国移动手机用户群发短信,影响手机通讯正常使用。接警后,民警在现场抓获嫌疑人两人,扣押了一台伪基站设备。

 

(二)如何从伪基站中提取中断用户数
 
伪基站软件在Ubuntu系统下运行时会产生大量的用户痕迹数据,一些数据与中断用户数存在关联,主要有以下六种:
 
  1. 软件界面显示数据:业务名称、显示号码、计数、短信内容等(见图3) ;

  2. 系统桌面的TXT文件内存有的IMSI数据;

  3. “/etc/OpenBTS/”目录下TMSl.db文件内的IMSI数据;

  4. 伪基站使用mysq|数据库存储数据,mysq|数据库的gsm_business存有伪基站发送短信的任务ID、任务名称、时间、发送计数、短信内容等;

  5. “/var/usr/openbts”目录下send.data文件内存有时间(时间戳)及IMSI数据;

  6. “/var/log/syslog”目录下存有的日志文件OpenBTS.log,日志文件记录有OpenBTS软件在工作时与终端进行交互的记录,也记录着被伪基站连接终端的IMSI。

 

图3 软件界面显示数据

 
(三)取证过程中出现的问题
 
在检验过程中经常会遇到不少问题,如:
 
  • 面对多种数据,不能确定以哪种数据为准;

  • 不清楚数据间存在的联系;

  • 容易将软件界面的“计数”、桌面的TXT文件的总IMSI数量、TMSI.db内的IMSI量、gsm_business表内的lastime值、直接作为受中断的用户数;

  • 将send.data的IMSI数量直接作为总用户中断数;

  • 由于OpenBTS.log内的IMSI非现成,需手动提取,导致提取存在一定的难度 (见图4)。

 
图4
 
通过对伪基站软件的分析发现:
 
(1)软件界面的计数可直接手动修改,已删除的“业务名称”在界面里没显示,得出界面显示并不是完整的发送情况。
 
(2)系统桌面的TXT文件内的IMSI码是通过调用随机函数生成的,且由于桌面TXT文件会在伪基站使用人向上家(委托短信发送人)确认完发送短信数后进行删除,因此只通过现有的TXT文件来统计IMSI数量是不全面的。
 
(3)TMSI.db文件内虽然是存储手机IMSI数据,但在/openbts/Lib/Action/BusinessAction.class.php”文件内存有初始化TMSI.db数据的代码,该文件的“delete from sms_sent”和“delete from sms”语句分别用于删除T MSI.db内的表“sms_sent"和表“sms”数据(见图5 )。
 
图5 TMSI.db数据初始化的代码
 
(4)使用命令“mysqldump uroot p gsms > gsm_business.sql”导mysql数据库的表“gsm_business”,密码: nb250+38。“gsm_business”内存有伪基站的任务ID、任务名称、发送时间、发送计数、短信内容等。
 
经过对BusinessAction.class.php的代码分析(见图6 ),lastime数值为实发数,而count数值则是在发送数量加上一随机数,与软件界面显示数相同。因表“gsm_business”中的lasttime的数值与实发短信数相同或相近,而具体哪些终端接收了短信还需结合send.data内的IMSI码方能统计得出。
 
图6 短信发送成功后lasttime写入值
 
(5) send.data和OpenBTS.log内记录不同时间受影响的IMSI,即可能存在同一IMSI在不同时间多次受影响有多条记录,所以需对send. data和OpenBTS.log内的IMSI去重,同时也说明了原始send.data内的IMSI数量不能直接做为中断用户数。
 
(四)更为准确的取证方法
 
2015年曹茂虹、王大强《“伪基站”的基本原理及电子取证分析》中,提出单从OpenBTS.log中提取出中断用户数的观点回,2016年王李平等人《伪基站数据的电子取证分析》中介绍了TXT文件、TMSl.db、gsm_business三种数据的提取”,但他们均存在缺乏对用户数据进行关联分析及未完成OpenBTS.log中断用户数提取的具体操作的问题。
 
结合以上分析及实际案例操作,本文提出更为精确和可靠的取证方法。该方法在对各种用户数据分析的基础上,不以软件界面数、TXT文本内的计数及TMSI.db来直接计算中断用户数,而主要通过结合以gsm_business表、send.data、OpenBTS.log三者 数据关联分析来得出最终的中断用户数,避免了错误计算中断用户数、中断用户数不全的问题和中断用户数重复多算的问题,使取证结果更具说服力。具体如下:
 
1、由于GSMS软件界面的短信记录会被删除,存储的短信往往不完整,伪基站发送的短信应以mysq|数据库的表“gsm_business” 为参考。本案例中软件界面显示为6条短信,而在“gsm_business”内导出251条短信记录(见图7 )。
 

图7从表“gsm_business" 内导出的251条短信记录

 
2、中断用户数的得出过程应当是: 
 
(1)参考mysq|数据库gsm_business表中lasttime的总数值。
 
(2)查 看send.data文件内IMSI的总数。
 
(3)从OpenBTS.log 中提取出含时间的IMSI记录,并得出总条数。
 
(4)对比分析步骤(1)、(2)、 (3)内的数值,在数据未被修改删的的情况下,数值的情况会是(1)≤(2)≤(3),也就是日志文件OpenBTS.log记录的IMSI是最完整的,因为伪基站向外发送广播请求时,虽然未成功发送短信,但在获得IMS|值时也会造成通讯中断。
 
(5)存在send.data、OpenBTS.Iog内 数据被部分删除的可能,所以最后的提取结果应是依据二者合并排重后的结果。
 
(6)由于存在同一手机终端在不同时间受多次影响,所以从send.data、OpenBTS.log 中提取出不含时间的IMSI,去重后计算出总数值,该数值就是中断用户的总数。如本案例中lasttime的总数值为485070,send.data文 件内IMSI的总数为486522,OpenBTS.log内 提取含时间的IMSI总数为507648 ,提取send.data、OpenBTS.log文件 内不含时间的IMSI,合并去重后提取出IMSI数为396596,该数值即为总中断用户数(见图8 )。
 
图8
 
四、结论
 
本文依据办理案件指导意见,从法律层面指出以用户中断数为证据进行电子取证的原因。就判定中断用户数量上,本文认为不能靠单一数据来作为伪基站取证数值,而应综合参考mysq|数据库gsm_business表中lasttime的总数值、查看send.data文件内IMSI的总数等数据。随着伪基站设备不断更新,取证人员的取证技术要不断跟进,取证思路方法要不断创新。