?

基于電子指紋的網絡攻擊溯源技術

2020-11-17 06:54吳朝雄馬書磊
計算機工程與設計 2020年11期
關鍵詞:指紋重構節點

吳朝雄,馬書磊,石 波,于 冰

(中國航天科工集團二院 706所,北京 100854)

0 引 言

網絡攻擊溯源已開展多方面的研究,包括基于臨近節點溯源[1];追蹤溯源體系的構建[2];動態概率包標記的DDOS攻擊溯源優化方法[3];溯源過程中網絡包防被修改或者偽造[4];惡意代碼的編碼特性、演化特性及對溯源階段的作用[5];SDN網絡上的網絡溯源[6];網絡節點攻擊路徑的檢測[7];層次分析法的網絡攻擊溯源動態評估模型[8];基于IDS報警和rootkit的威脅溯源方法研究[9]等。

當前網絡攻擊溯源存在一些問題,主要包括以下幾點:目前主要為網絡層的溯源,對具體被攻擊的內容對象溯源不全面、不清楚;網絡攻擊動態性較強,目前攻擊溯源過于籠統,導致無法分辨出高度疑似的攻擊路徑和確定的攻擊路徑;網絡溯源后,缺乏對網絡攻擊影響的分析和預測;網絡攻擊溯源定位網絡攻擊者及攻擊組織難度大。

本文針對上述不足之處,提出了基于電子指紋的網絡攻擊溯源技術。該技術能夠實現數據級的、全過程的網絡攻擊溯源,并能預測后續受影響的網絡范圍。

1 系統設計思路

網絡攻擊溯源根據溯源的目標和對象不同,分為不同層次的溯源。按照TCP/IP結構,主要分為網絡層和應用層網絡攻擊溯源。按照攻擊源頭對象的不同,網絡攻擊追蹤溯源劃分為虛假IP追蹤、Botnet追蹤、匿名網絡追蹤、跳板追蹤和局域網追蹤5類;也可將網絡攻擊追蹤溯源劃分為溯源攻擊主機、控制主機、攻擊者、攻擊組織機構4個級別[10]。

美國信息安全保障局提出“安全必須從以網絡為中心,轉向以數據為中心”。當前敵對者發動的攻擊往往以竊取數據、毀癱數據為主要目標之一。

因此,根據網絡攻擊溯源的分類以及當前以數據安全為中心的網絡安全防護模式的特點,本文的網絡攻擊溯源主要圍繞數據開展分析,重點構建細粒度的網絡攻擊路徑,能夠溯源到被攻擊的數據。

基于電子指紋的網絡攻擊溯源的研究思路主要包括以下過程:

首先,生成數據的電子指紋。通過提取數據中流動信息、交互信息、時間戳等特征,并對選取的數據特征進行組合,對數據特征進行加密生成數據的電子指紋。并將電子指紋與數據進行映射,實現電子指紋與數據的一一對應。通過電子指紋信息,能夠在不同數據之間建立起關系,為后續攻擊溯源提供基礎。

其次,以數據電子指紋為基礎,結合網絡攻擊日志信息,構建原生網絡攻擊樹。依托建立的數據關系,初步構建網絡攻擊路徑。然后再對分析得到的網絡攻擊路徑進行交叉分析、同源分析,重構網絡攻擊路徑,分辨出確定和可疑的攻擊路徑,并定位攻擊發生的源頭。

最后根據網絡攻擊發生的時間、攻擊對象、攻擊特點、同機數據交叉感染、數據的流動和共享過程,預測受影響的網絡范圍。網絡攻擊溯源及預測的流程如圖1所示。

圖1 網絡攻擊溯源及預測流程

2 基于電子指紋的網絡攻擊溯源與預測方法

2.1 電子指紋設計與綁定

(1)電子指紋設計

網絡中的數據由生產者創造出來,并經過不同的途徑流動到不同的位置。在數據流動過程中,數據經過用戶的修改、編輯等形成新的數據。因此,數據在網絡系統中具有較強的關聯關系。由于每個數據包含的內容不同、所有者屬性不同、創建時間等信息是唯一的,可通過對數據相關特征進行提取,并利用提取的特征生成數據的電子指紋信息。并通過對數據電子指紋的跟蹤,能夠實現對數據全流程流動信息的掌控,為網絡攻擊路徑重構和溯源提供基礎。

