蔣建春 文偉平 胡陳勇
1(中國科學院軟件研究所 北京 100190)
2(北京大學軟件與微電子學院 北京 100871)
3(北京中科卓信軟件測評技術中心 北京 100193)
高安全等級保護對象[1]一般是三級以上的保護系統,典型系統為國家關鍵信息基礎設施,其安全受損將對國家安全、經濟運行、社會秩序、公共利益等造成重大影響.目前,等級保護對象面臨著不同動機的威脅者,承受不同類型的攻擊.網絡信息泄露、惡意代碼、垃圾郵件、網絡恐怖主義、網絡間諜、網絡戰等都將影響到等級保護對象安全.根據CNCERT[2]抽樣監測數據顯示,針對關鍵信息基礎設施的高級持續威脅(advanced persistent threat,APT)日趨常態化.2018年,全球專業網絡安全機構發布了各類高級威脅研究報告478份,同比增長約3.6倍.已被確認的APT攻擊組織包括APT28、Lazarus、Group 123、海蓮花、MuddyWater等53個.網絡安全相關研究工作表明[3-5],國外APT組織已經針對我國的金融、政府、教育、科研等目標系統持續發動攻擊.高安全等級的保護對象具有重要的價值,因此成為高級持續威脅組織的關注點.
針對高安全等級保護對象,國家相關部門已經頒布了網絡安全法律法規和系列技術規范,從法律責任、系統建設、應用開發、運行維護、安全管理等各方面提出具體性要求[6].同時,國家等級保護測評機構按照測評標準,評估其是否符合網絡安全等級保護要求.但是,當前高安全等級保護對象測評偏重于合規性安全評估,測評工作限于靜態性安全配置檢查,安全機制及安全產品的實際效用難以確認,缺乏等保對象的抗攻擊能力評估.基于此,本文提出一種基于網絡安全威脅路徑想定抗攻擊能力測評方法,通過構建高安全等級系統APT威脅能力庫,模擬不同類型的APT組織來分析等級保護對象的保護能力,驗證保護對象相關安全機制的效用.
MITRE機構研究人員根據已發生的攻擊實例,提出了攻擊敵手模型框架MITRE ATT&CK[7],并用此框架評估產品和系統安全.同時,構建一種網絡敵手語言和檢測引擎CALDERA[8],可以復制真實的網絡入侵行為.NVISO研究人員通過開展網絡敵手仿真(adversary emulation),以測試網絡彈性及高級持續威脅.美國CERT研究人員提出一種全球網絡敵手能力鏈模型(adversarial capability chain,ACC)[9],ACC 基于漏洞生命期5階段能力鏈,即漏洞首次發現(discovery)、漏洞破壞力驗證(validation)、漏洞利用攻擊可逃避防護(escalation)、漏洞利用攻擊低成本(democratization)、漏洞利用攻擊普適化(ubiquity).美國伊利諾伊大學提出了以敵手的視角評估安全方法ADVISE(adversary view security evaluation)[10],該方法使用 M?bius模型工具形式化構建敵手模型,并以此分析信息系統的安全屬性.國外公司提供130多種攻擊者模板,其中,包括國家級別黑客機構、網絡犯罪分子組織、激進的個人黑客等.文獻[11-12]提出網絡安全測量方法.
為驗證網絡安全的實際保護能力.國內外相關人員都陸續開展了網絡安全測評工作.文獻[13]提出網絡敵手模型.文獻[14]對Windows 7操作系統的5種典型安全機制GSStackProtection,SafeSEH,HcapProtection,DEP,ASLR抵御攻擊的整體效果進行了分析,通過實際的測試用例與獲得的測試數據證明Windows 7系統安全性改進.文獻[15]提出了網絡安全等級保護2.0云計算安全合規能力模型,基于網絡安全等級保護基本要求,對云計算平臺及系統的保護對象、安全措施及安全能力進行識別,構建網絡安全等級保護2.0云計算安全合規模型,分析得出云計算平臺及系統的安全技術能力.開源網絡敵手模擬工具相繼出現,如Metta[16],HackTheBox[17],Red Team Automation[18],BT3(blue team training toolkit)[19].
《網絡安全等級保護基本要求》GB/T 22239—2019[20]針對不同級別的等級保護對象,給出了5個能力保護級要求,具體分析如表1所示:

