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