設計的電子指紋信息包括標簽頭、流動信息、文件屬性信息、審計信息等4類信息。在本文中,依據數據在網絡傳播中呈現的特點,選取數據IP、數據傳送者IP、流動時間戳、操作類型等作為數據的特征,用以生成數據電子指紋的標志。數據的電子指紋設計結構如圖2所示。

圖2 電子指紋設計結構

其中,標簽頭為電子指紋的保護屬性,采用哈?;蛘吆灻人惴▽崿F。

電子指紋用ftab表示,ftab=(fid,fip,p_ip,timestamp_se)。其中,fid為電子指紋標識;fip為當前數據所在的網絡地址;p_ip為數據發送者地址;timestamp_se為流動時間戳,也即數據交換的時間。

電子指紋信息在數據落地階段生成,是數據在網絡中的唯一“身份”。在電子指紋生成過程中采用哈?;蛘吆灻人惴?,確保電子指紋具有不可修改、抗偽造等的特性。數據在發送之前將當前數據的地址信息賦值給電子指紋中p_ip。當數據落地,將數據落地后的地址信息賦值給fip,并重新計算數據的電子指紋,生成新數據的電子指紋。

(2)電子指紋與數據關系映射

電子指紋與數據之間的關系映射可采用兩種方式,一是在文件落地存儲的時候,采用文件驅動或者應用程序改寫的方式,將電子指紋信息嵌入到文件的數據區,在嵌入過程中,電子指紋嵌入到文件數據區,形成一個整體,從而達到電子指紋與數據不可分割的效果。二是通過建立電子指紋與數據的一一映射關系的電子指紋索引表,并動態維護電子指紋索引表。

經過映射后的數據信息用F表示,F=(ftab,fip,fna,fpa)。其中,fna為文件名稱,fpa為數據的存儲路徑。

2.2 原生網絡攻擊樹的構建

系統進化樹是表明被認為具有共同祖先的各物種間演化關系的樹,在樹中每個節點代表其各個分治的最近共同祖先,而節點的線段長度對應了其演化的距離,數枝的長度反映當前這些事件發生之間的進化距離。網絡攻擊的傳播、感染均與系統進化樹具有高度相似的特性。網絡攻擊往往通過一個節點發起攻擊,然后不斷地探測與該節點具有聯通關系的其它節點,并通過攻陷其它節點,然后迭代進行下一步的攻擊,如此反復,最終實現網絡攻擊及傳播。因此,在原生網絡攻擊樹的構建過程中,借鑒了進化樹的相關思想,通過用樹結構來構建網絡攻擊路徑。用樹節點表示每個被攻擊的數據信息,節點與節點之間的連線表示攻擊之間的演化及傳播路徑。樹中節點的長度表示攻擊經過的步驟數量或者節點數量。將樹與數據流動路徑和交互關系結合,可以獲取數據之間在時間、空間方面的關系。并根據網絡攻擊的目標對象、交互關系、發生時間等,構建網絡攻擊之間的傳播和流動關系。

為更好理解文中內容,本文做以下定義:

定義1 同源數據表示樹中兩個或者多個數據節點有共同的祖先的節點的集合。

定義2 同機數據表示在同一棵樹或者不同的樹中的兩個或者多個數據節點地址相同的節點的集合。

定義3 節點長度表示從攻擊源頭到該節點之間所經過的路徑,代表了其被攻擊的演化距離。

定義4 關系節點分為直接關系節點和間接關系。節點直接關系節點表示與該數據節點之間的距離為1的節點。間接關系節點表示與該數據節點之間的距離大于1的節點。

定義5 數據相似度表示樹中兩個節點所包含的內容重合的程度,相似度為重合內容在節點內容中的占比。

上述定義的簡要說明如圖3所示。

圖3 示意圖

如圖3所示,C、D為B的同源數據,B、C、D為A的同源數據。D的節點距離為2。B、C為直接關系節點,A、C為間接關系節點。

原生網絡攻擊樹主要目的是為了發現和找到與被攻擊數據存在所有直接關系與間接關系的數據節點。

原生網絡攻擊樹的構建以數據的電子指紋為基礎,結合網絡安全日志信息進行構建。網絡安全日志信息由部署在網絡中的安全防護設備提供。從網絡安全日志信息中抽取出來的網絡攻擊信息用V表示。V=(vip,fna,fpa,md5,vna,vdes,vdg)。其中,vip為網絡攻擊發生的地址信息;md5為文件的MD5值;vna為網絡攻擊的名稱;vdes為對網絡攻擊的描述;vdg為網絡攻擊的嚴重程度。

