一次使用多種鑑識程式 以交叉驗證提高證據公信力

中央警察大學資訊密碼暨建構實驗室(ICCL)

數 位證據的鑑識結果常常因為所使用的工具軟體不同而導致有所差異,而且僅僅依賴一種鑑識軟體所做的鑑定結果,會有人為操作錯誤以及產生誤差的可能性,也容易 被質疑該鑑識軟體的可靠性。因此,本文將以相同的數位證據在Windows-Based鑑識工具以及Unix-Based鑑識工具下的鑑識結果,達到不同 作業系統之間數位鑑識公信力為目的。

傳統犯罪隨著當代資訊科技與網路的發達,而產生許多新興型態的資訊犯罪模式。犯罪者藉由資訊科技與網路將犯罪領域延伸,傳統的偵查技術和方法不足以偵查存留在資訊設備與網路中的線索,再加上網路具有隱匿的特性,已逐漸成為治安的死角。  
  因此,唯有藉助專門的電腦犯罪偵查技術和方法才能有效地進行偵查。現今的資訊犯罪偵查以結合傳統證據和數位證據偵查模式為主要趨勢。  

由於數位證據的鑑識結果會因為所使用的工具軟體不同而有差異。而這其間的差異,往往是嫌疑人及其辯護律師的質疑重點。  

法官也常將鑑識結果,轉交由原鑑識單位以外的第三方做進一步的檢驗,以確定其結果是否正確無誤。這個證據檢驗的往返,不只浪費許多時間,也突顯出數位鑑識結果未經交叉檢驗的缺點。  

為了要得到具有公信力的檢驗報告,就必須了解各項鑑識軟體的功能與特點,比較並確認是否存在支援或互斥的關係。  

如果能在送上法庭之前就先以不同種類的工具,做第二次檢驗,例如對於Windows作業系統的數位鑑識結果,除了第一次檢驗時使用Window- Based的EnCase工具軟體作鑑識之外,再一次使用Window-Based的Forensic Toolkit(FTK)的鑑識軟體做第二次的檢驗。  

而對於使用FTK工具軟體做第一次檢驗的Windows作業系統的數位鑑識結果,再一次使用EnCase工具軟體做第二次的檢驗,以驗證其所得到的結果是否相同。  

那麼,發生人為操作錯誤的機率,應可降到最低,並且,也能大幅提升數位證據的法效性(即「證據能力」)。  

數位鑑識及工具簡介 
數位鑑識所得到的數位證據並不是實體物質,並且其具有三個主要的特性:容易複製與修改、不易證實其來源及完整性、無法直接被人類所感知及理解的內容。  

在數位鑑識的過程,為了使數位證據具有法定效力,根據ACPO國際電腦證據組織(Internation Organizatioin of Computer Evidence)於1999年提出的「The Good Practice Guide for Computer-Based Evidence」電腦證據指導原則,才能讓數位證據在法庭上具有其法定效力。  

數位鑑識程序 
就一般的情況來講,具備證據能力之後,該證據是否能夠有效連結案件,呈現證明事實,形成法官心證,亦即證明力,其關鍵就在於證據和犯罪事件關聯性是否緊密。
 
在部分執法人員如果缺乏數位證據蒐集、檢驗、分析的訓練、知識與技術,不熟悉數位證據處理準則並且沒有遵照程序取得數位證據,證據的取得是否具備證據能力備受質疑,遑論所證犯罪事實是否足以採信。  

數位證據易於複製與修改、不易證實來源與完整性、不易蒐集取得、無法被人類直接感知與理解等特性,取得證據的作為更須小心謹慎,避免脆弱的數位證據因人為不當取證因素,而喪失證據能力及減弱證明力成效。 邏輯性鑑識的程序運作包括以下幾項:  

1. 證據收集:最常見的做法為磁碟備份、復原及密碼破解工具軟體。事實上,證據收集必須在任何資訊能夠存在的角落進行收集工作。不管是網路上或電腦中,根據犯罪手法的不同,得使用不同的工具進行蒐證。  

2. 證據保存:對脆弱的數位證據來說,保存的工作相當重要。因為保存不當會降低 證物日後在法庭上的證據力和證明力。對於採證的過程應詳加記錄,且要在不改變或破壞證物的情況下取得證物。非必要時也不得關閉電腦,因為像記憶體中揮發性 的資料會隨著電源的關閉而流失,重要的證據可能因此而消逝。另外,蒐證時盡可能保持兩人同時參與的原則,防止資料單一竄改的顧慮。  

3. 證據檢驗及分析:必須從收集到的資料中找尋與犯罪相關的證物,包括文字、圖片、影像、聲音及被刪除的檔案。在取得證據之後,將證物做分類、比對及個化,並嘗試與不法行為做連結,以確認嫌犯者的罪行。
 
4. 證據呈現:由於數位證據是抽象的,加上法官等司法人員對電腦鑑識知識並非全然清楚,所以證據的取得必須做完整的解釋說明,且要能邏輯性說明在蒐證的過程中證物沒有遭到改變,以確保證物的證據力。  
數位鑑識工具 
因應不同的網路犯罪(Cyber Crime)型態,一般的作法是對於犯罪現場的電腦系統做出不同的檢驗,利用鑑識工具將電腦主機的系統建立複本,再從複本上進行徹底的檢驗及搜尋動作。  
較常使用的鑑識工具包括EnCase、NTI Forensic Utilities、Access Data's Forensic Toolkit(FTK)、Knoppix STD等,雖然有些工具有圖形化介面,但仍以文字介面居多,使用者最好具有Unix/Unix-like的使用背景。  

以下針對最常使用到的鑑識工具軟體EnCase、FTK(Forensic Tool Kit)和TCT(The Coroner’s Toolkit)做概略介紹。  

Encase
Guidance software公司所生產的EnCase軟體,在電腦鑑識領域享富盛名,此軟體的評價深受全世界肯定,而且擁有一群研究團隊時常公開發表新的鑑識技術,更為此軟體打下一針強心劑。  


此軟體為目前台灣地區警政署、法務部調查局及國安局等相關單位最常使用的電腦鑑識軟體,同時也是國際大多數國家的法庭上最具公信力之電腦鑑識軟體之一。  
Encase主要的特色可歸納如下:以具有法律效益的鑑識方法取得鑑識資料,並為世界各地之法院採證;在不變動證據的前提下進行物證分析;以鑑識的角度取 得資料,不管是被隱藏、刪除或覆蓋的檔案;檢閱功能可幫助非鑑識操作人員很容易地檢視證物;可快速簡單地產出完整的鑑識報告。  

Forensic Toolkit(FTK)
為利用Windows內建在Win32的命令列的工具來協助檢視NTFS分割硬碟中的每一個檔案。這些檢視動作包括檔案最後一次的存取時間,以及顯示被隱藏的檔案等。

 
FTK鑑識工具最大的特色莫過於其資料庫式的資訊架構,當磁碟的副本被匯入時,其針對資料庫的內容進行排序或以字串比對出磁碟副本內的檔案,而不需要掃描整個磁碟的副本資料。 

FTK可以分析、獲取、組織並保存數位證據,透過索引化的概念將所有文字內容建立索引,強大的過濾及搜索功能為其主要特色。但礙於其價格昂貴,且使用前必須有概括性的了解,一般的機構或公司部門較少使用。其主要的工具包括:  

‧ Forensic Toolkit(FTK):數位鑑識分析工具
‧ Password Recovery Toolkit(PRTK):密碼分析、破解與回復工具
‧ Registry Viewer:登錄檔分析及解密工具
‧ FTK Imager:數位證據預覽及獲取映像工具
‧ Wipe Drive:硬碟資訊及資料完全清除工具 


The Coroner’s Toolkit(TCT)
The Coroner’s Toolkit(TCT)是一套由C和Perl語言寫成的鑑識工具集。它可以用來搜尋或分析Unix(Unix-like)系統上的資料,簡單來講,它是一款收集許多工具的組件包,可用於分析Unix環境。  


此組件包中包含Grave-Robber(擷取分析檔案的資料)、Mactime(找尋Mtime/Atime/Ctime工具)、Unrm(找出位置在Unallocated尚未配置空間中的檔案)以及lazarus(分析來源所擷取的資料)。分別說明如下:
 
1. Grave-Robber
Grave-robber是TCT的核心工具,主要用來下達指令以擷取檔案系統中的資料,或是儲存一些需要分析的檔案。在正常的情況下,Grave- Robber會掃描整個系統,並盡可能地擷取所有資料,例如暫時(Temporary)資料(如網路封包狀態)、系統硬體結構(特別是磁碟或磁碟分割)、 檔案系統的重要檔案如Configuration Files、Log Files。  


但是,該工具如果一定要以可取得系統最高權限的身分(root)來執行,它會阻止使用者擷取root權限的檔案,所以為確保所有的證據資料皆能被擷取,最好以root身分執行此工具。  

2. MACtime
這是一個收集Mtime、Atime、Ctime的鑑識工具。Mtime(Modified time)是檔案最後被修改的時間,Atime(Access time)是檔案最後讀取的時間,而Ctime(Changed time)是檔案屬性最後被改變的時間。這些時間很容易被竄改,必須要小心處理,以免造成證據的更動。  


