當今網絡安全界面臨的一個事實是,只要網絡防御者研究出一種發現惡意軟件的方法,網絡攻擊者就能很快地找到一種回避或繞過的方法。隨著網絡攻擊者的數量日漸增多,在企業部署好保護后,攻擊者都能在很短的時間內找到一種突破或繞過的方法。
能夠感知虛擬機的威脅能夠發現某些類型的惡意軟件分析環境,并且能夠積極地避免檢測或簡單地保持靜默。
好消息是,網絡安全界已經找到了分析惡意軟件的不同方法,每種方法都有其自身的缺點和優點。這意味著,雖然一種惡意軟件的分析方法可能暴露網絡,但是,以正確的順序實施多種分析方法可以使安全團隊更有可能防止惡意軟件滲透進入網絡,甚至對于以前并沒有被確認的惡意軟件樣本也能夠起作用。下文將討論當今可用的惡意軟件分析技術,并且看一下,在連續實施時,這些惡意軟件分析技術如何使安全團隊能夠自動應對大多數威脅,如何釋放安全團隊的資源,從而積極地搜尋更高級的威脅。
但是,所有的惡意軟件分析技術都依賴于威脅情報數據流來訓練算法和模式,所以其性能是伴隨著對更真實的數據的訪問而改進的。只有具備了關于新威脅手段和媒介、惡意軟件家族、惡意腳本、攻擊活動的穩定的信息輸入,安全系統和團隊才能夠做出關于防御網絡的更明智的決策。如果不能訪問大量的威脅情報,網絡安全就成了一種猜測游戲,一種必然會出現失敗的想法油然而生。
靜態分析
靜態分析作為惡意軟件分析環境中的第一道防線,它涉及到將一個未知的文件分解為其組成部分進行檢查,而不必破壞文件。通過靜態分析,系統可以判定一個文件是否存在可能表明它是惡意軟件的任何潛在標記或模式,例如,嵌入可執行腳本或連接到一個未知或可疑的服務器。靜態分析是一種快捷而準確的檢測已知惡意軟件(占據企業面臨的惡意軟件的絕大部分)及其變種的方法。
機器學習分析
有些分析系統使靜態分析達到了更高水平,增加了對機器學習的支持。機器學習涉及創建一個系統并使其自動化,從而可以將惡意行為分為不同的組或家族。這些組或家族可被用于確認未來的惡意內容,而無需人為地構建匹配模式。如果可疑內容之間的相似性達到足夠程度,系統就可以自動地創建一種惡意軟件簽名,并在整個網絡中推送。隨著越來越多的惡意軟件樣本被檢查和分類,系統自身減輕攻擊的能力也隨著時間的推移而增長。在當今商品化的網絡攻擊中,即使是黑客新手也可以執行攻擊,而支持機器學習的分析是安全團隊每天必須處理各種威脅警告的最佳方法之一。
動態分析
如果靜態分析不能處理可疑文件,就需要通過觸發可疑文件,并觀察其相應的主機和網絡行為,進行更詳細地檢查。動態分析往往涉及將可疑樣本轉發到基于虛擬機的環境中,然后在一個受到嚴格控制的環境中(也稱為“沙盒”)激活它,從而可以觀察其行為并析取情報。在將可疑樣本部署在虛擬機環境中時,有些高級的可感知虛擬機的惡意軟件可以檢測到虛擬機,所以,我們就需要無遮蔽的主機分析。動態分析尤其擅長發現惡意軟件中的零日漏洞利用行為。
由于靜態分析和機器學習分析都要求預先對被分析的惡意軟件在某種程度上有所熟悉,所以要使其確認一些真正新奇異常的惡意活動就非常困難了。動態分析的困難在于可擴展性,它要求大量的計算、存儲、自動化才能做好。也就是說,如果靜態分析和機器學習分析同時發生,那么,二者就有可能已經確認并減輕了潛在惡意軟件的威脅。只有在需要作為基于云的自動系統的一部分時,利用動態分析才能有效地減輕大量人工努力的負擔。