王興,丁錳,段成閣,上官夢軒
(1.中國人民公安大學刑事科學技術學院,北京100032;2.蘇州市公安局工業園區分局網絡警察大隊,蘇州215000;3.溫州市公安局刑事科學技術研究所,溫州325000)
輸入法作為用戶使用計算機的重要工具之一,近年來其智能化和網絡化不斷提高,功能和種類不斷增多,應用范圍更加廣泛。在輸入法軟件的眾多功能中,用戶個性詞庫在提高輸入效率的同時,也存儲了大量與用戶相關的信息,能夠作為重要的電子證據使用[1]。由于市面上各種輸入法用戶詞庫的記錄方式和存儲內容不盡相同,其證據價值與分析方法也不同,對取證產生了一定的影響。本文將通過實驗對十種常見輸入法詞庫的記錄情況進行比較,分析不同輸入法詞庫的取證價值,從而確定針對不同輸入法詞庫的取證策略。
常見的電子取證對象包括與犯罪有關的文檔、電子郵件、照片、視頻、聊天記錄、轉賬記錄、計算機日志等電子數據[2]。隨著公民信息安全意識的不斷增強與計算機技術的發展,一些犯罪分子在實施犯罪后會使用反取證技術來逃避公安機關的偵查,包括數據加密、數據銷毀和數據隱藏[3]。犯罪嫌疑人可以使用BitLocker對內部磁盤或外部驅動器進行數據加密[4];使用反取證工具包(TDT)中的Necrofile工具進行數據覆蓋[5]或通過消磁法擦除硬盤上的電磁信息來實現存儲介質中數據的銷毀[6];使用runefs工具將敏感數據塊標記為磁盤壞塊[5]或使用Dementia工具在Windows操作系統內存數據轉儲的過程中隱藏內存數據[7],使電子取證工作獲取有效信息的難度不斷增加。
輸入法是進行人機交互的一個不可或缺的重要工具[8],輸入法詞庫的內容能夠反映用戶使用計算機時直接接觸的信息和相關領域,包括用戶頻繁關注的人事物,與用戶自身存在聯系的人名、地點和時間日期,與他人的聊天記錄的關鍵詞或犯罪隱語等信息,對輸入法詞庫進行取證,能夠獲取大量與用戶相關的直接、有效信息[9],對電子取證工作具有十分重要的意義。
由于輸入法詞庫是一種相對隱蔽的痕跡信息,在國內外電子取證領域和反取證技術方面都沒有受到過多關注。柴正[1]提出了一種基于選擇明文攻擊分析方法的中文輸入法用戶詞庫提取技術。該技術使用多線程、遞歸算法進行文件快速檢索,使用跟蹤分析、反匯編等技術進行詞庫內容的提取與解析,對詞庫中的關鍵詞和高頻詞進行檢索并過濾無效詞,從而實現自動搜索輸入法詞庫文件并獲取完整內容進行解析。深藍詞庫轉換(imewlconverter)是一款基于.NET Core的開源輸入法詞庫轉換程序。該程序能夠將一種輸入法的詞庫轉換成其他不同格式的輸入法詞庫,使其能夠進行跨輸入法詞庫導入,可以實現把加密的詞庫文件轉換成其他可讀格式的文件。
需要注意的是,不同輸入法詞庫具有的自身特性會對其證據價值產生一定的影響,需要根據各輸入法詞庫的自身特性對其證據價值進行比較研究,這對在工作中根據實際情況采取相應的取證策略十分有利,因此,本文將通過設計實驗比較幾種常見輸入法用戶詞庫的特點,并對他們的取證價值進行分析。
輸入法詞庫的獲取方法包括直接在硬盤中查找輸入法詞庫文件和通過輸入法軟件的詞庫管理功能進行導出。使用直接檢索詞庫文件的方法獲取的詞庫文件,往往無法直接讀出其內容,需要對詞庫進行解析才能分析和解讀其中的信息,早期的輸入法如智能ABC就不具有導出詞庫文件的功能,其用戶詞庫文件存儲為WindowsSystemTMMR.REM和USER.REM的兩個文件。使用輸入法軟件的導出功能直接導出詞庫的方法,可以導出能夠直接讀寫的文本文件,如百度輸入法、QQ拼音輸入法、手心輸入法等,如圖1、圖2所示。同時,有些輸入法只能導出加密格式的詞庫文件,如搜狗輸入法、2345王牌輸入法等。本文將使用輸入法軟件的詞庫導出功能,獲取幾種常見輸入法的中文或英文用戶詞庫。
國內用戶常用的輸入法種類較多,本文選取百度輸入法、QQ拼音輸入法、手心輸入法、搜狗輸入法、小狼毫輸入法、華宇拼音輸入法、谷歌拼音輸入法、東方輸入法、新浪拼音輸入法和智能云輸入法這十種輸入法軟件進行用戶詞庫的比較研究,主要分析輸入法的中文和英文詞庫,比較他們的特點和證據價值。

