簡介:文章主要探討了網(wǎng)絡(luò)安全領(lǐng)域中的動態(tài)防御策略,特別是針對規(guī)避性威脅的“移動目標(biāo)防御”(MTD)技術(shù)。本文分析了攻擊者常用的規(guī)避技術(shù),并探討了如何利用移動目標(biāo)防御技術(shù)來對抗這些威脅。傳統(tǒng)的安全措施面臨著復(fù)雜且不斷變化的網(wǎng)絡(luò)攻擊挑戰(zhàn),而移動目標(biāo)防御提供了一種有效的解決方案,通過不斷改變攻擊面來增加攻擊者的不確定性和執(zhí)行成本。
一、高級規(guī)避攻擊
高級規(guī)避攻擊可以反復(fù)修改網(wǎng)絡(luò)攻擊,包括其源、靜態(tài)簽名和行為簽名,它們隱藏了防御系統(tǒng)的惡意意圖。這些欺騙手段使傳統(tǒng)的防御機(jī)制力不從心,攻擊者明確地知道他們要攻擊誰,何時何地,使用什么武器,而防御者卻始終處于不確定狀態(tài)。我們來看一些常見類型的高級規(guī)避攻擊技術(shù)。
1、多態(tài)性通常被攻擊者用來躲避反病毒軟件的檢測
通過加密惡意軟件的有效載荷(包括代碼和數(shù)據(jù)),攻擊者可以獲得兩大優(yōu)勢:首先,攻擊者可以通過使用多個加密密鑰輕松生成同一惡意軟件的不同實(shí)例。這使得基于簽名的反惡意軟件設(shè)施失去作用,因?yàn)樾碌膶?shí)例具有新的、未知的靜態(tài)簽名。其次,惡意軟件可以繞過更深入的靜態(tài)分析,因?yàn)槠浯a和數(shù)據(jù)是加密的,因此不會暴露在掃描儀面前。利用變形技術(shù),惡意軟件的作者在每次執(zhí)行時都會改變內(nèi)存代碼,從而使檢測變得更加復(fù)雜。
2、多態(tài)性和變態(tài)性的目的是躲避自動掃描和內(nèi)存掃描
利用混淆技術(shù),惡意軟件的編寫者可以編寫出人類分析人員難以理解的代碼。具體做法是在有效載荷中加入模糊字符串、虛假代碼和復(fù)雜的函數(shù)調(diào)用圖,這些代碼可以在惡意軟件的每個實(shí)例中隨機(jī)生成。
3、反虛擬機(jī)和反沙箱機(jī)制是另一種先進(jìn)的攻擊方法
沙箱和虛擬機(jī)是惡意軟件分析人員必不可少的工具。這些方法可以檢測惡意軟件是否在虛擬化或沙盒環(huán)境中運(yùn)行。如果檢測到虛擬機(jī)或沙箱,惡意軟件就會改變其行為,避免任何惡意行為。一旦在真實(shí)系統(tǒng)上執(zhí)行,在被標(biāo)記為良性后,惡意軟件就會開始其惡意活動。
4、反調(diào)試技術(shù)被用來來避免調(diào)試和運(yùn)行時分析
如果在運(yùn)行過程中,惡意軟件檢測到調(diào)試工具正在運(yùn)行,它就會改變執(zhí)行路徑,執(zhí)行良性操作。一旦惡意軟件不受運(yùn)行時檢查,它就會開始其惡意行為。
5、加密和有針對性的漏洞利用
為了避免被發(fā)現(xiàn),URL模式、主機(jī)服務(wù)器、加密密鑰和漏洞名稱在每次發(fā)送時都會改變。這些漏洞利用程序還可以通過限制從同一IP地址訪問漏洞利用程序的次數(shù)來躲避蜜罐。最后,某些類型的攻擊只有在真正的用戶交互(如網(wǎng)頁滾動)之后才開始利用階段。這樣,攻擊者就能確保在真實(shí)機(jī)器上執(zhí)行,而不是進(jìn)行自動動態(tài)分析。
二、用移動目標(biāo)防御對抗欺騙
然而,攻擊者使用的欺騙技術(shù)也可以被防御者利用來反向平衡。移動目標(biāo)防御(MTD)就是這樣一種防御技術(shù)。
(一)常見做法
在實(shí)踐中,移動目標(biāo)防御安全主要分為三類:
- 網(wǎng)絡(luò)級MTD
- 主機(jī)級MTD
- 應(yīng)用程序級MTD
1、網(wǎng)絡(luò)級MTD包括多年來開發(fā)的幾種機(jī)制。IP跳轉(zhuǎn)會改變主機(jī)的IP地址,從而增加攻擊者看到的網(wǎng)絡(luò)復(fù)雜性。后來,這一想法被擴(kuò)展為允許以透明方式保持主機(jī)IP變更。通過保留真實(shí)主機(jī)的IP地址,并將每臺主機(jī)與一個虛擬隨機(jī)IP地址關(guān)聯(lián)起來,從而實(shí)現(xiàn)了透明性。有些技術(shù)的目的是在網(wǎng)絡(luò)映射和偵察階段欺騙攻擊者。這些技術(shù)包括使用隨機(jī)端口號、額外開放或關(guān)閉的端口、偽造監(jiān)聽主機(jī)和混淆端口跟蹤。這包括防止操作系統(tǒng)識別的隨機(jī)網(wǎng)絡(luò)服務(wù)響應(yīng)。
2、主機(jī)級MTD包括更改主機(jī)和操作系統(tǒng)級資源、命名和配置,以欺騙攻擊者。
3、應(yīng)用程序級MTD包括更改應(yīng)用程序環(huán)境以欺騙攻擊者。微軟推出的地址空間布局隨機(jī)化(ASLR)實(shí)現(xiàn)了MTD的基本水平。它包括隨機(jī)安排進(jìn)程地址空間的內(nèi)存布局,使對手更難執(zhí)行其shellcode。其他技術(shù)包括改變應(yīng)用程序類型和版本,并在不同主機(jī)之間輪換使用。一些應(yīng)用程序級MTD使用不同的設(shè)置和編程語言編譯源代碼,每次編譯都會生成不同的代碼。
下表概述了不同類別MTD中使用的常用技術(shù):
(二)操作系統(tǒng)和應(yīng)用程序才是真正的戰(zhàn)場
移動目標(biāo)防御模式打破了攻防雙方之間的不對稱?,F(xiàn)在,攻擊者也必須在不確定和不可預(yù)測的情況下行動。
雖然網(wǎng)絡(luò)級MTD提供了一定的彈性,但隨機(jī)化IP地址、網(wǎng)絡(luò)拓?fù)?/a>結(jié)構(gòu)和配置并不是有效的防御手段。攻擊者的最終目的地是位于網(wǎng)絡(luò)、防火墻和路由器后面的主機(jī)、服務(wù)器和終端。操作系統(tǒng)和應(yīng)用程序是0日漏洞、惡意軟件和高級持續(xù)性威脅(APT)的有利可圖的目標(biāo),是攻擊者與防御者斗爭的主要戰(zhàn)場。
操作系統(tǒng)和應(yīng)用程序?qū)用娴腗TD大有可為;為了成功發(fā)起攻擊,攻擊者必須收集切實(shí)的情報(bào),并對目標(biāo)操作系統(tǒng)和應(yīng)用程序做出假設(shè)。這些信息需要包括相關(guān)版本、配置、內(nèi)存結(jié)構(gòu)、資源名稱等因素。如果攻擊者將攻擊步驟建立在錯誤元素(即使是一個內(nèi)存地址)的基礎(chǔ)上,攻擊就會失敗。
(三)打破游戲規(guī)則
Morphisec以攻擊者無法追蹤的方式對應(yīng)用程序和操作系統(tǒng)進(jìn)行環(huán)境修改,從而將移動目標(biāo)防御提升到一個新的水平。因此,對攻擊者而言,每次函數(shù)調(diào)用、地址跳轉(zhuǎn)或資源訪問都有可能失敗,同時攻擊、其發(fā)起者和來源也會完全暴露。在這種情況下,攻擊的成本會急劇上升,而成功的概率則會下降到接近于零。這些因素加在一起,使得攻擊在實(shí)際和經(jīng)濟(jì)上都不那么可行。
移動目標(biāo)防御與基于檢測的保護(hù)模式截然不同,后者必須首先檢測或預(yù)測惡意活動,才能阻止其發(fā)生。人工智能和機(jī)器學(xué)習(xí)確實(shí)能更好、更快地進(jìn)行檢測,但也受到限制,因?yàn)橐獧z測到威脅,需要對威脅有一定程度的了解,且高級閃避攻擊仍具有不可預(yù)測性。而移動目標(biāo)防御迫使攻擊者在不確定的戰(zhàn)場上作戰(zhàn),從而徹底改變了沖突規(guī)則。
了解虹科Morphisec更多信息,歡迎前往【艾特保】官方網(wǎng)站 :https://haocst.com/
聯(lián)系虹科工程師:TEL:13533491614