攻擊者靠規(guī)避你的EDR/XDR系統(tǒng)謀生,下文介紹了他們?nèi)绾卧谌齻€(gè)關(guān)鍵點(diǎn)繞過或逃避你的防御。
最近的一項(xiàng)全球調(diào)查指出,CISO及其企業(yè)可能過于依賴端點(diǎn)檢測(cè)與響應(yīng)(EDR)和擴(kuò)展檢測(cè)與響應(yīng)(XDR)系統(tǒng),因?yàn)楣粽咴絹?lái)越多地規(guī)避了這些系統(tǒng)。
這部分是因?yàn)橐?guī)避EDR/XDR系統(tǒng)一直以來(lái)并將繼續(xù)是現(xiàn)代對(duì)手的基本要求。“規(guī)避”通常用來(lái)描述防御反應(yīng)未被觀察到的情況。雖然技術(shù)上準(zhǔn)確,但這種缺乏具體性的描述阻礙了網(wǎng)絡(luò)安全專業(yè)人士準(zhǔn)確定位補(bǔ)救措施,例如,修復(fù)檢測(cè)邏輯錯(cuò)誤與XDR平臺(tái)中缺少遙測(cè)數(shù)據(jù)的情況大不相同。
為了更好地理解攻擊者如何規(guī)避EDR/XDR系統(tǒng),以及更重要的,在發(fā)生規(guī)避后應(yīng)該采取什么措施,我們需要了解規(guī)避發(fā)生的三個(gè)領(lǐng)域:觀察、檢測(cè)和響應(yīng)與預(yù)防。
攻擊者在觀察階段如何規(guī)避XDR
XDR系統(tǒng)的核心是從各種來(lái)源(如端點(diǎn)的操作系統(tǒng)或云提供商)獲取事件,這些事件通常稱為遙測(cè)數(shù)據(jù),構(gòu)成了檢測(cè)的基礎(chǔ)。XDR只能檢測(cè)到系統(tǒng)能夠提供和收集的數(shù)據(jù),第一種規(guī)避類型發(fā)生在XDR未收到其需要的事件來(lái)檢測(cè)惡意行為時(shí)。
這種規(guī)避有幾個(gè)常見原因,首先,也是我認(rèn)為最“純粹”的技術(shù)規(guī)避,是對(duì)手的行動(dòng)未生成相關(guān)的遙測(cè)數(shù)據(jù),相關(guān)是指系統(tǒng)上每個(gè)動(dòng)作都會(huì)生成一定量的遙測(cè)數(shù)據(jù),但這些事件可能對(duì)創(chuàng)建有效檢測(cè)沒有用,可以將其視為系統(tǒng)中缺失的事件源,而不是XDR的缺陷。
接下來(lái)是系統(tǒng)生成了遙測(cè)數(shù)據(jù)但未被XDR接收的情況,XDR可以訂閱數(shù)千個(gè)事件源,供應(yīng)商的工作是決定哪些事件源是滿足檢測(cè)需求所必需的,例如,如果XDR供應(yīng)商特別關(guān)注檢測(cè)與Active Directory相關(guān)的行為,他們會(huì)優(yōu)先收集來(lái)自AD的事件,而不是網(wǎng)絡(luò)流量。不收集某些類型的事件,無(wú)論是有意為之還是無(wú)意為之,都會(huì)在XDR對(duì)某些技術(shù)的覆蓋范圍內(nèi)產(chǎn)生可利用的漏洞。
最后,對(duì)手可能會(huì)主動(dòng)干擾XDR代理,使事件無(wú)法發(fā)送到負(fù)責(zé)收集和關(guān)聯(lián)的集中服務(wù)器,這種干擾有多種形式,包括停止或卸載代理、阻止與服務(wù)器的通信(例如,通過修改基于主機(jī)的防火墻)或篡改傳感器(例如,禁用AMSI)。
總體而言,這些問題反映了XDR開發(fā)者的失敗。如果由于代理程序未收集相關(guān)遙測(cè)數(shù)據(jù)而導(dǎo)致攻擊被遺漏,供應(yīng)商是唯一能夠解決此問題的實(shí)體,因?yàn)檫@涉及添加新的遙測(cè)源或擴(kuò)展/豐富現(xiàn)有的遙測(cè)源。在代理程序受到干擾的情況下,供應(yīng)商應(yīng)實(shí)施防篡改措施,以防止他們能防止的干擾,并檢測(cè)無(wú)法合理防止的干擾。對(duì)于每個(gè)安全團(tuán)隊(duì)來(lái)說(shuō),這些問題是最難解決的,因?yàn)樗麄儗?shí)際上除了求助于XDR供應(yīng)商外別無(wú)他法。
攻擊者如何在檢測(cè)過程中規(guī)避XDR
當(dāng)大多數(shù)人談?wù)撘?guī)避XDR時(shí),他們幾乎總是指繞過XDR中的檢測(cè)邏輯。檢測(cè)本身只是評(píng)估一個(gè)事件或一組事件以確定是否存在某些可能表明惡意行為的條件的方式,這些檢測(cè)查詢或規(guī)則可以是精確的,意味著它們針對(duì)通常對(duì)某個(gè)惡意軟件或攻擊工具(例如Mimikatz的命令行參數(shù))獨(dú)有的特定屬性,或者是魯棒的,意味著它們針對(duì)的是多個(gè)惡意軟件樣本或工具共享的行為。
兩種類型的檢測(cè)都有其缺陷。精確檢測(cè)易于被規(guī)避,因?yàn)樗鼈兺ǔ_^于具體,這意味著對(duì)目標(biāo)樣本的任何修改都會(huì)導(dǎo)致誤報(bào),例如,攻擊者修改Mimikatz的參數(shù)字符串,將“sekurlsa::logonpasswords”變成“nothings::happening_here”,從而打破針對(duì)攻擊者控制字符串的脆弱檢測(cè)邏輯。
盡管魯棒檢測(cè)表面上看起來(lái)不那么容易被規(guī)避,但它們因誤報(bào)而臭名昭著,這會(huì)導(dǎo)致規(guī)則中的排除項(xiàng)被攻擊者利用。一個(gè)實(shí)際中的例子是,將Chrome更新進(jìn)程“GoogleUpdate.exe”排除在憑證轉(zhuǎn)儲(chǔ)檢測(cè)之外,因?yàn)槠湔2僮魃婕按蜷_本地安全機(jī)構(gòu)子系統(tǒng)服務(wù)(LSASS)進(jìn)程的特權(quán)句柄。此排除項(xiàng)允許攻擊者冒充更新助手或注入其中以提取憑證而不被檢測(cè)到,盡管XDR收集的事件中存在所有行為模式。
這些規(guī)避手段利用了EDR檢測(cè)中的邏輯問題,無(wú)論這些檢測(cè)是由供應(yīng)商提供還是由內(nèi)部檢測(cè)工程師編寫的。對(duì)技術(shù)或過程的理解不完善、檢測(cè)瓶頸、為了使檢測(cè)在生產(chǎn)環(huán)境中可行而做出的妥協(xié)以及XDR中次優(yōu)的遙測(cè)數(shù)據(jù)導(dǎo)致的弱檢測(cè)邏輯在端點(diǎn)保護(hù)領(lǐng)域是司空見慣的。
解決這些問題的方法是彌合這些邏輯差距,但不幸的是,在實(shí)際環(huán)境中,這并不總是可能的。有時(shí)我們必須接受某種程度的脆弱性,以快速生成針對(duì)新興威脅的檢測(cè),但這些精確檢測(cè)應(yīng)輔以魯棒檢測(cè),以捕捉不可避免的漏報(bào)。
魯棒檢測(cè)幾乎總是需要一定程度的排除項(xiàng),以避免安全團(tuán)隊(duì)被警報(bào)淹沒,但這些排除項(xiàng)應(yīng)盡可能少,并不斷評(píng)估以確定它們是否需要繼續(xù)存在于生產(chǎn)環(huán)境中。實(shí)際上,檢測(cè)工程從檢測(cè)進(jìn)入生產(chǎn)環(huán)境的那一刻起,就進(jìn)入了一個(gè)永無(wú)止境的調(diào)整和優(yōu)化階段,其唯一目標(biāo)是使檢測(cè)盡可能具有彈性,同時(shí)保持在團(tuán)隊(duì)可以容忍的誤報(bào)和漏報(bào)范圍內(nèi)。
攻擊者在響應(yīng)和預(yù)防過程中如何規(guī)避XDR
最后一種規(guī)避類型集中在當(dāng)發(fā)生真正的正面警報(bào)時(shí)應(yīng)進(jìn)行的調(diào)查過程中的漏洞。響應(yīng)警報(bào)的過程因企業(yè)而異,但通常包括分診、調(diào)查和響應(yīng)階段,這個(gè)過程的復(fù)雜性帶來(lái)了許多不同的故障點(diǎn)。
在一個(gè)普通的SOC(安全運(yùn)營(yíng)中心)工作流程中,規(guī)避行為可能發(fā)生的第一個(gè)機(jī)會(huì)是在分診階段。在此階段,一名一級(jí)分析師收到警報(bào)并錯(cuò)誤地將其標(biāo)記為誤報(bào),這導(dǎo)致盡管XDR發(fā)揮了作用,但該行為仍未被注意到,這種失敗可能源于警報(bào)疲勞,導(dǎo)致分析師為了減少警報(bào)隊(duì)列而錯(cuò)誤地壓制警報(bào),或者是因?yàn)槿狈?duì)檢測(cè)目的和信息含義的理解。解決這一失敗點(diǎn)通常涉及通過減少誤報(bào)(如前文所述,減少誤報(bào)本身也存在問題)來(lái)進(jìn)行隊(duì)列和疲勞管理,以及通過更好的文檔和教育來(lái)提升分析師對(duì)檢測(cè)的理解。
接下來(lái)是調(diào)查階段,該階段發(fā)生在確認(rèn)真正的正面警報(bào)之后,涉及次級(jí)信息收集,以更具體地確定警報(bào)是否值得升級(jí)為全面事件,這個(gè)過程通常是手動(dòng)的,需要熟練的分析師對(duì)相關(guān)系統(tǒng)進(jìn)行質(zhì)詢并提取支持信息,例如文件系統(tǒng)上遺留的痕跡信息。
在這里,有很多與調(diào)查人員的技能和對(duì)手有關(guān)的失敗點(diǎn)。如果分析師需要檢查磁盤上的文件,但對(duì)手已預(yù)先將其刪除怎么辦?如果需要內(nèi)存取證,但對(duì)手已重啟系統(tǒng)怎么辦?如果對(duì)手采用了調(diào)查人員不熟悉的技術(shù),導(dǎo)致他們遺漏了攻擊者留下的痕跡怎么辦?解決這些失敗點(diǎn)需要強(qiáng)有力的支持文檔,例如在懷疑有真正正面警報(bào)時(shí)應(yīng)收集什么信息以及這些信息的含義。
最后是響應(yīng)階段,這發(fā)生在警報(bào)被確認(rèn)為真正正面并宣布為事件之后,涉及驅(qū)逐威脅行為者。在確定事件范圍(涉及多少系統(tǒng)、用戶等)之后,安全團(tuán)隊(duì)有多種清除攻擊者的選項(xiàng),從簡(jiǎn)單地重啟主機(jī)以清除駐留在內(nèi)存中的惡意軟件,到像銷毀整個(gè)環(huán)境這樣極端的措施。在這個(gè)階段,成功是二元的——要么完全驅(qū)逐對(duì)手,要么沒有。
我在紅隊(duì)工作時(shí)遇到的這個(gè)階段最大的錯(cuò)誤是防御團(tuán)隊(duì)錯(cuò)誤地確定了事件范圍,導(dǎo)致驅(qū)逐不完全,使我們?cè)诃h(huán)境中持續(xù)存在了近18個(gè)月(我們最終被踢出是因?yàn)槲覀凂v留的服務(wù)器被他們的IT團(tuán)隊(duì)在技術(shù)生命周期升級(jí)過程中退役)。改進(jìn)響應(yīng)過程以減少對(duì)手規(guī)避驅(qū)逐的機(jī)會(huì)歸結(jié)于擁有經(jīng)過演練的可靠流程、識(shí)別妥協(xié)范圍的能力以及驗(yàn)證對(duì)手完全根除的能力。
文檔
詳細(xì)描述XDR規(guī)避行為使我們能夠更好地識(shí)別檢測(cè)管道中的哪個(gè)組件失效,更重要的是,我們可以采取什么措施來(lái)修復(fù)它。大多數(shù)規(guī)避行為可以分為觀察(XDR是否發(fā)現(xiàn)了惡意行為)、檢測(cè)(XDR是否將行為正確識(shí)別為惡意)或響應(yīng)(該行為是否導(dǎo)致安全團(tuán)隊(duì)采取了適當(dāng)?shù)捻憫?yīng))。在下次遇到規(guī)避行為時(shí),推動(dòng)使用更具描述性的語(yǔ)言,并看看可以對(duì)你的補(bǔ)救過程進(jìn)行哪些改進(jìn)。
企業(yè)網(wǎng)D1net(hfnxjk.com):
國(guó)內(nèi)主流的to B IT門戶,旗下運(yùn)營(yíng)國(guó)內(nèi)最大的甲方CIO專家?guī)旌椭橇敵黾吧缃黄脚_(tái)-信眾智(www.cioall.com)。旗下運(yùn)營(yíng)19個(gè)IT行業(yè)公眾號(hào)(微信搜索D1net即可關(guān)注)。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需在文章開頭注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。