圖1百度輸入法的詞庫管理功能

圖2 QQ拼音輸入法的詞庫管理功能
本文進行分析的操作系統為Windows 7旗艦版操作系統,百度輸入法軟件為5.5.5018.0版本,QQ拼音輸入法軟件為6.3版本,手心輸入法為2.7.0.1694版本,搜狗輸入法軟件為9.0.0.2502版本,小狼毫輸入法軟件為0.14.3版本,華宇拼音輸入法軟件為6.9.1.183版本,谷歌拼音輸入法軟件為2.7.22.120版本,東方輸入法軟件為2.7.5.11212版本,新浪拼音輸入法軟件為0.9.3287.0版本,智能云輸入法軟件為1.4.8.10806版本。在詞庫解析方面,使用了2.6版本的深藍詞庫轉換工具對搜狗輸入法的加密詞庫進行格式轉換。本文所涉及的十種輸入法詞庫的基本結構都包括輸入的文字和拼寫這部分文字時的拼音兩部分,有些輸入法詞庫還包括記錄輸入詞頻的第三部分。下面從各輸入法詞庫對不同類型文本的記錄方面入手,對各輸入法詞庫進行比較。
(1)中文詞組
在進行測試前,先清空所使用輸入法的原有詞庫,然后分別使用不同輸入法按照相同的拼寫方法和打字順序,輸入“北京”、“西安”、“北京市西城區”、“北京大興”和“北京大興國際機場”五個詞組。通過對各輸入法詞庫進行比較發現,東方輸入法、華宇拼音輸入法、新浪拼音輸入法和智能云輸入法的詞庫記錄不完整,均沒有記錄“北京”,“西安”這兩個常見的地名詞語,對“北京大興國際機場”這個組合詞均有記錄;百度輸入法、手心輸入法、搜狗輸入法和谷歌拼音輸入法的詞庫完整記錄了輸入的五個詞組,記錄順序與輸入順序無明顯關聯,其中百度輸入法詞庫的記錄結果如圖3所示;小狼毫輸入法的詞庫在完整記錄輸入中文詞組的基礎上對其進行了分詞處理,記錄結果如圖4所示;QQ拼音輸入法的詞庫除完整記錄輸入的中文詞組外,還出現了一個“北京西安”的記錄結果,其結果如圖5所示。

圖3

圖4

圖5
(2)中文句子、短語
首先清空輸入法的原有詞庫,然后分別使用各輸入法按照相同的拼寫方法和打字順序,輸入“我們這周六一起去北京”、“在北京西站見面”、“參觀天安門”、“然后坐下周”和“四的火車回西安”五個短句。觀察各輸入法詞庫發現,百度輸入法、手心輸入法、華宇拼音輸入法、智能云輸入法、谷歌拼音輸入法、QQ拼音輸入法和東方輸入法的詞庫都完整記錄了這五個短句,記錄順序與輸入順序無關,東方拼音輸入法詞庫的記錄結果如圖6所示;新浪拼音輸入法的詞庫只記錄了一條短句,其記錄結果如圖7所示;小狼毫輸入法與搜狗輸入法在完整記錄短句的基礎上進行了不同程度的分詞處理,搜狗輸入法詞庫的記錄結果如圖8所示。

圖6

圖7

圖8
(3)英文單詞、字母縮寫
首先清空所使用輸入法的原有詞庫,根據輸入法的具體情況,用輸入法分別在中文輸入狀態和英文輸入狀態下,按照相同的輸入方法,輸入“Input Method”、“forensic science”、“TNT”和“gcd”四組英文字符。對各輸入法詞庫進行觀察比較,在中文輸入狀態下,百度輸入法和手心輸入法的中文詞庫完整記錄了輸入的英文字符,圖9為手心輸入法詞庫的記錄結果;QQ拼音輸入法的英文詞庫記錄了輸入的英文字符,其記錄結果如圖10所示;谷歌拼音輸入法、華宇拼音輸入法、東方輸入法、小狼毫輸入法、新浪拼音輸入法、智能云拼音輸入法和搜狗輸入法的中文詞庫沒有對英文字符進行任何記錄。在英文輸入狀態下,沒有輸入法的詞庫對輸入的五組英文進行記錄。

圖9