原生網絡攻擊樹依托電子指紋確定數據之間各節點的關系,形成流動路徑。再通過關聯分析Vi與Fj中的地址信息、電子指紋信息等,初步確定與被攻擊數據所有有關聯的數據信息。

原生網絡攻擊樹采用R表示,樹中節點信息采用T表示,T=(F,fip,flag)。其中,flag為該節點是否被攻擊的標志,該標志可以分為0、1、2、3等3種狀態。0表示未被攻擊,即網絡安全防護設備未發現的攻擊;1表示確定受到攻擊,即網絡安全防護設備檢測到的攻擊;2表示通過推理后確定為被攻擊;3表示攻擊狀態不確定,但是被攻擊疑似度較高。

任意選取被攻擊的數據F為數據源,向上、向下尋找其關系節點,分析數據之間的完整流動關系。

構建原生網絡攻擊樹R的算法如下:

(1)選取Vi,判斷Vi中vip、fpa、fna與Fj中fip、fna是否一致。如果一致,提取Fj中ftabs中fid、fip、p_ip等信息形成T,并將T加入到R。

(2)選取數據Fi,與R中各個節點中包含的fip、p_ip等信息進行比較和分析。

(3)若Fi.ftab.fip=R.F.fab.p_ip,則抽取Fi中的相關信息,形成節點T,將T作為R的子節點,更新樹R的信息。

(4)若Fi.ftab.fip=R.F.fab.p_ip,則抽取Fi中的相關信息,形成節點T,將T作為R的父節點,更新樹R的信息。

(5)若R.F.fab.fip≠Fi.ftab.fip,則退出計算,表明已經搜索完所有節點信息。

(6)重復步驟(2)~步驟(5),若完成對F的全部搜索,則完成原生網絡攻擊樹R的構建。

(7)根據網絡安全設備檢測到的網絡攻擊信息,分析R中各節點發生網絡攻擊的情況,并按照前文所述的3類被攻擊狀態修改標記信息。

2.3 網絡攻擊路徑構建

網絡攻擊具有較強的并發性、隱藏性,網絡攻擊路徑構建主要是構建確定的、可疑的、隱藏的所有網絡攻擊的路徑。在網絡攻擊路徑構建過程中,排除外界人為的干擾,如果當前的數據受到網絡攻擊,那么該數據的同機數據、同源數據極大可能也被攻擊。網絡攻擊路徑構建包含網絡攻擊標記與攻擊路徑構建兩方面。在網絡攻擊路徑構建過程中采用剪枝法快速生成網絡攻擊路徑。

網絡攻擊標記:

針對構建的原生網絡攻擊樹R,若未被攻擊的節點標記為0,在R中搜索其同機數據,只要有一個節點的標記為1,則將所有其它地址信息相同的節點標記修改為2。

網絡攻擊路徑構建:

網絡攻擊路徑構建通過搜索R,回溯原生攻擊樹中網絡攻擊的傳播路徑。網絡攻擊路徑主要通過關聯分析和推理,在R中推理出確定以及高度疑似被攻擊的數據節點,并剪枝未被攻擊的節點。

在網絡攻擊溯源過程中,用集合R^表示溯源得到的攻擊路徑集合。

具體攻擊路徑溯源算法如下:

(1)搜索R中節點被攻擊標記flag=1的所有同機數據節點,形成集合M,計算M中各節點的節點長度;

(2)選取M中長度最小的p節點為溯源算法的開始節點;若M集合為空,算法結束;

(3)若p節點的父節點q.flag=1,則將p節點的指針上移到p的父節點;

(4)若p節點的父節點q.flag=0,則將q、p以及p的所有同源數據節點加入到R^,在節點信息存放過程中不改變節點的連接關系;

(5)修改p的所有同源數據節點的flag=1。

(6)在R中將以q為根節點的所有子樹全部從R中剪掉。同時,從M集合中刪除與R^中相同的節點;重復步驟(2) ~步驟(6)。

算法結束后,形成的R^即為網絡攻擊路徑。

網絡攻擊路徑重構:

網絡攻擊具有較強的動態性,同時也由于網絡攻擊存在信息不完善、信息缺失等情況,導致前一時刻發現的網絡攻擊不一定為最終的攻擊結果,前一時刻未發現的傳播和感染關系也可能在下一時刻被發現。因此,網絡攻擊路徑重構過程中,將網絡攻擊路徑分為兩種狀態,即確定的攻擊路徑以及可疑的攻擊路徑,并動態結合當前的攻擊信息進行不斷地調整和分析。確定的攻擊路徑至少在當前能夠描繪出攻擊的傳播路徑??梢傻墓袈窂叫枰鶕罄m網絡攻擊呈現的信息進行進一步的分析和重構,才能判斷是否為確定的攻擊。

