如果要為2010年代以來的網(wǎng)絡(luò)安全檢測領(lǐng)域選擇一個關(guān)鍵詞,我們相信“APT” (高級持續(xù)性威脅)入選的概率頗高。從數(shù)字來看,近年來被曝光的APT攻擊事件絕對數(shù)量并不高,但每一起攻擊事件所針對的目標(biāo)都是大眾耳熟能詳?shù)臉I(yè)界巨頭,其中不乏網(wǎng)絡(luò)安全行業(yè)的領(lǐng)跑者RSA、互聯(lián)網(wǎng)行業(yè)領(lǐng)頭羊谷歌、安全防范措施完備的韓國銀行業(yè),甚至是與互聯(lián)網(wǎng)物理隔離的伊朗核設(shè)施系統(tǒng)。人們不禁要問,為什么這些技術(shù)領(lǐng)先、防范嚴(yán)密的組織機(jī)構(gòu),仍然無法躲避APT攻擊?
要回答這個問題,我們需要分析一下APT攻擊的特點。不同于普通黑客散兵游勇式的攻擊,APT是一種為獲取經(jīng)濟(jì)或政治利益而進(jìn)行的有針對性的定向攻擊,其背后往往隱藏著龐大的組織,甚至是國家力量的支持。正如其名稱所體現(xiàn)出來的含義,APT具有兩方面的典型特點:
(1)攻擊手段先進(jìn):相比傳統(tǒng)攻擊手法,APT攻擊具有隱蔽能力強(qiáng)、攻擊空間路徑不確定、攻擊渠道不確定等特點,在攻擊過程中往往采用0Day漏洞進(jìn)行滲透、采用特種木馬進(jìn)行遠(yuǎn)程控制。
(2)攻擊持續(xù)時間長:為了避免攻擊過程引起流量上的明顯異常,典型的APT攻擊為達(dá)到目的都不惜時間成本,一旦入侵成功則長期潛伏,尋找合適的機(jī)會以隱蔽通道的方式外傳敏感信息,在單個時間點上無明顯異常。
反觀當(dāng)前主流安全防御技術(shù),如入侵檢測、防病毒、防火墻等,大都采用以特征匹配、實時檢測、實時阻斷為主的技術(shù)手段,在應(yīng)對APT方面存在以下不足:
(1)不能檢測未知攻擊:傳統(tǒng)特征匹配技術(shù)是建立在對攻擊樣本分析的基礎(chǔ)之上的,總要先獲取惡意代碼的樣本、提取其特征、對特征進(jìn)行編碼描述,才能在檢測設(shè)備上實現(xiàn)有效檢測。因此當(dāng)APT攻擊中采用未知的漏洞利用方法進(jìn)行滲透,或新型木馬進(jìn)行遠(yuǎn)程控制時,現(xiàn)有的檢測設(shè)備將無法識別。
(2)不能進(jìn)行異步檢測:傳統(tǒng)檢測方法是以實時檢測、實時阻斷為主的同步檢測,如果攻擊行為未能被實時檢測出,或者以物理擺渡的方式繞過了邊界,那么就失去了對該攻擊進(jìn)行二次分析的能力。
(3)不支持對攻擊行為的溯源分析:傳統(tǒng)檢測設(shè)備只記錄攻擊行為的報警事件,不記錄攻擊過程的原始數(shù)據(jù)。但在真實網(wǎng)絡(luò)環(huán)境中檢測到一起可疑攻擊行為后,往往需要結(jié)合該可疑行為相關(guān)的上下文原始數(shù)據(jù)來評估攻擊的真實性和造成的后果,從傳統(tǒng)的安全設(shè)備中很難獲取這些對后續(xù)分析有用的數(shù)據(jù)。
從上述分析中可以看到,傳統(tǒng)的檢測工具在檢測技術(shù)和檢測對象這兩方面都比較單一。這在對抗常規(guī)網(wǎng)絡(luò)攻擊時尚能發(fā)揮一定作用,在新興的APT威脅前面卻無能為力。這就是那些因為具備高度經(jīng)濟(jì)價值或特殊政治地位而成為APT目標(biāo)的組織機(jī)構(gòu),雖然采用傳統(tǒng)的防御措施進(jìn)行了嚴(yán)密防范,卻仍然無法對抗APT攻擊的根本原因。為了解決這個問題,我們必須在檢測思路上進(jìn)行創(chuàng)新,全范式檢測框架就應(yīng)運而生了。
本文提到的全范式檢測中的“范式”特指安全檢測分析方法,這里借鑒了已故著名數(shù)據(jù)庫專家、圖靈獎獲得者詹姆士·格雷的理論。詹姆士·格雷將人類科研模式的發(fā)展歷程劃分為4個階段,如圖1所示:
(1)第一范式:數(shù)千年前,科學(xué)研究最初只有實驗科學(xué),科學(xué)家通過經(jīng)驗來解釋自然現(xiàn)象。
(2)第二范式:數(shù)百年來,科學(xué)研究出現(xiàn)了理論科學(xué),運用了各種定律和定理,如開普勒定律,牛頓運動定律,麥克斯韋方程等。
(3)第三范式:近幾十年來,對于許多問題,理論分析方法變得非常復(fù)雜以至于難以解決,人們開始尋求模擬的方法,這就產(chǎn)生了計算科學(xué)。
(4)第四范式:當(dāng)前,出現(xiàn)了將實驗、理論和仿真統(tǒng)一的科研方法,稱為數(shù)據(jù)密集型計算模式。在這種模式中,由軟件處理由各種儀器或模擬實驗產(chǎn)生的大量數(shù)據(jù),并將得到信息或知識存儲在計算機(jī)中,科研人員只需從這些計算機(jī)中分析感興趣的數(shù)據(jù)。
圖1:詹姆士·格雷描述的科研范式
我們把科研方法的發(fā)展歷程,同安全檢測分析的發(fā)展歷程做個對比,就會發(fā)現(xiàn)二者存在驚人的相似性:
(1)在網(wǎng)絡(luò)應(yīng)用尚未大規(guī)模普及、網(wǎng)絡(luò)安全還未成為突出問題的時候,市場上還沒有培育出成熟的安全工具和產(chǎn)品,安全檢測分析主要依賴于安全管理人員的經(jīng)驗。目前仍然廣泛采用的滲透測試、安全咨詢服務(wù)等,仍然是以這種模式運行的。
(2)隨著安全問題的日益普遍,單憑安全管理人員的經(jīng)驗已經(jīng)無法應(yīng)對,迫切需要自動化的檢測分析工具,由此產(chǎn)生了入侵檢測系統(tǒng)、防病毒系統(tǒng)和防火墻等安全產(chǎn)品。這些安全產(chǎn)品的共同點就是對網(wǎng)絡(luò)攻擊行為進(jìn)行分析,提取不同層面的特征(如網(wǎng)絡(luò)層連接特征用于防火墻制定ACL規(guī)則;應(yīng)用層內(nèi)容特征用于提取IDS的匹配規(guī)則;文件級特征用于病毒掃描),對網(wǎng)絡(luò)流量進(jìn)行實時自動化分析。這類安全產(chǎn)品的關(guān)鍵是對攻擊特征的提取和描述,其本質(zhì)是對攻擊行為的建模。
(3)隨著APT的出現(xiàn),攻擊變得越來越復(fù)雜、特征變化越來越快,以攻擊行為建模為基礎(chǔ)的檢測方式漸漸難以應(yīng)對,從而出現(xiàn)了以虛擬執(zhí)行技術(shù)為代表的新型檢測。這種技術(shù)的本質(zhì)是模擬被攻擊者在遭受攻擊后的反應(yīng),這樣無需對攻擊行為建模也能檢測未知的攻擊。
(4)大數(shù)據(jù)技術(shù)的出現(xiàn),將安全檢測分析提升到了新的階段。有了大數(shù)據(jù)平臺的支撐,安全分析人員可以將各類不同類型的檢測數(shù)據(jù),如通過滲透測試得到的漏洞信息、通過傳統(tǒng)檢測設(shè)備產(chǎn)生的報警事件、通過虛擬執(zhí)行得到的可疑攻擊執(zhí)行結(jié)果,進(jìn)行大范圍的匯總和關(guān)聯(lián)。同時,通過長時間的關(guān)聯(lián),安全分析人員可挖掘某臺主機(jī)、某個用戶的行為異常,從而實現(xiàn)不基于簽名的未知攻擊檢測。對于每一條可疑報警,分析人員可以查詢與該報警相關(guān)的各類數(shù)據(jù),從而確定報警真實性、攻擊源,評估攻擊造成的危害。
從上述分析中可以看到,安全檢測分析方法的發(fā)展歷程,與詹姆士?格雷概括的科學(xué)研究范式間存在著一一對應(yīng)的關(guān)系。本文所述的全范式檢測框架,是以大數(shù)據(jù)平臺為基礎(chǔ),綜合采用包括滲透測試、特征匹配、虛擬執(zhí)行、異常檢測等技術(shù)在內(nèi)的各類檢測范式,實現(xiàn)從發(fā)現(xiàn)可疑點,到確認(rèn)攻擊行為,再到攻擊溯源和攻擊后果評估的完整檢測分析過程。
在討論完檢測技術(shù)后,我們再來看一下檢測對象。目前主流的檢測產(chǎn)品中,所針對的檢測對象都是數(shù)據(jù)包(Packet)內(nèi)容。例如對于IDS系統(tǒng),需要從數(shù)據(jù)包中還原出應(yīng)用數(shù)據(jù)后進(jìn)行特征匹配;對于虛擬執(zhí)行設(shè)備,需要從數(shù)據(jù)包中還原出具體的對象(文件或URL)并進(jìn)行加載。那么除了數(shù)據(jù)包外,是否還存在其他尚待分析的檢測對象呢?從更加抽象和更加具體兩方面出發(fā),還存在以下兩類對象:
(1)網(wǎng)絡(luò)流(Flow):網(wǎng)絡(luò)流是對數(shù)據(jù)包的抽象描述,它不關(guān)注一次網(wǎng)絡(luò)連接的有效載荷,只關(guān)注網(wǎng)絡(luò)連接的概要描述信息,如源地址、目的地址、源端口、目標(biāo)端口、上行流量、下行流量、標(biāo)志位等。傳統(tǒng)的Netflow就是網(wǎng)絡(luò)流的典型代表。
(2)應(yīng)用(Application):應(yīng)用是數(shù)據(jù)包更具體的表現(xiàn),它不僅關(guān)注網(wǎng)絡(luò)連接的具體載荷,還需要按照連接所承載的應(yīng)用類型對載荷進(jìn)行細(xì)粒度解析。例如對于HTTP應(yīng)用,需要解析出主機(jī)名、URI、Referer、請求方法、狀態(tài)碼、文件長度、MIME類型等,傳統(tǒng)的應(yīng)用審計就是基于這類對象實現(xiàn)的。
由于不同類型對象的結(jié)構(gòu)、所包含的信息量存在較大的差異,所適用的檢測技術(shù)也是不一樣的。對網(wǎng)絡(luò)流而言,其本身不包含有效負(fù)載信息,無法進(jìn)行特征匹配檢測,但流信息本身是高度結(jié)構(gòu)化的統(tǒng)計數(shù)據(jù),特別適合進(jìn)行統(tǒng)計分析,因此可采用對象建模的方法進(jìn)行異常檢測。對于數(shù)據(jù)包而言,目前特征匹配的方法已經(jīng)應(yīng)用的非常廣泛了,還出現(xiàn)了以虛擬執(zhí)行為代表的新型檢測方式。對于應(yīng)用而言,其最大的特點是包含了上層業(yè)務(wù)信息,可實現(xiàn)結(jié)合業(yè)務(wù)規(guī)則的違規(guī)業(yè)務(wù)行為檢測,例如對于數(shù)據(jù)庫訪問業(yè)務(wù),可限制用戶讀取的表、字段,以及返回的記錄條數(shù)。
除了檢測技術(shù)的不同,這三類對象在處理開銷、分析結(jié)果精度上面也存在較大差異。一般而言,對于同樣的帶寬,處理流的計算開銷最小,處理應(yīng)用的開銷最大。但從檢測準(zhǔn)確度來看,對流的處理只能采用異常檢測的方法,其漏報率和誤報率都較高;對包的處理需要進(jìn)行特征匹配,或提取出文件進(jìn)行虛擬執(zhí)行,在不考慮環(huán)境因素的條件下誤報率較低;對應(yīng)用數(shù)據(jù)的處理需要解析到具體的應(yīng)用層協(xié)議內(nèi)容,一旦匹配誤報的概率最低,因此檢測的準(zhǔn)確度也最高。表1比較了這三類對象之間的差別。
表1 不同檢測對象間的差異
本文把針對網(wǎng)絡(luò)流、數(shù)據(jù)包和應(yīng)用這三類對象的不同安全檢測方案,稱為分檔安全策略。需要說明的是,基于不同對象的檢測方案之間是互補的關(guān)系,而非競爭關(guān)系。基于流的檢測雖然準(zhǔn)確度不如另外兩類檢測方案高,但異常檢測技術(shù)的采用卻有可能實現(xiàn)對未知攻擊的檢測;基于應(yīng)用的檢測雖然成本高,卻最有可能發(fā)現(xiàn)那些表面看似正常的違規(guī)操作,例如攻擊者通過身份偽造訪問業(yè)務(wù)系統(tǒng)。在實際環(huán)境中需要綜合使用各類檢測對象和檢測方案,一個大的原則是用成本低的方案過濾大部分低級別攻擊,而將開銷大的方案用于少量高級別攻擊的檢測。
將檢測技術(shù)和檢測對象結(jié)合,我們可以得到全范式檢測框架,如表2所示:
表2 全范式檢測框架
網(wǎng)絡(luò)流數(shù)據(jù)包應(yīng)用
第四范式 數(shù)據(jù)密集型計算基于網(wǎng)絡(luò)流的可疑網(wǎng)絡(luò)連接檢測基于數(shù)據(jù)包的取證和攻擊溯源異常業(yè)務(wù)模式檢測與挖掘
第三范式 模擬、仿真虛擬執(zhí)行、 模擬仿真模擬業(yè)務(wù)訪問
第二范式 模型、特征異常流量檢測特征匹配、 敏感內(nèi)容檢測應(yīng)用審計
第一范式 嘗試、實驗流量牽引和分析滲透測試、 事件響應(yīng)分析源代碼審計、 業(yè)務(wù)架構(gòu)分析
全范式檢測框架改變了當(dāng)前以實時檢測、實時阻斷為主的防御機(jī)制,組成了全方位縱深防御體系。由于有了更豐富的檢測方法和檢測對象,安全分析人員不僅可以識別已知攻擊,還能夠通過異常檢測發(fā)現(xiàn)未知攻擊;不僅能夠?qū)σ淮喂粜袨橛|發(fā)的各類報警事件進(jìn)行關(guān)聯(lián)分析,還能夠進(jìn)行攻擊場景溯源和取證分析;這些僅憑單一的檢測技術(shù)和檢測對象是無法實現(xiàn)的。
下面以APT攻擊檢測為例,說明全范式框架的應(yīng)用場景。典型的APT攻擊可分為6個階段,如圖2所示。全范式檢測在各個階段中所發(fā)揮的作用如下:
圖2 基于全范式框架的APT檢測
(1)情報收集:如果攻擊者采用通用的掃描工具進(jìn)行漏洞發(fā)現(xiàn),可基于特征匹配的方法進(jìn)行檢測;反之如果攻擊者采用慢掃描等方式隱蔽其目的,可基于長時間的網(wǎng)絡(luò)流進(jìn)行異常流量檢測,識別可疑網(wǎng)絡(luò)掃描行為。
(2)獲取入口:如果采用Nday的漏洞進(jìn)行滲透,可用基于特征匹配的入侵檢測設(shè)備進(jìn)行檢測;如果采用的是0day的漏洞,可采用基于虛擬執(zhí)行的方式檢測未知惡意代碼。
(3)遠(yuǎn)程控制:如果采用的是已知木馬后門程序,可基于特征匹配的方法進(jìn)行C&C通道檢測;如果采用未知的特種木馬,可利用網(wǎng)絡(luò)流基于木馬C&C通道特征進(jìn)行可疑連接檢測。
(4)橫向轉(zhuǎn)移:如果攻擊者猜測其它主機(jī)賬號口令,會存在異常訪問行為,可基于登錄失敗報警進(jìn)行檢測;如果通過跳板主機(jī)上已存儲的賬號口令直接訪問業(yè)務(wù)系統(tǒng),那么其業(yè)務(wù)操作與正常用戶也會存在較大差異,可通過異常業(yè)務(wù)模式挖掘的方式進(jìn)行檢測;此外還可以通過設(shè)置蜜罐的方式對被保護(hù)的業(yè)務(wù)系統(tǒng)進(jìn)行模擬仿真,吸引攻擊者的注意,將其引入蜜罐后對后續(xù)入侵行為進(jìn)行持續(xù)跟蹤。
(5)發(fā)現(xiàn)目標(biāo):對于攻擊者在目標(biāo)主機(jī)上的攻擊行為,如安裝木馬后門、遍歷文件系統(tǒng)、數(shù)據(jù)打包等,可基于終端異常行為檢測的模式進(jìn)行識別;
(6)數(shù)據(jù)外傳:如果攻擊者未對傳輸?shù)臄?shù)據(jù)進(jìn)行加密或編碼,可基于數(shù)據(jù)包進(jìn)行敏感內(nèi)容檢測;反之可基于傳輸通道的特征,例如是否存在可疑加密行為、是否進(jìn)行了隧道封裝、協(xié)議格式是否合規(guī)等,基于網(wǎng)絡(luò)流進(jìn)行可疑連接檢測。
從上述分析可以看到,雖然APT攻擊具備很強(qiáng)的隱蔽性,難以進(jìn)行實時檢測,但由于其整個攻擊鏈環(huán)節(jié)眾多、持續(xù)周期長,在每個步驟上都會有一些蛛絲馬跡可供挖掘。如果檢測人員基于全范式檢測框架,采用特征檢測和異常檢測相結(jié)合的方式,對網(wǎng)絡(luò)流、數(shù)據(jù)包和業(yè)務(wù)系統(tǒng)的訪問信息進(jìn)行全方面的審查,形成檢測的閉環(huán),并通過大數(shù)據(jù)平臺對可疑行為進(jìn)行上下文關(guān)聯(lián)和取證溯源,是有可能實現(xiàn)APT攻擊行為檢測的。
全范式檢測框架的出現(xiàn),在深度和廣度兩個層面上深刻影響了傳統(tǒng)檢測產(chǎn)品。從深度上看,以虛擬執(zhí)行、模擬仿真、異常檢測為代表的新型檢測范式的出現(xiàn),彌補了單一特征匹配的不足;從廣度上看,網(wǎng)絡(luò)流和應(yīng)用這兩類檢測對象的引入,使得檢測的覆蓋面更為廣泛。這些改進(jìn)提升了傳統(tǒng)檢測產(chǎn)品的檢測能力、分析能力和溯源能力,使得對抗APT攻擊成為可能。
在實際網(wǎng)絡(luò)環(huán)境中,要想充分發(fā)揮全范式檢測的能力,形成檢測的閉環(huán),實現(xiàn)整合優(yōu)勢,需要關(guān)注不同檢測方案間的聯(lián)動和不同類型數(shù)據(jù)間的關(guān)聯(lián)。這方面還有一系列技術(shù)有待優(yōu)化,例如虛擬執(zhí)行環(huán)境自動配置、虛擬資源調(diào)度、可疑行為建模分析、異構(gòu)數(shù)據(jù)存儲、異構(gòu)報警關(guān)聯(lián)等。相信隨著技術(shù)的進(jìn)一步完善,全范式檢測框架將在APT對抗中發(fā)揮更為積極的作用。