3. Unrm和Lazarus
一般人以為損壞或遺失的檔案無法復原,其實它還在硬碟的某一個地方,只是需要工具把它重新找回來,而這兩個工具,便如同大家常使用的FinalDa-ta 工具般擁有救回原來檔案的能力。Unrm是一個以C語言寫成的工具,它可以找出未配置空間(Unallocated)的資料,挖掘潛在的檔案。例如有 20GB的硬碟空間已經使用12GB,它可以把剩下8GB的未配置資料復原。接著,透過Lazarus從Unrm復原的檔案或所有檔案內找尋需擷取的資 料。Lazarus適用在UFS、EXT2、NTFS、FAT32檔案系統上,其擷取資料之後所呈現的型式會隨著不同檔案系統而有所不同。  


數位鑑識工具與交叉驗證 
鑑識人員可利用現有的鑑識軟體去執行鑑識工作,但是獲得數位證據後並無法馬上成為可用的數位證據,甚至無法稱作具有「證據能力」的數位證據。  

所謂「證據能力」是指可以用來作為證據的資格,法律對一個物件是否可以作為證據通常都會有一定的限制。  

依據刑事訴訟法第154條第2項規定:「犯罪事實應依證據認定之,無證據不得認定犯罪事實。」而其所謂證據則是指刑事訴訟法第155條第2項所規定,具有證據能力且經過合法調查的證據。  

換言之,並非所有的證據都能認定該犯罪事實,要能夠證明犯罪事實的證據,必須先具備有證據能力,如果具有可以作為證據的資格,經過合法的調查程序,使法官 對於該證據的證明力(證據價值有所評斷)信服,最終的心證才具有認定犯罪事實的能力,依據刑事訴訟法第155條第1項規定:「證據之證明力,由法院本於確 信自由判斷,但不得違背經驗法則及論理法則。」  

就像前面所論述的,數位證據的鑑識結果,會因為所使用的工具軟體不同而有差異,僅依賴一種鑑識軟體所做的鑑定結果,有人為操作錯誤及產生誤差的可能,也容易被質疑該鑑識軟體之可靠性,因此該數位證據連證據能力都不足,更遑論以其作為證明犯罪事實的證明能力。  

雖然,對同一份證據副本,使兩種鑑識軟體進行檢驗,會耗費許多的時間與心力。然而,此舉也減低發生人為操作錯誤的機率和風險。  

在鑑識軟體的可靠性及數位證據「證據能力」不足的情況下,透過交叉驗證讓數位證據足以被法院所採信,以完成具證據能力的數位證據是勢在必行。  

至於該證據能證明的程度如何,當然就交由法官的自由心證。因此,將首先取得的數位證據透過整合鑑識,其結果以供日後證據之交叉分析使用,如圖1和圖2所示:  




▲圖1 尚未具「證據能力」的數位證據。



▲圖2 具「證據能力」的數位證據。

統整上述的概念理論,對於證據能力和證明力的區分,可以用圖3的數位證據法效性轉化過程來簡述:  



▲圖3 證據之證據能力和證明力。



▲圖4 交叉驗證。
 
交叉驗證 
本文內所提到的交叉驗證涵義,是指對於數個尚未檢驗的待檢驗檔案,透過選擇的兩個鑑識工具去驗證比對後,將其結果進行比較分析,檢驗是否具有相同的結果? 是否完全無關?抑或是互相排斥?另一種交叉比對資料方法,可以互補證據的不足,或者加強對數位證據之證據能力,如圖4所示。
 
鑑識工具的交叉驗證 
這裡以EnCase、FTK與TCT這三種整合型電腦鑑識工具做探討,討論其功能特色,並做交叉檢驗比較整理,了解Windows-based的圖形化介 面鑑識工具軟體(EnCase與FTK)與Unix-Based的命令列模式鑑識工具軟體(TCT)之間的操作關係,以確保交叉分析的效益和可行性,而其 比較差異如表1所示。  

表1 鑑識軟體識別檔案類型比較表 
在表1中鑑識軟體交叉驗證所分析的檔案標的,以常見到的檔案為主軸,例如Microsoft Office文件軟體的.doc或.docx、各類繪圖所用的應用軟體、pdf檔案、Web檔案格式(如HTML Files)、映像檔(Image)等,讓鑑識人員對常見的犯罪檔案格式進行檢驗,其數位證據的交叉驗證可以一目瞭然,大幅提升數位證據可信度驗證的效率 問題。  

由表1並可得知,大部分常見的檔案類型用EnCase和FTK鑑識軟體幾乎都可以互相交叉驗證比對證據,但TCT鑑識軟體由於是Unix-Based的命令列模式,所以無法直接檢視其內容檔案,但透過另存方式還原檔案檢視其內容後,也可以和其他數位鑑識工具軟體比對分析。  

歸納總結 
數位證據在面對嫌疑人及其辯護律師的質疑下,究竟是否具有證據能力,常是此證據是否可以採用的關鍵,因此法官常將鑑識結果轉交由原鑑識單位以外的第三方做進一步的檢驗,以確定其結果是否正確無誤,以確保其具有證據能力。 

在這證據檢驗的往返之間,不只浪費許多時間,也突顯了數位鑑識結果未經交叉檢驗的缺點。而且,僅依賴一種鑑識軟體所得到的鑑定結果,有人為操作錯誤及產生誤差的可能,也容易被人質疑該鑑識軟體的可靠性。  

而透過鑑識軟體之比較,可得知EnCase、FTK和TCT這三大鑑識軟體各有其優缺點,例如EnCase可支援各種 同系統及環境所使用的鑑識軟體,但是EnCase在搜尋檔案及回復檔案的效率上不如FTK來得快,而FTK只支援Windows環境下的鑑識工作,在 Linux系統環境中只有EnCase及TCT可以完成工作。  

所以,各種不同的鑑識軟體各有其優缺點,鑑識人員可依不同的環境及犯罪現場來適時使用不同的電腦鑑識工具交叉比對數位證據,經由上述所整理的結果,期許能讓電腦鑑識人員節省使用電腦鑑識工具的時間,得以在第一時間掌握重要數位證據的內容,以為鑑識報告的依據。  
就實驗比較表來觀察,對於交叉檢驗所使用的鑑識軟體,可以提出如下的論點分析:Windows作業系統的鑑識,若是使用FTK鑑識軟體做第一次鑑定,再交 由EnCase鑑識軟體來做第二次檢驗,或是使用EnCase鑑識軟體做第一次鑑定,再交由FTK鑑識軟體做第二次檢驗,兩者所得的結果,可以斷定一樣。 因此,Windows作業系統的鑑定,僅需要EnCase或FTK其中一種軟體即可以得到具有公信力的鑑識結果。  

另外,在Unix作業系統的鑑識方面,基於一般企業內部網路多數使用Linux、Solaris、SunOS與FreeBSD等Unix-like的作業 系統,作為Web Server、File Server、Mail Server與FTP Server的伺服器主機,使用TCT鑑識軟體做第一次鑑定,再輔以EnCase可外掛File Viewer的圖形介面與細部說明,以作為補強式的第二次鑑識,將使鑑識結果更具公信力。 

結語 
本篇在了解鑑識工具關聯後,提供了交叉檢驗數位證據的方法,可兼顧鑑識需求以及證據的證據能力,作為提升數位鑑識的可信度與說服力的準則。另外須注意的是,在鑑識工具的交叉檢驗實驗方面,數位鑑識的檢驗結果,會因為所使用的工具軟體不同而有差異。  

為了要得到具有公信力的檢驗報告,必須了解各項鑑識軟體的功能、特點與極限,也須提升數位證據在法庭上的可用性,進而獲得數位證據的「證據能力」。最後,再由法官心證的證明力去研判對犯罪事實的可用程度。

轉自 http://www.netadmin.com.tw/article_content.aspx?sn=1107140002

Facebook Password Extractor

Reveal Facebook Passwords in a Click

Instantly see Facebook passwords free of charge! Facebook Password Extractor reveals Facebook passwords stored in popular Web browsers in just a click. No matter what browser you used and how many Facebook accounts you have, Facebook Password Extractor will show them all.

Features and Benefits

  • Shows Facebook passwords cached or stored in a variety of browsers
  • Reveals stored login and password information instantly in just a click
  • Supports all versions of Microsoft Internet Explorer, including IE7, IE8 and IE9
  • Supports all versions of Mozilla Firefox including Firefox 4
  • Supports all versions of Opera including Opera 11
  • Supports all versions of Google Chrome including Chrome 11
  • Supports all versions of Apple Safari including Safari 5
  • Reveals Facebook logins and passwords for all supported browsers
  • Beats enhanced security model of Internet Explorer 7, 8 and 9

Instant Facebook Password Recovery

Facebook Password Extractor takes no guessing. It works instantly no matter how many browsers you have installed or how many Facebook accounts you use. Just launch Facebook Password Extractor, and it’ll display all Facebook logins and passwords cached or stored in IE, Firefox, Safari, Chrome, and Opera browsers.

