【虹科分享】一種動態防禦策略——移動目標防禦(MTD)

虹科雲科技發表於2024-01-03

文章速覽:

1 、規避攻擊

2 、用移動目標防禦對抗欺騙

常見做法

作業系統和應用程式才是真正的戰場

打破遊戲規則


網路攻擊的技術變得愈發難測, 網路 攻擊者 用多型性、混淆、加密和自我修改 裝他們的惡意軟體,以 逃避 防禦性的 檢測 ,於是移動目標防禦( MTD )技術出現了,透過 動態地改變攻擊面 ,有效地對抗日益複雜和隱蔽的網路攻擊。




一、規避攻擊

規避攻擊可以反覆修改網路攻擊,包括其源、靜態簽名和行為簽名,它們隱藏了防禦系統的惡意意圖。這些欺騙手段使傳統的防禦機制力不從心,攻擊者明確地知道他們要攻擊誰,何時何地,使用什麼武器,而防禦者卻始終處於不確定狀態。我們來看一些常見型別的規避攻擊技術。

 

技術

欺騙手段

多型性 (Polymorphism)

更改惡意軟體簽名

變形惡意軟體 (Metamorphism / self-modification)

更改 FLY 上的惡意程式碼

混淆 (Obfuscation)

隱藏惡意活動

自加密 (Self-encryption)

更改惡意軟體簽名,隱藏惡意程式碼和資料

反虛擬機器 / 沙箱 (Anti-VM/sandboxes)

透過改變取證環境中的行為逃避自動取證分析

反除錯 (Anti-Debugging)

透過改變取證環境中的行為,逃避自動 / 人工調查

加密漏洞利用 (Encrypted exploits)

透過更改引數和簽名逃避自動 / 人工調查

行為變化 (Behavior changes)

等待真正的使用者活動後再執行

 

1 、多型性通常被攻擊者用來躲避反病毒軟體的檢測

透過加密惡意軟體的有效載荷(包括程式碼和資料),攻擊者可以獲得兩大優勢:首先,攻擊者可以透過使用多個加密金鑰輕鬆生成同一惡意軟體的不同例項。這使得基於簽名的反惡意軟體設施失去作用,因為新的例項具有新的、未知的靜態簽名。其次,惡意軟體可以繞過更深入的靜態分析,因為其程式碼和資料是加密的,因此不會暴露在掃描器面前。利用變形技術,惡意軟體的作者在每次執行時都會改變記憶體程式碼,從而使檢測變得更加複雜。

 

2 、多型性和變態性的目的是躲避自動掃描和記憶體掃描

利用混淆技術,惡意軟體的編寫者可以編寫出人類分析人員難以理解的程式碼。具體做法是在有效載荷中加入模糊字串、虛假程式碼和複雜的函式呼叫圖,這些程式碼可以在惡意軟體的每個例項中隨機生成。

 

3 、反虛擬機器和反沙箱機制是另一種先進的攻擊方法

沙箱和虛擬機器是惡意軟體分析人員必不可少的工具。這些方法可以檢測惡意軟體是否在虛擬化或沙盒環境中執行。如果檢測到虛擬機器或沙箱,惡意軟體就會改變其行為,避免任何惡意行為。一旦在真實系統上執行,在被標記為良性後,惡意軟體就會開始其惡意活動。

 

4 、反除錯技術被用來來避免除錯和執行時分析

如果在執行過程中,惡意軟體檢測到除錯工具正在執行,它就會改變執行路徑,執行良性操作。一旦惡意軟體不受執行時檢查,它就會開始其惡意行為。

 

5 、加密和有針對性的漏洞利用

為了避免被發現, URL 模式、主機伺服器、加密金鑰和漏洞名稱在每次傳送時都會改變。這些漏洞利用程式還可以透過限制從同一 IP 地址訪問漏洞利用程式的次數來躲避蜜罐。最後,某些型別的攻擊只有在真正的使用者互動(如網頁滾動)之後才開始利用階段。這樣,攻擊者就能確保在真實機器上執行,而不是進行自動動態分析。


二、用移動目標防禦對抗欺騙