網絡攻擊路徑重構旨在對多條網絡攻擊路徑進行數據同源性分析、數據同機性分析、數據相似性分析等,并辨別出確定的攻擊路徑以及高可疑的攻擊路徑。根據數據流動的時間先后關系以及數據被攻擊的情況進行綜合分析,對攻擊路徑進行交叉關聯分析。攻擊路徑重構涉及到兩個層面:一是同源數據的攻擊路徑重構,只針對一個R^集合的分析。二是多源數據的攻擊路徑重構,針對多個R^集合之間的分析。其中,多源數據由于沒有缺乏同源性,主要從數據包含的具體內容、數據格式、數據同機性等方面開展分析,并最終發現攻擊之間的傳播關系、感染關系等多種關聯關系,從而完成對網絡攻擊路徑進行重構。多源數據間交叉關聯分析的路徑大部分均為可疑路徑。

攻擊路徑重構算法如下:

(1)任意選取R1^中的攻擊路徑p,然后判斷p根節點是否為R1^中其它網絡攻擊路徑q的子節點。

(2)如果p為子節點,且p的流動時間戳大于q的時間戳,則將p作為q中與p節點同機數據節點的子節點,形成一條可疑的網絡攻擊路徑,更新網絡攻擊路徑q。

(3)在q內部再次搜索是否同機數據節點,如果有,則將時間戳大的節點m作為時間戳小的節點s的子節點,形成一條可疑的網絡攻擊路徑。并將節點m與其父節點之間的攻擊路徑由確定狀態變為可疑狀態。

(4)若m的父節點無其它子節點,且flag=2,則m的指針移到其父節點,繼續搜索其父節點,將路徑改為疑似路徑,重復步驟(4),直到父節點flag=0。

(5)重復(1)~步驟(4),直到將R1^分析完成。

(6)分析R1^中是否有節點與R2^中的數據節點的內容相似,對于內容相似度高于50%及以上的數據節點,按照步驟(1)~步驟(4)進行分析和重構。

最后分析得到的結果即為最后的網絡攻擊路徑。通過網絡攻擊路徑能夠較為清楚定位到攻擊發生的源頭以及攻擊是如何一步一步實施的。對可疑的網絡攻擊路徑,需要待進一步的信息輸入,再確認是否為確定的攻擊路徑。

2.4 攻擊影響評估與預測

根據重構的網絡攻擊路徑,結合原生網絡攻擊樹的節點連接關系,對網絡攻擊進行影響分析,預測即將受影響的節點。由于攻擊及攻擊目標均具有一定的相似性和傳播性,網絡攻擊的影響預測以地址為中心,基于重構的網絡攻擊路徑,對網絡攻擊路徑進行精簡,將樹節點中地址信息相同的節點合并為同一個節點,不改變原節點與其它節點之間的邏輯連接關系及原節點被攻擊的情況。完成對網絡攻擊路徑的剪枝后,再結合原生網絡攻擊樹中的連接關系進行進一步合并,最后在重構的網絡攻擊路徑中新增的節點即為可能受影響的節點,完成對網絡攻擊影響的預測。

3 實驗仿真與分析

3.1 實驗環境

為了測試和驗證本文提出的方法的有效性,搭建了一套實驗環境,實驗中部署多臺終端及兩臺服務器,一套防病毒軟件。服務器上部署郵件系統及點對點服務軟件。在各終端上預先存放部分數據,包括word、ppt、圖片等多種數據文件信息,然后通過點對點服務以及郵件服務進行數據流動、交互和共享。在數據交換和流動過程中,讓相關數據被具有較強傳播性、感染性和控制性病毒攻擊,包括蠕蟲病毒、宏病毒等攻擊。搭建的實驗網絡拓撲圖如圖4所示。

圖4 實驗環境拓撲

3.2 實驗仿真與分析

實驗中網絡攻擊日志信息主要由防病毒軟件提供。在實驗過程中,對病毒的傳播、感染通過精準控制,記錄操作病毒的時間、路徑等信息,作為樣本數據。通過本技術在實驗環境中得到的數據為實驗數據,分析實驗結果與樣本數據的誤差,從而判斷本技術的準確率。為方便分析本技術的準確率,主要通過多次實驗,統計分析正確溯源的攻擊路徑數量占比,最后取多次實驗結果的平均值。

