本篇將探討USB裝置的反鑑識行為及其對應的數位鑑識與證據舉證,並透過一個公司機密資料被竊取之情境案例來說明相關數位證據調查,提供遇到反鑑識手法之犯罪行為時,依然能萃取重要的有效數位證據。
USB反鑑識工具
目前程式開發平台Visual Studio 2010或C#.NET具備許多的函式庫,並提供多種的存取方法可直接對Windows 7作業系統進行登錄檔與日誌檔的存取,因此這裡將透過一個由C#撰寫並編譯完成的工具雛形來說明USB反鑑識的功能。
當啟動USB反鑑識程式時,可藉由下拉式選單自動顯示曾經接上作業系統的USB儲存裝置,並顯示裝置的訊息內容,利用各個選項按鈕來執行各種反鑑識功能,如圖12所示。
|
▲圖12 USB反鑑識工具的操作介面。 |
前述的USB反鑑識工具之反鑑識功能介紹如下:
1. 刪除USB儲存裝置的鍵值:由下拉式選單選取欲刪
除的裝置鍵值,按下〔刪除〕按鈕即可做刪除。
2. 新增USB儲存裝置的鍵值:新增一個偽造的USB裝
置鍵值,按下〔新增〕按鈕立即寫入到對應的登錄檔位置。
3. 變更USB儲存裝置訊息內容:按下〔變更內容〕按
鈕即可改變USB儲存裝置的鍵值屬性,使用者可改變DeviceDesc、ClassGUID、Class及ContainerID等欄位資訊。
4. 變更或刪除日誌檔:透過抹除系統記錄的選項來變
更或刪除作業系統的setupapi.dev.log檔。
5. 變更系統所指派的磁碟機編號:透過變更USB儲存
裝置代號的按鈕,可刪除或更改系統曾經指派USB儲存裝置的磁碟機編號。
然而,類似的USB反鑑識工具可能已經被有心人士進行開發,所以透過USB反鑑識工具的特性去了解哪些數位證據會遭受到竄改,並分析反鑑識工具的弱點以提供鑑識人員進行有效的證據萃取方式,盡可能地辨識出電腦是否曾遭受過反鑑識處理,再以適當方式萃取或回復相關數位跡證,確保電腦中的數位證據完整性及可靠性。
USBKill反鑑識軟體
由於USB相關的反鑑識應用日新月異,目前網路上已釋出USBKill反鑑識程式,可藉由偵測USB裝置的連接狀態來緊急關閉電腦。該程式的原始碼係由一名代號「hephaest0s」的開發人員在GitHub網站上所釋出,該程式的特性分述如下:
1. 偵測USB裝置是否接上作業系統:在USB裝置接
上電腦前,先執行USBKill程式;當程式執行後,若有USB裝置接上電腦,就會自動執行關機功能。
2. 偵測USB裝置是否於作業系統中卸除:在USB裝置
接上電腦之後,再執行USBKill程式;當程式執行後,若有USB裝置從電腦中卸除,則程式會自動執行關機功能。
USBKill程式是根據USB裝置的驅動狀態來繫結作業系統關機的功能,所以只要有USB裝置接上或卸除,電腦就會自動啟動關機功能。這套反鑑識程式可能出現的非法用途如下所述:
1. 阻礙鑑識程序的進行:在進行鑑識程序之前,通常
會使用Mouse Jiggler這一類的USB裝置來避免電腦進入休眠或螢幕保護模式,若使用者先行執行USBKill程式,則會導致接上Mouse Jiggler USB裝置時,系統自動執行關機功能,甚至可能因為鑑識人員的疏忽,而在進行USB取證時導致關機。
2. 公眾電腦的犯罪行為:有心人士可能利用網咖或公
共電腦作為犯罪工具,例如連上賭博網站或駭客入侵之行為等,在進行犯罪行為前先插入USB裝置,再執行USBKill程式,當發現辦案人員前來時立即拔除USB裝置,電腦會立刻執行關機程序,因公眾電腦普遍裝有還原卡裝置,導致鑑識程序無法進行。
此外,USBKill反鑑識工具也可用在正面的用途上,可確保電腦機密資料不被洩漏,除傳統的停用或授權USB裝置的防範措施外,可將USBKill安裝在公司研發部的機密資料庫,當公司內部有人企圖用USB隨身碟進行竊取時,可緊急關閉電腦系統,避免資料進行未授權的存取,對於機密資料的防護更多了一層保障。
USB鑑識介紹
在了解Windows登錄檔與日誌檔及反鑑識手法之後,接下來介紹如何進行USB的登錄檔與日誌檔的鑑識,以及遭受到反鑑識行為後的鑑識方法。
USB儲存裝置之鑑識方法
將登錄檔「\USBSTOR」目錄下的USB儲存裝置,以其子鍵值與「\USB」目錄下的USB裝置子鍵值進行比對,可找出相對應的USB裝置訊息,以得知儲存裝置的供應商編號與產品編號,如圖13所示。
|
▲圖13 以子鍵值比對找出供應商編號與產品編號。 |
當USB儲存裝置接上Windows作業系統時,系統會自動指派磁碟機代號,可由「HKEY_LOCAL_MACHINE\System\MountedDevices」目錄內的各個屬性逐一進行比對,若找到具有USB儲存裝置名稱的屬性資訊,則代表該屬性的磁碟機編號為USB儲存裝置系統自動分配的磁碟機編號,如圖14所示。
|
▲圖14 逐一比對找出Windows自動分配的磁碟機代號。 |
鑑識人員可以從日誌檔中取得曾經接到Windows作業系統之所有USB儲存裝置的相關訊息,包含最後接到作業系統的時間,如圖15所示。
|
▲圖15 USB裝置最後連上作業系統的時間。 |