How it Works

It’s actually pretty simple. When launched, Facebook Password Extractor automatically detects Web browsers installed in your system and analyzes their password cache and stored auto-login forms. If Facebook was ever accessed from that computer, the chances the correct password can be recovered are pretty high.

Seriously, is it That Simple?

It’s not exactly just as easy. All cached forms and stored passwords are securely encrypted. Latest versions of Internet Explorer put security pretty high, making it difficult to extract cached passwords without possessing special skills. We have the skills required, so Facebook Password Extractor can deal with encryption faster than you can blink an eye.

How Much Does it Cost?

Facebook Password Extractor is absolutely free. Download, launch and enjoy!

Is There a Guarantee?

Yes! If Facebook Password Extractor can’t reveal Facebook passwords stored on your PC, we’ll give an unprecedented level of warranty support with an unconditional, unlimited-time money-back guarantee!

Can I Recover My Twitter (Gmail, Hotmail…) Password?

While Facebook Password Extractor targets Facebook passwords exclusively, you can recover cached Twitter, Digg, Del.icio.us and a wide range of other passwords to popular social networks, email services, Outlook and POP3 accounts with Elcomsoft Internet Password Breaker

轉自 http://elcomsoft.com/fpe.html

Computer Forensic Artifacts: Windows 7 Shellbags

轉自 SANS

As Windows Registry artifacts go, the "Shellbag" keys tend to be some of the more complicated artifacts we have to decipher. But they are worth the effort, giving an excellent means to prove the existence of files and folders along with user knowledge. Shellbags can be used to answer the difficult questions of data enumeration in intrusion cases, identify the contents of long gone removable devices, and show the contents of previously mounted encrypted volumes. Information persists for deleted folders, providing an invaluable reference for items no longer part of the file system.

A Brief Overview

Windows uses the Shellbag keys to store user preferences for GUI folder display within Windows Explorer. Everything from visible columns to display mode (icons, details, list, etc.) to sort order are tracked. If you have ever made changes to a folder and returned to that folder to find your new preferences intact, then you have seen Shellbags in action. In the paper Using shellbag information to reconstruct user activities, the authors write that "Shellbag information is available only for folders that have been opened and closed in Windows Explorer at least once" [1]. In other words, the simple existence of a Shellbag sub-key for a given directory indicates that the specific user account once visited that folder. Thanks to the wonders of Windows Registry last write timestamps, we can also identify when that folder was first visited or last updated (and correlate with the embedded folder MAC times also stored by the key). In some cases, historical file listings are available. Given much of this information can only be found within Shellbag keys, it is little wonder why it has become a fan favorite.


The Shift from Windows XP

The architecture of Shellbag keys within Windows XP is well understood and has been broadly covered [1,2]. However this is not the case with the Windows 7 format. I have recently had good luck using Shellbags within computer intrusion cases to show evidence of file system enumeration by attackers using compromised accounts. These systems have largely been Windows XP or Server 2003 and when I first sat down to review a Windows 7 system I was severely disappointed. Following the trend of many of our favorite Registry keys being updated in Windows 7, the Shellbag keys underwent a major transformation. Gone are the familiar Shell, ShellNoRoam, and StreamMRU categories that respectively denoted network, local, and removable device folders. Data from all of these locations still appears to be collected, but all three artifact categories are now stored within the Shell subkey. The keys themselves are stored as a slightly different binary format making manual deciphering even more painful. I was beating my head against the wall trying to reverse engineer the new format when Rob Lee suggested I do something really smart: leverage an existing tool and work backwards. He introduced me to the Tzworks Shellbag Parser and I was hooked. Besides being the only true Windows 7 Shellbags parser I am aware of, it does a remarkable job of parsing Shellbag structures.


What you need to know

Along with updating the Registry keys, Windows 7 also gave us a completely new user-specific Registry hive named USRCLASS.dat. This hive supports the new User Access Control (UAC) and the mandatory access control integrity levels now baked into the operating system. In oversimplified terms, it is used to record configuration information from user processes that do not have access to write to the standard registry hives. In order to get all Shellbags information, we now need to parse both NTUSER.dat and USRCLASS.dat for each user account. These Registry hives are located in the %user profile% and %user profile%\AppData\Local\Microsoft\Windows folders respectively. The specific Shellbag keys are:



USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\BagMRU

USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags

NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU

NTUSER.DAT\Software\Microsoft\Windows\Shell\Bags



Microsoft documents additional Shellbag keys that may be present on Win7 systems, but after a review of several Win7, Vista, and 2008R2 systems I have been unable to find any evidence of them being used [4]. For reference purposes, the additional keys are (Wow6432Node keys are located on x64 systems):



NTUSER.DAT \Software\Microsoft\Windows\ShellNoRoam\BagMRU

NTUSER.DAT\Software\Microsoft\Windows\ShellNoRoam\Bags

USRCLASS.DAT\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\Bags

USRCLASS.DAT\Wow6432Node\Local Settings\Software



Parsing Shellbag Keys Using TZworks Sbag.exe

Using the TZworks tool to parse Shellbags is trivial. It is a command-line tool with just a few parameters. If you are working on a live system, you can use the "listhives" parameter to have it identify the available user Registry hives.


Livehives Option in Sbag.exe

Once you know the paths of the hives you wish to parse, execute Sbag.exe and redirect the results to a .csv file (results are "|" delimited).



Parsing Shellbag Artifacts with Sbag.exe



Finally, import the files into your favorite spreadsheet and start your analysis.

Shellbag Results

What information should you expect to gather from the Shellbags keys? Each folder will have:
  • Bag Number [Identifies the "Bags" subkey containing user preferences — aka Nodeslot]
  • Registry key last write time [First access of folder or last preference change]
  • Folder name
  • Full path
  • Embedded creation date / time [Stored at the time the BagMRU key was created]
  • Embedded modify date / time [Stored at the time the BagMRU key was created]
  • Embedded access date / time [Stored at the time the BagMRU key was created]
My initial testing of TZworks Sbag.exe has found it to be highly reliable. In comparison to my previous go-to tool, Windows Registry Analyzer (which only accurately parses XP Shellbags), it does a more complete job, particularly with regard to timestamps. It works with both XP and Windows 7 artifacts, can parse both live and exported Registry hives, and the output is extremely easy to work with. Versions for Windows, Linux, and Mac OS X are available. If you haven't incorporated Shellbag review into your examinations, now is the time! Also, keep in mind that XP and Windows 7 Shellbag analysis is now included in the SANS 508 Advanced Forensics class.


[1] Zhu, Gladyshev, James (2009). Using shellbag information to reconstruct user activities, Digital Investigation, 6, S69-S77


[3] Tzworks Sbag.exe




Live Memory Forensic Analysis

轉自 SANS

As memory forensics has become better understood and more widely accomplished, tools have proliferated. More importantly, the capabilities of the tools have greatly improved. Traditionally, memory analysis has been the sole domain of Windows internals experts, but recent tools now make analysis feasible for the rank and file forensic examiner. Better interfaces, documentation, and built-in detection heuristics have greatly leveled the playing field. We are also seeing novel ways to attack the problem. One of the more interesting developments I have been following lately is the advent of live memory analysis.

I credit the free Mandiant Memoryze tool with popularizing the idea of performing live memory analysis, and I believe it is a revolutionary change. The idea itself could be as controversial as creating a memory image was just a few years ago. Do you remember the naysayers questioning how our forensic analysis could possibly be valid if we were to run our imaging applications on the live system? Shouldn't we still be pulling the plug? What would they say if we now told them we were going to play "Find the Hacker" on that same live system? Luckily it turns out that the system impact of doing a live analysis versus (or in addition to) taking a memory image is minimal. And the benefits are great:
  • Inclusion of the system pagefile, providing a more complete picture of memory
  • Digital signature checks of process and driver executables
  • More accurate heuristics matching
  • Faster triage capability
Keep in mind that live analysis occurs by accessing physical memory, and not relying upon API calls, open handles, or debuggers. Thus it is just as effective at defeating advanced malware and rootkits as analyzing a standard memory image. Convinced yet? If so, here is how to perform a live memory analysis with the new free tool, Redline:


Introducing Redline
For previous users of Memoryze, Redline is essentially a shiny new front end to replace the Audit Viewer GUI. It was designed to make memory forensics approachable to a larger audience and improves upon many of Audit Viewer's most popular options, like DLL injection detection and the Malware Rating Index (MRI). Redline uses Memoryze in the background to "audit" memory -- essentially turning all that seemingly chaotic and unstructured data into the processes, drivers, and memory sections understood by the operating system. Redline can create these audits from an existing memory image or it can kick off a live analysis on the current system (see Figure 1). While the latter feature can be useful, it does require installation of the Redline and .NET binaries, which may not be feasible or desired.

Figure 1: Analyze this Computer
Figure 1: Analyze this Computer

