常用惡意軟件分析方法及工具匯總
惡意軟件是指由網(wǎng)絡(luò)犯罪分子設(shè)計(jì)的惡意程序,可通過創(chuàng)建后門入口來獲得對計(jì)算設(shè)備的訪問權(quán),從而竊取個(gè)人信息、機(jī)密數(shù)據(jù),實(shí)施對計(jì)算機(jī)系統(tǒng)的破壞。為了更好地防護(hù)惡意軟件,避免由惡意軟件造成的危害,必須對惡意軟件進(jìn)行分析,以了解惡意軟件的類型、性質(zhì)和攻擊方法。
惡意軟件分析工作主要包括在隔離環(huán)境下分析木馬、病毒、rootkit、勒索軟件或間諜軟件等惡意軟件家族的樣本,運(yùn)用各種方法,根據(jù)其行為了解攻擊者動(dòng)機(jī)、目的及惡意軟件類型和功能等,并創(chuàng)建規(guī)則來實(shí)施相應(yīng)的緩解措施。當(dāng)我們分析受感染的機(jī)器或文件時(shí),我們的目標(biāo)主要包括:
- 識(shí)別受感染的文件,檢測計(jì)算機(jī)設(shè)備和網(wǎng)絡(luò)系統(tǒng)中可能存在的惡意軟件。
- 了解可疑惡意軟件的功能。
- 全面評(píng)估和管理惡意軟件可能造成的損害。
- 對惡意軟件進(jìn)行指標(biāo)分析,為后續(xù)檢測和防護(hù)產(chǎn)品研發(fā)創(chuàng)建正確的規(guī)則措施。
有效的惡意軟件分析可以幫助安全團(tuán)隊(duì)快速檢測并防止攻擊者實(shí)施破壞活動(dòng)。本文將重點(diǎn)介紹目前常見的惡意軟件分析方法及相關(guān)工具。
靜態(tài)惡意軟件分析
靜態(tài)惡意軟件分析包括提取和檢查不同二進(jìn)制組件和可執(zhí)行文件的靜態(tài)行為,比如API 標(biāo)頭、引用的DLL、便攜式可執(zhí)行(PE)區(qū)域以及更多此類內(nèi)容。任何有悖于正常結(jié)果的偏差都記錄在靜態(tài)調(diào)查中。靜態(tài)分析在不執(zhí)行惡意軟件的情況下完成,而動(dòng)態(tài)分析一般是在受控環(huán)境下執(zhí)行惡意軟件來進(jìn)行。
在靜態(tài)分析中,涉及以下幾個(gè)方面的工作:
- 反匯編——程序可以移植到新的計(jì)算機(jī)平臺(tái)上,通過在不同環(huán)境中編譯源代碼來實(shí)現(xiàn)。
- 文件指紋——用于識(shí)別和跟蹤網(wǎng)絡(luò)上的數(shù)據(jù)。
- 病毒掃描——?jiǎng)h除惡意軟件、病毒、間諜軟件及其他威脅。
- 分析內(nèi)存工件——在分析內(nèi)存工件(比如RAM轉(zhuǎn)儲(chǔ)、pagefile.sys或hiberfile.sys)期間,檢查方可以開始識(shí)別流氓進(jìn)程。
- 打包器檢測——用于檢測打包器、密碼器、編譯器、打包器加擾器、連接器和安裝器。
靜態(tài)分析工具包括:
- Hybrid-analysis——使用獨(dú)特的混合分析技術(shù),檢測和分析未知威脅。
- Virustotal.com——該免費(fèi)服務(wù)可以分析可疑的文件和URL。
- BinText——該文件文本掃描器/提取器可幫助查找深藏在二進(jìn)制文件中的字符串。
- Dependency Walker——該免費(fèi)程序可列出便攜式可執(zhí)行文件的導(dǎo)入和導(dǎo)出模塊。
- IDA——該程序可以將機(jī)器語言轉(zhuǎn)換成匯編語言。
- Md5deep——這套跨平臺(tái)工具可計(jì)算和審核輸入文件的散列(Hash)。
- PEiD——可針對便攜式可執(zhí)行(PE)文件檢測大多數(shù)常見的打包器、加密器和編譯器等。
- Exeinfo PE——該軟件可查看任何可執(zhí)行文件的各種信息。
- RDG Packer——可檢測打包器、加密器和編譯器等。
- D4dot——該工具擅長將打包和混淆的程序集恢復(fù)到幾乎原始的程序集。
- PEview——可快速輕松地查看32位PE文件和組件對象文件格式(COFF)的結(jié)構(gòu)和內(nèi)容。
動(dòng)態(tài)惡意軟件分析
動(dòng)態(tài)惡意軟件分析是分析師發(fā)現(xiàn)惡意軟件功能的首選方法。在動(dòng)態(tài)分析中,分析師將構(gòu)建用作惡意軟件分析的虛擬機(jī)。分析師將通過沙盒來分析惡意軟件,并分析惡意軟件生成的數(shù)據(jù)包數(shù)據(jù)。在動(dòng)態(tài)分析中,隔離環(huán)境以避免惡意軟件逃逸非常重要。
在動(dòng)態(tài)分析中,需要注意以下幾個(gè)問題:
- 檢查單個(gè)路徑(執(zhí)行跟蹤)。
- 分析環(huán)境可能并非隱形的。
- 分析環(huán)境可能并非全面的。
動(dòng)態(tài)分析工具包括:
- Procmon——這款先進(jìn)的監(jiān)控工具可顯示文件系統(tǒng)、注冊表和進(jìn)程/線程的實(shí)時(shí)活動(dòng)。
- Process Explorer——這是一款面向Windows操作系統(tǒng)的系統(tǒng)資源監(jiān)控工具。
- Anubis——該動(dòng)態(tài)惡意軟件分析平臺(tái)可在受控環(huán)境下執(zhí)行提交的二進(jìn)制代碼。
- Comodo Instant Malware Analysis——比較容易使用和理解的在線沙盒服務(wù)。
- Process MonitorRegshot——這款流行的注冊表監(jiān)控工具可顯示文件系統(tǒng)、注冊表和進(jìn)程/線程的實(shí)時(shí)活動(dòng)。
- ApateDNS——該工具通過易于使用的GUI來控制DNS響應(yīng)。
- OllyDbg——一款側(cè)重二進(jìn)制代碼分析的x86調(diào)試器。
- Regshot——這款開源注冊表比較工具可迅速獲取注冊表的快照,并進(jìn)行比對。
- Netcat——該計(jì)算機(jī)網(wǎng)絡(luò)實(shí)用工具使用TCP或UDP協(xié)議在網(wǎng)絡(luò)中讀取數(shù)據(jù)。
- Wireshark——該免費(fèi)開源數(shù)據(jù)包分析器可用于網(wǎng)絡(luò)故障排查、分析、軟件和通信協(xié)議開發(fā)等。
內(nèi)存取證分析
內(nèi)存取證分析含有關(guān)于系統(tǒng)運(yùn)行時(shí)狀態(tài)的信息,并提供將來自傳統(tǒng)取證分析工件(網(wǎng)絡(luò)、文件系統(tǒng)和注冊表)關(guān)聯(lián)起來的功能。
在內(nèi)存分析中,涉及以下幾個(gè)方面的工作:
- 映像全部的系統(tǒng)內(nèi)存(不依賴API調(diào)用)。
- 將進(jìn)程的整個(gè)地址空間映像到磁盤,包括進(jìn)程的已加載DLL、EXE、堆和堆棧。
- 將內(nèi)存中加載的指定驅(qū)動(dòng)程序或所有驅(qū)動(dòng)程序映像到磁盤。
- 加密進(jìn)程地址空間中的EXE和DLL(MD5、SHA1、SHA256)。
- 驗(yàn)證EXE和DLL的數(shù)字簽名(基于磁盤)。
- 針對某個(gè)進(jìn)程,輸出內(nèi)存中的所有字符串。
內(nèi)存取證分析工具包括:
- WinDbg——Windows系統(tǒng)的內(nèi)核調(diào)試器。
- Muninn ——使用Volatility自動(dòng)執(zhí)行部分分析的腳本。
- DAMM ——基于Volatility,針對內(nèi)存中惡意軟件的差異分析。
- FindAES ——查找內(nèi)存中的AES加密密鑰。
- Volatility ——先進(jìn)的內(nèi)存取證框架。
惡意軟件檢測
惡意軟件檢測是指掃描計(jì)算機(jī)和文件以檢測惡意軟件的過程。它不是單向過程,實(shí)際上相當(dāng)復(fù)雜。它結(jié)合多款工具和方法進(jìn)行檢測,檢測和清除過程通常在50秒鐘內(nèi)完成,在惡意軟件檢測方面卓有成效。
以下是常見的幾種檢測方式:
- 基于特征或模式的匹配:特征是識(shí)別特定病毒唯一身份的算法或散列(從文本字符串獲取的數(shù)字)。
- 啟發(fā)式分析或主動(dòng)防御:啟發(fā)式掃描類似特征掃描,只不過啟發(fā)式掃描并非尋找特定的特征,而是在程序中尋找典型應(yīng)用程序中沒有的某些指令或命令。
- 基于規(guī)則:啟發(fā)式引擎中進(jìn)行分析的組件(分析器)從文件中提取某些規(guī)則,并將這些規(guī)則與惡意代碼的一組規(guī)則進(jìn)行比較。
- 行為分析:相比之下,可疑行為分析方法不是試圖識(shí)別已知病毒,而是監(jiān)測所有程序的行為。
- 基于權(quán)重:根據(jù)危險(xiǎn)程度,對所檢測的每個(gè)功能賦予某個(gè)權(quán)重。
- 沙盒:允許文件在受控的虛擬系統(tǒng)(即沙盒)中運(yùn)行,查看其行為。
惡意軟件檢測工具包括:
- YARA——分析員的模式匹配工具。
- Yara規(guī)則生成器——根據(jù)一組惡意軟件樣本生成YARA規(guī)則。
- File Scanning Framework——模塊化遞歸式文件掃描解決方案。
- hash deep——使用多種算法計(jì)算摘要散列。
- Loki——基于主機(jī)的掃描器,掃描攻陷指標(biāo)(IOC)。
- Malfunction——在函數(shù)層面對惡意軟件進(jìn)行登記和比較。
- MASTIFF——靜態(tài)分析框架。
網(wǎng)絡(luò)交互分析
網(wǎng)絡(luò)交互分析在專注于網(wǎng)絡(luò)安全的同時(shí),還監(jiān)控綜合平臺(tái),以執(zhí)行更普通的網(wǎng)絡(luò)流量分析。被動(dòng)網(wǎng)絡(luò)嗅探器/數(shù)據(jù)包捕獲工具可用于檢測操作系統(tǒng)、會(huì)話、主機(jī)名和開放端口等,并不在網(wǎng)絡(luò)上帶來任何流量。可分析以太網(wǎng)、PPP、SLIP、FDDI、令牌環(huán)和空接口上的IPv4/6、TCP、UDP、ICMPv4/6、IGMP和Raw流量,采用與數(shù)據(jù)包嗅探相同的方式理解BPF過濾器邏輯。
網(wǎng)絡(luò)交互分析工具包括:
- Tcpdump——收集網(wǎng)絡(luò)流量。
- tcpick——從網(wǎng)絡(luò)流量中跟蹤和重組TCP數(shù)據(jù)流。
- tcpxtract——從網(wǎng)絡(luò)流量中提取文件。
- Wireshark——網(wǎng)絡(luò)流量分析工具。
- CapTipper——惡意HTTP流量管理器。
- Chopshop——協(xié)議分析和解碼框架。
- CloudShark——基于Web的工具,用于分析數(shù)據(jù)包和檢測惡意軟件流量。
代碼調(diào)試器
代碼調(diào)試器是實(shí)用的惡意軟件分析工具,允許在底層分析代碼。調(diào)試器的重要功能是斷點(diǎn)(breakpoint)。斷點(diǎn)命中時(shí),程序執(zhí)行被停止,并將控制權(quán)交給調(diào)試器,允許對當(dāng)時(shí)的環(huán)境進(jìn)行惡意軟件分析。調(diào)試器可利用專門的中央處理單元(CPU)工具,可以讓用戶深入了解程序如何執(zhí)行任務(wù),并訪問被調(diào)試程序的環(huán)境等。這在分析惡意軟件時(shí)可能很有用,因?yàn)榭梢宰層脩艨吹秸{(diào)試器如何嘗試檢測篡改,并跳過有意插入的垃圾指令。
調(diào)試工具包括:
- obj dump——GNU Binutils 的一部分,用于Linux二進(jìn)制代碼的靜態(tài)分析。
- OllyDbg——Windows可執(zhí)行文件的匯編級(jí)調(diào)試器。
- FPort——報(bào)告實(shí)時(shí)系統(tǒng)中敞開的TCP/IP和UDP端口,并將它們映射到對應(yīng)的應(yīng)用程序。
- GDB——GNU調(diào)試器。
- IDA Pro——Windows反匯編器和調(diào)試器,有免費(fèi)評(píng)估版。
- Immunity Debugger——用于分析惡意軟件的調(diào)試器,附有Python API。
惡意URL分析
如今,網(wǎng)站暴露在各種威脅面前,受感染的網(wǎng)站將被用作跳板,幫助攻擊者達(dá)到邪惡目的。比如,URL重定向機(jī)制已被廣泛用于隱蔽地執(zhí)行基于Web的攻擊。重定向是指自動(dòng)替換訪問目的地,一般由Web上的HTTP協(xié)議加以控制。除了這種傳統(tǒng)方法外,還經(jīng)常使用自動(dòng)訪問外部Web內(nèi)容(比如iframe標(biāo)簽)的其他方法。惡意URL分析是通過機(jī)器學(xué)習(xí)等方式,分析URL文本分詞詞頻來檢測惡意URL。
惡意URL分析工具包括:
- Firebug——用于Web開發(fā)的Firefox擴(kuò)展件。
- Java Decompiler——反編譯和檢查Java應(yīng)用程序。
- jsunpack-n——模擬瀏覽器功能的javascript解包器。
- Krakatau——Java 反編譯器、匯編器和反匯編器。
- Malzilla——分析惡意網(wǎng)頁。
沙盒技術(shù)
沙盒是一個(gè)重要的安全分析系統(tǒng),可以隔離程序,防止惡意或失敗的項(xiàng)目損害或窺視PC上的任何剩余部分。沙盒是嚴(yán)格控制的環(huán)境,限制了一部分代碼可以執(zhí)行的操作。
沙盒分析工具包括:
- firmware.re——可以拆解、掃描和分析幾乎任何固件包。
- Hybrid Analysis——基于VxSandbox的在線惡意軟件分析工具。
- IRMA——用于分析可疑文件的異步可定制分析平臺(tái)。
- Cuckoo Sandbox——開源自托管的沙盒和自動(dòng)分析系統(tǒng)。
- cuckoo-modified——使用GPL許可證的Cuckoo Sandbox的修改版。
- PDF Examiner——分析可疑的PDF文件。
- ProcDot——圖形化惡意軟件分析工具包。
- Recomposer——將二進(jìn)制代碼安全地上傳到沙盒的幫助腳本。
- Sand droid——自動(dòng)完整的安卓應(yīng)用程序分析系統(tǒng)。
網(wǎng)域分析
網(wǎng)域分析是指安全分析師了解背景信息、檢查網(wǎng)域和IP地址的過程。網(wǎng)域分析應(yīng)該包括已找到信息的簡要總結(jié),以及使其他人能夠找到該信息的參考資料。
網(wǎng)域分析工具包括:
- SpamCop——基于IP的垃圾郵件阻止列表。
- SpamHaus——基于網(wǎng)域和IP的阻止列表。
- Sucuri SiteCheck——免費(fèi)的網(wǎng)站惡意軟件和安全掃描器。
- TekDefense Automatic——用于收集有關(guān)URL、IP或散列的OSINT工具。
- URLQuery——免費(fèi)的URL掃描器。
- IPinfo——通過搜索在線資源,收集有關(guān)IP或網(wǎng)域的信息。
- Whois——免費(fèi)在線whois搜索。
- Mail checker——跨語言的臨時(shí)電子郵件檢測庫。
參考鏈接:
https://gbhackers.com/malware-analysis-cheat-sheet-and-tools-list/。