肖新光
(北京安天網(wǎng)絡(luò)安全技術(shù)有限公司,北京 100195)
習(xí)近平總書記在4·19講話中曾指出“網(wǎng)絡(luò)安全是動態(tài)的、不是靜態(tài)的”,在一個動態(tài)的博弈體系中,并不是簡單地依靠防御者的安全想象,而是基于雙方在持續(xù)的高度對抗和變化中所能產(chǎn)生的能力。在此背景下,就意味著攻擊者會有更多的對防御方能力的預(yù)測、繞過和干擾手段,而相應(yīng)也需要采用一系列的方式進行對抗。
從整體上來看,載荷檢測應(yīng)該在安全檢測防御中居于核心位置,因為無論是怎樣的安全威脅,最終都要轉(zhuǎn)化為目標(biāo)側(cè)的實際動作,而這是要依靠相應(yīng)的代碼來完成的。對于動作代碼、惡意代碼或者第三方工具的檢測,最終將構(gòu)成彈頭(Payload,載荷)檢測模塊。傳統(tǒng)的載荷檢測對抗是依靠檢測引擎進行的,檢測引擎是依靠歸一化的方式設(shè)計的,而傳統(tǒng)的針對載荷檢測的對抗主要是試圖不被檢測分支中的配套規(guī)則命中,或者是穿透檢測引擎的歸一化方式,使得相應(yīng)的載荷不能夠匹配到有效的分支之上。其他方式還包括使傳統(tǒng)的主動防御和檢測機制失能的各種操作,比如,大量的KillAV(反制殺毒)樣本。
傳統(tǒng)對抗的第二個思路是使整個載荷無法被安全產(chǎn)品的IO能力獲取,既然無法被獲取,也就無所謂能否進入到相應(yīng)的格式先導(dǎo)和檢測分支之中。在主機上,通常把這種技術(shù)稱為Rootkit。
AET(Advanced Evasion Technique,高級逃逸技術(shù))引發(fā)熱議,在網(wǎng)絡(luò)側(cè)的對抗中,除了針對網(wǎng)絡(luò)側(cè)檢測引擎的檢測規(guī)則和檢測分支的歸一化穿透以外,其他的加密、偽裝、夾帶、分片等手段使得整個檢測機制無法獲得完整的、直接的監(jiān)測對象。
傳統(tǒng)的攻擊點更多的是圍繞著免殺、隱蔽、逃逸和直接對抗展開的,但今天,整個攻擊方在“大玩家入場”后,特別是在國家行為體、政經(jīng)集團和高能力的黑產(chǎn)犯罪團伙介入之后,實際上具備了無與倫比的建設(shè)自身攻擊基礎(chǔ)設(shè)施和承擔(dān)攻擊成本的能力。此時,整體上可攻擊和可對抗的環(huán)節(jié),就不止于用戶側(cè)的能力環(huán)節(jié),而包括“從安全廠商的支撐能力,到用戶的能力下行,再到用戶側(cè)的感知數(shù)據(jù)上行”的大閉環(huán)。在針對廠商的攻擊方面,可以看到已經(jīng)有大量的對威脅情報的擾動,包括類似Ququ(毒曲)2.0直接向卡巴斯基進行相應(yīng)攻擊滲透的事件;在整個安全廠商和用戶側(cè)的能力互動中,還可以看到NSA的CamberDADA計劃以及其他的一些相應(yīng)事件。
圖1 “方程式”組織主機作業(yè)模塊積木圖
在這種可以承擔(dān)高成本的攻防對抗中,攻擊方如何理解、預(yù)測和突破防御方的能力?在針對“方程式”組織的第四篇分析報告[1]中,安天繪制了“方程式組織主機作業(yè)模塊積木圖”,實際上是把“方程式”組織的主機作業(yè)模塊拼成了一個積木圖:
從中可看到“方程式”組織對主機作業(yè)的理解是,對所有操作形成原子化模塊,即要最大限度地把相同的功能分離到不同的DLL上(有可能在實際場景中是通過內(nèi)存加載的),要最小化地觸發(fā)其在主機側(cè)的動作。目前來看,這組能力大概是在2005至2008年期間列入到NSA裝備系列中的,實際上其是針對當(dāng)時主防系統(tǒng)基于行為加權(quán)思路所建立的一種機制。完成這種“原子”操作的模塊,是不足以達(dá)到行為加權(quán)的閾值以觸發(fā)主防系統(tǒng)攔截的。這種對于主動防御的穿透實際上并不是簡單的對規(guī)則層面的穿透,而是對主動防御原理層面的穿透。
強調(diào)態(tài)勢感知的同時,需要看到另外一個問題——攻擊方也同樣在做防御方是否已經(jīng)感知到了其相應(yīng)能力的反感知設(shè)備。CamberDADA計劃實際上是NSA始于2007年的一個計劃,以卡巴斯基為主要目標(biāo),并在全球計劃監(jiān)控23家安全廠商(安天成為其中唯一的一家中國廠商)。如果把其為了建立相應(yīng)能力而針對卡巴斯基所涉及到的一些對象做一個列表(如圖2),其中,包括俄羅斯的電信運營商;其最終所關(guān)注的攻擊目標(biāo),比如,俄羅斯國防產(chǎn)品出口公司、信息與分析技術(shù)研究所;俄羅斯的一些基礎(chǔ)軟件產(chǎn)品廠商,也就是說該計劃可以在其中進行供應(yīng)鏈植入。
圖2 CamberDADA計劃所涉及到的部分對象和攻擊目標(biāo)
在此過程中,該計劃實際上并非通過入侵卡巴斯基而得知卡巴斯基是否已經(jīng)感知其攻擊的,而是發(fā)現(xiàn)了用戶與安全廠商之間互動鏈的脆弱性其實是在運營商側(cè),其中大量的郵件通訊是明文的,因此NSA可以利用自己已經(jīng)擊穿了俄羅斯基礎(chǔ)運營商體系,并且能在其上獲取數(shù)據(jù)的基礎(chǔ),來獲取用戶發(fā)給卡巴斯基的告警郵件。這時,如果在郵件中看到己方樣本,則說明己方行動已經(jīng)暴露;如果發(fā)現(xiàn)有第三方樣本,則可以分析相關(guān)樣本中是否有可利用的后門或者漏洞,也可以把第三方樣本經(jīng)過修改后再投遞給第四方從而制造相應(yīng)的麻煩和障礙。同時,隨著這種攻擊者的能力前出,隨著超級大國前出型的感知能力覆蓋了全球的基礎(chǔ)運營商體系,實際上構(gòu)成了對其本身攻擊側(cè)能力的保護。
過去,我們認(rèn)為反病毒的根本軟肋從來不是所謂的“它是一種基于非黑即白規(guī)則或者特征的檢測技術(shù)”,它歷來都是由黑白名單相結(jié)合,帶有大量特征檢測的技術(shù)體系,但之所以不能有效地應(yīng)對全部的安全載荷風(fēng)險,皆因為反病毒是一種易于獲得的安全資源。一個有精力的攻擊者幾乎可以從互聯(lián)網(wǎng)上公開獲取到所有的反病毒產(chǎn)品,然后進行免殺測試,直到無法檢測出之后再進行投放。但是在當(dāng)前的攻防體系下,在攻擊者能夠承擔(dān)更高攻擊成本的條件下,這種安全產(chǎn)品被獲取、搭建成模擬靶場來進行測試的問題不只限于AV產(chǎn)品,而是覆蓋了所有的安全產(chǎn)品。在超級大國所引導(dǎo)的大量網(wǎng)絡(luò)靶場中,結(jié)合著招投標(biāo)公告和網(wǎng)絡(luò)拓?fù)淝閳螅瑤缀蹩梢阅M大量的敵國或關(guān)聯(lián)國家的關(guān)鍵基礎(chǔ)信息網(wǎng)絡(luò)和其他網(wǎng)絡(luò)系統(tǒng)的防御體系,在這個體系搭建后,再進行相應(yīng)的攻擊。這一問題是值得高度關(guān)注的,而且解決這個問題的方法在于如何建立攻擊者難以預(yù)測的某種安全能力。
安天曾在《2016年網(wǎng)絡(luò)安全威脅的回顧與展望》[2]中寫道“威脅情報不只是防御方資源,威脅情報也是情報威脅,是攻防雙方的公共地帶。同樣的數(shù)據(jù),對防御方來說是規(guī)則和線索,對攻擊方來說則是攻擊資源和痕跡”。比如,在Virus Total(VT)上運行著全球幾乎所有具有惡意代碼檢測能力廠商的引擎,是最成功的安全能力共享平臺和威脅情報體系之一,但是從某種意義上,其構(gòu)成了同時影響所有主流廠商的干擾量的注入手段。
在這種復(fù)雜的基礎(chǔ)條件下,在安全能力可以被高度預(yù)測的情況下,需要一系列方法來降低攻擊者對客戶側(cè)所具備的實際安全防御能力的可預(yù)測性和改善相應(yīng)的安全價值。
態(tài)勢感知與SIEM和SOC的區(qū)別:SIEM和SOC是在傳統(tǒng)的基礎(chǔ)安全能力上建立起的日志聚合,而態(tài)勢感知實際上是根據(jù)感知需求反向去思考端點側(cè)和主機側(cè)的要素采集需求,因此可以建立全要素采集的能力,比如,把五元組擴展到十三元組;不再區(qū)分有毒格式和無毒格式,而對所有格式建立起相應(yīng)的解析。
傳統(tǒng)的檢測引擎實際上是基于對象來生成相應(yīng)的黑白判定,但當(dāng)前僅靠這種模式的問題在于,檢測是有條件的,意味著對不報警的載體放行,但分析是無條件的,所以下一代的威脅檢測引擎,實際上是將其作為分析器的成分增加,針對每一個對象都形成一個相應(yīng)的向量空間。
當(dāng)檢測引擎針對對象拆解出數(shù)百個向量之后,一定是在這些向量的基礎(chǔ)上做出相應(yīng)的單體判定,也就是我們所說的靜態(tài)向量轉(zhuǎn)化為行為屬性標(biāo)簽,這是下一代威脅檢測引擎的一項工作。但是從整個防御體系來看,這是不夠的,因為向量向行為標(biāo)簽轉(zhuǎn)化是基于確定性的能力,這對于攻擊者而言也是一樣的。實際上其不可預(yù)測性在于,每一個文件所生成的對象向量不都具備標(biāo)簽轉(zhuǎn)化價值,一些向量可以是無意義的,但是其本身可以構(gòu)成主機所有對象的一個向量集合,在與主機場景向量疊加之后,匯入到一個整體的向量大數(shù)據(jù)中,從而形成整個系統(tǒng)的向量。而攻擊者在實際的攻擊預(yù)測中,最具備可模擬性的恰恰是安全產(chǎn)品本身的能力,而最不具備可模擬性的恰恰是用戶的使用群體、使用習(xí)慣和使用狀態(tài)。所以,在這種數(shù)據(jù)所形成的畫像之后,即使攻擊者搭建了一個模擬環(huán)境,也不會生成類似或者高度一致的基礎(chǔ)數(shù)據(jù)。由于場景的差異化和大量向量的無意義化所最終形成的相應(yīng)數(shù)據(jù)挖掘價值才是整個防御模型個性化的關(guān)鍵。
安全廠商本身可以把其中的一部分能力確定性地從向量轉(zhuǎn)化為威脅標(biāo)簽之后,下一代反病毒引擎或者產(chǎn)品的關(guān)鍵是把其所能形成的向量能力全部開放給用戶,用戶可以在任意一個向量分支節(jié)點、向量的組合以及組合之間的邏輯關(guān)系上來定制相應(yīng)的規(guī)則,這些規(guī)則可以生成結(jié)果,也可以生成相應(yīng)的知識標(biāo)簽,最后達(dá)成基于向量分析和標(biāo)簽聚合的檢測能力。由于這種模型是在用戶場景下形成的,因此大量的規(guī)則是依靠客戶自身的安全經(jīng)驗所維護的,基于高度的客戶賦能,就形成了攻擊者難以預(yù)測的安全能力。
基于傳統(tǒng)的信譽分析和其他算法生成一個初始解析的向量空間,然后進行人工智能的向量標(biāo)簽篩選,形成私有化規(guī)則服務(wù),最后形成客戶側(cè)私有的安全能力和事件匹配結(jié)果。
以主機側(cè)場景舉例,假定我們采用了一個哈希的白名單機制,就意味著任何一個由微軟官方發(fā)布的文件都應(yīng)該被視為可信對象,但文件信譽不能簡單地由廠商側(cè)白名單決定,也不能僅僅依靠簽名進行判斷,一定要有相應(yīng)的場景規(guī)則,這種場景規(guī)則結(jié)合了終端分布(原則上來看,一個威脅不可能在短時間內(nèi)感染到全部的節(jié)點)、行為一致性(即使在客戶側(cè)有專有的應(yīng)用,其也應(yīng)該產(chǎn)生相對一致的行為預(yù)期,假定某個應(yīng)用產(chǎn)生了不一致的行為預(yù)期,就有可能是受到了攻擊)與使用的群體相匹配(程序的行為畫像是與主體的、使用者的行為畫像相一致的)等要求。
如果沒有深刻的工程師所形成的基礎(chǔ)的、前置型的積累和預(yù)制的知識,而僅是簡單地在大數(shù)據(jù)或樣本集合上疊加機器學(xué)習(xí)和人工智能算法,無論何種算法都不可能是有效的。同時,其最終的目標(biāo)并不是產(chǎn)生有效的判定率或者是降低誤報率,而是要和安全業(yè)務(wù)進行實際的融合。
對于攻擊者而言,任意一個安全產(chǎn)品不管使用了多么復(fù)雜的算法,都不可能抵抗現(xiàn)在的逆向工程。安全廠商只有一個更為龐大的位于自有云端的支撐體系和團隊,才能形成有效的支撐,這即是我們所講的“安全廠商應(yīng)該是一個冰山”,所有用戶可見的安全能力,包括產(chǎn)品和服務(wù),其實是水面上的部分,而水面下的部分是其所建立的對感知、捕獲、威脅對象分析的相應(yīng)積累。因此,安全廠商需要一個強大的后端支撐體系。僅僅對載荷進行持續(xù)分析,每日可以消化百萬量級新增文件的流水線體系已經(jīng)不能有效覆蓋如今的威脅,而如今所需要的后端體系實際上是,把前端感知、載荷捕獲和分析,以及整個的數(shù)據(jù)產(chǎn)出和回饋結(jié)合在一起的體系。
在水面之上的是相關(guān)的安全產(chǎn)品,其中的威脅檢測引擎以及相關(guān)的功能構(gòu)成了從有效防護到資產(chǎn)監(jiān)測,到情報服務(wù)和事件響應(yīng)的能力,但是其后端要有全球化的網(wǎng)絡(luò)支撐體系、基礎(chǔ)的支撐環(huán)境、人機協(xié)作的對抗性平臺,以及相關(guān)的威脅情報系統(tǒng)。
關(guān)于如何解決威脅情報的公共性和威脅情報也是情報威脅的問題,其實,威脅情報的本質(zhì)不是每人買一個賬號進行公共查詢,在該方式下,威脅情報很簡單地就變成了攻防雙方的公共資源地帶。從廠商的威脅情報供給來看,應(yīng)該采用一種差異化向客戶輸出的手段,而類似于沙箱或者蜜網(wǎng)的產(chǎn)品不應(yīng)該被簡單地看作是增強的判定器和分析工具,而是要將其轉(zhuǎn)化為有效的能為客戶產(chǎn)生私有化威脅情報的平臺。
從整個威脅情報來看,實際上,其所具備的是向客戶進行有效威脅聚類的能力,而這種聚類實際上是可以用來分析威脅的有效性的,比如,對銀行而言,我們并非簡單地提供給銀行用戶其所面臨的惡意代碼的“白防”,而是在基于后臺對這些惡意代碼進行深入分析之后,可以評價每一種惡意代碼對其網(wǎng)銀防護手段的相應(yīng)威脅。
安全廠商需要有能力完成戰(zhàn)略的預(yù)判,對威脅的前置性預(yù)判可使防御者預(yù)判安全趨勢和攻擊者將要采取的行為,只有這樣才能有效地決定布防點,這其中既有戰(zhàn)略性的也有戰(zhàn)術(shù)性的。例如網(wǎng)絡(luò)軍火和勒索蠕蟲,鑒于網(wǎng)絡(luò)攻擊技術(shù)所存在的極低的復(fù)制成本的特點,當(dāng)前已經(jīng)存在嚴(yán)峻的網(wǎng)絡(luò)軍備擴散風(fēng)險,但對于缺少足夠的安全預(yù)算、難以承擔(dān)更多安全成本的國家、行業(yè)和機構(gòu)來說,會面臨巨大的挑戰(zhàn)。因此,超級大國能否合理控制自身網(wǎng)絡(luò)軍備發(fā)展的速度和規(guī)模,并對因自身未有效履行責(zé)任而使網(wǎng)絡(luò)領(lǐng)域發(fā)生可能的軍備擴散,進行有效地干預(yù)和控制,是我們能否達(dá)成一個更安全的網(wǎng)絡(luò)世界的關(guān)鍵因素。我們看到了相關(guān)的Exploit儲備和攻擊思路流入到網(wǎng)絡(luò)犯罪組織、甚至恐怖主義組織的可能性,而在2017年1月的網(wǎng)絡(luò)威脅年報中我們明確預(yù)言“勒索模式帶動的蠕蟲的回潮不可避免?!?/p>
如今,我們需要建立攻擊者難以預(yù)測的在客戶側(cè)部署的安全能力,但是我們不認(rèn)為這種安全能力是用戶要求安全廠商定制出來的,而必須是基于標(biāo)準(zhǔn)化的安全產(chǎn)品完成的,反標(biāo)準(zhǔn)化實際上就是反生產(chǎn)力。如何使標(biāo)準(zhǔn)化的安全產(chǎn)品產(chǎn)生攻擊者難以預(yù)測的安全能力要依靠:
? 廠商本身具備深度的能力,并且能夠?qū)崿F(xiàn)客戶賦能;
? 廠商本身具有龐大的后端支撐體系來增加攻擊者對該體系進行逆向工程的難度;
? 需要在客戶側(cè)通過私有化的部署建立客戶側(cè)私有化的經(jīng)驗和數(shù)據(jù);
? 需要把其所擁有的威脅情報差異化地分享給用戶,并且使自身的產(chǎn)品能力在用戶側(cè)具有威脅情報的二次生產(chǎn)價值。
實際上,在從體系架構(gòu)到被動防御,到主動防御,再到情報獲取的階段中,可以看到:架構(gòu)安全解決安全本身的縱深性問題,被動防御使得其中的安全環(huán)節(jié)具有不可繞過性,主動防御形成了安全防御的能力彈性,主動防御與威脅情報的結(jié)合以及客戶賦能達(dá)成相應(yīng)的不可預(yù)見性。
[1] 安天:《方程式組織EQUATION DRUG平臺解析——方程式組織系列分析報告之四》:http://www.antiy.com/response/EQUATION_DRUG/EQUATION_DRUG.html.
[2] 安天:《2016年網(wǎng)絡(luò)安全威脅的回顧與展望》:http://www.antiy.com/response/2016_Antiy_Annual_Security_Report.html