“伪基站”数据取证研究
王洪庆1, 王即墨2,*, 计超豪2, 周祥鹏1, 刘栗1, 朱元栋3
1.黑龙江省公安厅刑事技术总队,哈尔滨150008
2.温州市公安局刑事科学技术研究所,浙江 温州325000
3.杭州平航科技有限公司,杭州 310000
* 通讯作者: 王即墨,工程师,本科,研究方向为电子物证。 E-mail: wzwjm@sohu.com

作者简介: 王洪庆,高级工程师,理学士,研究方向为电子物证。 E-mail: ljxjdzwz@qq.com

摘要

“伪基站”是一种通过伪装成运营商基站冒用任意号码向用户发送短信的高科技设备,经常被用于经济诈骗和商业宣传。本文针对 “伪基站”设备的数据取证展开了深入分析,介绍了 “伪基站”的工作原理,对“伪基站”在取证中的三大挑战进行了探讨,提出了“伪基站”数据取证的基本框架和方法,阐述了对“伪基站”通信日志、软件数据库和软件运行环境检验的“伪基站”取证框架,并针对GSMS“伪基站”进行重点分析,介绍了如何把取证方法应用在实际案例中,同时对GSMS“伪基站”的代码进行深入分析,解释了为何软件界面的显示数不能被采用。最后通过GSMS“伪基站”测试实验从另一个侧面验证了本文的理论框架。

关键词: 电子物证; 伪基站; 国际移动用户识别码; 数据分析
中图分类号:DF793.2 文献标志码:A 文章编号:1008-3650(2015)06-0435-05 doi: 10.16467/j.1008-3650.2015.06.002
Forensic Analysis of “Pseudo Base Station” Data
WANG Hongqing1, WANG Jimo2,*, JI Chaohao2, ZHOU Xiangpeng1, LIU li1, ZHU Yuandong3
1. Criminal Technology Detachment, Heilongjiang Provincial Public Security Bureau,Harbin 150008, China
2. Institute of Criminal Science and Technology, Wenzhou Public Security Bureau, Wenzhou 325000, China
3. Hangzhou Pinghang Technology Co. Ltd, Hangzhou 310000, China
Abstract

Pseudo Base Station, albeit high in technology, is a kind of illegal equipment that sends messages to its nearby mobile phones through any coincidently identical numbers it creates randomly. It pretends a telecom operator’s base station to communicate with the nearby mobile devices. The illegal use of this equipment poses a threat to national security and social stability. However, Pseudo Base Stations has not received much attention in forensic research and investigation until now. This paper attempts to analyze Pseudo Base Station data based on the previous experiences, beginning with the introduction to basic background knowledge of Pseudo Base Station. The second section describes the forensic challenges of Pseudo Base Station and the reason of its existence. A novel framework for analyzing Pseudo Base Station is in succession to be proposed. It suggests three steps to obtain data from a Pseudo Base Station. First is to extract “interrupted number” from the Pseudo Base Station system logs (OpenBTS.log or syslog). Second is to pick up “sent IMSI number” from Pseudo Base Station software database. Last is to extract user activities and system information from Pseudo Base Station data. The fourth section of this paper is a case study. This section introduces how to conduct a forensic analysis on this type of Pseudo Base Station. It explains the reason why the number shown in the user interface is wrong and should reject in the result based on the analysis of the source codes. Moreover, a simulative experiment was designed using a GSMS “Pseudo Base Station” to send text to nearby mobile phones, verifying the proposed method by comparing the received data with the examined results.

Keyword: digital forensics; pseudo base station; IMSI; data analysis

“ 伪基站” 设备是指未取得电信设备进网许可和无线电发射设备型号核准的非法无线电通信设备, 具有搜取手机用户信息, 强行向不特定用户手机发送短信息等功能, 使用过程中会非法占用公众移动通信频率, 局部阻断公众移动通信网络信号[1]。“ 伪基站” 经常被用于经济诈骗和商业宣传, 损害了手机用户和通信运营商的合法权益, 危害社会稳定和通信安全。由于“ 伪基站” 设备是新型高科技设备, 目前国内外既没有针对“ 伪基站” 有效的专业取证手段, 也缺乏对技术层面的深入研究。一些比较粗浅的取证结论, 往往经不起推敲, 在法庭诉讼中引起各种质疑, 影响了证据的采信。鉴于上述情况, 笔者针对“ 伪基站” 设备中最常见GSMS版本的数据取证展开系统性的深入分析研究, 有效获取“ 伪基站” 数据, 提出取证的基本框架和方法与同行商榷。

