樊 ,,英杰
(空軍工程大學,西安 710051)
目前,高級可持續性威脅(Advanced Persistent Threat,APT)[1]是網絡空間安全面臨的重大問題之一。APT攻擊由計算機和社會工程學專家共同完成,攻擊者一般具有國家背景[2]。APT具有攻擊周期較長、使用一個或多個0day漏洞、攻擊程序功能強大復雜、攻擊路徑多樣的特點。
APT攻擊主要分為破壞型和竊密型2種[3]。2010年1月,疑似美國和以色列的黑客組織利用CVE-2010-2568等多個0day漏洞[4]編寫了著名的Stuxnet病毒,用其對伊朗的核設施進行破壞。2011年10月,黑客組織利用CVE-2011-3402漏洞編寫DUQU病毒感染伊朗和蘇丹的計算機并進行竊密行動。在如今的和平時期,為竊取目標的敏感信息,APT被很多攻擊者所使用[5]。
為防范竊密型APT的攻擊,需要對其行為進行建模。本文通過對竊密型APT攻擊進行詳細分析,總結APT攻擊各階段的攻擊手段及特點,在此基礎上,建立一種APT攻擊分層表示模型APT-HRM(APT Hierarchical Representation Model)。在形式化定義竊密型APT攻擊后,利用該模型對DUQU 2.0 APT攻擊進行分析,并檢驗模型的性能。
目前,國內外學者對APT建模問題的研究已經取得較多成果。文獻[6]研究竊密型APT攻擊的表示及預測方法,針對現有APT攻擊檢測和防御較困難的問題,提出一種樹形結構的竊密型APT攻擊表示方法和預測方法。文獻[7]針對在移動目標防御中沒有合適攻擊表示方法的問題,提出一種結合攻擊圖和攻擊樹的層次攻擊表示模型HARM。文獻[8]通過對APT攻擊手段進行分析,提出APT的5個攻擊階段。文獻[9]研究APT的攻擊特點,通過對大量APT攻擊實例的分析,總結歸納APT的4個攻擊階段。文獻[10]通過對APT各階段行為的分析,總結歸納APT各階段的行為特點。文獻[11]針對APT攻擊檢測中缺乏推理規則的問題,通過對APT本體攻擊行為的分析,建立APT攻擊行為本體模型。文獻[12]研究竊密型APT的攻擊特點,針對APT攻擊預測困難的問題,通過Markov鏈對APT攻擊鏈進行建模,建立能夠預測APT攻擊的MM-TBM模型。
但是,上述方法在對竊密型APT攻擊建模時,只對各攻擊階段的攻擊方案進行文字描述,而沒有實現形式化定義且沒有對攻擊方式作有效歸類。為此,本文在APT攻擊條件下對HARM模型進行改進,研究并建立一種竊密型APT攻擊分層表示模型APT-HRM。文中給出該型APT攻擊的形式化定義,并結合一次真實的APT攻擊事件對模型進行有效性分析。
將APT攻擊分為上下2層,上層為攻擊鏈(Attack Chain,AC),下層為攻擊樹(Attack Tree,AT)。
定義1APT-HRM模型由三元組Z表示,Z=(AC,AT,f)。其中,AC表示模型上層的APT攻擊鏈,AT表示模型下層的APT各階段攻擊樹,f=AC→AT表示攻擊鏈中某階段到對應攻擊樹的一一映射關系。
定義2攻擊鏈AC位于APT-HRM的上層,用有向圖B=(N,E)表示。其中,N是攻擊鏈中各攻擊階段的有限集,E?N×N是攻擊鏈中連接各攻擊階段的邊集,其表示2個攻擊階段ni∈N和nj∈N之間的遷移,即已完成ni攻擊階段,將要進行nj攻擊階段。
定義3攻擊樹AT位于APT-HRM的下層,用三元組T=(S,W,G)表示。其中,S是一組攻擊方案或攻擊子樹的有限集,W是一組攻擊事件的有限集,其遵循樹的排布規則,以(child,gate,parent)的形式表示,gate∈{AND-gate,OR-gate},AND-gate為邏輯“與”門,OR-gate為邏輯“或”門,G是要達成的攻擊目的,其可以是某一種攻擊行為的目的,如完成主動信息偵察,也可以是階段性攻擊目的,如完成偵察階段。
本文定義一個2層的APT-HRM模型,上層攻擊鏈AC表示APT攻擊中的各階段,下層攻擊樹AT表示發動APT攻擊所使用的攻擊方案。APT-HRM表示模型如圖1所示。

圖1 APT-HRM模型示意圖
本文建立以偵察、滲透、開采和撤出為4個攻擊階段的模型RIEE。這4個攻擊階段構成了一個完整的攻擊鏈,如圖2所示。

