張 福 程 度 鄢 曲 卞建超
(北京升鑫網(wǎng)絡(luò)科技有限公司 北京 100085)
網(wǎng)絡(luò)安全評(píng)估與檢測是網(wǎng)絡(luò)安全建設(shè)的基礎(chǔ)性工作,只有在正確、全面地了解網(wǎng)絡(luò)安全防護(hù)能力之后,才能在安全投入、安全措施選擇、安全保障體系建設(shè)等工作中作出合理的決策.傳統(tǒng)網(wǎng)絡(luò)安全評(píng)估與檢測往往基于等保合規(guī)的理念,僅能針對(duì)網(wǎng)絡(luò)安全產(chǎn)品和網(wǎng)絡(luò)安全能力的合規(guī)性進(jìn)行評(píng)估,無法評(píng)估現(xiàn)有防御有效性、安全投入效能和安全能力差距等問題.基于傳統(tǒng)網(wǎng)絡(luò)安全評(píng)估與檢測的安全建設(shè)往往也會(huì)陷入安全產(chǎn)品堆砌、安全重復(fù)建設(shè)、安全措施投入大但防護(hù)能力不足的怪圈.
隨著網(wǎng)絡(luò)攻擊技術(shù)的變化,對(duì)網(wǎng)絡(luò)安全防護(hù)能力的要求持續(xù)提升.現(xiàn)有網(wǎng)絡(luò)安全評(píng)估與檢測方案對(duì)網(wǎng)絡(luò)安全防護(hù)能力的要求均基于低抽象模型和單點(diǎn)檢測方式,無法覆蓋網(wǎng)絡(luò)攻擊技術(shù)和手段的不斷變化.ATT&CK框架提供了一種用于入侵行為描述的通用語言和知識(shí)圖譜,能夠基于現(xiàn)實(shí)中發(fā)生的真實(shí)攻擊事件,記錄攻擊者在攻擊過程中的戰(zhàn)術(shù)和技術(shù),并形成知識(shí)庫.本文以ATT&CK框架為“標(biāo)尺”,提出基于ATT&CK框架的網(wǎng)絡(luò)安全評(píng)估與檢測技術(shù).該評(píng)估與檢測技術(shù)可最大程度地避免傳統(tǒng)安全服務(wù)效果取決于評(píng)測人員安全能力的弊端,幫助組織快速形成安全評(píng)估檢測能力,提高組織對(duì)于高級(jí)威脅檢測的廣度與深度.
ATT&CK框架由MITRE公司于2013年創(chuàng)建[1].該框架隨著新技術(shù)、新應(yīng)用、攻擊行為等的發(fā)展而不斷演變,內(nèi)容豐富、實(shí)戰(zhàn)性強(qiáng),已得到業(yè)界的廣泛關(guān)注,成為業(yè)界了解攻擊者攻擊行為、方法以及相應(yīng)緩解措施的主要窗口.ATT&CK框架不僅為業(yè)界提供了一個(gè)共同的攻擊描述方法,以便業(yè)界討論和合作打擊網(wǎng)絡(luò)攻擊[1],還為網(wǎng)絡(luò)安全團(tuán)隊(duì)的評(píng)估和檢測提供了思路.
1) 評(píng)估改進(jìn)當(dāng)前組織的檢測防御能力.
通過獲取威脅情報(bào)構(gòu)建檢測分析能力,利用模擬攻擊找出組織應(yīng)對(duì)ATT&CK框架中攻擊技術(shù)的防護(hù)能力差距,為網(wǎng)絡(luò)安全工程師和架構(gòu)師提供有用數(shù)據(jù),對(duì)差距進(jìn)行整改.通過評(píng)估改進(jìn)工作的不斷重復(fù)與迭代,提高組織的檢測和防御能力.評(píng)估改進(jìn)主要包括3個(gè)方面:一是評(píng)估防御技術(shù)能否有效應(yīng)對(duì)ATT&CK框架中的攻擊技術(shù)和攻擊者;二是確定當(dāng)前優(yōu)先級(jí)最高的需要彌補(bǔ)的防御缺口;三是修改或者新增技術(shù)去彌補(bǔ)當(dāng)前缺口.
2) 利用ATT&CK框架加強(qiáng)檢測分析能力.
全面有效的威脅檢測需要了解常見的攻擊技術(shù),特別是對(duì)組織構(gòu)成威脅的技戰(zhàn)術(shù),以及如何檢測和緩解這些攻擊.基于ATT&CK框架進(jìn)行檢測分析與傳統(tǒng)檢測方式不同,前者并不是在識(shí)別已知的惡意行為后進(jìn)行阻斷,而是收集系統(tǒng)上的事件日志和事件數(shù)據(jù),使用這些數(shù)據(jù)來識(shí)別行為是否是ATT&CK框架中所描述的可疑行為,從而幫助組織快速準(zhǔn)確檢測組織內(nèi)部的攻擊行為.
1) 基于ATT&CK框架的靜態(tài)評(píng)估.
基于ATT&CK框架的靜態(tài)評(píng)估是指通過專業(yè)人員對(duì)組織進(jìn)行信息收集、數(shù)據(jù)分析、人員訪談等,對(duì)數(shù)據(jù)源覆蓋率、能見度覆蓋率和檢測覆蓋率進(jìn)行測算,以評(píng)估信息系統(tǒng)的防護(hù)有效性.靜態(tài)評(píng)估主要包括數(shù)據(jù)源整理分析和數(shù)據(jù)源映射分析.數(shù)據(jù)源整理分析包括數(shù)據(jù)源收集[2-3]、數(shù)據(jù)源質(zhì)量評(píng)分和編制數(shù)據(jù)源清單.數(shù)據(jù)源映射分析是指將數(shù)據(jù)源清單映射至ATT&CK框架,從不同維度進(jìn)行數(shù)據(jù)展示、分析和評(píng)估,主要包括:
① 數(shù)據(jù)源覆蓋率.即組織已收錄的數(shù)據(jù)源對(duì)ATT&CK框架中所包含數(shù)據(jù)源的覆蓋情況.ATT&CK框架包含30多個(gè)不同的數(shù)據(jù)源和90多個(gè)數(shù)據(jù)組件,通過對(duì)組織內(nèi)部數(shù)據(jù)源的收集和分析,將數(shù)據(jù)源清單映射至ATT&CK框架實(shí)現(xiàn)數(shù)據(jù)源覆蓋率的分析評(píng)估.
② 能見度覆蓋率.能見度是指基于數(shù)據(jù)源分析對(duì)某項(xiàng)攻擊技術(shù)的可檢測程度.能見度覆蓋率是指基于數(shù)據(jù)源分析對(duì)ATT&CK框架中各攻擊技術(shù)的可檢測程度.將數(shù)據(jù)源清單映射至ATT&CK框架實(shí)現(xiàn)能見度覆蓋率的可視化,即確認(rèn)具備和缺乏能見度的攻擊技術(shù)以及其能見度分?jǐn)?shù).能見度分?jǐn)?shù)可取值0,1,2,3,4,分別代表技術(shù)不可見、少量可見、部分可見、幾乎全可見、完全可見.可以根據(jù)專家知識(shí)或基于特定數(shù)據(jù)源質(zhì)量調(diào)整每個(gè)攻擊技術(shù)的能見度分?jǐn)?shù).
③ 檢測覆蓋率.即組織所能檢測出的攻擊行為對(duì)ATT&CK框架中攻擊行為的覆蓋程度.對(duì)能檢測出的項(xiàng)目和檢測水平以及無法檢測出的項(xiàng)目進(jìn)行展示分析,從而發(fā)現(xiàn)組織的攻擊檢測能力和ATT&CK框架中攻擊行為之間的差距,并提出改正方案.
通過靜態(tài)評(píng)估,網(wǎng)絡(luò)安全團(tuán)隊(duì)可以迅速發(fā)現(xiàn)安全數(shù)據(jù)源收集和質(zhì)量上的不足,明確組織內(nèi)缺失的安全數(shù)據(jù)源及優(yōu)先級(jí).安全團(tuán)隊(duì)可以通過在終端側(cè)內(nèi)置數(shù)據(jù)采集組件或者新增安全工具(網(wǎng)絡(luò)監(jiān)控、網(wǎng)絡(luò)檢測和響應(yīng)(NDR)、基于主機(jī)的IDS/IPS、端點(diǎn)檢測和響應(yīng)(EDR)等)優(yōu)化安全數(shù)據(jù)源收集,提升組織的安全防護(hù)能力.
2) 基于ATT&CK框架的動(dòng)態(tài)評(píng)估.
基于ATT&CK框架的動(dòng)態(tài)評(píng)估是指通過紅隊(duì)模擬攻擊、藍(lán)隊(duì)檢測攻擊并響應(yīng),從攻擊行為的檢測角度,找到組織檢測能力與應(yīng)對(duì)ATT&CK框架中各類攻擊技術(shù)所需檢測能力之間的差距,并整改提升組織的安全防護(hù)能力.動(dòng)態(tài)評(píng)估主要包括建立評(píng)估團(tuán)隊(duì)、確定目標(biāo)、收集數(shù)據(jù)、過程分析、模擬環(huán)境搭建、執(zhí)行評(píng)估、測試反饋和編寫差距報(bào)告[4].
動(dòng)態(tài)評(píng)估中往往會(huì)使用自動(dòng)化評(píng)估工具,以提升評(píng)估過程的工作效率.國內(nèi)外常見的CALDERA[5],Atomic Red Team[6],Red Team Automation[7],Infection Monkey,METTA等基于ATT&CK框架的自動(dòng)化評(píng)估項(xiàng)目均提供了自動(dòng)化評(píng)估工具.
評(píng)估完成后,團(tuán)隊(duì)成員需針對(duì)評(píng)估結(jié)果和攻擊技術(shù)進(jìn)行全面剖析,從數(shù)據(jù)源收集的廣度、深度評(píng)估組織檢測用例的檢測效果,找到組織目前檢測能力與應(yīng)對(duì)ATT&CK框架中各類攻擊技術(shù)所需檢測能力之間的差距.根據(jù)差距整改的緊迫性、可行性、難易程度、投入回報(bào)率等,給出短期和長期的整改建議以及相應(yīng)的工作改進(jìn)計(jì)劃.
ATT&CK雖然是攻擊框架,對(duì)于防御檢測其意義也十分重大.國內(nèi)外應(yīng)用較廣的基于ATT&CK框架的檢測項(xiàng)目有CAR(Cyber Analytics Repository)和EQL(Event Query Language).
1) CAR項(xiàng)目
CAR項(xiàng)目提供了基于ATT&CK框架的威脅檢測和追蹤,還提供了UI可視化子項(xiàng)目CARET,更利于對(duì)CAR項(xiàng)目的理解.該項(xiàng)目從攻擊組織使用的攻擊技術(shù)出發(fā),分析攻擊者最終造成的影響.CAR項(xiàng)目主要提供5個(gè)分析視角:攻擊組織、攻擊技術(shù)、技術(shù)分析、數(shù)據(jù)模型和數(shù)據(jù)源探針;開展4項(xiàng)工作:根據(jù)ATT&CK框架確認(rèn)攻擊優(yōu)先級(jí)和實(shí)際分析方法、根據(jù)攻擊者行為確認(rèn)要收集的數(shù)據(jù)以及數(shù)據(jù)收集能力[8].
2) EQL項(xiàng)目
EQL項(xiàng)目提供了一種安全事件查詢語言,可以對(duì)安全事件進(jìn)行序列化、歸集及分析.該項(xiàng)目可以進(jìn)行事件日志的收集,不局限于終端數(shù)據(jù),還包括網(wǎng)絡(luò)數(shù)據(jù)、Windows下的原生數(shù)據(jù)、osquery類型的基本緩存數(shù)據(jù)和BRO/Zeek的開源NIDS數(shù)據(jù).組織可以通過EQL項(xiàng)目對(duì)基于ATT&CK框架的應(yīng)用進(jìn)行持續(xù)優(yōu)化,對(duì)數(shù)據(jù)質(zhì)量和分析能力進(jìn)行評(píng)估,找出組織的安全運(yùn)營能力與應(yīng)對(duì)ATT&CK框架中各類攻擊行為所需安全運(yùn)營能力之間的差距,在安全防護(hù)能力建設(shè)中不斷彌補(bǔ)差距,實(shí)現(xiàn)安全運(yùn)營能力的持續(xù)量化提升.
EQL項(xiàng)目語言形式有Shell類型和lib類型,需要輸入類似JSON的文件才可以進(jìn)行查詢.該項(xiàng)目語言語法比較強(qiáng)大,可以理解為SQL語言和Shell的結(jié)合體.既有SQL的條件查詢和聯(lián)合查詢,也有內(nèi)置函數(shù)和Shell的管道操作方式.該項(xiàng)目在開源領(lǐng)域影響較大,尤其跟ATT&CK框架的結(jié)合比較好.該項(xiàng)目除了提供語言能力外,還有很多跟攻擊技戰(zhàn)術(shù)結(jié)合的分析腳本.
通過對(duì)現(xiàn)有基于ATT&CK框架的評(píng)估和檢測技術(shù)的理解和分析,本文提出基于ATT&CK框架的自動(dòng)化評(píng)估系統(tǒng).通過構(gòu)建基于ATT&CK框架的入侵與攻擊模擬系統(tǒng),自動(dòng)化模擬黑客的攻擊行為,評(píng)估網(wǎng)絡(luò)安全防護(hù)體系在阻止攻擊方面的有效性.通過該系統(tǒng),組織能夠使用自動(dòng)化工具,持續(xù)、一致地模擬針對(duì)組織基礎(chǔ)架構(gòu)的整個(gè)攻擊周期(包括內(nèi)部威脅、橫向移動(dòng)和數(shù)據(jù)泄露)的攻擊行為場景,以有限的風(fēng)險(xiǎn)提供連續(xù)且一致的評(píng)估.
自動(dòng)化評(píng)估系統(tǒng)由攻擊庫管理、模擬攻擊服務(wù)管理和模擬器實(shí)例管理3部分構(gòu)成,如圖1所示.
圖1 系統(tǒng)總體架構(gòu)
圖2 設(shè)備集成庫攻擊模擬過程
1) 攻擊庫管理
攻擊庫管理由設(shè)備集成庫(device integration package, DIP)和攻擊場景模板組成.設(shè)備集成庫可以執(zhí)行各類攻擊的模擬器,有自身的類層次結(jié)構(gòu)和執(zhí)行過程抽象.攻擊場景模板提供模式化和參數(shù)化的攻擊服務(wù),具體應(yīng)用時(shí)需要配置與現(xiàn)場相符的內(nèi)容,如IP地址、端口、郵箱地址等.攻擊庫通過自動(dòng)化編排腳本調(diào)用設(shè)備集成庫接口實(shí)現(xiàn)基于主機(jī)、網(wǎng)絡(luò)和命令與控制(command and control, C&C)的攻擊模擬,如圖2所示.如果攻擊庫中的編排腳本不能滿足現(xiàn)場要求,可以修改執(zhí)行邏輯和判斷流程.
2) 模擬攻擊服務(wù)管理
模擬攻擊服務(wù)管理由配置管理、進(jìn)度管理、報(bào)告管理和運(yùn)行環(huán)境構(gòu)成.模擬攻擊時(shí),基于每個(gè)攻擊場景的實(shí)際要求選取攻擊內(nèi)容并準(zhǔn)備攻擊參數(shù)(即配置管理).在運(yùn)行環(huán)境中進(jìn)行攻擊任務(wù)的執(zhí)行規(guī)劃和任務(wù)分解,將具體任務(wù)發(fā)送到模擬器實(shí)例管理中的模擬器中執(zhí)行(即進(jìn)度管理),并輸出相關(guān)攻擊報(bào)告.
3) 模擬器實(shí)例管理
模擬器實(shí)例管理由模擬管理器和各類模擬器組成.模擬器是設(shè)備集成庫的實(shí)例化,運(yùn)行在有安全配置的傀儡容器中,由模擬管理器負(fù)責(zé)它們的管理和安全防護(hù)工作.傀儡容器是一種遠(yuǎn)程代理,可以運(yùn)行在網(wǎng)絡(luò)內(nèi)的任意主機(jī)中,但需要事先由模擬管理器向模擬攻擊服務(wù)管理中的運(yùn)行環(huán)境注冊.模擬器承擔(dān)模擬攻擊服務(wù)管理中的運(yùn)行環(huán)境發(fā)出的不同模擬任務(wù).其中,主機(jī)模擬器用于對(duì)本機(jī)實(shí)施攻擊,網(wǎng)絡(luò)模擬器實(shí)施采用各類IP協(xié)議的攻擊,C&C模擬器實(shí)施遠(yuǎn)程攻擊.每種攻擊通過在主機(jī)、網(wǎng)絡(luò)、C&C模擬器中執(zhí)行特定的命令序列完成,不同模擬器自身支撐1種或多種運(yùn)行攻擊的技術(shù).
基于ATT&CK框架的檢測流程如圖3所示.首先選取ATT&CK戰(zhàn)術(shù),研究戰(zhàn)術(shù)機(jī)理,識(shí)別數(shù)據(jù)來源,進(jìn)行數(shù)據(jù)源標(biāo)準(zhǔn)化;然后通過建立分析規(guī)則,收集數(shù)據(jù)并檢測,并針對(duì)檢測的漏報(bào)率和誤報(bào)率優(yōu)化檢測規(guī)則,實(shí)現(xiàn)攻擊分析;最后根據(jù)多項(xiàng)攻擊檢測結(jié)果,建立攻擊知識(shí)圖譜和網(wǎng)絡(luò)知識(shí)圖譜,進(jìn)行攻擊鏈的溯源分析.
圖3 基于ATT&CK框架的檢測流程
基于ATT&CK框架實(shí)現(xiàn)攻擊檢測首先要考慮如何規(guī)劃數(shù)據(jù)源的問題,標(biāo)準(zhǔn)化地從數(shù)據(jù)源收集數(shù)據(jù)可為后續(xù)標(biāo)準(zhǔn)化地檢測攻擊提供良好的基礎(chǔ).實(shí)現(xiàn)數(shù)據(jù)源標(biāo)準(zhǔn)化需先從ATT&CK框架中選取所需檢測的各項(xiàng)攻擊戰(zhàn)術(shù),研究各項(xiàng)戰(zhàn)術(shù)機(jī)理,明確檢測各項(xiàng)攻擊戰(zhàn)術(shù)所需的具體數(shù)據(jù)組件及數(shù)據(jù)源.然后,采用標(biāo)準(zhǔn)化的數(shù)據(jù)格式表示這些數(shù)據(jù)源和數(shù)據(jù)組件,并按照標(biāo)準(zhǔn)化數(shù)據(jù)格式盡可能地全面采集檢測這些攻擊戰(zhàn)術(shù)所需的數(shù)據(jù),以支撐這些攻擊戰(zhàn)術(shù)的檢測.
以檢測Windows可疑計(jì)劃任務(wù)或服務(wù)項(xiàng)目為例,需掌握進(jìn)程啟動(dòng)日志,以分析進(jìn)程路徑和啟動(dòng)方式,從而定位可疑的計(jì)劃任務(wù)或服務(wù)項(xiàng)目.因此,需針對(duì)“進(jìn)程”(Process)數(shù)據(jù)源進(jìn)行數(shù)據(jù)格式標(biāo)準(zhǔn)化和數(shù)據(jù)收集工作.MITRE公司提供的“Process”標(biāo)準(zhǔn)化數(shù)據(jù)格式如表1所示:
表1 MITRE“Process”標(biāo)準(zhǔn)化數(shù)據(jù)格式
此外,結(jié)構(gòu)化威脅情報(bào)標(biāo)準(zhǔn)(Structured Threat Information Expression, STIX)中也提供了標(biāo)準(zhǔn)化數(shù)據(jù)格式,但更多是描述數(shù)據(jù)性質(zhì),主要包括對(duì)象、類型和屬性,如表2所示:
表2 STIX“Process”標(biāo)準(zhǔn)化數(shù)據(jù)格式
Splunk公司的BOTS(Boss of the SOC)項(xiàng)目提供的數(shù)據(jù)格式如表3所示.該數(shù)據(jù)格式適用于大數(shù)據(jù)平臺(tái)的查詢,依賴于數(shù)據(jù)源探針工具收集數(shù)據(jù)的初始方式,數(shù)據(jù)以Key-Value的形式進(jìn)行組織.表3中,列“_raw”指代采集的原始數(shù)據(jù).其中,等號(hào)左邊內(nèi)容為Key,等號(hào)右邊內(nèi)容為Value.
表3 Splunk數(shù)據(jù)源格式
為了精簡所需收集的數(shù)據(jù),本文在MITRE,STIX和Splunk數(shù)據(jù)格式的基礎(chǔ)上,刪減了非分析字段,優(yōu)化了數(shù)據(jù)格式,設(shè)計(jì)了利于檢測分析的標(biāo)準(zhǔn)化數(shù)據(jù)格式.表4是利用本文設(shè)計(jì)的數(shù)據(jù)格式表示的“Process”數(shù)據(jù)源:
表4 本文“Process”標(biāo)準(zhǔn)化數(shù)據(jù)格式
傳統(tǒng)網(wǎng)絡(luò)安全防護(hù)方案往往難以檢測新型攻擊,如高級(jí)持續(xù)性威脅(advanced persistent threat, APT).一方面,新型攻擊工具往往已針對(duì)各種安全防護(hù)產(chǎn)品進(jìn)行免殺測試,或采用了逃避惡意軟件檢測的混淆技術(shù),大多數(shù)殺毒軟件無法有效檢測此類工具;另一方面,攻擊者也會(huì)在系統(tǒng)中使用合法操作進(jìn)行滲透,大多數(shù)防護(hù)工具沒有足夠的數(shù)據(jù)來檢測此類惡意行為[9].
為應(yīng)對(duì)傳統(tǒng)安全檢測方案的不足,MITRE公司發(fā)布了基于ATT&CK框架的攻擊分析方案,主要包括后滲透行為分析、威脅分析、持續(xù)迭代和真實(shí)環(huán)境驗(yàn)證[10].通過對(duì)ATT&CK框架中各攻擊技術(shù)進(jìn)行研究并建立規(guī)則,結(jié)合采集的數(shù)據(jù)進(jìn)行攻擊分析檢測[11].
根據(jù)上述思路,本文設(shè)計(jì)了基于ATT&CK框架的攻擊分析框架,該框架包括采集端和服務(wù)端,如圖4所示.采集端包括數(shù)據(jù)源、Agent和連接層,提供多種數(shù)據(jù)源采集、預(yù)處理和數(shù)據(jù)交互能力,為攻擊分析提供標(biāo)準(zhǔn)化數(shù)據(jù).服務(wù)端包括綜合管理節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn).其中,存儲(chǔ)節(jié)點(diǎn)負(fù)責(zé)所采集日志的存儲(chǔ);綜合管理節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)源的查詢處理、語法解釋以及分析工作的進(jìn)程調(diào)度、狀態(tài)監(jiān)控和前端展示,實(shí)現(xiàn)檢測規(guī)則管理和攻擊分析檢測.
圖4 基于ATT&CK框架的攻擊分析框架
基于ATT&CK框架的攻擊分析步驟為:
1) 建立分析規(guī)則.針對(duì)ATT&CK框架的各項(xiàng)攻擊技術(shù)以及子技術(shù)進(jìn)行分析,利用腳本或攻擊工具復(fù)現(xiàn)各項(xiàng)攻擊技術(shù),從而得到相關(guān)攻擊過程和結(jié)果的樣本數(shù)據(jù),以此建立各項(xiàng)攻擊技術(shù)的檢測規(guī)則,以便進(jìn)行檢測分析.
2) 收集數(shù)據(jù)并分析檢測.基于數(shù)據(jù)源標(biāo)準(zhǔn)化格式進(jìn)行事件和日志的收集,利用檢測規(guī)則對(duì)比樣本數(shù)據(jù)和實(shí)際采集的數(shù)據(jù),實(shí)現(xiàn)攻擊技術(shù)的分析檢測.由于后滲透行為多圍繞主機(jī)展開,需重點(diǎn)針對(duì)主機(jī)產(chǎn)生的相關(guān)數(shù)據(jù)進(jìn)行收集整理.
3) 對(duì)檢測規(guī)則持續(xù)優(yōu)化,降低漏報(bào)率和誤報(bào)率.對(duì)于漏報(bào)和誤報(bào)較高的檢測,需借助統(tǒng)計(jì)和機(jī)器學(xué)習(xí)算法加強(qiáng)檢測能力,持續(xù)優(yōu)化檢測規(guī)則.不同類型的數(shù)據(jù)匹配不同的分析思路和分析算法,并設(shè)計(jì)相關(guān)的分析語言進(jìn)行歸一化分析.
新型攻擊的復(fù)雜性導(dǎo)致對(duì)其檢測和溯源的困難性,單項(xiàng)攻擊技術(shù)分析無法有效溯源整個(gè)攻擊鏈,更無法全面評(píng)估攻擊影響并進(jìn)行響應(yīng).在單點(diǎn)分析的基礎(chǔ)上要進(jìn)行關(guān)聯(lián)分析,才能溯源完整的攻擊鏈.ATT&CK框架(版本10)將攻擊鏈抽象為偵察、資源開發(fā)、初始訪問、執(zhí)行、持久化、權(quán)限提升、防御繞過、憑據(jù)訪問、發(fā)現(xiàn)、橫向移動(dòng)、收集、命令與控制、數(shù)據(jù)竊取和危害14個(gè)戰(zhàn)術(shù)階段,這有利于組織進(jìn)行各項(xiàng)攻擊戰(zhàn)術(shù)的關(guān)聯(lián)分析并溯源整個(gè)攻擊鏈.
攻擊鏈的檢測分析需基于系統(tǒng)監(jiān)控等日志數(shù)據(jù),通過構(gòu)造抽象表達(dá)的溯源圖進(jìn)行因果關(guān)系分析,并映射至ATT&CK框架,從而實(shí)現(xiàn)高效、準(zhǔn)確的攻擊鏈識(shí)別和取證分析[12].攻擊鏈的檢測分析需關(guān)聯(lián)復(fù)雜的角色、行為關(guān)系,通過知識(shí)圖譜可大大簡化復(fù)雜關(guān)系的分析和描述,實(shí)現(xiàn)可視化的攻擊鏈關(guān)聯(lián)分析[13].
基于知識(shí)圖譜的可視化分析能力,本文提出如圖5所示的攻擊鏈分析框架.框架分為數(shù)據(jù)源、數(shù)據(jù)解析、圖數(shù)據(jù)存儲(chǔ)、圖分析引擎和UI展示5層.數(shù)據(jù)解析層對(duì)數(shù)據(jù)源進(jìn)行解析,構(gòu)建攻擊知識(shí)圖譜和網(wǎng)絡(luò)知識(shí)圖譜,提交給圖數(shù)據(jù)存儲(chǔ)層建立索引,便于圖分析引擎層進(jìn)行處理分析并構(gòu)建網(wǎng)絡(luò)攻擊鏈,最后通過UI展示層對(duì)攻擊鏈、圖數(shù)據(jù)、告警信息進(jìn)行展示.利用圖5進(jìn)行攻擊鏈溯源分析的過程是:
首先,利用知識(shí)圖譜的相關(guān)技術(shù),對(duì)整個(gè)攻擊過程進(jìn)行還原,逐步建立攻擊知識(shí)圖譜(attack knowledge graph, AKG)和網(wǎng)絡(luò)知識(shí)圖譜(network knowledge graph, NKG).
攻擊知識(shí)圖譜如圖6所示,該圖譜是針對(duì)單臺(tái)主機(jī)受攻擊情況作全面的分析和描述.根據(jù)ATT&CK框架梳理攻擊組織常用的攻擊工具、惡意軟件以及相應(yīng)的攻擊技術(shù)和攻擊鏈戰(zhàn)術(shù)階段,建立攻擊組織、攻擊工具、攻擊技術(shù)、戰(zhàn)術(shù)階段之間的映射關(guān)系.此外,還可以將特定的攻擊技術(shù)序列定義為不同的攻擊場景,如挖礦和勒索.
圖6 攻擊知識(shí)圖譜
網(wǎng)絡(luò)知識(shí)圖譜如圖7所示,該圖譜針對(duì)跨主機(jī)的橫向移動(dòng)做關(guān)聯(lián)分析.通過描述網(wǎng)絡(luò)中主機(jī)和進(jìn)程間的連接狀態(tài),實(shí)時(shí)反映網(wǎng)絡(luò)實(shí)體之間的聯(lián)系和相互作用.網(wǎng)絡(luò)知識(shí)圖譜具有實(shí)時(shí)性,表示某一時(shí)間點(diǎn)的連接關(guān)系.
圖7 網(wǎng)絡(luò)知識(shí)圖譜
然后,結(jié)合攻擊知識(shí)圖譜和網(wǎng)絡(luò)知識(shí)圖譜溯源形成網(wǎng)絡(luò)攻擊鏈.根據(jù)實(shí)際采集數(shù)據(jù),從攻擊知識(shí)圖譜中抽取主機(jī)內(nèi)的相關(guān)進(jìn)程行為,如進(jìn)程創(chuàng)建文件、管道和其他進(jìn)程以及進(jìn)程訪問注冊表等;從網(wǎng)絡(luò)知識(shí)圖譜中抽取進(jìn)程關(guān)聯(lián)關(guān)系(如進(jìn)程間調(diào)用)以及主機(jī)間的網(wǎng)絡(luò)連接關(guān)系;基于進(jìn)程行為、進(jìn)程關(guān)聯(lián)關(guān)系和網(wǎng)絡(luò)連接關(guān)系,構(gòu)建網(wǎng)絡(luò)攻擊鏈,實(shí)現(xiàn)整個(gè)攻擊鏈的溯源,還原真實(shí)攻擊情況.
ATT&CK框架作為廣泛使用的攻擊框架,在安全領(lǐng)域有著重要價(jià)值.本文重點(diǎn)研究了基于ATT&CK框架的評(píng)估和檢測技術(shù),提出了基于ATT&CK框架的自動(dòng)化評(píng)估系統(tǒng)以及基于ATT&CK框架的檢測所需的數(shù)據(jù)源標(biāo)準(zhǔn)化方法、攻擊分析框架和基于知識(shí)圖譜的攻擊鏈分析框架.為ATT&CK框架在評(píng)估和檢測中的應(yīng)用實(shí)踐提供了具體思路和實(shí)施方案.未來將進(jìn)一步研究ATT&CK框架在威脅情報(bào)和攻擊模擬中的應(yīng)用,具體包括:
1) 威脅情報(bào)歸一化和共享.利用自然語言處理,參照ATT&CK框架進(jìn)行威脅情報(bào)內(nèi)容的標(biāo)準(zhǔn)化,以便機(jī)讀和共享.
2) 攻擊實(shí)戰(zhàn)模擬.基于ATT&CK框架,通過對(duì)多個(gè)攻擊技術(shù)的串聯(lián)實(shí)現(xiàn)攻擊鏈的模擬,提升模擬仿真度.