1 “ 伪基站” 工作原理

“ 伪基站” 设备一般由主发射机、配套天线和装有群发短信软件的控制电脑三部分组成, 发射与周边公众移动通信基站频率相同但信号强度更大的信号(见图1)。目前, 部分通信网络(global system for mobile communication, GSM)协议中, 手机与基站通信时, 基站会对手机的身份进行认证, 而手机却不会对基站的身份进行认证。当手机附近出现信号更强的基站时, 手机会自动连入功率较大的基站。因此, 一旦手机被吸入“ 伪基站” 设备, “ 伪基站” 将向这些手机终端发送任意数量、任意内容、任意主叫号码的短信。短信发送完成后, “ 伪基站” 对再次经过的位置数据更新, 将已经驻留过的手机终端踢出, 迫使其重新回到正常网络[2]。在手机设备连入“ 伪基站” 的过程中, 手机信号将会暂时性的脱离原有网络, 无法正常使用运营商提供的服务, 直到重新回到运营商正常网络后才能恢复使用。“ 伪基站” 设备目前主要依靠开源的GSM基站软件项目OpenBTS实现。OpenBTS是一个基于Linux类系统的开源软件项目, 使用软件无线电平台充当GSM空中接口来连接标准的 2G 的 GSM 手持设备, 并使用 SIP 软交换协议或 PBX 进行呼叫连接[3]。“ 伪基站” 设备在运行时, 使用者在“ 伪基站” 程序界面进行发送内容、号码、次数等参数的设定, 用户设置完成点击“ 发送” 按钮后“ 伪基站” 将设置的参数传递给OpenBTS调用与主机相连接的发射设备进行短信发送。

图 1 “ 伪基站” 工作流程图[4]Fig.1 Work flow chart of “ Pseudo Base Station” [4]

2 “ 伪基站” 数据取证难点

“ 伪基站” 数据的取证实质上是对“ 伪基站” 软件使用痕迹进行检验获取。由于这类软件出现时间短, 形式新, 给取证工作带来巨大挑战, 其主要的取证难点有以下三点:(1)分析难。“ 伪基站” 的核心OpenBTS程序是基于Linux的开源项目, 目前“ 伪基站” 系统多运行于Linux系统。传统电子物证则对Window取证已有深入的研究[5, 6], 很少涉及Linux系统, 因此检验人员对Linux系统比较陌生, 对其软件的检验缺乏经验和技术基础。(2)工具少。取证实验室通常会配备Windows及Mac OS的取证软件, 而Linux取证工具较为欠缺, 针对“ 伪基站” 系统进行取证的专业化工具则更少; 部分作案人员有发送短信完成后进行任务删除的习惯, 也给技术取证带来很大难度。(3)种类多。随着OpenBTS项目的成熟, 开发一套“ 伪基站” 已经不是技术难题。部分代码采用PHP方式, 容易修改, 在过去几年的检验工作中笔者就遇见30多种“ 伪基站” 软件, 这些“ 伪基站” 软件无论是存放数据的位置、格式, 还是运行的方式均有不同, 给检验工作带来了巨大的挑战。

3 “ 伪基站” 数据取证框架

由于不同的“ 伪基站” 软件中包含的具体数据类型各不相同, 每种“ 伪基站” 数据取证方法有所不同。根据现有的分析数据来看, “ 伪基站” 数据取证框架主要包括三部分。

3.1 检验“ 伪基站” 通信日志获取手机被干扰数

“ 伪基站” 设备在连入用户手机、阻碍用户通信时所使用的核心部分是OpenBTS软件。OpenBTS软件在运行时可能会在系统留下日志文件, 该文件通常为位于系统目录下的OpenBTS.log或Syslog日志文件。该日志包含了“ 伪基站” 设备与手机设备通信中的交互过程及手机设备的IMSI号(international mobile subscriber identification number, 国际移动用户识别码), 分析该日志将会获取到受“ 伪基站” 设备干扰的手机设备数。由于OpenBTS是一个开源程序, 各版本的“ 伪基站” 可能使用不同的OpenBTS程序, 在使用时有些OpenBTS不会输出日志或输出到其他路径, 需要分析人员对日志文件进行准确定位。