表1 網絡安全等級保護能力要求分析表
抗APT攻擊能力測評模型由系統威脅者能力模型庫、等級評測對象威脅路徑、系統威脅用例生成、系統威脅能力執行引擎、等級評測對象、抗攻擊能力評估構成,如圖1所示.

圖1 抗攻擊能力測評模型
1) 等級評測對象.
等級評測對象,即高安全等級保護對象一般是指三級以上的保護系統,通常為關鍵信息基礎設施.這些系統的抗攻擊能力要求能夠抵御有組織的復雜攻擊.本文定義為以H為高安全等級保護對象節點集,N為節點集內保護對象的數量,則等級保護系統對象S可表示如下:
S={hi|hi∈H,i=1,2,…,N}.
以O表示構成任意節點組件集合,oi為O的第i元素,即oi∈O,則第k個等級保護節點的構成組件集表示為Ohk={oi|oi∈O,i=1,2,…,N},oi為構成hk的組件元素.
2) 系統威脅者能力模型庫.
本文定義C為能力集合,B為威脅行為集合,G為系統威脅組織集合.
定義1.系統威脅能力.
系統威脅能力為一個二元組,即c=〈b,o〉,其中,c表示威脅者對某個對象可以實施的威脅操作,b表示威脅者的行為,o表示b操作的對象.
定義2.系統威脅者組織能力模型.
定義〈gi,cj〉表示系統威脅者的組織gi擁有的能力為cj,則系統威脅者的組織gi能力模型可以表示為二元組〈gi,cj〉的集合,即
CGi={〈gi,cj〉|cj∈C,gi∈G,i,j=1,2,…,N}.
3) 等保評測對象威脅路徑想定生成.
給定等級保護對象hi∈H,有威脅組織gk∈G的能力cj,使得cj=(bj,oj)的oj∈Ohi,則gk威脅hi路徑描述如下:
此威脅路徑可記為三元組:〈gk,cj,hi〉.
4) 系統威脅測試用例生成.
給定等級保護對象hi∈H,對應測試用例為威脅路徑的集合,即
TSi={〈gk,cj,hi〉|gk∈G,cj∈C,hi∈H},
其中TSi表示等級保護對象hi的測試用例集.
5) 系統威脅能力執行引擎.
系統威脅能力執行引擎模擬gk,對hi實施cj,即驗證威脅路徑〈gk,cj,hi〉的可行性.
6) 保護對象抗攻擊能力分析與評估.
給定等級保護對象hi,含有gk的測試集為TSik?TSi,威脅路徑驗證可行的集合為Pki,則等級保護對象hi對抗威脅組織gk的能力計算如下:
其中|TSik|表示集合TSik的元素數量,|Pki|表示集合Pki的元素數量,Δk的數值大小表示等級保護對象hi對抗威脅組織gk的能力.
本文抗攻擊能力測評系統由高安全等級測評對象庫、等級測評對象威脅路徑想定、威脅組織者模型、系統威脅能力執行引擎、抗攻擊能力分析組成,如圖2所示.

圖2 抗攻擊能力測評系統框架
本文系統威脅組織能力庫構建方法主要有基于APT網絡安全事件和網絡攻擊知識庫集成,如圖3所示.

圖3 系統威脅組織能力庫構建方法
1) APT網絡安全事件數據挖掘.
通過收集APT網絡安全事件數據,抽取APT攻擊案例的威脅操作行為和目標對象,構建高安全等級保護對象的組織威脅者的能力算子.
2) 網絡攻擊知識庫集成.
目前,網絡上已公開的網絡攻擊知識庫有MITRE ATT&CK,C2 Matrix.其中:MITRE ATT&CK是基于真實的觀察形成的網絡敵手知識庫;C2(command and control)是APT組織攻擊者常利用的戰術,用于控制端和受控目標的之間聯系.開源C2 Matrix包含35個命令和控制框架[21].
APT威脅組織能力庫以XY標識,其數據格式表示為二元組〈x,y〉,其中,x為操作行為描述,y為操作對象.
等級評測對象威脅路徑想定生成方法利用等級保護對象的組件、APT威脅組織能力庫,通過威脅數據分析自動生成等級保護節點APT威脅路徑,如圖4所示:

