文獻標識碼:A
DOI: 10.19358/j.issn.2096-5133.2018.07.003
中文引用格式:劉文懋,劉威歆.基于軟件定義安全的企業(yè)內(nèi)網(wǎng)威脅誘捕機制[J].信息技術(shù)與網(wǎng)絡(luò)安全,2018,37(7):9-12,32.
0 引言
當前網(wǎng)絡(luò)信息技術(shù)在國防、社會、經(jīng)濟等各領(lǐng)域的應(yīng)用日益廣泛和深入,隨著《網(wǎng)絡(luò)安全法》的頒布,企業(yè)等機構(gòu)的信息安全保障成為一項重要的任務(wù)。同時,各種網(wǎng)絡(luò)安全事件頻發(fā),攻防對抗形勢日趨嚴峻。以往的安全防護思路和實踐,如固化邊界、過度重視部署安全機制卻輕視效果,已被證明不適于當前新型、定向的惡意攻擊,故在以企業(yè)為代表的內(nèi)部環(huán)境的安全防護中,亟需轉(zhuǎn)換思路,以快對快,以變對變。本文提出了一種基于軟件定義的安全協(xié)同機制,按需求在終端側(cè)部署誘餌服務(wù),并以服務(wù)和應(yīng)用為粒度建立微分段(Micro-segmentation)圍欄,在運行時根據(jù)行為分析建立安全上下文(Security Context),并相應(yīng)調(diào)整誘捕服務(wù)的地圖和邊界分布。與傳統(tǒng)蜜罐技術(shù)相比,該誘捕機制重在控制平面的決策和協(xié)同,具有智能、動態(tài)和敏捷的特點,及時發(fā)現(xiàn)攻擊者攻擊鏈中的行為,并進行觀察、跟蹤,對其影響范圍進行隔離和有效控制。
1 相關(guān)工作
2012年,文獻[1]最先提出軟件定義安全,通過分離安全數(shù)據(jù)平面與控制平面,將安全設(shè)備與其接入模式、部署方式、實現(xiàn)功能進行解耦,頂層統(tǒng)一通過軟件編程的方式進行智能化、自動化的業(yè)務(wù)編排和管理,以完成相應(yīng)的安全功能,從而實現(xiàn)靈活的安全防護機制以應(yīng)對軟件定義數(shù)據(jù)中心和新型IT系統(tǒng)的安全防護需求。
蜜罐(Honeypot)技術(shù)[2]是誘騙攻擊者上鉤的一種欺騙(Deception)技術(shù),隨著虛擬化技術(shù)的發(fā)展,欺騙技術(shù)越來越多地開始使用虛擬機[3],靈活地在網(wǎng)絡(luò)各處啟動虛擬的蜜罐系統(tǒng)。
在異常檢測方面,終端側(cè)由于部署的殺毒軟件存在如過度依靠樣本特征、消耗大量資源、無法有效檢測零日威脅等弱點,目前業(yè)界已經(jīng)轉(zhuǎn)向終端檢測響應(yīng)(Endpoint Detection and Response,EDR)[4],通過對終端中進程的行為進行分析,找到異常的行為。此外在網(wǎng)絡(luò)側(cè),網(wǎng)絡(luò)流量分析技術(shù)(Network Traffic Analytics,NTA)[5]結(jié)合網(wǎng)絡(luò)上傳輸數(shù)據(jù)的統(tǒng)計特征、數(shù)據(jù)載荷和還原的應(yīng)用文件等信息,分析其所代表的主機、進程等行為,進而定位到攻擊者如偵查、橫向移動或竊取數(shù)據(jù)等階段。
在邊界隔離方面,Google提出了一種零信任模型BeyondCorps[6],在企業(yè)內(nèi)網(wǎng)中實現(xiàn)了無需防火墻即可將訪問控制策略應(yīng)用于內(nèi)部網(wǎng)絡(luò)中兩點的通信;云安全聯(lián)盟CSA提出了軟件定義邊界(Software Defined Perimeter,SDP)[7],并制定了標準2.0。SDP將訪問控制的數(shù)據(jù)平面和控制平面分開,使得任何兩點間的訪問控制需要集中的SDP控制器決定,從而使訪問控制變得全局一致。
無論是欺騙技術(shù),還是訪問控制,都是在特定場景下的工作在數(shù)據(jù)平面的一種具體技術(shù),要快速準確誘捕攻擊者,還需在控制平面靈活選擇策略并下發(fā)到數(shù)據(jù)平面,因而軟件定義是一種可借鑒的思路。
2 誘捕模型
2.1 系統(tǒng)模型
軟件定義的內(nèi)部威脅誘捕框架如圖1所示,包含了應(yīng)用層、編排層、控制層和資源層。其中,應(yīng)用層包含了不同用途的安全應(yīng)用,分析攻擊者的所處階段并作出決策;編排層的核心是編排引擎,根據(jù)相應(yīng)應(yīng)用下發(fā)的策略組織邏輯關(guān)系,并發(fā)送到控制層;控制層提供了資源組織和數(shù)據(jù)分析的能力,將安全策略發(fā)向?qū)?yīng)的安全設(shè)備或終端代理;資源層包含了部署在網(wǎng)絡(luò)側(cè)的安全設(shè)備,以及部署在終端側(cè)的安全代理,用于誘捕、檢測和處置攻擊者。
2.2 應(yīng)用模型
應(yīng)根據(jù)業(yè)務(wù)重要程度和業(yè)務(wù)相關(guān)程度自動調(diào)整誘餌的分布,本節(jié)先定義了這兩個指標。
設(shè)當前網(wǎng)絡(luò)環(huán)境下主機列表{Hi},以及主機上開設(shè)的服務(wù){(diào)Hi, {sij}},并可通過網(wǎng)絡(luò)流量探針收集給定網(wǎng)絡(luò)中的網(wǎng)絡(luò)流量{P(sij,skl)}和網(wǎng)絡(luò)連接{C(sij,skl)},如圖2所示。
在偵查階段,攻擊者往往會優(yōu)先尋找有脆弱性的主機或設(shè)備,以便利用漏洞入侵到計算資源;在橫向移動階段,攻擊者又會嘗試尋找具有重要價值的服務(wù),或?qū)ふ铱拷@些服務(wù)的中間主機或設(shè)備,所以可通過定義業(yè)務(wù)吸引度,構(gòu)造當前階段對攻擊者而言最愿意攻擊的誘餌服務(wù)。
定義1:業(yè)務(wù)吸引度是指攻擊者試探某個業(yè)務(wù)系統(tǒng)i的意愿度,定義業(yè)務(wù)吸引度Ai = ∑ sij ⊕ P(sij,skl)⊕C(sij,skl)
定義2:設(shè)節(jié)點Ni有服務(wù){(diào) sij },則與Ni的關(guān)聯(lián)服務(wù)為R(i)={C(sij,skl), C(sij,skl)>0}
關(guān)聯(lián)服務(wù)刻畫了與誘捕服務(wù)有網(wǎng)絡(luò)連接的其他服務(wù),這些服務(wù)同樣也可以被設(shè)置為誘捕服務(wù),以增強欺騙環(huán)境的廣度和真實度。
3 誘捕機制
本節(jié)將介紹整個誘捕機制的各階段的狀態(tài)遷移,然后分別介紹每個階段的處置機制。
3.1 狀態(tài)遷移圖
整個誘捕機制分為設(shè)置誘餌、建立圍欄、跟蹤還原、調(diào)整圍欄和誘餌、守望掃尾五個階段,如圖3所示。圖1中的各個應(yīng)用根據(jù)環(huán)境上下文下發(fā)策略,策略生效后可實現(xiàn)多個階段之間的動態(tài)切換。
例如,應(yīng)用A可根據(jù)收集的信息和分析結(jié)果將相應(yīng)策略P=(S, O, a, t, p) 下發(fā)到編排層,其中,S為策略執(zhí)行主體,O為策略執(zhí)行對象,a為策略執(zhí)行動作,t為策略下發(fā)時間,p為優(yōu)先級。編排引擎可根據(jù)當前收到的策略集{Pi}決定當前所處處置階段,并按編排結(jié)果下發(fā)相關(guān)的策略。
整個過程是閉環(huán)的,當對一次攻擊完成分析取證后,對整個環(huán)境進行清理,將策略進行優(yōu)化后,可重新設(shè)置誘餌和建立圍欄。
3.2 設(shè)置誘餌
設(shè)置誘餌主要由欺騙應(yīng)用完成,包含兩個步驟:學習現(xiàn)有系統(tǒng)以及部署誘餌。
對于攻擊者而言,業(yè)務(wù)吸引度高的節(jié)點通常為開設(shè)服務(wù)多或自存有較多信息量的數(shù)據(jù),又或與其他節(jié)點存在連接,故可啟發(fā)性地建立若干參數(shù)。
欺騙應(yīng)用通過終端代理收集信息,可選擇n個業(yè)務(wù)吸引度最大的節(jié)點N ={ Nk = argmax(Ai) },以及與之連接的節(jié)點{ Mj:C( sjm,skn ) > 0 }。將節(jié)點集合N合并為m個節(jié)點M={ Mk },m≤n。
假設(shè)可將正常工作的服務(wù)容器化,這樣可以選定m個節(jié)點,并容易在其上部署M中對應(yīng)的服務(wù),而這些服務(wù)則是誘餌服務(wù)。
如N中部署服務(wù)與其他節(jié)點的服務(wù)連接,則也選擇額外的節(jié)點通過容器啟動相關(guān)聯(lián)的誘餌服務(wù)R(i)。
由于沒有采用傳統(tǒng)的網(wǎng)絡(luò)蜜罐,而是在現(xiàn)有主機上部署基于容器的誘餌服務(wù),因此攻擊者并不能簡單區(qū)分哪些是虛假服務(wù),哪些是真實應(yīng)用。由于事先做了合并,因此虛假的M個節(jié)點吸引度更高,更容易誘使攻擊者入侵。
由于使用了容器技術(shù),即便在真實主機上也可以模擬誘捕服務(wù),即便攻擊者攻破了誘捕服務(wù)所在的容器,也不能破壞真實宿主機上的其他正常業(yè)務(wù)。
此外,欺騙應(yīng)用會在網(wǎng)絡(luò)設(shè)備或主機安全代理上設(shè)置響鈴?fù)ㄖ?,當攻擊者嘗試探測誘餌服務(wù),或在攻克誘餌主機進行橫向移動時,控制層和上層應(yīng)用就會得到通知。
3.3 建立圍欄
在設(shè)置誘餌階段,除了管理員部署的邊界規(guī)則外,節(jié)點之間并沒有額外的訪問控制限制。
而當獲得節(jié)點Ni誘餌服務(wù)sij的觸鈴?fù)ㄖ?,隔離應(yīng)用可啟動當前環(huán)境啟用隔離機制,在觸鈴主機或服務(wù)與其他主機的服務(wù)間默認建立圍欄,可用兩端主機的防火墻下發(fā)訪問控制策略,以防止攻擊者攻破誘餌服務(wù)后進一步滲透到正常主機,也避免誘捕服務(wù)影響到正常業(yè)務(wù)。
但同時,隔離應(yīng)用會允許與sij正常連接的誘餌服務(wù)的連接,即將P(i)={ ∪ sij ∪ skl(i)|{ C ( sij,skl ), C( sij,skl ) > 0 }組成的集合邊緣作為邊界。這樣攻擊者在攻陷Ni后,還可看到相鄰?fù)負浣M成的高真實度業(yè)務(wù)環(huán)境,并繼續(xù)滲透;同時防守者在下一步跟蹤攻擊者行跡時減少被暴露的風險。
3.4 跟蹤還原
檢測應(yīng)用會在主機側(cè)和網(wǎng)絡(luò)側(cè)持續(xù)分析進程或流量的行為,當欺騙應(yīng)用通知出現(xiàn)疑似入侵,或檢測應(yīng)用發(fā)現(xiàn)某個子網(wǎng)存在異常流量或某個主機上存在可疑進程時,跟蹤還原的引擎會被激活。
控制器收集了從終端安全代理記錄的所有進程的啟動、訪問注冊表和網(wǎng)絡(luò)連接等信息,也保留了從在網(wǎng)絡(luò)側(cè)設(shè)備上傳的流量信息。因而,檢測應(yīng)用可以根據(jù)到受害主機之前的網(wǎng)絡(luò)連接還原出攻擊者的上一個跳板機,以此類推最終還原出攻擊者的攻擊路徑;同時,通過分析終端側(cè)的進程行為,也可以進一步刻畫出攻擊者使用的攻擊手法和攻擊武器。由于行為檢測主要為EDR(Endpoint Detection and Response)和NTA(Network Traffic Analytics)的研究范疇,本文不做贅述。
3.5 調(diào)整圍欄
如果檢測應(yīng)用發(fā)現(xiàn)攻擊者,但還沒有收集到足夠多的攻擊者信息,如可指示攻擊者身份的TTP(Tactics, Techniques and Procedures)類型的IoC(Indicator of Compromise),則通知隔離應(yīng)用擴大誘捕面積。
隔離應(yīng)用計算與當前攻擊者拓撲最近的若干誘餌集合N中其他節(jié)點{Nj},將Ni與{Nj}合并,并更新邊界為P′=P(i)∪{ P(j)}。但計算時,需確保{Nj}中服務(wù)的類型與Ni的服務(wù)差異較大。
攻擊者在橫向移動的時候,會發(fā)現(xiàn)更多的誘餌服務(wù),誘餌服務(wù)的差異化可誘使攻擊者執(zhí)行不同的指令,以暴露其行為習慣和常用武器庫特征。
3.6 收網(wǎng)掃尾
檢測應(yīng)用通過誘使攻擊者在端點執(zhí)行試探指令和攻擊載荷,收集到足夠的攻擊者TTP信息。同時,通過關(guān)聯(lián)攻擊者在攻擊鏈不同階段的行為,完成對攻擊的取證和朔源,則可通知清理應(yīng)用進行收網(wǎng)。一方面,清理應(yīng)用需要切斷攻擊者在攻擊路徑上的所有節(jié)點,停止相關(guān)的網(wǎng)絡(luò)連接、數(shù)據(jù)傳輸,清除現(xiàn)有或潛在的威脅;另一方面,清理應(yīng)用通過檢測應(yīng)用整理所有完整性被改變的主機、應(yīng)用和數(shù)據(jù)等資產(chǎn),將其還原為攻擊前的版本。
具體地,清理應(yīng)用首先銷毀所有與攻擊者有交互的誘捕服務(wù),并刪除服務(wù)使用的卷或其他持久化數(shù)據(jù);然后重新進入設(shè)置誘餌階段,通過微調(diào)誘餌服務(wù)Ni及Ri和邊界Pi,使得整體的誘餌服務(wù)業(yè)務(wù)吸引度依然較高,但誘餌服務(wù)sij的拓撲和形態(tài)較上次已有全然不同。
3.7 誘捕機制分析
在架構(gòu)層面,該誘捕機制采取了軟件定義的架構(gòu),通過編排層解耦了底層欺騙、檢測和隔離等安全機制和上層的各類安全應(yīng)用,使得防守者可以方便地添加或定制安全應(yīng)用,以增加攻擊者感知和逃脫誘捕環(huán)境的難度。
在誘捕效果層面,采用了容器技術(shù)模擬了真實的業(yè)務(wù)服務(wù),并部署在企業(yè)內(nèi)網(wǎng)中真實業(yè)務(wù)主機上,同時通過操作系統(tǒng)層面的隔離可構(gòu)建無傷宿主機的欺騙環(huán)境。
在響應(yīng)速度方面,通過應(yīng)用-編排-控制-資源四層接口化的能力抽象,可自動化地從欺騙、檢測和隔離三種動作中快速切換,使得在攻擊鏈的中間階段即可做出快速響應(yīng)。
在實際效果方面,檢測應(yīng)用通過控制平面的數(shù)據(jù)分析引擎分析終端的進程行為和網(wǎng)絡(luò)上的連接行為,而非通過殺毒軟件或入侵檢測系統(tǒng)的固定規(guī)則匹配,具有低誤報、可發(fā)現(xiàn)業(yè)務(wù)異常等優(yōu)點。進而分析不同端點的行為相關(guān)性,可還原出攻擊者的整條攻擊路徑。在某次紅藍對抗項目中,成功發(fā)現(xiàn)了3條攻擊鏈,總體效果非常明顯。從圖4可見,3月12日攻擊者通過Web掃描并滲透進了某主機,進而持續(xù)攻破并利用跳板機進行橫向移動,我們的誘餌服務(wù)可及時發(fā)現(xiàn)攻擊者的掃描行為,并在之后持續(xù)監(jiān)控檢測攻擊者的動作,還原了整條攻擊鏈。
在還原出攻擊者的行為威脅指示IoC后,可進一步借助威脅情報和行為分析的技術(shù),從數(shù)據(jù)層面對攻擊者進行畫像,找到其戰(zhàn)術(shù)和戰(zhàn)略偏好,如圖5所示。今后,當該攻擊者對其他目標進行攻擊時,可以快速識別其身份,并對其后續(xù)的攻擊行為進行預(yù)測,做出更有針對性的布陣和響應(yīng),從而提升了誘捕機制的效率和成功率。
4 結(jié)論
本文提出了一種攻擊者誘捕技術(shù),通過軟件定義安全的架構(gòu)將欺騙、隔離、檢測和清理應(yīng)用進行編排,并結(jié)合終端和網(wǎng)絡(luò)的行為檢測可對攻擊鏈進行還原,借助動態(tài)邊界實現(xiàn)誘餌環(huán)境和重要業(yè)務(wù)環(huán)境的隔離。
在如何利用容器技術(shù)實現(xiàn)單節(jié)點服務(wù)之間的互通及數(shù)據(jù)共享,以及容器技術(shù)對真實業(yè)務(wù)系統(tǒng)的性能影響,是下一階段需要完成的工作。
參考文獻
[1] MACDONALD N, The impact of software-defined data centers on information security[R], Oct. 2012.
[2] PROVOS N, A virtual honeypot framework[C]//Proceedings of the 13th Conference on USENIX Security Symposium, SSYM'OLL, 2004.
[3] GARFINKEL, T, ROSENBLUM M. A virtual machine introspection based architecture for intrusion detection[C]//Proceedings of Network & Distributed Systems Security Symposium, NDSSI'03, 2003, 3: 191-206.
[4] BROMILEY, MATT. Incident response capabilities in 2016: the 2016 SANS incident response survey[Z].2016.
[5] Gartner. Top 10 strategic technology trends for 2018[EB/OL].[2018-06-20]. https://www.gartner.com/doc/3811368.
[6] WARD R, BEYER B, BeyondCorp: a new approach to enterprise security[EB/OL].[2018-06-20]. https://research.google.com/pubs/pub43231.html.
[7] CSA. SDP Specification v2.0 [EB/OL].[2018-06-20]. https://cloudsecurityalliance.org/document/sdp-specification-v2-0/.
(收稿日期:2018-06-20)
作者簡介:
劉文懋(1983-),男,博士,研究員,主要研究方向:云計算、物聯(lián)網(wǎng)和數(shù)據(jù)分析。
劉威歆(1987-),男,博士,研究員,主要研究方向:安全大數(shù)據(jù)。