王洪慶,王即墨,計超豪,周祥鵬,劉 栗,朱元棟
(1.黑龍江省公安廳刑事技術(shù)總隊,哈爾濱150008;2.溫州市公安局刑事科學(xué)技術(shù)研究所,浙江 溫州325000;3.杭州平航科技有限公司,杭州 310000)
·論 著·
“偽基站”數(shù)據(jù)取證研究
王洪慶1,王即墨2,*,計超豪2,周祥鵬1,劉 栗1,朱元棟3
(1.黑龍江省公安廳刑事技術(shù)總隊,哈爾濱150008;2.溫州市公安局刑事科學(xué)技術(shù)研究所,浙江 溫州325000;3.杭州平航科技有限公司,杭州 310000)
“偽基站”是一種通過偽裝成運營商基站冒用任意號碼向用戶發(fā)送短信的高科技設(shè)備,經(jīng)常被用于經(jīng)濟詐騙和商業(yè)宣傳。本文針對“偽基站”設(shè)備的數(shù)據(jù)取證展開了深入分析,介紹了“偽基站”的工作原理,對“偽基站”在取證中的三大挑戰(zhàn)進行了探討,提出了“偽基站”數(shù)據(jù)取證的基本框架和方法,闡述了對“偽基站”通信日志、軟件數(shù)據(jù)庫和軟件運行環(huán)境檢驗的“偽基站”取證框架,并針對GSMS“偽基站”進行重點分析,介紹了如何把取證方法應(yīng)用在實際案例中,同時對GSMS“偽基站”的代碼進行深入分析,解釋了為何軟件界面的顯示數(shù)不能被采用。最后通過GSMS“偽基站”測試實驗從另一個側(cè)面驗證了本文的理論框架。
電子物證;偽基站;國際移動用戶識別碼;數(shù)據(jù)分析
“偽基站”設(shè)備是指未取得電信設(shè)備進網(wǎng)許可和無線電發(fā)射設(shè)備型號核準(zhǔn)的非法無線電通信設(shè)備,具有搜取手機用戶信息,強行向不特定用戶手機發(fā)送短信息等功能,使用過程中會非法占用公眾移動通信頻率,局部阻斷公眾移動通信網(wǎng)絡(luò)信號[1]?!皞位尽苯?jīng)常被用于經(jīng)濟詐騙和商業(yè)宣傳,損害了手機用戶和通信運營商的合法權(quán)益,危害社會穩(wěn)定和通信安全。由于“偽基站”設(shè)備是新型高科技設(shè)備,目前國內(nèi)外既沒有針對“偽基站”有效的專業(yè)取證手段,也缺乏對技術(shù)層面的深入研究。一些比較粗淺的取證結(jié)論,往往經(jīng)不起推敲,在法庭訴訟中引起各種質(zhì)疑,影響了證據(jù)的采信。鑒于上述情況,筆者針對“偽基站”設(shè)備中最常見GSMS版本的數(shù)據(jù)取證展開系統(tǒng)性的深入分析研究,有效獲取“偽基站”數(shù)據(jù),提出取證的基本框架和方法與同行商榷。
“偽基站”設(shè)備一般由主發(fā)射機、配套天線和裝有群發(fā)短信軟件的控制電腦三部分組成,發(fā)射與周邊公眾移動通信基站頻率相同但信號強度更大的信號(見圖1)。目前,部分通信網(wǎng)絡(luò)(global system for mobile communication,GSM)協(xié)議中,手機與基站通信時,基站會對手機的身份進行認證,而手機卻不會對基站的身份進行認證。當(dāng)手機附近出現(xiàn)信號更強的基站時,手機會自動連入功率較大的基站。因此,一旦手機被吸入“偽基站”設(shè)備,“偽基站”將向這些手機終端發(fā)送任意數(shù)量、任意內(nèi)容、任意主叫號碼的短信。短信發(fā)送完成后,“偽基站”對再次經(jīng)過的位置數(shù)據(jù)更新,將已經(jīng)駐留過的手機終端踢出,迫使其重新回到正常網(wǎng)絡(luò)[2]。在手機設(shè)備連入“偽基站”的過程中,手機信號將會暫時性的脫離原有網(wǎng)絡(luò),無法正常使用運營商提供的服務(wù),直到重新回到運營商正常網(wǎng)絡(luò)后才能恢復(fù)使用?!皞位尽痹O(shè)備目前主要依靠開源的GSM基站軟件項目OpenBTS實現(xiàn)。OpenBTS是一個基于Linux類系統(tǒng)的開源軟件項目,使用軟件無線電平臺充當(dāng)GSM空中接口來連接標(biāo)準(zhǔn)的 2G 的 GSM 手持設(shè)備,并使用 SIP 軟交換協(xié)議或PBX 進行呼叫連接[3]?!皞位尽痹O(shè)備在運行時,使用者在“偽基站”程序界面進行發(fā)送內(nèi)容、號碼、次數(shù)等參數(shù)的設(shè)定,用戶設(shè)置完成點擊“發(fā)送”按鈕后“偽基站”將設(shè)置的參數(shù)傳遞給OpenBTS調(diào)用與主機相連接的發(fā)射設(shè)備進行短信發(fā)送。
圖1 “偽基站”工作流程圖[4]Fig.1 Work fl ow chart of “Pseudo Base Station” [4]
“偽基站”數(shù)據(jù)的取證實質(zhì)上是對“偽基站”軟件使用痕跡進行檢驗獲取。由于這類軟件出現(xiàn)時間短,形式新,給取證工作帶來巨大挑戰(zhàn),其主要的取證難點有以下三點:(1)分析難?!皞位尽钡暮诵腛penBTS程序是基于Linux的開源項目,目前“偽基站”系統(tǒng)多運行于Linux系統(tǒng)。傳統(tǒng)電子物證則對Window取證已有深入的研究[5,6],很少涉及Linux系統(tǒng),因此檢驗人員對Linux系統(tǒng)比較陌生,對其軟件的檢驗缺乏經(jīng)驗和技術(shù)基礎(chǔ)。(2)工具少。取證實驗室通常會配備Windows及Mac OS的取證軟件,而Linux取證工具較為欠缺,針對“偽基站”系統(tǒng)進行取證的專業(yè)化工具則更少;部分作案人員有發(fā)送短信完成后進行任務(wù)刪除的習(xí)慣,也給技術(shù)取證帶來很大難度。(3)種類多。隨著OpenBTS項目的成熟,開發(fā)一套“偽基站”已經(jīng)不是技術(shù)難題。部分代碼采用PHP方式,容易修改,在過去幾年的檢驗工作中筆者就遇見30多種“偽基站”軟件,這些“偽基站”軟件無論是存放數(shù)據(jù)的位置、格式,還是運行的方式均有不同,給檢驗工作帶來了巨大的挑戰(zhàn)。
由于不同的“偽基站”軟件中包含的具體數(shù)據(jù)類型各不相同,每種“偽基站”數(shù)據(jù)取證方法有所不同。根據(jù)現(xiàn)有的分析數(shù)據(jù)來看,“偽基站”數(shù)據(jù)取證框架主要包括三部分。
3.1 檢驗“偽基站”通信日志獲取手機被干擾數(shù)
“偽基站”設(shè)備在連入用戶手機、阻礙用戶通信時所使用的核心部分是OpenBTS軟件。OpenBTS軟件在運行時可能會在系統(tǒng)留下日志文件,該文件通常為位于系統(tǒng)目錄下的OpenBTS.log或Syslog日志文件。該日志包含了“偽基站”設(shè)備與手機設(shè)備通信中的交互過程及手機設(shè)備的IMSI號(international mobile subscriber identification number,國際移動用戶識別碼),分析該日志將會獲取到受“偽基站”設(shè)備干擾的手機設(shè)備數(shù)。由于OpenBTS是一個開源程序,各版本的“偽基站”可能使用不同的OpenBTS程序,在使用時有些OpenBTS不會輸出日志或輸出到其他路徑,需要分析人員對日志文件進行準(zhǔn)確定位。
3.2 檢驗“偽基站”軟件數(shù)據(jù)庫獲取發(fā)送的IMSI數(shù)
“偽基站”軟件與其他軟件一樣,通常包含后臺數(shù)據(jù)庫、運行日志等數(shù)據(jù)文件。其中后臺數(shù)據(jù)使用最多的是MySQL和SQLite數(shù)據(jù)庫。這些數(shù)據(jù)庫中經(jīng)常會存有用戶設(shè)置發(fā)送的短信、號碼以及發(fā)送的數(shù)量。部分“偽基站”軟件在發(fā)送過程會留下具體的發(fā)送日志文件,包含發(fā)送時間和發(fā)送對象的IMSI號碼等信息。分析這些后臺文件將獲取以下數(shù)據(jù):(1)界面顯示數(shù)量:“偽基站”軟件界面上所顯示的短信發(fā)送數(shù)量;(2)數(shù)據(jù)庫實發(fā)數(shù):“偽基站”軟件存儲在后臺數(shù)據(jù)庫中的短信實際發(fā)送條數(shù);(3)IMSI詳單數(shù):統(tǒng)計“偽基站”軟件運行日志文件詳單中IMSI條數(shù)后獲得的統(tǒng)計數(shù)。由于“偽基站”在發(fā)送短信時需要中斷手機與原有基站的聯(lián)系,因此“IMSI詳單數(shù)”在檢驗結(jié)果中也可以認定為從“偽基站”運行日志文件中獲取到的手機設(shè)備被干擾數(shù)。
3.3 檢驗“偽基站”軟件運行環(huán)境獲取使用痕跡
“偽基站”的Linux環(huán)境在使用時通常包含大量的用戶痕跡數(shù)據(jù),如用戶登錄記錄、系統(tǒng)終端日志、系統(tǒng)使用日志等。在檢驗中,通過對這些數(shù)據(jù)的解析將提供“偽基站”軟件使用相關(guān)的行為痕跡。例如“偽基站”檢驗工作中出現(xiàn)過“偽基站”的Linux系統(tǒng)時間與真實世界的時間存在的時間差,檢驗結(jié)果中必須將該時間差作為結(jié)果一部分進行表述。
為了進一步說明“偽基站”檢驗取證方法,筆者選取了目前使用最廣泛的GSMS“偽基站”軟件作為案例進行分析(如圖2所示),其他“偽基站”軟件版本的檢驗可作參考。
圖2 GSMS“偽基站”軟件Fig.2 GSMS “Pseudo Base Station” software
4.1 GSMS通信日志分析
GSMS“偽基站”的OpenBTS日志位于/ var/log/ syslog路徑(見圖3)。該文件記錄了OpenBTS程序與附近手機設(shè)備交互的全過程,其中在GSMSL-3Message.Cpp日志項中記錄了包含有交互的手機設(shè)備的IMSI號,而每一個IMSI號都對應(yīng)一個手機設(shè)備。通過對該類型日志中IMSI號數(shù)據(jù)進行統(tǒng)計,即可得到該“偽基站”通信日志中記錄的手機設(shè)備被干擾數(shù)。4.2 GSMS數(shù)據(jù)分析
GSMS“偽基站”使用MySQL數(shù)據(jù)庫作為短信任務(wù)的存儲數(shù)據(jù)庫。當(dāng)用戶添加、發(fā)送、刪除短信任務(wù)時,都將對MySQL數(shù)據(jù)庫中存儲的數(shù)據(jù)進行修改。使用取證軟件打開位于路徑 /var/lib/mysql 的數(shù)據(jù)庫文件可以發(fā)現(xiàn)該數(shù)據(jù)庫內(nèi)的“gsm_business”表中存儲了“偽基站”短信的詳細內(nèi)容,包含8個字段 (見圖4)。
這些字段中需要注意的是“l(fā)asttime” 和 “count”字段。通過對GSMS“偽基站”代碼(見圖5、圖6)分析可以發(fā)現(xiàn),“偽基站”軟件通過實時統(tǒng)計運行日志文件send.data中的IMSI號數(shù)量來確定短信發(fā)送數(shù)量,并存入“l(fā)asttime”字段,即數(shù)據(jù)庫實發(fā)數(shù);而數(shù)據(jù)庫的“count”字段的數(shù)值,則是在發(fā)送數(shù)量的基礎(chǔ)上加上了一個隨機數(shù)并存入數(shù)據(jù)庫中,同時顯示到界面上,即界面顯示數(shù)。
相應(yīng)的,“偽基站”軟件在系統(tǒng)內(nèi)留下了兩組不同的發(fā)送詳單數(shù)據(jù)。一組是位于/ var/usr/openbts目錄下的send.data(見圖7),另一組是位于系統(tǒng)桌面以“任務(wù)名稱_id”命名的記錄文件。位于軟件目錄下的send.data文件的每一行由發(fā)送任務(wù)的任務(wù)ID和發(fā)送目標(biāo)的IMSI號組成,通過對該運行日志文件的統(tǒng)計,獲取到IMSI詳單數(shù)。IMSI詳單數(shù)通常與數(shù)據(jù)庫實發(fā)數(shù)相同,但在實際工作中發(fā)現(xiàn)兩者存在差異,主要是由“偽基站”軟件和數(shù)據(jù)庫讀寫效率上產(chǎn)生概率性誤差造成的。而桌面的任務(wù)文件則是通過調(diào)用圖8中所示的函 數(shù)隨機生成46000XXXXXXXXXX、46001XXXXXXXXXX和 46002XXXXXXXXXX(X 為0-9的隨機數(shù))的IMSI號碼寫入到桌面的“任務(wù)名稱_id.txt”文件中,使其總數(shù)量滿足count的值。通常情況下,界面顯示數(shù)、數(shù)據(jù)庫實發(fā)數(shù)和IMSI詳單數(shù)三者是保持一致的。但在本例“偽基站”檢驗中,界面顯示數(shù),即“count”字段數(shù)據(jù),使用了一定規(guī)則的隨機數(shù)值,與數(shù)據(jù)庫實發(fā)數(shù)“l(fā)asttime”并不一致,在檢驗結(jié)果中應(yīng)選用“l(fā)asttime”作為“偽基站”設(shè)備實際發(fā)送數(shù)。而在通信日志完整的情況下,手機干擾數(shù)一般大于或等于IMSI詳單數(shù)。
圖3 OpenBTS日志Fig.3 OpenBTS log
圖4 GSMS“偽基站”MySQL數(shù)據(jù)庫Fig.4 MySQL database of GSMS “Pseudo Base Station”
4.3 測試實驗
測試設(shè)備:GSMS“偽基站”設(shè)備一套;測試手機10臺,型號為NOKIA 1010;運營商為移動(見表1)。
測試環(huán)境:外圍無無線信號屏蔽的小型實驗室,測試手機放置于GSMS“偽基站”周圍,網(wǎng)絡(luò)是手機移動2G網(wǎng)。
圖5 GSMS“偽基站”代碼1Fig.5 Code 1 of GSMS “Pseudo Base Station”
圖6 GSMS“偽基站”代碼2Fig.6 Code 2 of GSMS “Pseudo Base Station”
圖7 send.data數(shù)據(jù)Fig.7 Data of send.data
圖8 GSMS“偽基站”隨機生成IMSI代碼Fig.8 IMSI Code randomly generated by GSMS “Pseudo Base Station”
測試步驟:(1)在“偽基站”軟件界面上設(shè)定需要發(fā)送的短信內(nèi)容;(2)運行“偽基站”軟件,記錄開始時間;(3)“偽基站”軟件運行3分鐘后關(guān)閉;(4)修改“偽基站”發(fā)送內(nèi)容,號碼,重復(fù)試驗。
測試結(jié)果見表1,依據(jù)上文的取證方法。對“偽基站”數(shù)據(jù)中的send.data和OpenBTS通訊日志的檢驗結(jié)果顯示,收到短信的手機,其對應(yīng)的IMSI即出現(xiàn)在OpenBTS通訊日志和send.data文件中,檢驗結(jié)果和上文理論一致。
“偽基站”犯罪是一種社會危害性巨大的高科技犯罪,并一直在不斷進化,目前只要使用2G通訊網(wǎng)絡(luò),“偽基站”就有存在的空間,將來隨著技術(shù)的發(fā)展,其影響可能會涉及到4G通訊網(wǎng)絡(luò)。因此,制訂相關(guān)“偽基站”檢驗技術(shù)標(biāo)準(zhǔn),形成行之有效的方法,持續(xù)推進和深化“偽基站”取證技術(shù)研究刻不容緩。本文針對“偽基站”取證的原理和取證難點,介紹了“偽基站”數(shù)據(jù)取證過程的重點和目標(biāo),提出了一套具有普遍意義的“偽基站”取證框架和方法,以最常見的GSMS“偽基站”軟件作為案例深入分析和測試實驗,對有效開展“偽基站”數(shù)據(jù)檢驗,有力打擊和震懾“偽基站”違法犯罪活動提供強有力的技術(shù)支撐。
表1 手機檢驗結(jié)果Table 1 Tested phone information and the testing data
[1] 最高人民法院,最高人民檢察院,公安部,等. 關(guān)于依法辦理非法生產(chǎn)銷售使用“偽基站”設(shè)備案件的意見. 公通字(2014)13號文件.
[2] 巫毓君,黃偉方. 偽基站案件的法律適用研究. 中國無線電,2014 (02):51-54,56.
[3] 朱賽賽. OpenBTS信號處理和無線資源管理的研究. 山東大學(xué), 2012.
[4] 田野,劉斐,徐海東. 新型偽基站安全分析研究. 電信工程技術(shù)與標(biāo)準(zhǔn)化,2013 (08):65-68.
[5] 張宇. WINDOWS系統(tǒng)中常見的電子證據(jù)的提取. 刑事技術(shù),2006 (5):41-43.
[6] 邢桂東. Windows操作系統(tǒng)注冊表檢驗. 刑事技術(shù),2011(2):38-40.
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)
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.
digital forensics; pseudo base station; IMSI; data analysis
DF793.2
A
1008-3650(2015)06-0435-05
10.16467/j.1008-3650.2015.06.002
2015-06-18
公安部技術(shù)研究計劃重點項目(2015JSYJA01)
王洪慶,高級工程師,理學(xué)士,研究方向為電子物證。 E-mail: ljxjdzwz@qq.com
王即墨,工程師,本科,研究方向為電子物證。 E-mail: wzwjm@sohu.com
引用本文格式:王洪慶,王即墨,計超豪,等. “偽基站”數(shù)據(jù)取證研究. 刑事技術(shù),2015,40(6):435-439.