Performing Live Memory Analysis via USB
To accomplish live memory analysis, our tool has to be more sophisticated than one used for standard memory acquisition. A full memory audit must be conducted to identify all of those processes, drivers, and other artifacts we leverage during memory forensics. Redline includes a default configuration script for just this purpose. For the smallest footprint possible on the target system, consider running the audit from a USB device. This can be done without any installation on the target system and the results can be saved to any location. Once the live analysis is complete, the results can be reviewed on your forensic workstation at your leisure. The process is simple:
1. Install Redline on your workstation (download here)
2. Copy the resulting "Mandiant Redline" folder to your USB device (Default installation path: C:\Program Files\Mandiant\Mandiant Redline)
3. Attach USB device to target system and open a command prompt with Administrator permissions
4. Navigate to the proper folder:
\Mandiant\Redline\Memoryze\x86\ for 32 bit operating systems
\Mandiant\Redline\Memoryze\x64\ for 64 bit operating systems

5. Run the following command (assuming USB device mounted on G:\):
memoryze.exe -o G:\results -f -script "G:\Mandiant Redline\Configuration\DefaultMemoryzeAudit.xml" -encoding none

Key:
-o Location to save results
-f Force creation of output folder
-script Identifies which memory audits to run
-encoding Allows alternate output formats such as gzip and AFF

6. Move results to forensic workstation and start a new Redline analysis session using the "From a Memoryze Output Directory" option (Figure 2)
 

Figure 2: Analyze Memoryze Output Directory
Figure 2: Analyze Memoryze Output Directory

Other Information
  • You will notice that the resulting output of the audit will be significantly smaller than a full memory image. This is due to it being the minimal set of information necessary to populate Redline's analysis features. For this reason, it is often a good idea to follow your live audit with a full memory capture if time permits.
  • If USB is not an option in your environment, the same process can be conducted using other media, such as a CD-R. In this situation, output could be redirected to a network share or equivalent.
  • Check the Memoryze page for the full list of operating systems supported.
  • Questions, comments, or feature requests? The Redline forums can be found here.
  • Special thanks to Ted Wilson at Mandiant and the Redline / Memoryze development teams! 

Cloud Export

Cloud Export is a tool to automatically extract your data from web applications and save it to your local file system for backup purposes, but more extensive than Google Takeout. Plans are based on http://www.dataliberation.org.

Supported Cloud Applications

  • Google: Gmail
  • Google: Contacts
  • Google: Picasa
  • Google: Reader
  • Google: Finance
  • Google: Blogger
  • Google: Health
  • Google: Talk
  • Google: Docs
  • Twitter: RSS
  • Identi.ca/StatusNet: RSS
  • RSS
  • IMAP
  • Jabber/XMPP Rosters
  • Financial Institutions (OFX)
  • Request New Application

Documentation


轉自 http://www.nabber.org/projects/cloudexport/

MoonSols DumpIt goes mainstream !

After talking with few people who expressed their limitations with current Windows memory dumpers, I decided to release MoonSols DumpIt publicly.

MoonSols DumpIt is a fusion of win32dd and win64dd in one executable, no options is asked to the end-user. Only a double click on the executable is enough to generate a copy of the physical memory in the current directory. DumpIt is the perfect utility to be deploy on a USB key for quick incident response operations. Fast, small and portable.

Download MoonSols DumpIt


轉自 http://www.moonsols.com/2011/07/18/moonsols-dumpit-goes-mainstream/

Free Opener幫你開啟75種常見檔案格式!

你有沒有過遇過打不開檔案的窘境?在緊要關頭臨時要開個檔案來看,身邊卻沒有能打開這種格式的電腦?沒關係,今天阿正老師介紹這套免費又強大的開檔 工具—Free Opener,容量只有20MB,但卻可以幫你打開75種以上常見的檔案格式,像是影音檔(如MOV,MKV,MP4,FLV)、照片(如 JPG,PNG,TIFF)、文件(如PDF,DOC/DOCX,XLS/XLSX,PPT/PPTX,PAGES)、壓縮檔(如 ZIP,7z,RAR)、程式碼(如VB,C,ASP,PHP,JAVA)、PhotoShop(PSD)……等,一次解決打不開檔案的困境,快來試試看 吧!

如果出門在外臨時要開個檔案,手邊卻沒有可以開啟這種格式的電腦,相信很多人一定會不知所措,但是你只要記住「Free Opener」這個關鍵字,就可以在可上網的電腦輕鬆下載這套免費又不大的軟體,幫你解決開不了檔案的窘境。
FreeOpener支援了超過75種常見檔案格式,舉凡文件檔、影音檔、圖形檔、程式碼…都難不倒它,加上使用非常簡單,只要按個〔Open〕就可以開檔使用了,任何人都能輕鬆上手喔!
image

Free Opener

使用方式

1.下載安裝後,執行的畫面如下。按下【File】→【Open】就可以開啟檔案了。
image
2.在開啟檔案的視窗,可以選擇要開啟的檔案格式,可看到支援的格式相當可觀。
image
3.下面便抓幾張實際開檔的畫面:
PDF檔:支援書籤功能,上方工具列可翻頁、跳頁,還可預覽列印及列印。
SNAGHTML3de0fc
壓縮檔:支援解壓縮功能,不過按鈕上面的字不見了,左邊的按鈕是選擇要解壓縮的目的資料夾,右邊的按鈕是開始解壓縮。
SNAGHTML3d9119
影像檔當然也沒問題,而且還支援了15種RAW格式。
SNAGHTML270972
Free Opener可以支援多種Office文件格式,例如doc,docx,xls,xlsx,ppt,pptx,pps…等,還支援了列印文件的功能。
SNAGHTML276e1e
預覽列印可選擇在同一個畫面中顯示1~6頁,並可切換頁數及縮放(10%~500%)。
SNAGHTML5ca7a5
多媒體檔案當然也難不倒Free Opener,常見的mov,mp4,mpg,flv,mkv,3gp,flac,swf…等格式都沒問題,只可惜不支援rmvb。
SNAGHTML4c3dbc

如果你覺得Free Opener功能不夠強,或是還有你開不了的檔案,那麼你也可以試試看另一套萬用的開檔軟體—Universal Viewer,功能與Free Opener相似,不過檔案較小,且多了免安裝版及多國語系(含中文)。Universal Viewer本身支援的檔案格式不像Free Opener那麼齊全,不過可以透過安裝套件的方式來擴充,雖然較有彈性,不過使用的步驟會比Free Opener要麻煩些。

Universal Viewer 5.5.4.2




轉自 http://blog.soft.idv.tw/?p=979

SIM Forensics - Part 1

A smart card, also known as an Integrated Circuit Card (ICC), is a micro-controller based access module. It is a physical/logical entity and can be either a Subscriber Identity Module (SIM) or a Universal Integrated Circuit Card (UICC). Originally, the ICC defined for 2G networks was the SIM. In 3G networks, the SIM may also be a logical entity (application) on a 3G UICC thereby making it functionally the same as a 2G SIM. The Universal Subscriber Identity Module (USIM) is a logical application running on a UICC smart card, which normally only accepts 3G Universal Mobile Telecommunications Service (UMTS) commands. A USIM can have multiple phone numbers assigned to it, thus allowing one phone to have multiple numbers. If the USIM and SIM applications reside on the same UICC, they cannot be active at the same time.


SIM Technology and Functionality
SIMs are found in GSM, iDEN, and Blackberry handsets and are also used by satellite phone networks such as Iridium, Thuraya, and Inmarsat. Under the GSM framework, a cell phone is termed a Mobile Station, consisting of a SIM card and a handset (Mobile Equipment–ME). One very important and functional feature of a SIM card is that it can be moved from one GSM compatible phone to another, thereby transferring all of the subscriber’s information.

The first SIM cards were about the size of a credit card. As cell phones began to shrink in size, the mini-SIM (about one-third the size of a credit card) was developed. Today an even smaller version, the micro-SIM, is available. Each of these three iterations varies in physical size and the functionality supported. Normally, a SIM card provides functionality for both the identification and authentication of the subscriber’s phone to its network; contains storage for phone numbers, SMS, and other information; and allows for the creation of applications on the card itself. The basic functions are illustrated in Figure 1.

What is a SIM card?

SIM Structure
SIMs contain both a processor (CPU) and an operating system which is either native (proprietary, vendor specific) or Java Card (a subset of the Java programming language). SIMs also have Electrically Erasable Programmable Read Only Memory (EEPROM), Random Access Memory (RAM) for controlling program execution, and persistent Read Only Memory (ROM) which stores user authentication, data encryption algorithms, the operating system, and other applications. Communication between the SIM card and the handset is via a serial interface.

A SIM card also contains a hierarchical file system which resides in EEPROM. The file structure consists of a Master File (MF), which is the root of the file system, Dedicated Files (DFs), and Elementary Files (EFs). Dedicated Files are subordinate directories under the MF, their contents and functions being defined by the GSM11.11 standards. Three are usually present: DF (DCS1800), DF (GSM), and DF (Telecom). Also present under the MF is EF (ICCID). Subordinate to each of the DFs are supporting EFs which contain the actual data. The EFs under DF (DCS1800) and DF (GSM) contain network related information and the EFs under DF (Telecom) contain the service related information. A typical SIM card file system is shown in Figure 2.

