惡意程式檢測

由於防毒軟體是廠商透過工具快速辨識該程式是否為惡意程式,再取出該惡意程式的相關特徵值作為病毒碼供防毒軟體更新後辨識。然而,靜態分析雖然有其一定的準確率,但對惡意程式而言,目前數不勝數的惡意程式中,要找到真正獨一無二的成分相當困難,因此在實務上,病毒碼的製作是頗為棘手的。同樣地,對於使用者而言,若未針對所安裝的防毒軟體定期進行更新,恐造成防毒軟體地分析困難以及準確率的下降,導致使用者即便安裝了防毒軟體,卻仍遭受到惡意程式的威脅。

相對於防毒軟體,惡意程式檢測並非透過特徵值進行判斷,而是實際運作,以獲得更加完整且詳細的惡意程式行為資訊。若有新惡意程式的產生,實際讓惡意程式在「沙箱 (Sandboxes)」運作,紀錄並取得該惡意程式的行為、運作模式、是否和攻擊者進行聯繫、甚至取得可能為惡意程式開發者/攻擊者的相關訊息。

惡意程式動態分析平台

為了減少如防毒軟體等較為耗費人力以及特徵值分析困難等問題,惡意程式檢測是採取直接運行惡意軟體,並分析其行為的策略。

其分析方式為建立一虛擬、與真實系統隔離的環境,將惡意程式放入該虛擬環境中,觸發惡意程式在該環境中運作,除避免惡意軟體對實際系統造成影響外,同時可以詳盡地分析該惡意程式的所有行為。

惡意程式動態檢測分析的環境,必須是一安全、可靠,不會對實體系統造成任何影響,且可以相當容易地將該環境回復至惡意程式運作前的初始狀態,方可順利進行其他惡意程式測試的運行。在此種動態分析的模式中,均是以沙箱建立其所需的虛擬環境。

在針對惡意程式動態分析的技術上,建立環境的沙箱種類相當繁多,並且每一種沙箱針對惡意程式的防護和屏障等級也有所差異。此種技術為透過建立一個能夠執行惡意程式、不影響實體系統運作的環境,並讓程式在其中運作,透過沙箱觀察運作的行為以及對環境造成的影響,判斷該程式是否為惡意程式。在這種環境中,多半是和實體系統隔離或有所管控及限制,即便運行惡意程式亦不會對實體環境造成影響,因此可以透過惡意程式的完整執行,分析其行為及相關訊息,作為判別惡意程式的基準資訊。

動態分析平台運作

在建立環境後,研究人員會將可能為惡意之程式放入虛擬環境中,並觸發該程式執行,檢測該程式是否有進行惡意行為,且記錄下該程式的功能以及包括網域名稱、IP位址、文件路徑以及在系統或網路上與其相關的其餘檔案等特徵值。此外,若該惡意程式欲與攻擊者/惡意程式開發者進行通信,也會記錄下與外部伺服器聯繫的指令、控制或試圖下載其餘的惡意軟體之相關內容。

此種分析模式,可以快速地辨識並分析其中之惡意程式。但由於需要一與外界隔絕之虛擬環境,因此,在製作、準備相關環境時的耗費較大,且需要較多的硬體資源。但相對而言,可以清楚且詳細地取得該惡意程式從產生到結果一系列過程中地各項細節,雖資料量相當龐大,但透過適當的工具,便可以快速且正確地分析該惡意程式,更有效率地辨識並大幅降低惡意程式的威脅。

 

資料來源:

Scroll to Top