首先,將不帶病毒的文件放在1號終端,然后通過郵件、點對點通信等手段發送到不同的終端。并在不同的終端上操作后,再發給其它相關終端。具體的數據流動及數據檢測到被攻擊的信息見表1。

表1 實驗樣本數據

表1中 (ftab1,1,0) 表示數據節點的信息,其中,第一位表示數據的電子指紋,第二位表示地址信息,為方便理解,用終端序號代表數據的地址信息,第三位表示被攻擊的標志。表1中數據源表示該數據為傳播節點,流動路徑為數據的接收對象。每一行表示一條數據傳播鏈路。以第一行數據為例,第一行數據信息表示 (ftab1,1,0)→(ftab2,2,0)→(ftab3,3,0)→(ftab4,4,0)→(ftab5,5,0),即1號終端的電子指紋為ftab1的數據流動到2、3、4、5號終端,并且在各自的終端中生成新的電子指紋。用ftab代表各數據的電子指紋。實驗中只有ftab3、ftab5、ftab16、ftab17、ftab18等數據為實際未被感染和攻擊的數據。

在實驗過程,操作數據ftab6、ftab12、ftab13,使其攻擊代碼能夠被執行,從而能夠被防病毒軟件檢測出來,其它被攻擊的數據雖然已經被感染,但是由于沒有執行相關操作,所以數據被攻擊狀態處于隱藏狀態。同時,(ftab4,4) 比(ftab6,4)的流動時間要早。(ftab14,4)比(ftab12,4)的流動時間要早。

根據算法構建的原生網絡攻擊樹R示意如圖5所示。

圖5 構建的原生網絡攻擊樹

由于(ftab12,7)、(ftab13,5)等檢測到被攻擊,按照算法,從原生網絡攻擊樹中,構建出分別以(fab2,2)、(fab4,4)為源數據的兩條攻擊路徑,如圖6所示。

圖6 網絡攻擊路徑構建

圖6中,存在(ftab4,4)、(ftab6,4)為同機數據,可能存在交叉感染的情況,由于(ftab4,4)的數據流動的時間戳比(ftab6,4)大,因此,可能存在(ftab6,4)到(ftab4,4)的攻擊路徑,將該條攻擊路徑標記為可疑路徑。重構后的網絡攻擊路徑中確定的網絡攻擊路徑采用實線表示,疑似網絡攻擊路徑采用虛線表示,如圖7所示。

圖7 攻擊路徑重構結果

圖7中,通過本文的技術共溯源出7條網絡攻擊路徑,與實驗中樣本數據保持一致。

結合圖5、圖7的包含的數據信息、網絡攻擊信息,分析數據之間的同源性、數據流動的關系,可以計算出后續可能被影響的終端包括3、6、10。網絡攻擊節點影響預測結果如圖8所示。

圖8 網絡攻擊節點影響預測

采用實驗中所述的方法,分別在終端數量為10、20、30臺的網絡規模下,進行了3組實驗,每組實驗選取不同數量的樣本數據進行多輪溯源計算,最后取平均值,實驗結果見表2。

表2 實驗結果統計

從實驗結果中可以看出,通過本文的方法能夠發現被攻擊數據,并定位被攻擊數據的源頭。通過對多次實驗結果的溯源結果的準確性進行了統計分析。

4 結束語

本文設計基于電子指紋的網絡攻擊溯源的方法,實現對被損數據細粒度、全過程的網絡攻擊路徑溯源,對網絡攻擊影響范圍的預測,對攻擊路徑類別的識別,能夠根據網絡攻擊信息的動態輸入,對網絡攻擊進行動態溯源分析。同時,通過對多組實驗數據的統計分析,分析本技術的溯源準確率。后續還需進行進一步的深入研究和技術突破,主要需要開展大規模網絡、大樣本數據的環境下,攻擊溯源的準確率、時效性、同源性攻擊溯源等方面的優化。

猜你喜歡
指紋重構節點
CM節點控制在船舶上的應用
視頻壓縮感知采樣率自適應的幀間片匹配重構
長城敘事的重構
像偵探一樣提取指紋
為什么每個人的指紋都不一樣
基于AutoCAD的門窗節點圖快速構建
概念格的一種并行構造算法
北方大陸 重構未來
北京的重構與再造
基于自適應稀疏變換的指紋圖像壓縮
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合