While all the files have headers, only the EFs contain data. The first byte of the header identifies the file type. Headers contain the security and meta-information related to the structure and attributes of the file, such as length of record. The body of the EFs contains information related to the application(s). Files can be either administrative or application specific and access to stored data is controlled by the operating system.

SIM Card Security

SIM SECURITY
SIM cards have built in security features that are designed to make them tamper resistant, thereby ensuring data security. A SIM card’s MF, DFs, and EFs all contain security attributes. One security attribute, the access conditions, are constraints upon the execution of commands. They filter every execution attempt, thus ensuring that only those with the proper authorization can access the requested functionality controlled by the DFs or EFs. Access conditions can be thought of as somewhat analogous to the user rights associated with the file/directory attributes found in computer operating systems. There are different levels of access conditions associated with DF and EF files:
  • Always (ALW): file access is allowed without restrictions and the command is executable upon the file.
  • Card Holder Verification 1 (CHV1): file access is allowed with the valid verification of the users PIN1 (or PIN1 verification is disabled) and the command is executable upon the file.
  • Card Holder Verification 2 (CHV2): file access is allowed with a valid verification of the user’s PIN2 (or PIN2 verification is disabled) and the command is executable upon the file.
  • Administrative (ADM): the administrative authority (i.e. the card issuer who provides the SIM card to subscribers), is responsible for the allocation of these levels.
  • Never (NEV): file access is prohibited and the command is never executable upon the file.

Data of Forensic Value
Depending upon the phone’s technology and access scheme, the same data, such as a contact list, may be stored on the SIM, in the handset, or on the phone’s memory card. SIM cards themselves contain a repository of data and information, some of which is listed below:
  • Integrated Circuit Card Identifier (ICCID)
  • International Mobile Subscriber Identity (IMSI)
  • Service Provider Name (SPN)
  • Mobile Country Code (MCC)
  • Mobile Network Code (MNC)
  • Mobile Subscriber Identification Number (MSIN)
  • Mobile Station International Subscriber Directory Number (MSISDN)
  • Abbreviated Dialing Numbers (ADN)
  • Last Dialed Numbers (LDN)
  • Short Message Service (SMS)
  • Language Preference (LP)
  • Card Holder Verification (CHV1) and (CHV2)
  • Ciphering Key (Kc)
  • Ciphering Key Sequence Number
  • Emergency Call Code
  • Fixed Dialing Numbers (FDN)
  • Local Area Identity (LAI)
  • Own Dialing Number
  • Temporary Mobile Subscriber Identity (TMSI)
  • Routing Area Identifier (RIA) network code
  • Service Dialing Numbers (SDNs)
A discussion of some of this data and what it means will continue in the next column.


轉自 http://www.forensicmag.com/article/sim-forensics-part-1?page=0,2

McAfee Stinger 免費病毒掃描工具,適合放隨身碟帶著走

McAfee Stinger 是由知名的安全防護廠商 McAfee 所推出的病毒掃描工具,不同於一般的防毒軟體,這個工具僅有約 6 MB 的大小,本身不具備即時防護功能,但很適合放在隨身碟裡需要時使用它來掃描系統是否安全。McAfee Stinger 除了可以檢測 List Viruses 內列出的病毒清單,也有將這些惡意程式移除的功能,使用者只需要定時回去 Stinger 網頁就可以下載到最新的版本。

軟體名稱:McAfee Stinger
軟體性質:惡意程式掃描工具
軟體語系:英文
作業系統:Windows
官方網站http://www.mcafee.com/us/downloads/free-tools/stinger.aspx
官方載點
http://www.mcafee.com/us/downloads/free-tools/stinger.aspx

進入 Stinger 的下載頁面,點擊 Download this tool now 鏈結,接著會看到使用規範,將畫面拉到最下面點擊 Download Now 就可以取得 McAfee Stinger 。
執行之後選擇要掃描的路徑或資料夾,按下 Scan Now 就可以開始掃描囉!

McAfee Stinger 免費病毒掃描工具,適合放隨身碟帶著走 

Stinger 預設會掃描進程和註冊表,如果有需要掃描啟動磁區的話可以在 Preferences 裡調整設定,當發現病毒時,Stinger 會嘗試將受感染的程式回復到安全狀態。

轉自 http://www.freegroup.org/2011/07/mcafee-free-tools-stinger/

Oxygen Forensics Suite - 連接Android設備

利用Oxygen Forensics Suite 2011 連接Android設備可採用如下方法:

所需的硬件和軟件:
USB連接線
在計算機中安裝好Oxygen Forensics Suite 2011 軟件
相應品牌手機的驅動程序
可與手機相匹配的閃存卡(用於提取數據時保存臨時數據)

OxyAgent使用注意事項
OxyAgent程序必須安裝至Android設備中以便提取數據。OxygenForensics Suite 2011將自動安裝並卸載OxyAgent程序。
OxyAgent程序是一個客戶端程序,用於可以最大程度提取Android設備中的有效數據。它不會改變手機設備中的任何個人信息。

從何處下載驅動程序:
在 連接Android設備之前,您必須在計算機中安裝Android設備驅動程序。可以下載並使用原廠驅動程序,也可以使用Oxygen Forensics Suite提供的驅動程序。下載地址:www.forensicsuite.com/download/drivers/android- drivers.rar
解壓縮後驅動程序包含兩個部分:
Manufacturer目錄下包含Motorola 和HTC的官方驅動
General目錄下包含一些其他Android設備的驅動。
當連接手機出現問題,或所需手機型號不在列表中時,建議使用General目錄下的驅動程序。

如何安裝驅動程序:
安裝General 目錄下的通用驅動程序時:
連接手機數據線和計算機,出現發現新硬件嚮導,選擇從指定位置安裝,「選擇驅動程序安裝盤「,手動選擇驅動程序安裝目錄
選擇包含Android_winusb.inf文件的目錄。選擇出現的」Android Composite ADB Interface「
安裝Manufacturer目錄下的驅動:
運行Motorola_Consumer_Driver_Installation_MotoConnect.Msi文件安裝Motorola Android設備,
或參照前述方法安裝HTC Android設備。

手機設備中需進行的設置:
安裝好驅動後,在運行Oxygen Forensics Suite 2011軟件之前,需進行以下步驟:
選擇」USB Debugging「模式:在手機中」Setting/Applications/Development「 菜單中選擇」USB Debugging「。此模式在連接中啟用手機設備ADB服務器。

選擇之後,注意選擇USB連接方式。大多數Android手機都應該選擇NONE。不要選擇其他模式,否則手機將無法被軟件識別。

此時確認手機中已經插入了一個閃存卡,閃存卡中至少需要1MB的空餘空間。閃存卡用於OxyAgent保存臨時數據。數據提取結束後這些臨時數據將自動刪除。閃存卡中保存的原有數據不會被改變。為了安全起見,請在提取過程中使用自備的空白閃存卡。

如何連接Oxygen Forensic Suite 2011
如果您嚴格地按照上述方法連接了設備,啟動軟件後選擇」連接新設備「,連接嚮導將運行,選擇」通過數據線「連接手機,
此時Android手機設備將被自動發現,並提示您安裝OxyAgent。

OxyAgent安裝成功後,可出現如下畫面,發現正確的手機型號。

點擊下一步,可以繼續手機數據提取過程。正常獲取結束後,OxyAgent將被自動卸載。
如果提取過程中意外中斷,請從」Settings/Applications「中卸載OxyAgent。

[譯]手機病毒發展簡史:第一部分

作者:Alexander Gostev, Kaspersky Lab
原文:Mobile Malware Evolution: An Overview, Part 1
發表於:2006年9月29日

2006年6月是具有歷史意義的一個月——卡巴斯基實驗室獲得第一個手機病毒樣本已經整整兩年了。最初我們還不知道那個病毒是由病毒編寫組織29A的成員「Vallez」所寫,但現在已經知道了。

第一個樣本打開了潘多拉的魔盒。現在,反病毒廠商已經蒐集到數百個手機上的木馬和蠕蟲。Symbian系統的惡意程序最早出現在2004年。這一涓涓細流已經彙集成河,並將成為波濤洶湧的洪流。在今天,我們的反病毒數據庫每週都會新增十多個前綴是「SymbOS」的木馬。
看起來並沒有哪一個手機蠕蟲是主流的。最糟糕的是,這些蠕蟲正在造成越來越多的危害,而其規模尚無法估計。一年前,我們捕獲Cabir(卡波爾) 時,唯一知道的是它在另一個國家或城市被檢測到。被感染手機的主人隨後聯繫了卡巴斯基實驗室,我們與位於莫斯科的卡巴斯基總部的一些員工開始一同分析這些 真實的攻擊。


與普通網民相比,手機用戶的安全意識更低,這應該是蠕蟲能夠迅速傳播的原因。事實上,在相當長一段時間裡,用戶認為不存在手機病毒,或者認為這個事不需要關心。
然而手機病毒並非存在於其他平行宇宙。它們就在這裡、就是現在,在要坐的公交車上,在要去電影院或機場中,你的手機隨時都可能遭到攻擊。