3.2 检验“ 伪基站” 软件数据库获取发送的IMSI数

“ 伪基站” 软件与其他软件一样, 通常包含后台数据库、运行日志等数据文件。其中后台数据使用最多的是MySQL和SQLite数据库。这些数据库中经常会存有用户设置发送的短信、号码以及发送的数量。部分“ 伪基站” 软件在发送过程会留下具体的发送日志文件, 包含发送时间和发送对象的IMSI号码等信息。分析这些后台文件将获取以下数据:(1)界面显示数量:“ 伪基站” 软件界面上所显示的短信发送数量; (2)数据库实发数:“ 伪基站” 软件存储在后台数据库中的短信实际发送条数; (3)IMSI详单数:统计“ 伪基站” 软件运行日志文件详单中IMSI条数后获得的统计数。由于“ 伪基站” 在发送短信时需要中断手机与原有基站的联系, 因此“ IMSI详单数” 在检验结果中也可以认定为从“ 伪基站” 运行日志文件中获取到的手机设备被干扰数。

3.3 检验“ 伪基站” 软件运行环境获取使用痕迹

“ 伪基站” 的Linux环境在使用时通常包含大量的用户痕迹数据, 如用户登录记录、系统终端日志、系统使用日志等。在检验中, 通过对这些数据的解析将提供“ 伪基站” 软件使用相关的行为痕迹。例如“ 伪基站” 检验工作中出现过“ 伪基站” 的Linux系统时间与真实世界的时间存在的时间差, 检验结果中必须将该时间差作为结果一部分进行表述。

4 GSMS“ 伪基站” 软件分析

为了进一步说明“ 伪基站” 检验取证方法, 笔者选取了目前使用最广泛的GSMS“ 伪基站” 软件作为案例进行分析(如图2所示), 其他“ 伪基站” 软件版本的检验可作参考。

图 2 GSMS“ 伪基站” 软件Fig.2 GSMS “ Pseudo Base Station” software

4.1 GSMS通信日志分析

GSMS“ 伪基站” 的OpenBTS日志位于/ var/log/syslog路径(见图3)。该文件记录了OpenBTS程序与附近手机设备交互的全过程, 其中在GSMSL-3Message.Cpp日志项中记录了包含有交互的手机设备的IMSI号, 而每一个IMSI号都对应一个手机设备。通过对该类型日志中IMSI号数据进行统计, 即可得到该“ 伪基站” 通信日志中记录的手机设备被干扰数。

图 3 OpenBTS日志Fig.3 OpenBTS log

4.2 GSMS数据分析

GSMS“ 伪基站” 使用MySQL数据库作为短信任务的存储数据库。当用户添加、发送、删除短信任务时, 都将对MySQL数据库中存储的数据进行修改。使用取证软件打开位于路径 /var/lib/mysql 的数据库文件可以发现该数据库内的“ gsm_business” 表中存储了“ 伪基站” 短信的详细内容, 包含8个字段 (见图4)。

图 4 GSMS“ 伪基站” MySQL数据库Fig.4 MySQL database of GSMS “ Pseudo Base Station”

这些字段中需要注意的是“ lasttime” 和 “ count” 字段。通过对GSMS“ 伪基站” 代码(见图5图6)分析可以发现, “ 伪基站” 软件通过实时统计运行日志文件send.data中的IMSI号数量来确定短信发送数量, 并存入“ lasttime” 字段, 即数据库实发数; 而数据库的“ count” 字段的数值, 则是在发送数量的基础上加上了一个随机数并存入数据库中, 同时显示到界面上, 即界面显示数。

图 5 GSMS“ 伪基站” 代码1Fig.5 Code 1 of GSMS “ Pseudo Base Station”

图 6 GSMS“ 伪基站” 代码2Fig.6 Code 2 of GSMS “ Pseudo Base Station”