圖2APT攻擊鏈
偵察階段主要完成對攻擊目標的信息搜集工作。手段主要包括被動信息偵察、主動信息偵察和半被動信息偵察,目標主要包括開放的網絡端口、漏洞信息、網絡拓撲結構、操作系統類型、DNS信息、內網登陸地址、社會工程學信息、目標主要防御手段等。
滲透階段主要利用偵察階段獲取的信息對目標進行滲透。手段主要包括社會工程學攻擊和漏洞攻擊,此處的漏洞一般為0day或1day漏洞,很難對其進行防范。目標主要為獲得攻擊目標單節點主機或某一應用系統的控制權。在該階段,攻擊者還會建立遠程指揮控制中心(Command&Control,C&C),以對下一攻擊階段的行為進行遠程控制。
開采階段主要根據C&C指令利用單點主機或應用系統的控制權限獲取敏感信息,或通過已滲透的系統對目標內部網絡進行進一步滲透。手段主要有深入滲透和信息搜集。目標主要是在對象沒有察覺的情況下獲取其內部網絡的詳細信息,并進行進一步滲透和獲取感興趣的相關資料,如知識產權信息。
撤出階段主要是將開采階段獲取的信息通過加密網絡從目標網絡傳回攻擊者手中并銷毀一切攻擊痕跡。手段主要包括隱秘信息回傳、日志數據銷毀等。目標主要是獲取對象敏感信息、消除攻擊痕跡。
在APT-HRM中,AC中的各攻擊階段ni都有與之對應的攻擊樹ATi。對于某一攻擊樹ATi,可能存在不同的子樹。只有完成了AT中各階段對應的攻擊目標,才能轉入下一個階段。
2.3.1 偵察階段
本節列舉偵察階段的主要攻擊方案,將被動偵察方案標記為RP,被動偵察完成記為R1;將主動偵察方案標記為RA,主動偵察完成記為R2;將半被動偵察方案標記為RS,半被動偵察完成記為R3。表1所示為偵察階段AT的W三元組信息。

表1 偵察階段AT的三元組信息
在多數已知的APT攻擊中,R1和R3使用較多,尤其是RP2型和RS2型偵察手段,在目標系統防護措施較為嚴密的情況下仍能夠獲取相關的必要信息。圖3所示為偵察階段的AT示意圖。

圖3 偵察階段攻擊樹示意圖
2.3.2 滲透階段
本節列舉滲透階段主要的攻擊方案,將社會工程學滲透方案標記為IS,社會工程學滲透完成記為I1;將漏洞攻擊滲透方案標記為IV,漏洞攻擊滲透完成記為I2。表2所示為滲透階段AT的W三元組信息。

表2 滲透階段AT的三元組信息
此處需要注意的是目前比較流行的“水坑”攻擊和“魚叉”攻擊。“水坑”攻擊主要針對目標用戶經常訪問的應用系統(主要是網頁)進行攻擊,獲取其管理權限并投放攻擊代碼。當目標用戶訪問該應用系統時就會觸發預設的攻擊代碼,進而被滲透。因此,該攻擊屬于應用系統漏洞攻擊范疇,此處的攻擊一般基于0day漏洞,對其較難防范?!棒~叉”攻擊是釣魚攻擊的一種新形式,攻擊者在充分了解目標信息(包括社會關系、工作方式等)后,利用虛假信息誘騙目標運行惡意程序(通常是郵件附件)以達到滲透的目的。由于收集了目標信息,因此“魚叉”攻擊誘騙成功率比普通的釣魚攻擊高,但其仍然屬于IS1和IS2的范疇。此外,攻擊者可能偽造或竊取合法的數字證書來為惡意代碼進行簽名,此種情況下用戶難以察覺目標在運行惡意代碼。圖4所示為滲透階段的AT示意圖。

圖4 滲透階段攻擊樹示意圖
2.3.3 開采階段
本節列舉開采階段主要的攻擊方案,將深入滲透開采方案標記為EPD,深入滲透開采完成記為EP1;將信息搜集開采方案標記為EPI,信息搜集開采完成記為EP2。表3所示為開采階段AT的W三元組信息。

表3 開采階段AT的三元組信息
開采階段是APT攻擊的核心階段,在滲透進入目標系統后,可以以當前節點或應用系統為基礎進行深入滲透或直接進行信息搜集。在實際的APT攻擊中,兩者往往同時進行。EPI1一般包括網絡節點MAC地址、處理器架構、網絡拓撲結構等;EPI2一般包括操作系統類型、版本、漏洞信息、IP地址等;EPI3一般包括應用系統口令、版本、配置情況等;EPI4一般包括知識產權信息、軍事戰略信息等。圖5所示為開采階段的AT示意圖。

圖5 開采階段攻擊樹示意圖
2.3.4 撤出階段
本節列舉撤出階段主要的攻擊方案,將隱秘信息回傳標記為EFC,回傳完成記為EF1;將日志數據銷毀標記為EFL,銷毀完成記為EF2。表4所示為撤出階段AT的W三元組信息。