要使用戶像瞭解計算機病毒那樣的瞭解手機病毒,要走的路還很長……

從Cabir開始……

2004年6月14日,西班牙的著名反病毒廠商VirusBuster(他們與一些病毒作者有密切聯繫)向 newvirus@kaspersky.com發了一封郵件,附件是名為caribe.sis的文件。當時我們還不確定到底要做什麼——我們從沒見過這種 東西。快速分析後,瞭解到這是Symbian操作系統的應用程序,也是一個包含了其他文件的安裝包。通常,病毒分析師分析運行在x86處理器下的可執行文 件,而caribe.sis中的文件是ARM程序。ARM是一種廣泛用於手機等設備的處理器。起初我們對其機器語言所知甚少,幾個鐘頭後,我們的分析師對 其有了一定的瞭解,這些文件的意圖也就清晰了:這是一種通過藍牙(Bluetooth)在手機上傳播的蠕蟲。第二天,我們在運行Symbian胸的諾基亞 N-Gage手機上進行測試,證實了這個結論。

該蠕蟲的作者是Vallez。據我們瞭解,他居住在法國,當時是病毒編寫組織29A的成員。這個組織致力於為非常規操作系統和應用程序創造概念驗證 型(PoC,Proof-of-Concept)病毒,以此向反病毒廠商和其他病毒作者證明世界上存在全新的、前所未見的攻擊方式。在2004年6月,他 們希望創建一個智能手機上的惡意程序。作者特意選擇了一種非常規的傳播方法——很多蠕蟲通過電子郵件傳播,Internet連接和電子郵件又是智能手機的 主要特性,看起來Cabir應該選擇相同的傳播方式。但是作者選擇了藍牙,這是很關鍵的一點。

Cabir運行於Symbian之上,後者從當時直到現在都是最主流的手機系統。諾基亞的智能手機都使用Symbian,這奠定了它絕對的領先優 勢。事實上,Symbian+Nokia可謂是目前標準的智能手機組合。Windows Mobile想從Symbian受眾強盜一定的市場份額,還需要相當長一段時間。
Cabie的出現符合計算機病毒發展的規律。一個特定的操作系統或平台被惡意程序選為攻擊對象,通常要要滿足三個條件:
  1. 該平台必須流行。Symbian一直是最流行的智能手機平台,全世界有數千萬的用戶。Cabir的作者稱:「Symbian將會成為非常普遍的手機操作系統。今天已經很普遍了,但我認為將來還會更普遍(當然微軟也在為進入這一市場而努力)。」
  2. 必須有文檔完善的應用程序開發工具。Cabir的作者稱:「Caribe用C++編寫,諾基亞提供了開發Symbian操作系統應用程序的完整SDK。」
  3. 存在漏洞或編碼錯誤。Symbian系統在處理文件和服務的設計上存在一些缺陷。Cabir沒有利用這些缺陷,但目前大部分木馬都利用了。
Cabir不僅引起反病毒廠商的關注,還迅速引發了其他病毒作者的興趣。人們迫切期待29A的下一期網絡雜誌。根據慣例,該組織會在下一期公佈蠕蟲 的源代碼。很顯然,公佈源代碼將導致一系列更具危害性的新變種出現,就像腳本小子(script kiddies)獲得一些技術後那樣。然而,就算沒有源代碼,一些計算機罪犯也可能由此具備了大規模攻擊的能力。

現有手機病毒的種類和家族

2004年秋天,手機病毒開始向三個方向發展。其一是獲取經濟利益的木馬。第一個手機木馬是Mosquit.a。它看起來是無害的手機遊戲,但在某 些時刻會向地址簿中的電話號碼發送大量短信,導致用戶話費劇增。Mosquit.a不僅是第一個手機木馬,還是第一個手機廣告件(adware)。

Skuller.a木馬出現於2004年11月,其家族是目前手機木馬中規模最大的。它第一次利用了Symbian的設計缺陷,通過這些缺陷,任何 程序都可以用自己的文件覆蓋系統文件,而不會向用戶發出提示。Skuller將應用軟件的圖標替換為骷髏頭和腿骨,並刪除它們的文件。這樣,只要手機重 啟,就會停止工作。病毒作者們很喜歡這種野蠻的破壞性木馬(vandal Trojan)。


Skuller.a
Cabir的三種新變種與Skuller.a同時出現。這些新變種並沒有基於最初版本的源碼。此時,病毒作者們已經獲取到Cabir,其中一些人做 了腳本小子的勾當:他們將文件重命名,並將其中的文本替換為自己的。有一個變種在原始安裝文件中加入了Skuller,這種雜交產物並沒有真正發揮作用: 木馬已經損毀了手機,蠕蟲就沒法再傳播了。無論如何,這是Cabir第一次被用來攜帶其他的惡意程序。

2005年開始,手機病毒的種類進一步發展,並在接下來十八個月被病毒作者們採用:
  • 通過智能手機的協議和服務來傳播的蠕蟲
  • 利用Symbian設計缺陷將自身安裝到系統中的破壞性木馬
  • 為了獲取經濟利益的木馬
從行為上看雖然種類不多,但實際上手機病毒已經演化出大量不同的形式。卡巴斯基實驗室目前已經捕獲到31個不同的家族。下表是它們的主要特徵:
根據卡巴斯基分類法的手機病毒完整列表(截至2006年8月30日)
名稱 日期 操作系統 功能 使用技術 變種數
Worm.SymbOS.Cabir 2004.6 Symbian 通過藍牙傳播 藍牙 15
Virus.WinCE.Duts 2004.7 Windows CE 感染文件 (文件API) 1
Backdoor.WinCE.Brador 2004.8 Windows CE 提供遠程網絡訪問 (網絡API) 2
Trojan.SymbOS.Mosquit 2004.8 Symbian 發送短信 短信 1
Trojan.SymbOS.Skuller 2004.9 Symbian 替換文件、圖標、系統程序 操作系統漏洞 31
Worm.SymbOS.Lasco 2005.1 Symbian 通過藍牙傳播,感染文件 藍牙、文件API 1
Trojan.SymbOS.Locknut 2005.2 Symbian 安裝惡意程序 操作系統漏洞 2
Trojan.SymbOS.Dampig 2005.3 Symbian 替換系統程序 操作系統漏洞 1
Worm.SymbOS.ComWar 2005.3 Symbian 通過藍牙和彩信傳播,感染文件 藍牙、彩信、文件API 7
Trojan.SymbOS.Drever 2005.3 Symbian 替換反病毒程序加載器 操作系統漏洞 4
Trojan.SymbOS.Fontal 2005.4 Symbian 替換字體文件 操作系統漏洞 8
Trojan.SymbOS.Hobble 2005.4 Symbian 替換系統程序 操作系統漏洞 1
Trojan.SymbOS.Appdisabler 2005.5 Symbian 替換系統程序 操作系統漏洞 6
Trojan.SymbOS.Doombot 2005.5 Symbian 替換系統程序 操作系統漏洞 17
Trojan.SymbOS.Blankfont 2005.7 Symbian 替換字體文件 操作系統漏洞 1
Trojan.SymbOS.Skudoo 2005.8 Symbian 安裝損壞程序、安裝Cabir、Skuller、Doombor 操作系統漏洞 3
Trojan.SymbOS.Singlejump 2005.8 Symbian 禁用系統功能、替換圖標 操作系統漏洞 5
Trojan.SymbOS.Bootton 2005.8 Symbian 安裝損壞程序、安裝Cabir 操作系統漏洞 2
Trojan.SymbOS.Cardtrap 2005.9 Symbian 刪除反病毒程序、替換系統程序、在存儲卡中安裝Win32惡意代碼 操作系統漏洞 26
Trojan.SymbOS.Cardblock 2005.10 Symbian 阻塞存儲卡、刪除文件夾 操作系統漏洞、文件API 1
Trojan.SymbOS.Pbstealer 2005.11 Symbian 竊取數據 藍牙、文件API 5
Trojan-Dropper.SymbOS.Agent 2005.12 Symbian 安裝其他惡意程序 操作系統漏洞 3
Trojan-SMS.J2ME.RedBrowser 2006.2 J2ME 發送短信 Java、短信 2
Worm.MSIL.Cxover 2006.3 Windows Mobile/ .NET 刪除文件、將自身拷貝至其他設備 文件API、網絡API 1
Worm.SymbOS.StealWar 2006.3 Symbian 竊取數據、通過藍牙和彩信傳播 藍牙、彩信、文件API 5
Email-Worm.MSIL.Letum 2006.3 Windows Mobile/ .NET 通過電子郵件傳播 電子郵件、文件API 3
Trojan-Spy.SymbOS.Flexispy 2006.4 Symbian 竊取數據 2
Trojan.SymbOS.Rommwar 2006.4 Symbian 替換系統程序 操作系統漏洞 4
Trojan.SymbOS.Arifat 2006.4 Symbian 1
Trojan.SymbOS.Romride 2006.6 Symbian 替換系統程序 操作系統漏洞 8
Worm.SymbOS.Mobler.a 2006.8 Symbian 刪除反病毒程序、替換系統程序、通過存儲卡傳播 操作系統漏洞 1
共計31個家族、170個變種