圖4 等級保護對象APT威脅路徑分析
設Pi是等級保護節點hi威脅路徑集合,P是等級保護節點所有的威脅路徑集合.
算法1.等級保護對象高級威脅路徑分析算法.
輸入:H為等級保護節點hi集合、O為等級保護節點hi構成的組件集、XY為APT威脅組織能力庫;
輸出:P.
步驟1.從H選取1個等級保護節點hi,直至集合H的元素遍歷完;
步驟2.獲取hi的組件oi∈O;
步驟3.從XY中遍歷取元素〈xj,yj〉;
步驟4.若yj=oi,則生成威脅路徑xj→yj;
步驟5.將〈xj,yj〉添加到Pi;
步驟6.重復步驟3,直至集合XY的元素取完;
步驟7.確定等級保護節點威脅路徑集合Pi.
APT組織的攻擊活動通常表現為水平移動,即通過等級保護節點的威脅關聯,構成復雜的威脅路徑,形成APT組織的水平移動攻擊.
設H為等級保護節點集,即H的集合元素為等級保護對象獨立節點;M為威脅關聯矩陣,M的集合元素是節點之間威脅關聯函數R(hi,hj)值,該值為1或0,1表示等級保護節點hi的威脅行為可以威脅到hj,0表示等級保護節點之間不存在威脅相互影響.
算法2.APT水平移動威脅路徑分析算法.
輸入:H,M;
輸出:等級保護節點關聯威脅集.
步驟1.選擇待測評的等級保護節點hi∈H;
步驟2.選擇等級保護節點hi∈H的安全威脅集合Pi;
步驟3.確定hi∈H與hj∈H的R(hi,hj);
步驟4.如果R(hi,hj)=1,則生成等級保護節點hi和hj的威脅關聯〈Pi,Pj〉;
步驟5.重復步驟3,直到與hi有威脅關聯的等級保護節點分析完畢;
步驟6.輸出等級保護節點hi的關聯威脅集;
步驟7.重復步驟1,直到等級保護節點的分析完畢.
系統威脅能力模型執行引擎的功能是模擬實現APT組織對等級保護節點的威脅操作.該引擎支持插件模式,按照APT組織的攻擊過程,集成各種工具或APT樣本數據.具體實現方法如下:
1) 攻擊工具集成實現.
如圖5所示,根據APT組織所利用的攻擊方法和對應的操作,可以集成軟件工具實現威脅者的操作.

圖5 APT威脅操作集成示意圖
2) APT攻擊樣本數據重放.
將APT組織的攻擊樣本數據通過網絡流量重放、文件拷貝等工具,輸入到等級保護測評對象中,以驗證等級保護的安全機制防護能力,如圖6所示:

圖6 APT攻擊樣本數據重放示意圖
4.1.1 模型應用
根據等級保護對象的能力保護要求,對于給定的高安全等級保護對象,抗攻擊能力測評過程如下:
1) 獲取等級保護對象的組件配置信息;
2) 選取APT威脅者的能力庫,想定生成等級保護對象威脅路徑集;
3) 測試驗證等級保護對象的威脅路徑可行性;
4) 給出實際可行的威脅路徑數量與想定威脅路徑數的比值,記為α;
5) 計算抗APT攻擊能力的量化數值Δ=1-α.
4.1.2 模型實現
本文從已公開的典型APT組織活動報告中提取APT威脅組織能力庫,并生成威脅路徑測試用例集(APT攻擊樣本集),最后在待測信息系統中重放APT攻擊樣本,計算并輸出待測信息系統抗攻擊能力.具體實現過程如下:
1) 構建APT威脅者組織能力庫.本文從近年來已公開的網絡攻擊活動報告中提取9個典型APT威脅者組織,并基于待測信息系統列舉出每個APT組織的典型威脅能力,如表2所示:

表2 APT典型威脅能力
為便于后文描述,對表2中的威脅能力進行通用定義,如表3所示:

表3 通用威脅定義
2) APT威脅路徑想定.本文想定APT組織者能把攻擊載荷投送到目標對象,形成點對點威脅路徑,即表示為二元組形式〈威脅行為,目標對象〉.
3) APT威脅者能力實現.本文通過文件拷貝的方式將APT攻擊樣本投送到目標對象,然后觀察攻擊樣本在目標對象的執行情況,以驗證相應的APT威脅路徑是否可行.
4.2.1 測評環境構建
為驗證本文提出的抗攻擊能力測評模型,本文構建了一個典型的待測網絡信息系統,如圖7所示.受控環境中部署一個典型的企業郵件系統、辦公終端作為測評對象.

