高 見,王 安
1.中國(guó)人民公安大學(xué),北京100038
2.安全防范與風(fēng)險(xiǎn)評(píng)估公安部重點(diǎn)實(shí)驗(yàn)室,北京102623
近些年來,網(wǎng)絡(luò)安全事件不斷發(fā)生,網(wǎng)絡(luò)攻擊的形式復(fù)雜多變,檢測(cè)和預(yù)測(cè)這些動(dòng)態(tài)類型的攻擊是一項(xiàng)充滿挑戰(zhàn)的任務(wù)。在當(dāng)前的許多領(lǐng)域中,對(duì)于知識(shí)圖譜的研究已經(jīng)非常成熟,本文將知識(shí)圖譜與威脅情報(bào)結(jié)合在一起來構(gòu)建網(wǎng)絡(luò)安全事件的知識(shí)庫(kù)。通過對(duì)開源情報(bào)的分析,收集和分析結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)來獲取相關(guān)信息,抽取威脅情報(bào)中的本體元素,完成網(wǎng)絡(luò)安全事件的分析及事件過程中涉及攻擊工具、漏洞、攻擊方法等元素的關(guān)系。
在網(wǎng)絡(luò)安全的領(lǐng)域中,已經(jīng)有大量的基礎(chǔ)研究,構(gòu)建相關(guān)的知識(shí)庫(kù)。例如,MITRE 公司對(duì)漏洞數(shù)據(jù)庫(kù)進(jìn)行了統(tǒng)一的描述,每個(gè)漏洞具有統(tǒng)一ID、威脅等級(jí)、威脅類型等基本信息。除此之外,殺毒軟件供應(yīng)商依據(jù)其掌握的大量樣本庫(kù),建立了有關(guān)惡意軟件的病毒特征庫(kù)。威脅情報(bào)大量來自互聯(lián)網(wǎng)[1],互聯(lián)網(wǎng)中報(bào)道了大量的網(wǎng)絡(luò)攻擊事件、網(wǎng)絡(luò)攻擊工具等重要信息,如一些安全博客、安全內(nèi)參、黑客論壇等。學(xué)術(shù)界同樣對(duì)網(wǎng)絡(luò)威脅情報(bào)的分析和表示進(jìn)行了大量的研究,賈焰等人[1]提出了一種構(gòu)建網(wǎng)絡(luò)安全知識(shí)圖譜的實(shí)用方法,該文中使用了Stanford的NER來訓(xùn)練提取器,利用提取器抽取獲取信息中的網(wǎng)絡(luò)安全本體。王若佳等人[2]提出了一種基于知識(shí)圖譜的國(guó)際和國(guó)內(nèi)競(jìng)爭(zhēng)情報(bào)對(duì)比的方法,在Web of Science 數(shù)據(jù)庫(kù)和CSSCI 數(shù)據(jù)庫(kù)兩個(gè)文獻(xiàn)數(shù)據(jù)庫(kù)中,從研究熱點(diǎn)、知識(shí)基礎(chǔ)和演化發(fā)展三個(gè)角度進(jìn)行了對(duì)比,最后用Citespace軟件對(duì)其生成的知識(shí)圖譜進(jìn)行了可視化繪制。王通等人[3]研究了一種基于深度學(xué)習(xí)的威脅情報(bào)知識(shí)圖譜構(gòu)建技術(shù),利用監(jiān)督性的深度學(xué)習(xí)模型,通過對(duì)威脅情報(bào)的實(shí)體及其關(guān)系進(jìn)行抽取,最后通過圖數(shù)據(jù)庫(kù)完成了知識(shí)圖譜的可視化。
使用知識(shí)圖譜對(duì)網(wǎng)絡(luò)威脅情報(bào)進(jìn)行分析,主要難點(diǎn)有兩個(gè):一是對(duì)網(wǎng)絡(luò)威脅情報(bào)中本體的定義以及知識(shí)抽??;二是通過已抽取的知識(shí)進(jìn)行推演,學(xué)習(xí)到新的知識(shí)。在對(duì)知識(shí)的抽取中,因?yàn)榇罅康男畔碜跃W(wǎng)站的網(wǎng)絡(luò)安全報(bào)道和安全企業(yè)的安全分析報(bào)告,抽取的準(zhǔn)確率難以達(dá)到對(duì)知識(shí)表達(dá)的要求。本文將通過威脅情報(bào)標(biāo)準(zhǔn)化的描述語言,對(duì)威脅情報(bào)進(jìn)行結(jié)構(gòu)化處理,提高威脅情報(bào)中知識(shí)實(shí)體抽取的準(zhǔn)確率,并將所有這些與安全相關(guān)的知識(shí)按照一定的規(guī)則關(guān)聯(lián)在一起,對(duì)入侵檢測(cè)和網(wǎng)絡(luò)安全態(tài)勢(shì)感知的相關(guān)工作有很重要的意義。
威脅情報(bào)輸出的多樣化,導(dǎo)致對(duì)情報(bào)分析和抽取過程中效率和準(zhǔn)確率大大降低,影響了一些模型和算法對(duì)威脅情報(bào)的分析結(jié)果。因此,威脅情報(bào)的共享需要一整套描述標(biāo)準(zhǔn)和規(guī)范,通過對(duì)威脅情報(bào)的描述、處理可以通過格式化的語言進(jìn)行表達(dá),并直接實(shí)現(xiàn)情報(bào)共享,實(shí)現(xiàn)“未攻先防”的動(dòng)態(tài)防御效果。目前成熟的國(guó)外威脅情報(bào)標(biāo)準(zhǔn)包括網(wǎng)絡(luò)可觀察表達(dá)式(CyboX)、結(jié)構(gòu)化威脅信息表達(dá)式(STIX)以及指標(biāo)信息的可信自動(dòng)化交換(TAXII)等。
CyboX 全稱為Cyber Observable eXpression(網(wǎng)絡(luò)可觀察表達(dá)式)[4],它是一種用于編碼和傳輸有關(guān)網(wǎng)絡(luò)可觀測(cè)的高保真信息的標(biāo)準(zhǔn)化語言。在CyboX之前,沒有統(tǒng)一的標(biāo)準(zhǔn)機(jī)制用于指定、采集、描述或交流這些網(wǎng)絡(luò)的可觀察表達(dá)。 每個(gè)機(jī)構(gòu)通常具有自己獨(dú)特的表示方法。這使得觀察的一致性、效率和總體態(tài)勢(shì)感知變得困難。CyboX 解決這些問題。其可觀察的對(duì)象包括了事件或狀態(tài)屬性,如注冊(cè)表鍵值,刪除文件,或收到一個(gè)http請(qǐng)求。通過規(guī)范一套具體的標(biāo)準(zhǔn),使得這些行為或?qū)傩钥梢员环治觥?/p>
STIX全稱為Structured Threat Information eXpression(結(jié)構(gòu)化威脅信息表達(dá)式)[5],它是一種用來描述網(wǎng)絡(luò)威脅信息的結(jié)構(gòu)化語言,可以以一致的方式共享,存儲(chǔ)和分析。STIX 由一些關(guān)鍵結(jié)構(gòu)組成,它們的含義與內(nèi)容如下:
觀測(cè)表征:描述已經(jīng)或可能出現(xiàn)在網(wǎng)絡(luò)中的事物;
特征指標(biāo):描述模式可能會(huì)看到什么,以及它們的含義是什么;
安全事件:描述特定的角色操作的實(shí)例;
方法與流程:描述某一角色實(shí)施攻擊的模式,工具,基礎(chǔ)設(shè)施,目標(biāo)受害者,和其他的一些手段與方法;
利用目標(biāo):描述漏洞,可能被利用的弱點(diǎn)或配置;
響應(yīng)措施:描述反應(yīng)為了應(yīng)對(duì)攻擊或作為預(yù)防措施可能采取的行動(dòng);
組織運(yùn)動(dòng):描述一系列事件或意圖;
威脅源:對(duì)威脅人員的鑒別與描述;
安全報(bào)告:收集STIX相關(guān)內(nèi)容和給它們共享。
TAXII 全稱為Trusted Automated eXchange of Indicator Information(指標(biāo)信息的可信自動(dòng)化交換)[6],它是一個(gè)自由和開放的傳輸機(jī)制,用于規(guī)范網(wǎng)絡(luò)威脅的自動(dòng)交換信息。TAXII旨在整合與現(xiàn)有的共享協(xié)議,包括訪問控制的局限性。TAXII 不是一個(gè)特定的信息共享協(xié)議,它不定義協(xié)議或者非技術(shù)方面的信息共享網(wǎng)絡(luò)威脅。相反,TAXII使維護(hù)組織能夠很容易地共享他們選擇的合作伙伴選擇的信息,同時(shí)利用現(xiàn)有關(guān)系和系統(tǒng)。通過使用TAXII,可以以一個(gè)安全的、自動(dòng)化的方式來分享STIX內(nèi)容。
本體(Ontology)[7]是一個(gè)基于邏輯、語義豐富的形式化模型,是對(duì)某個(gè)領(lǐng)域內(nèi)共享知識(shí)的形式化規(guī)范描述[8]。目前,被普遍認(rèn)同的定義是Studer 等人[9]提出的“本體形式化規(guī)范說明”。通過對(duì)領(lǐng)域內(nèi)知識(shí)進(jìn)行規(guī)范化描述并建立知識(shí)庫(kù)[9],創(chuàng)建概念與概念、個(gè)體與個(gè)體、概念與個(gè)體之間的關(guān)系,用本體來描述知識(shí)庫(kù),并用來完成推理、查詢和關(guān)系可視化等功能。
STIX 1.0中定義了8種對(duì)象,分別是:Incident(安全事件)、Observable(觀測(cè)表征)、Indicator(特征指標(biāo))、Course of Action(響應(yīng)措施)、Threat Actor(威脅源)、Campaign(組織運(yùn)動(dòng))、TTP 和Exploit Target(攻擊目標(biāo))。STIX 2.0[10]將1.0 版本中的TTP 與Exploit Target拆分為Attack Pattern(攻擊模式),Malware(惡意代碼),Tool(攻擊工具),Vulnerability(漏洞);刪去了Incident;新增了Report(安全報(bào)告),Identity(身份),Intrusion Set(入侵集合),共12個(gè)對(duì)象。
威脅情報(bào)領(lǐng)域本體可以用來描述威脅情報(bào)中的本體及其關(guān)系,并對(duì)該領(lǐng)域的本體概念及其特征和規(guī)律給出一種形式化描述。圖1 中采用LCG(Language Concept Graph)描述了威脅情報(bào)種的本體結(jié)構(gòu)。LCG是一種有向圖,圖中橢圓代表本體概念,有向邊代表本體之間的關(guān)系。本文中對(duì)威脅情報(bào)領(lǐng)域本體分為6類:攻擊目標(biāo)、攻擊者、漏洞、TTP、觀測(cè)指標(biāo)和防御措施。本文中對(duì)威脅情報(bào)領(lǐng)域本體分為6 類對(duì)攻擊事件進(jìn)行描述,相較于Stix2.0,增加了攻擊目標(biāo)和TTP;保留了Indicator,Course of Action,Threat Actor和Vulnerability,分別對(duì)應(yīng)觀測(cè)指標(biāo),防御措施,攻擊者和漏洞;其中TTP中包含了傳統(tǒng)的攻擊模式、攻擊工具和攻擊過程三個(gè)部分。
圖1 基于STIX2.0的威脅情報(bào)本體關(guān)系圖
威脅情報(bào)的應(yīng)用本體是對(duì)領(lǐng)域本體的細(xì)化描述,根據(jù)以上的分類結(jié)果,對(duì)領(lǐng)域本體的描述及應(yīng)用本體的分類如圖2所示。
(1)攻擊目標(biāo),是指攻擊者在攻擊過程中選擇的具體目標(biāo),應(yīng)用本體種包含了硬件、鏈路、服務(wù)和數(shù)據(jù)四個(gè)子類。
圖2 威脅情報(bào)應(yīng)用本體
(2)攻擊者,是指在發(fā)起攻擊的組織或個(gè)人,應(yīng)用本體種將其分為:政府組織、民間團(tuán)體和個(gè)人。
(3)漏洞,是指在攻擊過程中使用到的未公開漏洞和已公開漏洞,通常按照國(guó)際通用漏洞編號(hào)進(jìn)行統(tǒng)一命名,其中包括:系統(tǒng)漏洞、協(xié)議漏洞、配置漏洞。
(4)TTP,概念來自于軍事領(lǐng)域及反恐活動(dòng),現(xiàn)被信息安全領(lǐng)域用來描述攻擊過程中的戰(zhàn)術(shù)、技術(shù)和攻擊過程。按照其原始內(nèi)涵進(jìn)行分類,TTP 包含攻擊模式、攻擊工具和攻擊過程三個(gè)子類。
(5)防御措施,是指在預(yù)防攻擊或網(wǎng)絡(luò)攻擊事后加固時(shí),采取的安全保護(hù)措施。其中包括:網(wǎng)絡(luò)防護(hù)、本地防護(hù)和數(shù)據(jù)防護(hù)。
(6)觀測(cè)指標(biāo),是指在網(wǎng)絡(luò)攻擊過程中產(chǎn)生的威脅情報(bào)指標(biāo)。按照其類型分為:網(wǎng)絡(luò)特征、主機(jī)特征和事件特征。
威脅情報(bào)中的原子本體可以直接實(shí)例化圖譜中的實(shí)體,同時(shí)原子本體和應(yīng)用本體之間是類和實(shí)例的關(guān)系。原子本體在本體中是最小的不可分割的概念,因漏洞和攻擊者沒不可再分,所以沒有原子本體。
(1)攻擊目標(biāo)原子本體
攻擊目標(biāo)原子本體,是指網(wǎng)絡(luò)攻擊的目標(biāo),本文中按照其類型分為:硬件、鏈路、服務(wù)和數(shù)據(jù),如圖3所示。硬件中包含安全設(shè)備[11-12],如IDS、防火墻,交換設(shè)備,如交換機(jī)、路由器;工控設(shè)備,如PLC;主機(jī)設(shè)備,如CPU、BIOS。以鏈路為攻擊目標(biāo),本文將其分為影響鏈路功能和影響鏈路性能兩類。面向服務(wù)的攻擊可分為系統(tǒng)服務(wù)和應(yīng)用服務(wù),如smb 是操作系統(tǒng)的服務(wù),永恒之藍(lán)便是利用該服務(wù)漏洞進(jìn)行攻擊,而Web 漏洞是應(yīng)用服務(wù),SQL 注入,XSS 等都是針對(duì)Web 服務(wù)進(jìn)行的攻擊方式。以數(shù)據(jù)為目標(biāo)的攻擊,分為系統(tǒng)數(shù)據(jù)和應(yīng)用數(shù)據(jù),一些攻擊是以獲取系統(tǒng)數(shù)據(jù)為目的,如進(jìn)程列表、服務(wù)列表、系統(tǒng)密碼文件等,屬于以系統(tǒng)數(shù)據(jù)為攻擊目標(biāo)的類型,一些攻擊是以獲取應(yīng)用數(shù)據(jù)為目的,如DOC 文檔、數(shù)據(jù)庫(kù)內(nèi)容等,屬于以應(yīng)用數(shù)據(jù)為攻擊目標(biāo)的類型。
圖3 攻擊目標(biāo)原子本體
(2)TTP原子本體
TTP原子本體是攻擊方所涉及的元素,其中包括攻擊模式,攻擊工具和攻擊過程。在攻擊模式中,采用CAPEC[13]對(duì)攻擊模式的分類,攻擊模式枚舉與分類(CAPEC)網(wǎng)站由Mitre 公司托管,是安全專業(yè)人士用來理解攻擊的分類體系。攻擊模式中分為信息收集、概論攻擊、突破訪問控制、欺騙攻擊、濫用攻擊、操控?cái)?shù)據(jù)和操控系統(tǒng)資源。在攻擊過程中,本文采用洛克希德·馬丁公司公司提出的Cyber Kill Chain模型[14],將其分為:偵查跟蹤、武器構(gòu)建、載荷投遞、突破利用、安裝植入、通信控制和達(dá)成目標(biāo),如圖4所示。將攻擊按照其類別分為:提權(quán)類、拒絕服務(wù)類、信息收集類和駐留類。
圖4 TTP原子本體
(3)防御措施原子本體
防御措施原子本體是根據(jù)遭受的攻擊所采取的響應(yīng)措施,本文分為三個(gè)方面:網(wǎng)絡(luò)防護(hù)、本地防護(hù)和數(shù)據(jù)防護(hù),如圖5所示。網(wǎng)絡(luò)防護(hù),是在預(yù)防或遭受攻擊時(shí),網(wǎng)絡(luò)傳輸過程采取的安全防護(hù),如:防火墻、IDS、安全審計(jì)設(shè)備、網(wǎng)閘等。本地防護(hù),是在客戶端或服務(wù)端上進(jìn)行的防護(hù)措施,如:操作系統(tǒng)的安全配置,殺毒軟件和本地防火墻以及應(yīng)用的安全配置。數(shù)據(jù)防護(hù),是針對(duì)數(shù)據(jù)本身進(jìn)行的防護(hù)措施,隨著隱私數(shù)據(jù)泄露的事件增加,數(shù)據(jù)的防護(hù)顯得尤為重要。本文中將其分為加密傳輸、加密存儲(chǔ)和備份恢復(fù)。
圖5 防御措施原子本體
(4)觀測(cè)指標(biāo)原子本體
觀測(cè)指標(biāo)的原子本體主要分為主機(jī)特征和網(wǎng)絡(luò)特征兩個(gè)部分,用來描述威脅情報(bào)中的可觀測(cè)指標(biāo),如圖6所示。主機(jī)特征中,如:惡意軟件釋放的路徑信息、新增的注冊(cè)表項(xiàng)信息、系統(tǒng)中建立的互斥體信息以及樣本的哈希值。網(wǎng)絡(luò)特征中,如:連接的IP 地址信息、域名信息、端口信息和使用協(xié)議等。
圖6 觀測(cè)指標(biāo)原子本體
為了清晰地描述網(wǎng)絡(luò)威脅情報(bào)的知識(shí)圖譜表達(dá)方式,本章將采用結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織(oasis)公布的依據(jù)STIX2.0 標(biāo)準(zhǔn)生成的威脅情報(bào)[15],主要對(duì)Poisonivy進(jìn)行分析。Poison Ivy 本質(zhì)上是一款木馬程序(RAT),攻擊者可利用它控制目標(biāo)系統(tǒng)。Poison Ivy 木馬生成器從1.0.0 版本開始有幾十個(gè)版本,該工具可以生成EXE和shellcode。本次分析中,將FireEye對(duì)Poison Ivy的研究報(bào)告按照STIX2.0 標(biāo)準(zhǔn)的JSON 格式轉(zhuǎn)化為csv格式,并將數(shù)據(jù)導(dǎo)入Gephi 對(duì)實(shí)體和關(guān)系進(jìn)行表示,其中包含實(shí)體共61個(gè),關(guān)系102個(gè),如圖7所示。
本次的攻擊活動(dòng)主要涉及了惡意代碼、攻擊模式和漏洞信息等6種實(shí)體,相應(yīng)的統(tǒng)計(jì)個(gè)數(shù)如表1所示。
圖7 Poisonivy實(shí)體關(guān)系原始圖譜
表1 Poisonivy實(shí)體關(guān)系統(tǒng)計(jì)表
因malware 數(shù)量多,且都是同一木馬病毒的變種,因此本文將24 個(gè)malware 進(jìn)行了合并,并將idicator 和vulnerability的id命名改為name命名,調(diào)整后,如圖8所示。從圖8中可以看出,此次網(wǎng)絡(luò)安全事件的核心是一款名叫Poisonivy 的Malware。三個(gè)黃色節(jié)點(diǎn)代表了三次APT 攻擊活動(dòng),攻擊者的代號(hào)分別為admin@338,menu Pass,和th3bug。淺藍(lán)色節(jié)點(diǎn)代表了攻擊活動(dòng)中使用到的漏洞信息,其中包括,CVE-2013-0422、CVE-2011-3544、CVE-2010-3333、CVE-2012-0158、CVE-2013-1347 和CVE-2019-4324。其余深色節(jié)點(diǎn)代表了攻擊活動(dòng)中發(fā)現(xiàn)的威脅情報(bào)指標(biāo),其中主要包括IP地址、域名信息共25個(gè)特征指標(biāo),如圖8所示。
攻擊事件描述的規(guī)范化,攻擊事件中本體的界定和分類,使惡意代碼分析者與情報(bào)分析者形成統(tǒng)一的接口。從而避免了威脅情報(bào)分析人員在對(duì)不同格式的情報(bào)進(jìn)行分析時(shí)產(chǎn)生的誤差,提高了本體、屬性和關(guān)系等重要元素提取的正確率,對(duì)于威脅情報(bào)知識(shí)圖譜的構(gòu)建和威脅指標(biāo)之間的關(guān)系推理具有十分重要的意義。本文對(duì)網(wǎng)絡(luò)安全事件的格式化分析結(jié)果中可以直觀地分析惡意代碼、漏洞、攻擊源、威脅指標(biāo)等之間的關(guān)系,從而能夠在網(wǎng)絡(luò)安全事件中快速地做出應(yīng)急響應(yīng)。
本文針對(duì)網(wǎng)絡(luò)威脅情報(bào)的不同描述規(guī)范,建立了基于STIX2.0 的本體模型,并對(duì)其領(lǐng)域本體、應(yīng)用本體和原子本體進(jìn)行詳細(xì)劃分,完成了威脅情報(bào)中非結(jié)構(gòu)化數(shù)據(jù)到結(jié)構(gòu)化數(shù)據(jù)的對(duì)應(yīng)轉(zhuǎn)化。本文同時(shí)參考了CAPEC對(duì)攻擊模式的分類和Kill Chain模型,對(duì)網(wǎng)絡(luò)攻擊模式和過程進(jìn)行了科學(xué)描述。最后,文中使用攻擊事件報(bào)告對(duì)該模型進(jìn)行了驗(yàn)證,通過圖譜的表達(dá),可以更加直觀地了解攻擊事件中的重要實(shí)體及其之間的關(guān)系。要想真正準(zhǔn)確地表達(dá)威脅情報(bào)的內(nèi)容,實(shí)現(xiàn)威脅情報(bào)的精準(zhǔn)可視化,需要盡快建立一個(gè)對(duì)威脅情報(bào)描述的規(guī)范體系,只有這樣才能從不同的情報(bào)源中提取知識(shí)實(shí)體,為之后的數(shù)據(jù)分析和預(yù)測(cè)提供數(shù)據(jù)來源。
圖8 Poisonivy實(shí)體關(guān)系處理后圖譜