來源:https://zeltser.com/build-malware-analysis-toolkit/
檢查惡意軟件的能力可以讓IT團隊更好地評估安全事件的性質,并可能有助于防止進一步的感染。這里是如何建立一個受控的惡意軟件分析實驗室-免費。
步驟1:為分析實驗室分配物理或虛擬系統
步驟2:將實驗室系統與生產環境隔離
步驟3:安裝行為分析工具
步驟4:安裝代碼分析工具
步驟5:利用在線分析工具
下一個步驟
大量的計算機入侵都涉及某種形式的惡意軟件(malware),它會找到受害者的工作站或服務器。當調查事件時,IT應答者通常會尋求回答這樣的問題:惡意軟件樣本可以在系統上執行什么操作?它是如何傳播的?它如何(如果有的話)與攻擊者保持聯系?這些問題都可以通過在受控環境中分析惡意軟件來回答。
一個簡單的分析工具集(由免費且易于獲得的軟件構建)可以幫助您和您的IT團隊開發應對當前安全事件的關鍵技能。下面的步驟將幫助你開始。我們將專注于Windows環境中的惡意軟件分析,因為該平臺在惡意軟件作者中特別流行。如果你對這個話題感興趣,可以看看我在SANS學院教授的惡意軟件逆向工程課程。
步驟1:為分析實驗室分配物理或虛擬系統
檢查惡意軟件的常見方法包括用惡意軟件樣本感染系統,然后使用適當的監控工具觀察其行為。這需要一個實驗室系統,可以在不影響生產環境的情況下進行感染。
建立這樣一個實驗室系統的最流行和最靈活的方法涉及到虛擬化軟件,它允許您使用一個物理計算機來托管多個虛擬系統,每個虛擬系統運行一個可能不同的操作系統。免費的虛擬化軟件選項包括:
在一臺物理計算機上同時運行多個虛擬系統對于分析那些試圖與其他系統交互的惡意軟件非常有用,這些惡意軟件可能是為了泄露數據、從攻擊者那里獲得指令,或者是為了升級自己。虛擬化使得設置和使用這樣的系統變得很容易,而不需要大量的物理設備。
許多虛擬化工具的另一個有用特性是能夠為實驗室系統拍攝瞬時快照。這樣,您就可以在感染系統之前記錄系統的狀態,并在分析結束時通過單擊按鈕恢復到原始環境。
如果使用虛擬化軟件,請在物理系統中安裝盡可能多的RAM,因為內存的可用性是虛擬化工具最重要的性能因素。此外,擁有一個大的硬盤驅動器將允許您托管許多虛擬機,它們的虛擬文件系統通常作為文件存儲在物理系統的硬盤驅動器上。
因為惡意軟件可能會檢測到它是在虛擬環境中運行的,一些分析人士更喜歡依靠物理機器而不是虛擬機器來實現實驗室系統。您的舊的和未使用的pc機或服務器可以為您的惡意軟件分析實驗室提供優秀的系統,它通常不需要高性能cpu或高度冗余的硬件組件。
為了讓惡意軟件在實驗室中發揮其全部潛力,實驗室系統通常是互相聯網的。這有助于您觀察惡意程序的網絡交互。如果使用物理系統,則可以使用廉價的集線器或交換機將它們彼此連接起來。
步驟2:將實驗室系統與生產環境隔離
您必須采取預防措施將惡意軟件分析實驗室與生產網絡隔離,以減少惡意程序逃脫的風險。您可以使用防火墻將實驗室網絡與生產網絡分開。更好的是,不要連接實驗室和生產網絡,以避免防火墻配置問題,可能允許惡意軟件繞過過濾限制。
如果你的實驗室網絡是高度隔離的,你可以使用可移動媒體把工具和惡意軟件帶進實驗室。考慮使用一次性寫入媒體,如dvd,以防止惡意軟件通過寫入可移動可寫磁盤來逃脫實驗室的限制。一個更方便的選擇是一個包含物理寫保護開關的USB密鑰。
一些惡意軟件分析場景得益于實驗室連接到internet。避免使用生產網絡進行此類連接。如果可能的話,提供一個單獨的,通常便宜的互聯網連接,也許通過專門的DSL或電纜調制解調器線來達到這個目的。避免讓實驗室一直連接到互聯網,以減少惡意軟件在你的實驗室攻擊互聯網上其他人的系統的機會。
如果虛擬化您的實驗室,一定要跟上虛擬化軟件供應商發布的安全補丁。這些軟件可能存在漏洞,可以讓惡意軟件從你感染的虛擬系統中逃到物理主機上。此外,不要將托管虛擬實驗室的物理機器用于任何其他目的。
步驟3:安裝行為分析工具
在你準備用惡意軟件樣本感染你的實驗室系統之前,你需要安裝和激活適當的監控工具。免費的工具,將讓你觀察如何Windows惡意軟件與其環境交互包括:
文件系統和注冊表監視:使用ProcDOT的進程監視提供了一種強大的方法來觀察本地進程如何讀取、寫入或刪除注冊表項和文件。這些工具可以幫助您了解惡意軟件是如何在感染時嵌入系統的。
進程監控:進程資源管理器和進程黑客取代內置的Windows任務管理器,幫助您觀察惡意進程,包括他們可能試圖打開的本地網絡端口。
網絡監控:Wireshark是一種流行的網絡嗅探器,它可以觀察實驗室網絡流量,以發現惡意通信嘗試,如DNS解析請求、bot流量或下載。
變更檢測:Regshot是一個輕量級工具,用于比較感染前后系統的狀態,以突出顯示惡意軟件對文件系統和注冊表所做的關鍵變更。
行為監視工具可以讓您了解惡意軟件的關鍵功能。要了解其特征的更多細節,您可能需要卷起袖子并執行一些代碼分析。
步驟4:安裝代碼分析工具
檢查包含標本的代碼有助于發現可能難以通過行為分析獲得的特征。在惡意可執行文件的情況下,您很少有機會訪問創建它的源代碼。幸運的是,以下免費工具可以幫助您反向編譯Windows可執行文件:
反匯編器和調試器:OllyDbg和IDA Pro免費軟件可以解析已編譯的Windows可執行文件,并充當反匯編器,將它們的代碼顯示為匯編指令。這些工具還具有調試功能,允許您在高度控制的條件下緩慢地執行惡意程序中最有趣的部分,以便更好地理解代碼的目的。
內存轉儲器:“Scylla”和“OllyDumpEx”幫助獲取位于實驗室系統內存中的受保護代碼,并將其轉儲到一個文件中。這種技術在分析打包的可執行文件時特別有用,這些文件很難分解,因為它們對指令進行編碼或加密,只有在運行時才將其解壓縮到RAM中。
第五步:利用在線分析工具
要使您的惡意軟件分析工具包更加完善,請向其中添加一些免費的在線工具,它們可能有助于逆向工程過程。其中一類工具對您提供的可執行文件執行自動化的行為分析。乍一看,這些應用程序類似,但在后端使用不同的技術。考慮提交你的惡意軟件樣本的幾個網站;根據標本的不同,有些地點會比其他地點更有效。這些工具包括:
你可以看到一個免費的自動惡意軟件分析服務列表,可以檢查編譯的Windows可執行文件。
另一組可能有用的在線工具提供有關被懷疑存有惡意代碼的網站的詳細信息。其中一些工具可以實時檢查您指定的站點;還有一些提供歷史信息。考慮向這些網站提交可疑的網址,因為每一個網站都可能提供對有問題的網站略有不同的觀點:
實時威脅評估:WebInspector和Wepawet
歷史信譽數據:URLVoid和MxToolbox
你可以看到一個用于查找潛在惡意網站的免費在線工具列表。
下一個步驟
在組裝好最初的工具包后,開始在實驗室中試驗在web、電子郵件信箱、系統等中遇到的惡意軟件。有幾個“備忘單”可以幫助你在這個過程中,包括:
逆向工程惡意軟件備忘單
分析惡意文檔備忘單
使用您最熟悉的工具和方法開始分析。然后,當你變得更加熟悉惡意軟件樣本的內部工作方式時,冒險離開你的舒適區,嘗試其他工具和技術。我在每個步驟中列出的工具實際上是相同的。既然它們都是免費的,你應該都試一試。根據具體情況,您會發現一種工具比另一種工具工作得更好。通過時間、耐心和練習,你將學會將惡意軟件徹底鏟除。