蔡一郎的部落格

Yilang's Blogger

淺談惡意程式之沙箱測試技術

Published by Yi-Lang Tsai under , , on 上午6:50
許多人問我:「什麼是惡意程式?」,這是個好問題,大多數的人對於「程式」這兩個字其實是很陌生的,畢竟大多數的人並不是就讀跟資訊相關的科系,以直覺來說就是電腦中所安裝的應用軟體,從這個角度來談的話,惡意程式可以等同於惡意軟體,不過其中最大的差別在於,一套在Windows平台中的應用軟體,大多由主程式、動態連結檔、相關的函式庫以及設定檔所組成,讓軟體可以提供使用不同的功能,例如:文書處理軟體、繪圖軟體等等,簡單來說就是一堆的程式所組成的「程式集」,提供使用者需要的功能,如果只是被稱為「程式」的話,則大多指的是只有一個可以在系統上執行的程式,不會有其它附屬的檔案需要配合這個程式來運作,而今天幾乎所有被歸類在「惡意」的程式,都是很簡單而且很輕巧的,可能小到不容易被使用者查察。

人工分析
採用人工分析的方式,是最辛苦的,但卻是可以獲得最多資訊的,不過因為是以人為主的分析,因此分析人員的專業能力就是影響結果的關鍵,而具備可以進行程式分析的專業人力並不容易培養,如果採用人工分析的方式,可以使用IDA Pro之類的工具軟體,將想要分析的程式載入由軟體所建立的執行環境。
Source: Hex-Rays

IDA官方網站:http://www.hex-rays.com/products/ida/index.shtml

沙箱測試
沙箱測試(Sandbox)是一種常用的技術,建置一個可以執行惡意程式的環境,然後透過沙箱觀察程式造成的影響以及相關的行為,這個環境可以受到管理與控制,不會對真實的網路造成影響,分析的過程中,可留下紀錄供研究人員分析使用。
  • 虛擬平台
採用虛擬平台進行程式運作狀態的分析,是目前在沙箱測試中常用的方法,透過分析軟體的模擬,或是直接配合虛擬平台提供分析需要的環境,再將想要分析的程式,放到虛擬或模擬出來的環境中進行分析,再監測程式運作過程所產生的行為,並且產出報告,這些都是可以進行的程序。
GFI CWSandbox
CWSandbox是目前提供惡意程式分析的商業軟體中最多人使用的平台,可以提供惡意程式的自動化分析環境,除非遇到針對CWSandbox有反制措施的惡意程式,否則大多數的情況下,都可以獲得詳細的分析報告。

GFI Software:http://www.hex-rays.com/index.shtml

Cuckoo Sandbox
Cuckoo Sandbox提供惡意程式分析需要的環境,並且會自動的針對程式的運作進行偵測,包括了Windows API的紀錄、檔案系統中的檔案新增或刪除的紀錄、執行中的程序監測、惡意程式分析過程中對於視窗畫面的截圖以及分析報告的產出,產出的結果能夠支援JSON、HTML、MAEC、MongoDB以及HPFeeds,支援的範圍相當的廣泛。

Cuckoo Sandbox:http://www.cuckoosandbox.org/
  • 實體平台
實際將程式放在實體的電腦中執行,以觀察程式在受測系統端對於系統以及網路的影響狀況。
TWMAN (TaiWan Malware Analysis Net)
TWMAN是一套基於Truman所發展的自由軟體,由國網中心持續發展中,國網中心利用自行開發的Clonezilla再生龍還原系統來提昇Truman的運作效率,並透過系統流程的改良,達成全自動化的惡意程式分析平台。當初TWMAN開發的目的,是為了提供資訊安全研究人員一個自動化的惡意程式行為分析平台,至少可以完成系統的靜態分析以及網路通訊的分析為首要目標;能夠檢測與分析惡意程式對於系統與網路做造成的影響,並利用自動化資訊收集的方式,進行系統執行程序、記憶體資訊採集、網路行為與封包側錄...等工作。
目前國網中心仍將會持續發展「台灣惡意程式分析平台」(TWMAN, TaiWan Malware Analysis Net),與國外的資安組織進行技術交流,持續改善其功能,並與大尺度的Honeynet進行整合,未來亦會繼續開發新的惡意程式分析模組,以因應惡意程式的反制機制,期望可以提供更方便的惡意程式分析方式以及多元化的服務資訊來讓資訊人員以及資安研究人員參考,後續將會發展分散式分析的架構,並且導入資料中心的建置環境,讓使用TWMAN的資安研究人員,可以透過授權,取得可以做為分析的樣本並且能夠回饋自己分析的結果,共同參與惡意程式的知識庫的建立。


TWMAN官方網站:http://twman.nchc.org.tw/