圖10
(4)中英文混合文本
清空所使用輸入法的原有詞庫,用上述輸入法按照相同的拼寫方法和打字順序,輸入“出售二手iphoneX”、“轉換成 word 文檔”、“TNT 如何制作”和“中文ABC詞語word”這四個中英文混合短句。通過對導出的各輸入法詞庫進行比較發現,在中文輸入狀態下輸入整個短句時,百度輸入法、手心輸入法和QQ拼音輸入法的中文詞庫會完整記錄輸入的中英文混合短句,搜狗輸入法的中文詞庫沒有記錄中英文混合文本,其中QQ拼音輸入法中文詞庫的記錄結果如圖11所示,若在英文部分切換至英文輸入狀態進行輸入,則百度輸入法、手心輸入法、QQ拼音輸入法和搜狗輸入法將只記錄混合文本中的中文部分,此時搜狗輸入法中文詞庫的記錄結果如圖12所示;小狼毫輸入法、華宇拼音輸入法、谷歌拼音輸入法、新浪拼音輸入法、智能云輸入法和東方輸入法的詞庫只記錄了中文內容,沒有記錄英文單詞,圖13為小狼毫輸入法詞庫的記錄結果。

圖11

圖12

圖13
輸入法詞庫之所以能夠提供用戶使用計算機時直接接觸或與用戶自身相關的大量有效信息,主要是通過對記錄在詞庫中的物品名稱、地名、人名、時間日期或其他與案件有關的詞組進行分析獲得的[9]。對輸入法詞庫進行取證,關鍵就是要獲取輸入法詞庫中存儲的有效信息,進而為案件的偵破提供重要線索。
通過上面的實例可以看到,在記錄中文方面,新浪拼音輸入法、華宇拼音輸入法、東方輸入法和智能云輸入法的詞庫所記錄的用戶輸入信息較少,對于單獨出現的中文常見地名、物品名等存在遺漏,會對詞庫的分析產生一定的影響,降低自身的取證價值。百度輸入法、谷歌拼音輸入法、搜狗輸入法、小狼毫輸入法、手心輸入法和QQ拼音輸入法能夠較完整的記錄用戶輸入的中文文本,且具有統計記錄次數的功能,有利于取證人員從中獲取更多的信息。其中QQ拼音輸入法、小狼毫輸入法和搜狗輸入法的詞庫會對一些長句或短語進行分詞處理,然后將分詞結果和原本輸入的信息一并記錄在詞庫中,這會對后續進行的在詞庫中查找高頻詞并進行詞云可視化產生影響,需要根據具體情況選擇相應的詞頻統計算法。
對于英文單詞或字母縮寫,本文所測試的輸入法軟件都存在中文輸入和英文輸入兩種狀態,而輸入法詞庫記錄的內容主要集中在中文輸入狀態下輸入的信息,因此用戶在英文輸入狀態下輸入的英文單詞或字母縮寫并不能被輸入法中文詞庫記錄,同時,用戶的輸入習慣也會對英文的記錄結果產生影響,因此,輸入法詞庫中記錄的英文信息的有效性遠低于中文信息,英文詞庫的證據價值低于中文詞庫。
在獲取輸入法詞庫中有效信息的過程中,通常要對詞庫的內容進行數據清洗、文本分詞并去處停用詞,對不同詞性的詞進行分類和統計,分析具有詞頻統計功能的詞庫時,還可以參考詞庫的統計情況進行高頻詞的篩選,并將結果可視化,幫助取證人員充分利用詞庫記錄的內容,挖掘其中蘊藏的有效信息,因此輸入法詞庫的內容和記錄方式是影響詞庫取證價值的重要因素之一。
綜上所述,在本文選取的十種輸入法中,百度輸入法、谷歌拼音輸入法、搜狗輸入法、小狼毫輸入法、手心輸入法和QQ拼音輸入法詞庫的取證價值高于新浪拼音輸入法、華宇拼音輸入法、東方輸入法和智能云輸入法詞庫的取證價值。其中百度輸入法、谷歌輸入法和手心輸入法的詞庫沒有對所記錄的文本做其他過多的處理,有效減少了影響詞庫分析準確性的干擾因素,而對于搜狗輸入法、小狼毫輸入法和QQ拼音輸入法的詞庫,則需要考慮分詞對詞頻統計和詞庫內容造成的影響,需要根據分詞情況,選擇相應的數據清洗和詞頻統計算法。
對輸入法詞庫進行適當的數據處理與分析,能夠獲取與用戶相關的大量有價值信息。本文圍繞十種常見輸入法的用戶詞庫,通過設計實驗比較不同輸入法詞庫的特點,并分析他們各自的取證價值。結果證明,不同輸入法詞庫的特點和取證價值之間存在差異,在取證工作中必須根據輸入法詞庫的具體類型進行取證分析,才能獲取詞庫中的有用信息。最后,由于移動設備在人們生活中的地位越來越高,同時,輸入法軟件在移動終端平臺上也得到了廣泛使用[8],下一步工作將針對智能手機、平板電腦等移動設備應用平臺上輸入法詞庫的取證進行比較研究,比較各輸入法詞庫的特點并分析他們的取證價值,以便于充分挖掘移動設備輸入法詞庫中存儲的更加豐富的信息。