已知變種數的增長趨勢

已知家族數的增長趨勢
簡而言之,上表告訴我們「手機病毒能做什麼?」:
  • 通過藍牙、彩信傳播
  • 發送短信
  • 感染文件
  • 導致對智能手機的遠程控制
  • 修改、替換圖標或系統程序
  • 安裝「錯誤的」或不可操作的字體和程序
  • 對反病毒程序鬥爭
  • 安裝其他惡意程序
  • 阻塞(block)存儲卡
  • 竊取數據
必須承認,手機病毒在荷載方面已經和計算機病毒極其相似了。然而,計算機病毒花了二十年的時間演化至此,手機病毒只用了兩年。毫無疑問,手機病毒是惡意代碼中發展最快的一類,並且將來還有無限的進化可能。

基礎性病毒

從所使用的技術來看,手機病毒和PC病毒的主要不同是,雖然手機病毒家族眾多,但只有極少數是真正原創的(truly original)。這種現象與20世紀80年代末期計算機病毒的情況類似。當時,從一些「奠基性的」病毒中衍生出數百種惡意代碼,大多數惡意代碼都基於 三種病毒:Vienna(維也納)、Stoned(石頭)和Jerusalem(耶路撒冷)。在手機病毒中,我認為下列是其他病毒的「祖先」:
  • Cabir
  • Comwar
  • Skuller.gen
Cabir是它自己多個變種的基礎,它們的區別僅僅在於文件名和sis安裝文件中的內容不同。但是在一些看起來沒什麼關聯性的家族中,例如StealWar、Lasco和Pbstealer,Cabir也起到基礎支撐作用。

Lasco

Lasco是第一個這種「新的」家族。除了蠕蟲的特性,這個家族的病毒還感染手機內存中的文件。Lasco的發展正好展現了當病毒源代碼被公開後會 發生什麼。一個自稱手機病毒專家的巴西人Marcos Velasco獲得了Cabir的源碼並開始寫病毒。在2004年的最後一個禮拜,他將自己寫的許多Cabir變種發給了反病毒廠商。它們全被歸為了 Cabir的變種,並且其中一些完全無法運行。作者並不滿意,為了變得出名,他又創造了一個可以感染sis文件的變種。這就是Lasco是如何進入到反病 毒數據庫之中的。
幸運的是,雖然Velasco將他的代碼發佈在了個人主頁上,感染文件這個點子並沒有被其他病毒作者進一步發展。目前還不清楚Cabir是否確實是 Lasco的源頭。儘管Marcos Velasco宣稱他完全獨立地編寫了所有的代碼,但無論是文件的數量,還是這些文件的名字,以及操作原則,Lasco都與Cabir非常相似。可以比較 一下這兩個蠕蟲的主要函數,然後我們就會有自己的結論。
Cabir通過藍牙傳播的函數:
if(WithAddress)
{
        WithAddress = 0;
        Cancel();
        TBTSockAddr btaddr(entry().iAddr);
        TBTDevAddr devAddr;
        devAddr = btaddr.BTAddr();
        TObexBluetoothProtocolInfo obexBTProtoInfo;
        obexBTProtoInfo.iTransport.Copy(_L("RFCOMM"));
        obexBTProtoInfo.iAddr.SetBTAddr(devAddr);
        obexBTProtoInfo.iAddr.SetPort(0x00000009);
        obexClient = CObexClient::NewL(obexBTProtoInfo);
        if(obexClient)
        {
                iState = 1;
                iStatus = KRequestPending;
                Cancel();
                obexClient->Connect(iStatus);
                SetActive();
        }
}
else
{
        iState = 3;
        User::After(1000000);
}
return 0;
Lasco通過藍牙傳播的函數:
if ( FoundCell )
{
        FoundCell = _NOT;
        Cancel();
        TBTSockAddr addr( entry().iAddr );
        TBTDevAddr btAddress;
        btAddress = addr.BTAddr();
        TObexBluetoothProtocolInfo obexProtocolInfo;
        obexProtocolInfo.iTransport.Copy( _L( "RFCOMM" ) );
        obexProtocolInfo.iAddr.SetBTAddr( btAddress );
        obexProtocolInfo.iAddr.SetPort( 9 );
        if ( ( iClient = CObexClient::NewL( obexProtocolInfo ) ) )
        {
                iStatus = KRequestPending;
                BluetoothStatus = _BLUETOOTH_NOT_CONNECTED;
                Cancel();
                iClient->Connect( iStatus );
                SetActive();
        }
}
else
{
        BluetoothStatus = _BLUETOOTH_CONNECTED;
}
}

Pbstealer

Symbian的第一個間諜木馬Pbstealer是Cabir的另一個「後代」。它創建於亞洲,也許是中國,並在一個被黑了的韓國《傳奇》網遊專 題網站中發現。這種分發的方法和惡意的木馬本身,充分表明了出於「善意」的Cabir作者是如何為後來惡意代碼的開發鋪平道路的。
該木馬通過藍牙發送文件的功能來自於Cabir。然而,作者對原始代碼作了一個重要的修改。它搜尋手機的地址簿,並將其中的數據通過藍牙發送給第一 個發現的終端設備。其名字Pbstealer就來自於「Phonebook Stealer(地址簿竊賊)」。 當時,一些網絡罪犯利用藍牙協議中的多個漏洞竊取這類信息,例如BlueSnarf。而這個木馬極大地增加了其成功的可能性。
除此以外,Cabir還順其自然地成為其他多種木馬的載體,在Skuller、Appdisabler、Locknut、Cardtrap以及其他 破壞性木馬中,有超過一半的變種包含了Cabir。它被修改為傳播整個木馬包裹,而不僅僅是傳播自身。這種雜交方式導致這些惡意程序的分類變得極其困難。 我們會在後面進一步討論這個問題。

Comwar

手機病毒開發的第二個里程碑是Comwar,它是第一個通過彩信傳播的蠕蟲。和Cabir 一樣,它也能通過藍牙傳播,但主要還是使用彩信。這使得它具有了極高的潛在威脅。藍牙的操作必須在10到15米的距離內,其他設備只有進入這個範圍才有可 能被感染。而彩信沒有任何邊界限制,它甚至可以立即被發送到其他國家。
最初,Cabir的作者考慮過這個想法,但(從29A的理想主義視角來看)選擇藍牙的原因是很顯然的:
彩信:要通過搜索電話號碼並將蠕蟲放到彩信中發送出去,這種傳播方法是很容易實現的。但是存在兩個問題:
1. 我們不知道發彩信手機是什麼型號的,我們也不知道目標手機是否能接收彩信或者運行這個蠕蟲;
2. 這種做法將消耗手機的話費。
第二個原因表明Cabir的作者並不希望對用戶造成經濟上的損失。與此相反,Comwar的作者對此則沒有任何良心上的不安。
這種通過彩信發送惡意代碼的技術,是它對其他病毒作者最有吸引力的地方,然而,到目前為止,我們也只看到了對原始蠕蟲的常規變化,即由一些初級黑客 改變文件名以及原始文件中的文本,而沒有對Comwar的功能作出任何改變。這是因為Comwar的源代碼並沒有被公開,以及腳本小子不清楚發送感染彩信 的流程。
目前,我們捕獲了這個蠕蟲的7個修改版本。其中四個包含了「作者簽名」:

CommWarrior v1.0b (c) 2005 by e10d0r
CommWarrior is freeware product. You may freely distribute it in it's original unmodified form.
Comwar.b
CommWarrior v1.0 (c) 2005 by e10d0r
CommWarrior is freeware product. You may freely distribute it in it's original unmodified form.
Comwar.c
CommWarrior Outcast: The dark side of Symbian Force.
CommWarrior v2.0-PRO. Copyright (c) 2005 by e10d0r
CommWarrior is freeware product. You may freely distribute it
in it's original unmodified form.
With best regards from Russia.
Comwar.d
沒有包含任何區分性的文本。彩信內容被替換為了西班牙語。
Comwar.e
WarriorLand v1.0A (c) 2006 by Leslie
此外,文本中包含了西班牙語。
Comwar.f
沒有包含任何區分性的文本。彩信內容被替換為了西班牙語。
Comwar.g
CommWarrior Outcast: The Dark Masters of Symbian.
The Dark Side has more power!
CommWarrior v3.0 Copyright (c) 2005-2006 by e10d0r
CommWarrior is freeware product. You may freely distribute it in it's original unmodified form.

除此以外,.g變種是第一個具有文件感染能力的變種。它在手機內存中搜索其他sis文件,並將自身代碼添加過去。因此,在傳統的藍牙和彩信之外,又多了一種傳播方法。
應當指出,到目前為止,Comwar還沒有產生其他家族那麼多數量的變種。前面提到過,這是因為其源代碼還沒有被公開。和Cabir一樣,它被用於 承載其他木馬程序。完全基於Comwar的新家族只有StealWar這一個。後者是一個組合了Cabir、Comwar和Pbstealer木馬的蠕 蟲。這種組合形式具有高度危險性和廣泛傳播的能力。