相应的, “ 伪基站” 软件在系统内留下了两组不同的发送详单数据。一组是位于/ var/usr/openbts目录下的send.data(见图7), 另一组是位于系统桌面以“ 任务名称_id” 命名的记录文件。位于软件目录下的send.data文件的每一行由发送任务的任务ID和发送目标的IMSI号组成, 通过对该运行日志文件的统计, 获取到IMSI详单数。IMSI详单数通常与数据库实发数相同, 但在实际工作中发现两者存在差异, 主要是由“ 伪基站” 软件和数据库读写效率上产生概率性误差造成的。而桌面的任务文件则是通过调用图8中所示的函数随机生成46000XXXXXXXXXX、46001XXXXXXXXXX和46002XXXXXXXXXX(X为0-9的随机数)的IMSI号码写入到桌面的“ 任务名称_id.txt” 文件中, 使其总数量满足count的值。通常情况下, 界面显示数、数据库实发数和IMSI详单数三者是保持一致的。但在本例“ 伪基站” 检验中, 界面显示数, 即“ count” 字段数据, 使用了一定规则的随机数值, 与数据库实发数“ lasttime” 并不一致, 在检验结果中应选用“ lasttime” 作为“ 伪基站” 设备实际发送数。而在通信日志完整的情况下, 手机干扰数一般大于或等于IMSI详单数。

图 7 send.data数据Fig.7 Data of send.data

图 8 GSMS“ 伪基站” 随机生成IMSI代码Fig.8 IMSI Code randomly generated by GSMS “ Pseudo Base Station”

4.3 测试实验

测试设备:GSMS“ 伪基站” 设备一套; 测试手机10台, 型号为NOKIA 1010; 运营商为移动(见表1)。

表 1 手机检验结果 Table 1 Tested phone information and the testing data

测试环境:外围无无线信号屏蔽的小型实验室, 测试手机放置于GSMS“ 伪基站” 周围, 网络是手机移动2G网。

测试步骤:(1)在“ 伪基站” 软件界面上设定需要发送的短信内容; (2)运行“ 伪基站” 软件, 记录开始时间; (3)“ 伪基站” 软件运行3分钟后关闭; (4)修改“ 伪基站” 发送内容, 号码, 重复试验。

测试结果见表1, 依据上文的取证方法。对“ 伪基站” 数据中的send.data和OpenBTS通讯日志的检验结果显示, 收到短信的手机, 其对应的IMSI即出现在OpenBTS通讯日志和send.data文件中, 检验结果和上文理论一致。

“ 伪基站” 犯罪是一种社会危害性巨大的高科技犯罪, 并一直在不断进化, 目前只要使用2G通讯网络, “ 伪基站” 就有存在的空间, 将来随着技术的发展, 其影响可能会涉及到4G通讯网络。因此, 制订相关“ 伪基站” 检验技术标准, 形成行之有效的方法, 持续推进和深化“ 伪基站” 取证技术研究刻不容缓。本文针对“ 伪基站” 取证的原理和取证难点, 介绍了“ 伪基站” 数据取证过程的重点和目标, 提出了一套具有普遍意义的“ 伪基站” 取证框架和方法, 以最常见的GSMS“ 伪基站” 软件作为案例深入分析和测试实验, 对有效开展“ 伪基站” 数据检验, 有力打击和震慑“ 伪基站” 违法犯罪活动提供强有力的技术支撑。

The authors have declared that no competing interests exist.

参考文献
[1] 最高人民法院, 最高人民检察院, 公安部, . 关于依法办理非法生产销售使用“伪基站”设备案件的意见. 公通字 (2014)13号文件. [本文引用:1]
[2] 巫毓君, 黄伟方. 伪基站案件的法律适用研究. 中国无线电, 2014 (02): 51-54, 56. [本文引用:1]
[3] 朱赛赛. OpenBTS信号处理和无线资源管理的研究. 山东大学, 2012. [本文引用:1]
[4] 田野, 刘斐, 徐海东. 新型伪基站安全分析研究. 电信工程技术与标准化, 2013 (08): 65-68. [本文引用:1]
[5] 张宇. WINDOWS系统中常见的电子证据的提取. 刑事技术, 2006 (5): 41-43. [本文引用:1]
[6] 邢桂东. Windows操作系统注册表检验. 刑事技术, 2011(2): 38-40. [本文引用:1]