圖7 抗APT攻擊能力測評網絡信息系統拓撲結構圖
在待測網絡信息系統中,假定APT威脅者收集企業員工的郵箱信息,并將攻擊樣本(包括可執行惡意代碼、惡意文檔、惡意腳本3種類型)發送給企業員工,網絡信息安全意識薄弱的員工在辦公終端中打開并運行郵件附件,從而APT威脅者可以獲得辦公終端的控制權進而實施進一步的惡意活動.在本文的測評中,考慮上述待測信息系統的節點信息如表4所示.

表4 抗APT攻擊能力測評網絡信息系統配置
4.2.2 測評數據集
本文實驗枚舉了9個APT威脅者組織對測評對象的威脅路徑,并構建520個威脅路徑測試用例,以測試和評估測評對象的抗攻擊能力.表5列舉了本文測評中所使用的測試用例數.需要指出的是,并非所有APT威脅者組織均具備所有的威脅能力和威脅路徑.

表5 APT威脅路徑及測試用例
4.2.3 測評結果分析
根據4.2.1節所述的測評環境和4.2.2節所述的測評數據集,基于本文提出抗攻擊能力測評模型,對測評對象的3個節點E1,E2,M1按照威脅路徑重放測試用例,并計算每個節點的抗攻擊能力.
1) 辦公終端節點E1的抗攻擊能力測評結果分析.
從表6可以看出,節點E1對于著名的APT組織OceanLotus(海蓮花組織)抗攻擊能力最強,而對于Oilrig組織的抗攻擊能力最弱,甚至無法防御該APT威脅者的任何測試用例.

表6 辦公終端節點E1的抗APT攻擊能力測評結果
2) 辦公終端節點E2的抗攻擊能力測評結果分析.
從表7可以看出,由于E2的環境為Windows 10操作系統,因此總體上比E1的Windows 7操作系統的抗攻擊能力顯著提升.E2對于Equation組織(方程式)具有較好的抗攻擊能力,而對于來自南亞大陸的APT組織Bitter(蔓靈花)其抗攻擊能力相對較弱.

表7 辦公終端節點E2的抗APT攻擊能力測評結果
3) 企業郵件服務器M1的抗攻擊能力測評結果分析.
如表8所示,由于該服務器為Linux系統,無法直接打開和運行郵件附件,因此威脅路徑僅為測試用例樣本的逃逸檢測能力.M1對于Oilrig組織具有很好的抗攻擊能力,而對于OceanLotus組織的抗攻擊能力最弱.

表8 郵件服務器抗APT攻擊能力測評結果
4) 系統抗攻擊能力整體測評結果分析.
由于APT攻擊通常為多階段活動,為此,對測評對象應整體分析抗攻擊能力.圖8示出了所有節點(E1,E2,M1)抗攻擊能力的綜合評價.可以看出,盡管不同節點對于不同APT威脅者的抗攻擊能力有較大差異,但是對于待測信息系統(測評對象)整體而言,其具有相近的抗攻擊能力.圖8中橫坐標為APT威脅者,直方圖中的不同顏色區塊分別表示節點E1,E2,M1的抗攻擊能力.其中,黃色區塊表示測評對象的整體抗攻擊能力,計算方法如下:

圖8 測評對象抗APT攻擊能力結果
其中Δk表示測評對象對于APT威脅者Gk的抗攻擊能力.
網絡安全等級保護2.0增加了新的安全控制域:安全運營中心(SOC).當測評對象中的任一節點檢測到威脅時,安全運營中心所部署的安全信息事件與管理系統(SIEM)或態勢感知系統可以快速將威脅情報同步至測評對象的所有節點.為此,測評對象在SOC環境下的抗攻擊能力測評方法有所變化,應將測評對象的所有威脅路徑中的全部節點均驗證通過的測試用例視為測評對象的整體威脅,其抗攻擊能力計算如下:
測評結果如表9所示:
本文研究分析高安全等級系統的抗攻擊能力測評需求,提出一種基于攻擊路徑的高安全等級保護的抗APT攻擊能力測評模型,給出了國家級別、敵對組織、擁有豐富資源等威脅者能力模型構建方法,并提供了相關實現參考.后續的研究工作將進一步完善威脅者能力模型和威脅知識庫自動化構建,以用于實際的網絡安全等級保護測評服務,探索構建基于APT攻擊能力驅動網絡靶場服務平臺,開展關鍵信息基礎設施的網絡攻防演練.