無文件惡意軟件攻擊是一種完全在進程內存中工作的惡意代碼執行技術。在無文件攻擊中,不會將任何文件放入硬盤。由于硬盤上沒有要檢測的偽像,這些攻擊可以輕松避開基于檢測的網絡安全解決方案,如下一代防病毒(NGAV)、終端保護平臺(EPP)以及終端檢測和響應(EDR、XDR、MDR)。
也稱為內存攻擊,無文件惡意軟件攻擊已經存在了十多年。最初,它們構成的威脅有限,因為它們很少見,并且可以在系統重新啟動時刪除。2014年,這種情況隨著Poweliks的出現而改變,這是一種點擊欺詐特洛伊木馬,是第一款展示持久性功能的無文件惡意軟件。今天,無文件技術是每個網絡犯罪組織武器庫的一部分,并對每個組織構成最危險的威脅之一。
基于腳本的惡意軟件也被認為是一種無文件惡意軟件,因為它不會在磁盤上丟棄任何可移植的可執行文件(PE)。然而,它并不是100%無文件的,因為它確實會丟棄基于腳本的解釋文件,如JavaScript、HTA、VBA、PowerShell等。它是使用合法的Windows進程執行的,這使得它非常難以檢測。
為什么 EDRS 無法檢測到無文件惡意軟件?
EDR 等基于檢測的安全解決方案使用多種技術來查找和檢測惡意活動。
靜態分析用于檢查文件和軟件而不實際執行它們。 當它工作時,它可以實現更快的分析和更早的檢測,而不會冒激活惡意代碼和損壞系統的風險。 靜態分析技術通常依賴于檢查文件、代碼或二進制文件來識別潛在威脅。 由于無文件惡意軟件不使用傳統文件,因此沒有可分析的靜態內容,這使得檢測惡意軟件的存在變得極其困難。
動態分析觀察軟件或文件在執行期間的行為,這通常使其在檢測無文件惡意軟件方面比靜態分析更有效。 然而,動態分析在檢測無文件惡意軟件方面仍然存在挑戰。 動態分析是資源密集型的,因此它通常在沙箱或虛擬機等受控環境中執行。 這會導致沙盒感知惡意軟件和誤導性的威脅分類為合法操作。 此外,動態分析旨在監控執行期間的行為。 如果分析工具沒有專門監視與內存相關的活動,或者如果惡意軟件采用復雜的技術來隱藏其在內存中的存在,那么直接在內存中運行的無文件惡意軟件仍將逃避檢測。 攻擊者經常利用合法的工具和流程。 這使得動態分析很難區分這些工具執行的合法活動和惡意活動。
白名單(以前稱為allowlisting)解決方案的自由應用確實有助于限制用戶組對解釋器等合法工具的執行。 但以限制組織的運營靈活性為代價。 此外,我們看到攻擊者每周都會發明新模式以繞過白名單解決方案的明顯模式。 那么,為什么腳本執行檢測經常屬于無文件惡意軟件檢測的挑戰類別?
- 我們應該掃描 .txt 文件、.sct 文件、.xml 文件嗎? 這些都可能是惡意腳本文件,那么我們在哪里停下來呢?
- 雖然我們清楚地了解可執行軟件及其標準加載行為,但每種解釋語言都有自己的結構和行為。 我們應該為每種類型的解釋文件構建一個解析器/解釋器嗎? 任何人都可以決定一種新的解釋性語言,那么我們在哪里停下來呢?
- 我們應該阻止任何可疑的字符串,甚至是報告中的評論嗎?
這就是為什么一些安全供應商將靜態掃描限制為特定類型的解釋文件,并將動態檢測限制為一組特定的軟件解釋器。 即便如此,由于易于使用的混淆選項,他們也很難掃描這些文件。
無文件技術的類型
無文件技術的惡意軟件實施的一些流行技術包括:
Windows 注冊表操作:代碼通常由常規 Windows 進程直接從注冊表編寫和執行。 這有助于實現持久性、繞過白名單和規避靜態分析等目標。
內存代碼注入:當進程在系統上運行時,允許惡意軟件僅存在于進程內存中。 惡意軟件將自身分發并重新注入對正常 Windows 操作活動至關重要的合法進程,因此它無法列入白名單,甚至無法掃描。 安全供應商需要一個適當的理由來終止、阻止或隔離這樣的進程,這使得這對黑客極具吸引力。 代碼注入技術包括遠程線程注入、APC、原子彈轟炸、進程挖空、本地 shellcode 注入、反射加載等。
基于腳本:如前所述,這不是 100% 無文件技術,但它會為檢測解決方案帶來類似的問題,并且是保持隱身性的首選方法。
Packers
打包是壓縮可執行文件的合法方式。 本質上,它是內存中的自修改代碼,可以改變進程的內存狀態。 但是這種技術被許多惡意軟件家族用于簽名重新創建,更重要的是,用于動態檢測規避。 通過重寫現有的可執行文件并在解密和重新映射新功能后重新創建其代碼,打包也可以用作代碼注入方法。
基于文件和無文件的惡意軟件都使用打包。 然而,引爆/解包過程是一個無文件過程。 惡意軟件通常通過加密位置無關代碼(shellcode/loader/decryptor)的功能和執行來隱藏其真正的 API 和功能。 這段代碼并沒有使用太多已聲明的 API,通常會反射加載下一階段的惡意庫。 我們稱這種技術為無文件技術,因為它運行純粹在內存中創建的惡意代碼,而無需寫入磁盤。 許多已知的惡意軟件大量使用打包和本地代碼注入技術來逃避靜態分析,包括 Emotet、Revil、Qakbot、IceID、Vidar 等。
WatchGuard (2021) 進行的研究表明,無文件攻擊的發生率增長了 900% 以上。 去年,進程注入和 PowerShell 利用等無文件攻擊技術是最常報告的 MITRE ATT&CK 技術之一。
這就是為什么無文件惡意軟件攻擊鏈的興起是安全團隊需要極其認真對待的事情。
無法檢測到的威脅會延長駐留時間
所有類型的無文件惡意軟件攻擊都有一個共同點:它們極難被檢測到。
隨著無文件攻擊在網絡犯罪分子中越來越流行,安全團隊檢測危害所需的時間猛增。 從 2020 年到 2021 年,威脅的平均停留時間增加了 36%。導致勒索軟件部署或數據泄露的攻擊的平均停留時間現在約為 34 天。
許多無文件威脅可能會持續更長時間。Morphisec的事件響應團隊發現,無文件惡意軟件持續存在于遠程終端中,等待幾個月的橫向移動機會才被檢測到。
無漏洞惡意軟件攻擊造成更大破壞
根據波納蒙研究所的一項研究,無文件攻擊成功的可能性是其他攻擊的十倍。因為它們更有可能成功,所以它們更具潛在的破壞性,因為攻擊者有機會攻擊受感染系統的更大部分。
2021年針對愛爾蘭衛生服務主管(HSE)的襲擊就是一個很好的例子。2021年3月18日,Conti勒索軟件小組使用附加了惡意Excel宏的網絡釣魚電子郵件來滲透HSE網絡中的一個終端。然后,使用鋼筆測試工具Cobalt Strike的折衷版本,Conti特工在5月14日-8周后-部署勒索軟件之前,在HSE的網絡中橫向移動。
這導致Conti泄露了700 GB的未加密數據,包括受保護的健康信息(PHI),并導致勒索軟件感染數萬個終端和服務器。CONTI關閉了為500多萬人提供服務的整個醫療服務IT網絡一周,造成了大規模中斷。在Conti發布解密密鑰后,HSE才解決了這個問題。
勒索軟件集團使用了類似的攻擊方法,關閉了整個哥斯達黎加政府,并勒索贖金。
像Cobalt Strike這樣的無文件后門越來越容易使用。網絡犯罪分子正在使用這種民族國家的致命戰術來攻擊包括中小企業在內的許多其他目標。
如何降低無文件惡意軟件攻擊風險
無文件惡意軟件攻擊大多無法檢測到。它們經過精心設計,可以繞過NGAV、EPP和EDR/XDR/MDR等檢測和響應網絡安全工具。
隨著無文件惡意軟件攻擊的持續增加,依賴基于檢測的工具的組織面臨的風險比他們想象的要大得多。組織要降低這種風險,需要使其網絡環境不適合無文件威脅。
例如,重要的是分割網絡并實施嚴格的訪問控制,以便為無文件威脅利用的網絡中的未經許可的數據流設置障礙。即,實施零信任戰略。它還意味著部署預防性技術,如自動移動目標防御(AMTD),該技術可以關閉威脅在應用程序級別使用的攻擊路徑。
AMTD是一項創新技術,可以在不檢測威脅的情況下阻止威脅。它隨機改變運行時內存環境,以創建不可預測的攻擊面,并將誘餌陷阱留在目標所在的位置。可信應用程序使用更改后的內存環境進行更新,而試圖針對誘餌執行的任何代碼都會觸發該進程終止并捕獲以進行取證分析。由于其確定性、預防性的方法,AMTD是唯一可靠地阻止無文件攻擊和其他高級威脅(如供應鏈攻擊和勒索軟件)的技術之一。Gartner將AMTD稱為“網絡的未來”,并表示“自動移動目標防御是一種新興的改變游戲規則的技術,旨在改善網絡防御。通過將其添加到他們的產品組合中,產品領導者可以使他們的解決方案產品與眾不同,并顯著提高其他現有安全解決方案的有效性和價值。“
-
EDR
+關注
關注
0文章
23瀏覽量
1991
發布評論請先 登錄
相關推薦
評論