Wonderful activities
【行业资讯】伪基站中断用户数的电子数据取证
发布时间:2021-04-18 21:56:01
来源:警察技术杂志
引言
伪基站即假基站,是未取得电信设备进网许可和无线电发射设备型号核准的非法无线电通信设备,该设备利用运营商2G通信的漏洞,伪装成运营商的基站,冒用他人手机号码强行向用户手机发送短信息。
一、伪基站的组成和原理
(一)伪基站的组成
伪基站主要由五部分组成:发射主机、发射天线、装有伪基站软件的控制电脑和电源。其控制软件一般为“OpenBTS”( Open Base Transceiver Station),以Ubuntu为运行系统。
(二)伪基站工作原理
伪基站设备主要利用GSM网络单向认证机制漏洞网络可以对终端认证,而终端却无法对网络实施进行认证。伪基站锁定当前基站的工作频点,并通过功率放大器在同一频点上发送伪导步、寻呼信号和同步信息,迫使伪基站范围内的手机断开与基站的连接,转而与伪基站相连。获取手机的SIM卡的IMSI和机身的IMEI等信息后,伪基站就向手机发送编辑的任意号码短信。在整个过程中,手机未能进入正常通信状态,直到离开伪基站的影响范围,重新接入基站后才能恢复正常通信。
目前,双向鉴权等安全机制已在3G、4G手机上广泛运用,但并非意味着3G、4G就能完全杜绝伪基站劫持行为。手机厂商为提升用户的体验感,采用双待机的网络技术,即4G/3G负责网络通道,2G主要负责语音和短信通道。客户在语音通话状态下仍可接收当前的数据服务,造成了通信安全隐患。
二、伪基站取证适用的法律
在具体案件中,使用伪基站发送短信构成犯罪的嫌疑人多以破坏公用电信设施罪居多。根据《最高人民法院关于审理破坏公用电信设施刑事案件具体应用法律若干问题的解释》(法释[2004]21号)规定,“造成二千以上不满一万用户通信中断一小时以上,或者一万以上用户通信中断不满一小时的”属于刑法第一百二十四条规定的“危害公共安全”的情形之一,即伪基站的取证需从中断的用户数量和时间着手。由于伪基站以劫持发送短信为目的,中断时间一般不到一小时以上,所以本文以提取中断用户的数量来进行证据固定。
三、伪基站的电子数据取证及取证方法的研究
(一)伪基站取证实例
案例背景:2016年11月07日,接中国移动公司员工报警称:2016年11月07日14时30分时许,某地小学附近有人利用伪基站设备向中国移动手机用户群发短信,影响手机通讯正常使用。接警后,民警在现场抓获嫌疑人两人,扣押了一台伪基站设备。
(二)如何从伪基站中提取中断用户数
伪基站软件在Ubuntu系统下运行时会产生大量的用户痕迹数据,一些数据与中断用户数存在关联,主要有以下六种:
1. 软件界面显示数据:业务名称、显示号码、计数、短信内容等;
2. 系统桌面的TXT文件内存有的IMSI数据;
3.“/etc/OpenBTS/”目录下TMSI.db文件内的IMSI数据;
4. 伪基站使用mysql数据库存储数据,mysql数据库的gsm_business存有伪基站发送短信的任务ID、任务名称、时间、发送计数、短信内容等。
5. “\var\usr\openbts”目录下send.data文件内存有时间(时间戳)及IMSI数据。
6. “/var/log/syslog”目录下存有的日志文件OpenBTS.log,日志文件记录有OpenBTS软件在工作时与终端进行交互的记录,也记录着被伪基站连接终端的IMSI。
(三)更为准确的取证方法
2015年曹茂虹、王大强《“伪基站”的基本原理及电子取证分析》中,提出单从OpenBTS.log中提取出中断用户数的观点[6],2016年王李平等人《伪基站数据的电子取证分析》中介绍了TXT文件、TMSI.db、gsm_business三种数据的提取,但他们均存在缺乏对用户数据进行关联分析及未完成OpenBTS.log中断用户数提取的具体操作的问题。
结合以上分析及实际案例操作,本文提出更为精确和可靠的取证方法。该方法在对各种用户数据分析的基础上,不以软件界面数、TXT文本内的计数及TMSI.db来直接计算中断用户数,而主要通过结合以 gsm_business表、send.data、OpenBTS.log三者数据关联分析来得出最终的中断用户数,避免了错误计算中断用户数、中断用户数不全的问题和中断用户数重复多算的问题,使取证结果更具说服力。具体如下:
1. 由于GSMS软件界面的短信记录会被删除,存储的短信往往不完整,伪基站发送的短信应以mysql数据库的表“gsm_business”为参考。本案例中软件界面显示为6条短信,而在“gsm_business”内导出251条短信记录。
2. 中断用户数的得出过程应当是:(1)参考mysql数据库gsm_business表中lasttime的总数值。(2)查看send.data 文件内IMSI的总数。(3)从OpenBTS.log中提取出含时间的IMSI记录,并得出总条数。(4)对比分析步骤(1)、(2)、(3)内的数值,在数据未被修改删的的情况下,数值的情况会是(1)≤(2) ≤(3),也就是日志文件OpenBTS.log记录的IMSI是最完整的,因为伪基站向外发送广播请求时,虽然未成功发送短信,但在获得IMSI值时也会造成通讯中断。(5)存在send.data、OpenBTS.log内数据被部分删除的可能,所以最后的提取结果应是依据二者合并排重后的结果。(6)由于存在同一手机终端在不同时间受多次影响,所以从send.data、OpenBTS.log中提取出不含时间的IMSI,去重后计算出总数值,该数值就是中断用户的总数。如本案例中lasttime的总数值为485070,send.data文件内IMSI的总数为486522,OpenBTS.log内提取含时间的IMSI总数为507648,提取send.data、OpenBTS.log文件内不含时间的IMSI,合并去重后提取出IMSI数为396596,该数值即为总中断用户数。