最終,不可避免地,通過彩信傳播成為了當前手機病毒最常用的傳播手段。將來可能會更加流行,因為Windows Mobile 2003上已經發現了一個嚴重的彩信處理漏洞,它可以導致一個緩衝區溢出和任意代碼執行。Collin Mulliner在2006年8月的DefCon大會上報告了這一漏洞。
在微軟發佈相關補丁之前,這個漏洞的詳細信息不會被披露給公眾。但是,缺少信息並不等於說漏洞的危險性就降低了。如果有人寫了一個不需要用戶交互就自動啟動的蠕蟲,並將其放到手機內存中,就有可能引發全球性的災難。

Comwar的.c變種實現了一種可以認為是rootkit的技術,為手機病毒技術的發展又做出了貢獻。該蠕蟲在進程列表中隱藏自身,在標準的正在 運行程序列表裡也看不到。Comwar將其進程指定為」system」的來實現這一點。雖然使用其他查看正在運行進程的軟件就可以看到它的進程,但這種隱 藏方法此前還沒有在Symbian的其他病毒中出現過。


彩信漏洞示例(Collin Mulliner, Advanced Attacks Against PocketPC Phones)

Skuller

前面提到過,Skuller是變種數最多的手機木馬家族:截至2006年9月1日,我們一共發現了它的31個變種。這並不奇怪,所有這些變種都是 Symbian下最原始的惡意程序。任何會使用工具創建sis文件的人,都可以製造出這種類型的木馬,而其他的工作已經由Symbian的漏洞完成了:通 過這些漏洞,可以覆蓋任何文件,包括系統的文件,而當系統遇到不是所期望的文件時(例如已損壞的文件,或者對特定系統版本而言非標準格式的文件)將變得極 度不穩定。

所有的Skuller變種都基於兩類文件,一類我們稱為Skuller.gen,另一類是Skuller與其他類似功能家族(例如Doombot或Skudoo)相比具有區分性的文件:
  • 一個與要替換文件同名且擴展名是aif的文件,大小是1601字節。這是一個圖標文件,包含了骷髏頭圖標。該文件還包含了一個字符串:「↑Skulls↑Skulls」;
  • 一個與要替換文件同名且擴展名是app的文件,大小是4796字節。這是一個EPOC應用程序,一個「假」文件。

分類的問題

當前手機病毒研究中的一個主要問題是分類,尤其是如何準確標記一個新的樣本,根據行為將其歸入合適的類別裡。主要困難來自於絕大部分新病毒都是混合型的,包含了兩個或多個不同類型惡意代碼的功能。
卡巴斯基實驗室的分類方法具有清晰的結構:
  • 行為:表明了惡意代碼是什麼,做了什麼,例如:Email-Worm、Trojan-Downloader、Trojan-Dropper。
  • 環境:操作系統或者惡意功能所需的特定應用程序,例如:Win32、MSWord、Linux、VBS。
  • 家族名和變種標識(字母)。
在確定家族名和變種號上極少出現問題。有時候選擇家族名反而有些困難,這一點將在後面討論。
有時候識別環境是很困難的。現在大部分手機病毒是Symbian系統的,我們記為SymbOS。但是,用戶越來越想知道某個病毒到底在哪個 Symbian系列上運行:「某個木馬只在Symbian Series 60 SE上運行嗎?還是也能攻擊Series 80設備?」等等。在我們的計算機病毒分類方法中,使用Win16、Win9x、Win32來區分不同版本的Windows。因此,將來也許會要為 Symbian的類別增加一個數字。

判斷Symbian的系列還只是最簡單的問題。當系統是Windows Mobile時,情況就複雜了。
比如說,有的病毒是針對Windows CE 2003編寫的,我們將這種環境命名為WinCE。然而,為Windows Mobile 5.0編寫的病毒在Windows CE下是無法工作的。此外,並不是只有Windows CE和Windows Mobile,還有Windows Pocket PC。Mobile和Pocket PC都使用了Windows CE的一些功能,但它們又都有各自的程序和特色。

因此,在現有的分類方法下,很難為惡意代碼命一個準確的名字以反映其行為。
此外,很多病毒的功能需要WinCE/Windows Mobile下安裝了.NET環境。在這些情況下,我們使用MSIL作為其環境名,這種環境名無法體現出該惡意代碼是為移動設備所寫的。
迷糊了吧?這還只是冰山的一角。手機病毒最複雜的部分還在於選擇其行為。雜交型病毒、跨平台病毒,以及不同反病毒廠商的命名機制,使得這一部分異常地複雜。
看幾個例子,就能體會到了。

假設有一個sis文件(本質上是一個打包的安裝文件),它包含來自Cabir、Comwar、Pbstealer木馬的文件,一些 Skuller.gen的文件,以及一些0字節的空文件(Locknut的標誌)。如果這還不夠,該文件還向手機的存儲卡中安裝一個Win32病毒(就像 Cardtrap木馬那樣)。
基於現有的分類方法,應該稱其為一個Trojan-Dropper。但是,因為安裝了Cabir,它會通過藍牙發送sis文件。這是否意味著它也是 一個蠕蟲呢?如果是,該怎麼稱呼它?Cabir?這肯定不行,我們不應該命名為Cabir並給它一個新的變種號,因為這個sis文件中90%的內容並不屬 於Cabir,將其命名為Cabir只會把用戶搞糊塗。

那命名為Skuller、Locknut或者Cardtrap呢?也沒有哪個單獨的名字是合適的,因為這個新樣本是一個混合體。最終,這個sis文 件很有可能定性為一個Trojan,並使用我們捕獲到的家族中一個已有的名字。這個名字將基於輔助特徵來確定,例如是否由相同的作者編寫等。
如此複雜的情況在計算機病毒中很少出現,但在手機病毒中是常態。有可能隨著破壞性木馬逐漸減少,手機病毒的世界會變得更具有結構性。

我們來看另一個例子。假設有一個蠕蟲運行於Win32環境。當它在PC上啟動後,除了其他行為以外,還在E:\drive下創建一個sis文件。根 據約定,Symbian手機通過這個drive來連接PC。該sis文件包含了一些空文件,用於覆蓋手機的大量系統程序。該sis文件還包含了這個 Win32蠕蟲本身,它會拷貝自身到手機存儲卡之中,並釋放一個autorun.inf文件。一旦被感染手機連接到一台幹淨的計算機,並從PC上訪問其存 儲卡,蠕蟲就可能啟動並感染乾淨的計算機。
這個跨平台病毒的例子可以在兩個操作系統下運行:Symbian和Windows。這樣的蠕蟲是存在的——Mobler。它應該怎麼分類呢?

對跨平台病毒,我們使用多重標識。比如Worm.Multi.Mobler?可惜的是,用戶無法從中看出它會對Symbian手機產生威脅。我們認 為最好的分類方法是將其分為兩個組件:win32文件命名為Worm.Win32.Mobler,而sis文件命名為 Worm.SymbOS.Mobler。

然而,其他反病毒廠商並沒有將sis文件歸為Mobler或者一個蠕蟲。他們將其稱之為Trojan.SymbOS.Cardtrap,因為根據他 們的分類方法,任何向存儲卡安裝Win32惡意程序的病毒都是Cardtrap。但這個病毒並不是安裝一個木馬,它安裝了自身的主要組件,將自身傳播到其 他操作系統中。因此,反病毒廠商嚴格的分類準則就像把方形的桌子腳強行塞到圓洞裡去一樣。最終所有的人都沒有得到好處——無論是用戶還是反病毒廠商自己。

如果我們一開始就假設大量手機病毒的傳播方法和行為會和以前接觸到的有本質上的差異,這就意味著需要建立全新的分類來體現這種特點。比如 說,Cabir(或者其他通過藍牙傳播的蠕蟲)可以被歸為Bluetooth-Worm(Mac OS系統的Inqtana蠕蟲也可以歸入這類)。一個通過彩信傳播的蠕蟲可以歸為MMS-Worm。但如果一個蠕蟲既利用藍牙又利用彩信發送自身呢?這兩 種傳播方法哪種是最重要的?卡巴斯基實驗室認為彩信是更主要的傳播方法,但是其他反病毒廠商可能不這麼認為,他們可能給藍牙更高的優先級。

反病毒產業在不久的將來就會面臨這樣的問題,它必須為手機病毒建立一套統一的分類方法。在形勢更加嚴峻之前,在避免PC病毒分類(以及不同廠商完全 不同的命名)造成的混亂波及到手機病毒的世界之前,這件事應該盡快完成。可惜的是,在創建PC病毒的統一分類方法上的失敗,給未來手機病毒的分類帶來了諸 多陰霾。

(Claud Xiao翻譯。本文的翻譯和發表沒有得到原文版權所有者的許可,請謹慎轉載和使用。)

轉自 http://blog.claudxiao.net/2011/07/mobile_malware_evolution_an_overview_part_1/#more-259