表4 撤出階段AT的三元組信息
EFC1主要通過SSL/TLS的加密通信、私有協議的加密通信或數據隱寫技術進行通信;EFC2主要支持洋蔥路由(TOR)[13-14]的匿名通信,也支持其他基于多跳的加密通信[15];EFC3主要通過將回傳通信流量混淆在正常的通信流量中,使得IDS等防護設備難以尋找到異常流量。由于APT攻擊持續時間可能較長,因此攻擊者可以將所需數據以十分微小的流量形式進行傳輸。EFL1主要針對硬件防護設備的日志記錄進行銷毀,如硬件防火墻、IPS等;EFL2主要針對操作系統登錄日志、操作日志等進行銷毀;EFL3主要針對目標應用系統的操作日志進行銷毀。值得注意的是,銷毀只包含攻擊者的日志記錄時往往較困難,因此,APT攻擊者往往直接銷毀目標系統的所有日志信息。圖6所示為撤出階段的AT示意圖。

圖6 撤出階段攻擊樹示意圖

示例2在APT-HRM中,攻擊鏈AC的有向圖表示為C=({nR,nI,nEP,nEF},{(nR,nI),(nI,nEP),(nEP,nEF)})。其中,nR是偵察階段,nI是滲透階段,nEP是開采階段,nEF是撤出階段,(ni,nj)表示從ni階段轉移到nj階段。

著名網絡安全廠商卡巴斯基實驗室于2015年宣布自身遭受了代號為DUQU 2.0的APT攻擊,導致其部分知識產權信息被竊取。其自身經過詳細地分析,于2015年6月公布了攻擊的技術細節報告[16]。本文利用APT-HRM對此次攻擊進行建模與分析,以檢驗APT-HRM模型的性能。
DUQU 2.0攻擊鏈包含RIEE的全部4個階段。在偵察階段,攻擊者利用各種方法獲取了卡巴斯基實驗室亞太區某員工的詳細信息(至少包括上下級關系、郵箱地址、內部應用系統信息等);在滲透階段,攻擊者運用社工方法誘騙實驗室工作人員打開帶有惡意附件的郵件,并利用3個0day漏洞獲取了系統的控制權;在開采階段,攻擊者利用0day漏洞將自身權限提高到管理員級別,并利用被感染的計算機作為跳板感染網絡內其他計算機,然后建立C&C對開采行動進行遠程控制,同時對網絡拓撲結構、操作系統信息、內網應用系統信息和知識產權信息進行搜集;在撤出階段,攻擊者利用圖片數據隱寫技術和流量混淆技術與C&C建立隱蔽通信,以此回傳相關信息,同時對入侵記錄進行銷毀。
3.2.1 偵察階段

3.2.2 滲透階段

3.2.3 開采階段
在開采階段,攻擊者進行深入滲透和信息搜集。攻擊者首先利用CVE-2014-6324漏洞將自身權限提升至管理員級別,隨后利用被感染的計算機作為跳板攻擊域內其他計算機,同時使用MSI安裝包釋放支持C&C控制的遠程后門程序。DUQU 2.0使用的代碼駐留方式十分特別,幾乎沒有存儲于磁盤的文件,絕大部分代碼運行在內存中,因此,目標很難發現磁盤上的異常。針對大規模斷電導致內存信息丟失的問題,DUQU 2.0在少數直連外部網絡的計算機中駐留了支持遠程桌面操作的后門程序,一旦發生載荷丟失現象,可以立即對其進行重新安裝。
DUQU 2.0可以看作是一個攻擊平臺,其通過不同的載荷實現不同的功能。在卡巴斯基實驗室的報告中共描述了5種載荷、100多種載荷插件,主要包括深入滲透和信息搜集2類。其中,信息搜集的對象主要包括USB設備、DHCP及路由設備、已連接的打印機、網絡適配器設置、防火墻策略等硬件信息,運行進程列表、活躍終端會話、所有網絡共享和安裝的程序、域管理員SID及密碼HASH等操作系統信息,POP3密碼、VNC密碼、數據庫實例信息、PuTTY主機密鑰及會話等應用系統信息。
3.2.4 撤出階段

本文建立一種竊密型APT攻擊分層表示模型APT-HRM。APT-HRM對APT攻擊進行了形式化定義,將APT攻擊分為攻擊鏈和攻擊樹2層。攻擊鏈各階段有其對應的由不同攻擊策略和方法組成的攻擊樹,只有完成當前階段攻擊樹中的攻擊目標才能轉入下一個攻擊階段。因此,可以針對各階段的攻擊手段進行防范,以切斷APT攻擊鏈并最終阻止APT攻擊。對DUQU 2.0 APT攻擊的建模分析結果表明,該模型能夠有效描述竊密型APT攻擊行為,可為APT攻擊的預測和防御提供參考。