章凇 張朝程
摘 要:近年來,電子數(shù)據(jù)取證分析技術(shù)日益成熟,大部分電子數(shù)據(jù)取證分析工具都能對(duì)主流的應(yīng)用程序數(shù)據(jù)進(jìn)行提取解析,提高了電子數(shù)據(jù)取證分析人員工作效率的同時(shí)也降低了電子數(shù)據(jù)取證分析人員的技術(shù)門檻。然而,在實(shí)際電子數(shù)據(jù)取證分析工作中,目前基于預(yù)設(shè)策略的電子數(shù)據(jù)取證分析工具無法智能化、自動(dòng)化地對(duì)新的應(yīng)用程序數(shù)據(jù)進(jìn)行提取解析。如何提取解析數(shù)據(jù)量大、數(shù)據(jù)復(fù)雜的應(yīng)用程序數(shù)據(jù),這給電子數(shù)據(jù)取證分析人員提出新的挑戰(zhàn),成為目前取證分析工作中的難點(diǎn)。
關(guān)鍵詞:Python;編程;電子數(shù)據(jù)取證;分析
中圖分類號(hào):DF793.2 文獻(xiàn)標(biāo)識(shí)碼:B
The application of python programming in digtal forensics and analysis
Abstract: In recent years, the technology of digtal forensics and analysis is increasingly mature. The mainstream application data can be extracted and analyzed by most of the digtal forensics and analysis tools, so that it can improve digital forensic investigation works efficiency while also reducing the technical threshold. However, in practical work, tools which is based on default policies can not extracted and analyzed the new application data intelligently and automatically. For digital forensic investigators, it's a big challenge to extracted and analyzed the large and complex application data.
Key words: python; programming; digtal forensics; analysis
1 引言
在電子數(shù)據(jù)取證分析工作中,我們常常遇到手頭上的電子數(shù)據(jù)取證分析工具預(yù)設(shè)的數(shù)據(jù)提取策略無法滿足提取解析個(gè)別小眾的或基于違法犯罪目的開發(fā)的特別的應(yīng)用程序數(shù)據(jù),也無法進(jìn)行數(shù)據(jù)恢復(fù)等操作,給取證工作的開展帶來諸多不便。目前,通常的應(yīng)對(duì)做法是使用Encase、X-Ways Forensics、UFED Physical Analyzer和Digatal Forensics Framework等電子數(shù)據(jù)取證分析工具自帶的腳本編譯器編程提取解析數(shù)據(jù),但此種方法仍然會(huì)受到取證軟件本身設(shè)計(jì)的一些限制導(dǎo)致有時(shí)不能達(dá)到理想的取證效果。為填補(bǔ)這一漏洞,使得對(duì)這一類特殊應(yīng)用程序的取證可以達(dá)到最佳效果,滿足不同實(shí)戰(zhàn)環(huán)境的取證要求,本文以一種非典型“偽基站”的主程序日志文件的編程取證為例,提出了一種根據(jù)不同應(yīng)用場(chǎng)景使用Python編程解決特殊應(yīng)用程序數(shù)據(jù)提取的思路,在實(shí)戰(zhàn)中取得較好的效果。當(dāng)然,除此之外還可以使用C/C++、C#、Java甚至Linux Shell編程實(shí)現(xiàn)相同的效果。本文在此只介紹Python一種。
2 “偽基站”案件的取證要點(diǎn)
目前,國(guó)內(nèi)辦理的“偽基站”案件的行為性質(zhì)大部分為非法使用“偽基站”設(shè)備干擾公用電信網(wǎng)絡(luò)信號(hào)、危害公共安全,依照《刑法》第一百二十四條第一款的規(guī)定,以破壞公用電信設(shè)施罪追究刑事責(zé)任;同時(shí)構(gòu)成虛假?gòu)V告罪、非法獲取公民個(gè)人信息罪、破壞計(jì)算機(jī)信息系統(tǒng)罪、擾亂無線電通訊管理秩序罪的,依照處罰較重的規(guī)定追究刑事責(zé)任。除法律、司法解釋另有規(guī)定外,利用“偽基站”設(shè)備實(shí)施詐騙等其他犯罪行為,同時(shí)構(gòu)成破壞公用電信設(shè)施罪的,依照處罰較重的規(guī)定追究刑事責(zé)任[1]。
針對(duì)非法使用“偽基站”設(shè)備干擾公用電信網(wǎng)絡(luò)信號(hào)、危害公共安全行為,最高人民法院公布了相關(guān)司法解釋:造成2000以上不滿1萬用戶通信中斷1小時(shí)以上,或者1萬以上用戶通信中斷不滿1小時(shí)的;在一個(gè)本地網(wǎng)范圍內(nèi),網(wǎng)間通信全阻、關(guān)口局至某一局向全部中斷或網(wǎng)間某一業(yè)務(wù)全部中斷不滿2小時(shí)或者直接影響范圍不滿5萬(用戶×小時(shí))的;造成網(wǎng)間通信嚴(yán)重障礙,1日內(nèi)累計(jì)2小時(shí)以上不滿12小時(shí)的,屬于刑法第一百二十四條規(guī)定的“危害公共安全”,依照刑法第一百二十四條第一款規(guī)定,以破壞公用電信設(shè)施罪處3年以上7年以下有期徒刑[2]。
根據(jù)上述“偽基站”案件的量刑依據(jù),可知“偽基站”案件的取證要點(diǎn)主要有“偽基站”已發(fā)送的短信內(nèi)容、“偽基站”的操作系統(tǒng)時(shí)間、“偽基站”的中斷用戶通信的時(shí)間段和被“偽基站”中斷通信的用戶數(shù)量。其中,獲取“偽基站”已發(fā)送的短信內(nèi)容是“偽基站”案中電子取證的一個(gè)難點(diǎn)。
3 “偽基站”已發(fā)送短信內(nèi)容的存儲(chǔ)位置
嫌疑人使用“偽基站”發(fā)送短信時(shí),通常會(huì)在“偽基站”主界面、“偽基站”的MySQL數(shù)據(jù)庫(kù)文件“ibdata1”、“偽基站”的系統(tǒng)日志“syslog”系列文件和“偽基站”的主程序日志文件“OpenBTS.log”存儲(chǔ)有已發(fā)送的短信內(nèi)容。
4 應(yīng)用背景簡(jiǎn)介
工作中發(fā)現(xiàn)一種非典型的“偽基站”軟件,該軟件操作主界面無數(shù)據(jù)顯示,且通過Linux Shell命令登錄“偽基站”的MySQL數(shù)據(jù)庫(kù)發(fā)現(xiàn)“偽基站”主程序的相關(guān)記錄也被清空,無法用常規(guī)方法及取證軟件對(duì)軟件界面及數(shù)據(jù)庫(kù)中存儲(chǔ)的發(fā)送信息條數(shù)、發(fā)送信息內(nèi)容等定案關(guān)鍵數(shù)據(jù)進(jìn)行恢復(fù)提取。經(jīng)對(duì)該軟件的結(jié)構(gòu)及文件內(nèi)容反復(fù)研究,我們發(fā)現(xiàn)軟件的一個(gè)日志文件“OpenBTS.log”中存儲(chǔ)有大量的可疑數(shù)據(jù),于是決定以此為切入點(diǎn),嘗試采用以下解密方式恢復(fù)該日志文件中的內(nèi)容,從而達(dá)到既定的獲取該“偽基站”軟件發(fā)送出去的手機(jī)短信息內(nèi)容的取證目的。
5 “OpenBTS.log”中短信內(nèi)容的手工提取解析過程
提出該算法的主要思路是,根據(jù)“偽基站”軟件數(shù)據(jù)庫(kù)及日志文件中存儲(chǔ)數(shù)據(jù)的一般結(jié)構(gòu),先用關(guān)鍵字“addsms”將所有的疑似涉案數(shù)據(jù)二進(jìn)制文件提取出來,然后根據(jù)網(wǎng)絡(luò)上較常見的木馬程序等加密解密的規(guī)則,先手工將這些二進(jìn)制文件解密成正常能閱讀的漢語言文字,再用編程的方式,實(shí)現(xiàn)取證的自動(dòng)化,大大減少取證人員的重復(fù)工作量,提高取證效率。經(jīng)反復(fù)試驗(yàn),現(xiàn)將手工解密的原理介紹如下:將檢材的備份鏡像文件中路徑“/var/log/”下的“OpenBTS.log”計(jì)算SHA-256值后復(fù)制到專用U盤。啟動(dòng)殺毒軟件對(duì)電子物證檢驗(yàn)工作站系統(tǒng)進(jìn)行殺毒,殺毒結(jié)果顯示電子物證檢驗(yàn)工作站系統(tǒng)為安全。將專用U盤通過只讀方式連接到電子物證檢驗(yàn)工作站,打開Terminal,進(jìn)入到“/media/root/761E61A1E35D3B9/”目錄下,校驗(yàn)“OpenBTS.log”SHA-256值一致性后,使用“cat OpenBTS.log | grep 'addsms' | head -2”,命令運(yùn)行結(jié)果如圖1所示。
使用文本編輯器將第二行短信數(shù)據(jù)中的二進(jìn)制數(shù)值按順序以1個(gè)字節(jié)(8位)為單位轉(zhuǎn)換為十六進(jìn)制數(shù)值,十六進(jìn)制數(shù)值長(zhǎng)度不足兩位的在前面補(bǔ)0。轉(zhuǎn)換后的十六進(jìn)制編碼短信數(shù)據(jù)如圖2所示。
使用文本編輯器將十六進(jìn)制編碼短信數(shù)據(jù)按順序每隔2個(gè)字節(jié)插入“\u”,連接成Unicode編碼,操作完成后如圖3所示。
使用Unicode編碼轉(zhuǎn)換工具將Unicode編碼短信數(shù)據(jù)解碼后如圖4所示。
使用“cat OpenBTS.log | grep 'raw=(.\{63,\})' | head -2”。
6 程序設(shè)計(jì)
根據(jù)“OpenBTS.log”中短信內(nèi)容的手工提取解析方法畫出流程圖,如圖5所示。
有了以上手工解密的原理和流程圖,現(xiàn)使用Python編程實(shí)現(xiàn)對(duì)“OpenBTS.log”短信內(nèi)容的自動(dòng)提取解析,該程序的源代碼及注釋如圖6所示。
該P(yáng)ython程序在Linux kali 4.6.0-kali1-amd64、Python 2.7.12下正常運(yùn)行,程序的部分運(yùn)行結(jié)果如圖7所示。
參照“OpenBTS.log”中短信內(nèi)容的提取解析方法,可提取解析出“偽基站”的系統(tǒng)日志“syslog”系列文件中的已發(fā)送短信數(shù)據(jù),具體提取解析步驟和Python程序?qū)崿F(xiàn)就不再一一詳述。
該算法另辟蹊徑,在無法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)主要數(shù)據(jù)的恢復(fù)的情況下,從其各類系統(tǒng)及操作日志入手,將日志中經(jīng)過加密的各種數(shù)據(jù)使用二進(jìn)制轉(zhuǎn)UNICODE的解密方法,曲線實(shí)現(xiàn)對(duì)軟件存儲(chǔ)及發(fā)送的手機(jī)短信內(nèi)容進(jìn)行的取證目的,在實(shí)戰(zhàn)中取得了較好的效果,同時(shí)大大提高了對(duì)“偽基站”類軟件的取證效率,經(jīng)測(cè)試,目前市面上大多架構(gòu)類似的“偽基站”軟件都可按照本文介紹的方法進(jìn)行關(guān)鍵數(shù)據(jù)的恢復(fù)和提取。
7 結(jié)束語
近年來,在針對(duì)“偽基站”的電子取證軟件尚未普及之時(shí),本文所使用的Python程序已成功對(duì)多起“偽基站”案的“OpenBTS.log”進(jìn)行提取解析。隨著電子技術(shù)和軟件產(chǎn)業(yè)的飛速發(fā)展,未來的電子數(shù)據(jù)取證工作將會(huì)遇到更多、更新穎的數(shù)字化設(shè)備和軟件,必將對(duì)電子數(shù)據(jù)取證分析人員的技術(shù)水平提出更高的要求。與其坐等電子取證軟件的更新升級(jí),不如提高自身的電子數(shù)據(jù)取證分析水平,更快更好地完成電子取證工作。
參考文獻(xiàn)
[1] 最高人民法院,最高人民檢察院,公安部,等. 關(guān)于依法辦理非法生產(chǎn)銷售使用“偽基站”設(shè)備案件的意見[S]. 公通字﹝2014﹞13號(hào)文件.
[2] 最高人民法院關(guān)于審理破壞公用電信設(shè)施刑事案件具體應(yīng)用法律若干問題的解釋[J]. 人民檢察,2005, (03):64.
[3] 曹茂虹.王大強(qiáng).“偽基站”的基本原理及電子取證分析[J],信息安全與技術(shù),2015,04(6),73-75.
[4] 王隆娟.移動(dòng)支付安全問題探索[J].信息安全與技術(shù),2015,01(6),7-10.
[5] 王李平.孫春雷.王琛.代杰.偽基站數(shù)據(jù)的電子取證分析[J].警察技術(shù),2016,05,56-58.
[6] 劉浩陽.利用偽基站的電信詐騙偵查取證.[j].警察技術(shù),2016,02,8-10.
[7] 岳力.非法使用“偽基站”的定性和量刑[J].人民司法,2015,16,27-28.