然而,攻擊者使用的欺騙技術也可以被防禦者利用來反向平衡。移動目標防禦( MTD )就是這樣一種防禦技術。

 

(一)常見做法

在實踐中,移動目標防禦安全主要分為三類:

l 網路級 MTD

l 主機級 MTD

l 應用程式級 MTD

 

1 網路級 MTD 包括多年來開發的幾種機制。 IP 跳轉會改變主機的 IP 地址,從而增加攻擊者看到的網路複雜性。後來,這一想法被擴充套件為允許以透明方式保持主機 IP 變更。透過保留真實主機的 IP 地址,並將每臺主機與一個虛擬隨機 IP 地址關聯起來,從而實現了透明性。有些技術的目的是在網路對映和偵察階段欺騙攻擊者。這些技術包括使用隨機埠號、額外開放或關閉的埠、偽造監聽主機和混淆埠跟蹤。這包括防止作業系統識別的隨機網路服務響應。

2 主機級 MTD 包括更改主機和作業系統級資源、命名和配置,以欺騙攻擊者。

3 應用程式級 MTD 包括更改應用程式環境以欺騙攻擊者。微軟推出的地址空間佈局隨機化( ASLR )實現了 MTD 的基本水平。它包括隨機安排程式地址空間的記憶體佈局,使對手更難執行其 shellcode 。其他技術包括改變應用程式型別和版本,並在不同主機之間輪換使用。一些應用程式級 MTD 使用不同的設定和程式語言編譯原始碼,每次編譯都會生成不同的程式碼。

 

下表概述了不同類別 MTD 中使用的常用技術:

資訊系統部分

攻擊手段

網路 (Network)

路由更改;隨機地址、名稱和埠

防火牆 /IDS(Firewall/IDS)

策略變化

主機 (Host)

更改主機地址,更換主機映象

作業系統 (OS)

更改版本和釋出;更改主機 ID ;更改記憶體地址、結構和資源名稱

應用程式 / 應用程式程式碼 (Application/

Application code)

隨機化儲存片段的地址、 過濾導致故障的輸入資料,在不同主機之間輪換應用程式;多語言程式碼生成;不同程式碼生成

 

 

(二)作業系統和應用程式才是真正的戰場

移動目標防禦模式打破了攻防雙方之間的不對稱。現在,攻擊者也必須在不確定和不可預測的情況下行動。

 

雖然網路級 MTD 提供了一定的彈性,但隨機化 IP 地址、網路拓撲結構和配置並不是有效的防禦手段。 攻擊者的最終目的地是位於網路、防火牆和路由器後面的主機、伺服器和終端。作業系統和應用程式是 0 日漏洞、惡意軟體和持續性威脅 (APT) 的有利可圖的目標,是攻擊者與防禦者鬥爭的主要戰場。

 

作業系統和應用程式層面的 MTD 大有可為 ;為了成功發起攻擊,攻擊者必須收集切實的情報,並對目標作業系統和應用程式做出假設。這些資訊需要包括相關版本、配置、記憶體結構、資源名稱等因素。如果攻擊者將攻擊步驟建立在錯誤元素(即使是一個記憶體地址)的基礎上,攻擊就會失敗。

 

 

(三)打破遊戲規則

Morphisec 以攻擊者無法追蹤的方式對應用程式和作業系統進行環境修改,從而將移動目標防禦提升到一個新的水平。因此,對攻擊者而言,每次函式呼叫、地址跳轉或資源訪問都有可能失敗,同時攻擊、其發起者和來源也會完全暴露。在這種情況下,攻擊的成本會急劇上升,而成功的機率則會下降到接近於零。這些因素加在一起,使得攻擊在實際和經濟上都不那麼可行。

 

移動目標防禦與基於檢測的保護模式截然不同,後者必須首先檢測或預測惡意活動,才能阻止其發生。人工智慧和機器學習確實能更好、更快地進行檢測,但也受到限制,因為要檢測到威脅,需要對威脅有一定程度的瞭解,且閃避攻擊仍具有不可預測性。而移動目標防禦迫使攻擊者在不確定的戰場上作戰,從而徹底改變了衝突規則。


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70026953/viewspace-3002547/,如需轉載,請註明出處,否則將追究法律責任。

相關文章