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