牛作元,張鋒軍,陳 捷,曾夢岐,李慶華,許 杰
(中國電子科技集團公司第三十研究所,四川 成都 610041)
隨著云計算的快速發展,云環境作為基礎設施承載了越來越多的業務系統和用戶數據,重要程度日益增加,與此同時,云環境也成為網絡攻擊的重點目標,如何保障其安全性成為亟待解決的問題。
面對日趨復雜的云安全環境和攻擊威脅,單靠基于檢測的防御手段在攻擊發生后被動響應防護,已無法從根源上解決安全問題。因此,國內外學者紛紛致力于研究主動的網絡安全分析與評估方法,主動發現系統中存在的脆弱性,預測可能的攻擊行為,評估系統脆弱性被利用后的負面影響,并根據評估結果提出針對性防護措施來主動降低系統的安全風險。
云環境的安全問題可以抽象為攻擊者和防御者雙方的攻防,是一場攻擊者與防御者之間的博弈,在這種博弈關系中,攻擊者將采取各種策略攻擊云環境的設備、服務、數據,以破壞服務或竊取重要信息,而防御者則需要針對攻擊者的行為,制定有效的策略來保證云環境正常運行,保障數據安全。博弈雙方都會根據自身對云環境信息的掌握和對方行為的估計來選擇自己的行為。正是由于攻防雙方策略交互影響、相互制約,所以博弈論將成為網絡安全評估中的重要分析工具。
因此,本文將博弈思想引入到云環境的風險評估中[1,2],充分考慮云環境各類攻防策略的動態性和時效性,通過不斷的攻防博弈和演化,在智能化模型算法的決策支持下,預測最大攻擊意圖,實時動態地評估云環境系統整體所面臨的風險,選取最優防御策略,提高云環境風險評估的準確性和有效性,從而主動地提高云環境的安全性,保障云環境運行的業務系統和數據的安全可靠。
云環境風險評估主要是面向云環境的網絡、設備、軟件、服務、應用、數據、用戶等防護對象,先采集各類數據,通過建立評估指標體系、構建評估模型,并通過攻防博弈的方式對指標體系和模型進行動態更新和完善,進而對云環境中的各類風險進行綜合評估,生成風險評估結果。
云環境風險評估架構如圖1所示。

圖1 云環境風險評估架構
云環境風險評估架構主要包括基礎環境、攻擊模擬、安全防護、數據采集、風險評估等。
基礎環境是進行風險評估的主體,也是實施攻防博弈的載體,主要包括云環境中的各類物理設備、虛擬設備、軟件系統、應用服務等,是數據采集的主要數據來源。
攻擊模擬用于模擬攻擊方,提供各類模擬攻擊工具,制定攻擊策略,對云環境的各類基礎設施實施模擬攻擊,為風險評估的各類指標體系和模型的完善提供支撐,從而促進云環境的防御體系完善。
安全防護是采用一系列安全防護手段對云環境進行防護,并根據風險評估結果智能生成和選取最優安全防護策略,主動調度各類安全資源,對云環境的基礎設施進行安全加固和防護,保障云環境安全可靠運行。
數據采集是整個評估架構的基礎,是各類評估數據的來源,通過數據接口、日志分析、流量引接、漏洞掃描等方式獲取風險評估所需要的各類原始數據,實現多源數據的采集和匯聚。
風險評估主要是基于用戶需求,建立評估指標體系和博弈模型,然后對采集的各類攻防數據進行綜合分析,生成風險評估結果,下發給安全防護模塊進行后續處理,支撐主動的安全防護。
本文提出的云環境風險評估架構在傳統網絡風險評估的基礎上,引入了攻防博弈,通過實時采集云環境的攻防數據智能調整攻防策略,動態生成風險評估結果,提高風險評估的精準化、自動化水平。一方面,在整個運行過程中,需要及時根據云環境中各類設備的通聯關系、脆弱性信息、攻擊威脅信息、安全事件信息等對云環境的風險情況進行綜合評估,及時掌握云環境的風險情況,生成風險評估報告。另一方面,攻防雙方需要根據實時數據采集和探測,做出智能決策,制定相應策略,保障效益最大化,更新完善指標體系和博弈模型,進入新一輪博弈。
云環境風險評估具體流程如下文所述。
(1)建立風險評估指標體系?;谟脩粜枨?,綜合考慮云環境的安全風險以及實際安全防護要求,形成全面完備的評估指標體系,根據評估內容自適應選取,為攻防收益量化提供支撐。
(2)根據資產信息、漏洞信息、攻擊知識庫、防御知識庫、歷史數據信息等,基于評估內容,構建博弈模型。
(3)攻擊模擬。攻擊方持續刺探云環境的各類數據,或者基于合作方式,獲取云環境的相關信息后,根據需要提取目標系統攻擊面,窮舉攻擊面中存在的漏洞,按照漏洞級別,對漏洞進行評估篩選,基于漏洞利用策略,發起模擬攻擊。
(4)數據采集。通過多種方式采集云環境的各類資產信息、攻防數據、日志信息等數據,經過初步整理后,上報給風險評估模塊進行處理。
(5)風險評估。基于指標體系和博弈模型,對采集的數據進行量化分析處理,求解博弈均衡值,預測最大攻擊意圖,選取最優防護策略,生成風險評估結果。
(6)風險評估結果生成后,下發給安全防護模塊,智能調度安全資源,對云環境中的重大風險進行及時處理,下發到基礎設施執行。
(7)云基礎設施執行防護策略后,攻防雙方的平衡有可能被打破,攻防雙方會重新進行新一輪博弈,進入下一輪風險評估過程。
由于云計算引入虛擬化、多租戶、資源池化管理、數據權限分離等一系列新的特性,因此云計算環境除了具有傳統信息系統的安全風險,還面臨一系列新的安全風險,包括虛擬化安全風險、資源共享與邊界模糊的安全風險、用戶數據與所有權分離的安全風險[3]。
目前,大部分網絡安全分析主要包括網絡脆弱性分析、網絡攻擊風險分析,但在實際的網絡環境中,對攻擊起抑制作用的防御因素也是網絡安全分析的一個重要方面。因此,在云環境中,系統安全風險的因素主要包括防護對象、防護對象的脆弱性、攻擊方的攻擊威脅以及防御方的安全防護能力[4],具體如圖2所示。

圖2 云環境安全風險因素
在進行安全風險評估過程中,云環境中的基礎資產信息,以及防護對象之間的物理承載關系、通信互聯關系、業務訪問關系等都是進行風險分析的基礎,無論是防御方進行安全防護,還是攻擊方進行信息刺探,均是在此基礎上進行的。
云環境的防護對象涵蓋了設備(網絡設備、存儲設備、計算設備、終端、虛擬機、容器等)、軟件(操作系統、虛擬機軟件、中間件、數據庫等)、服務(通用服務、云服務、應用服務)、應用(Web應用、應用系統等)、數據(日志、應用數據、文件等)以及用戶(各類用戶以及相應的權限等)。
在進行云安全風險分析的時候,首先,需要全面梳理掌握信息資產基礎態勢,包括資產類型、數量、IP地址、開放端口、聯網狀態、資產通聯關系、業務訪問關系等;其次,在眾多的防護對象中,防護對象的位置、功能等決定了防護對象的重要程度不同,資產越重要,一旦出現安全風險,影響程度就越大。因此,在進行風險評估的時候,需要根據資產之間的通聯關系,著重考慮重要程度高的資產。
防護對象的脆弱性包括防護對象的各類漏洞、設計缺陷、管理問題等。攻擊者可以利用系統中存在的脆弱性達到自己的目的,如獲取系統權限以及用戶重要信息或者使目標系統癱瘓等。
因此,在進行云環境安全風險評估時,需要通過多種手段,如漏洞掃描工具掃描、已公開漏洞整理、業務流程分析等,對云環境中所有資產的漏洞情況盡可能梳理,構建漏洞指紋庫。一方面,需要利用漏洞庫對當前系統的漏洞進行及時封堵,提前避免漏洞利用的可能性;另一方面,分析挖掘目標信息系統脆弱點以及用戶行為特征和關系,整理信息系統漏洞,綜合漏洞利用難易程度、漏洞威脅程度等原則,對存在的漏洞進行篩選,預測被利用可能性最大、危害程度最高的漏洞,做到知己知彼,提前做好防護預案。
攻擊方利用攻擊工具和防護對象的脆弱性對云環境進行攻擊,從而獲得相應的收益,攻擊包括歷史攻擊、正在進行的攻擊以及可能的攻擊。
通過分析與系統相關的入侵檢測日志、防火墻日志、安全事件歷史記錄等對各種類型的攻擊信息進行學習,建立攻擊知識庫,盡可能掌握各種攻擊的特征知識,如攻擊目的、攻擊方式、攻擊對象、攻擊利用的漏洞、攻擊難易程度、攻擊影響程度、多步攻擊間的順序和關系等,進而根據采集的各類信息預測攻擊方對云環境發起攻擊的可能性、攻擊成功的概率以及攻擊威脅的破壞程度,從而為提前采取防御措施提供相應支撐。
基于防護對象的脆弱性,防御方會綜合利用各種防護手段對防護對象進行全方位防護,減小云環境的安全風險,包括各種防護裝備的使用,如防火墻、云監管、身份認證、加密設備等,以及通過管理手段,制定各種規章制度和流程,規范各種操作,減少誤操作或違規操作的風險,如定期打補丁、減少弱口令、安全配置合規性等。
防御方的防護設備和防護策略會制約攻擊方對攻擊手段和攻擊策略的選擇,也是攻防雙方進行博弈的關鍵,因此,防御方的安全防護能力是進行云環境風險評估必須考慮的重要因素。
多源數據采集是進行云環境風險評估的基礎,在云環境中,存在許多與安全風險相關的數據,包括各類資產、資產的關聯關系、資產的各類漏洞、安全防護設備、安全日志、安全事件、安全配置、攻擊數據等。一方面,這些數據存在于不同的設備中,采集的方式不同;另一方面,為了使用上述數據進行風險分析,需對多源異構數據建立統一數據模型,對數據進行預處理。
在數據采集方式方面,將統籌利用應用程序編程接口(Application Programming Interface,API)、數據代理、日志分析、流量引接、漏洞掃描等方式采集各種數據。
在數據模型方面,基于云環境的各類攻防博弈相關的業務及需求、被管資源、資源配置信息、資源運行信息、態勢數據、攻擊數據、安全策略等海量歷史和實時數據建立以用戶、服務、資源為核心的統一的信息模型。其中,用戶包括攻擊者、防御者、云租戶等。服務主要描述用戶和業務需求的相關數據,直接對用戶可用,包括各類云服務、攻擊服務、防御服務。資源主要用于組網要素的描述,方便云管理人員在屏蔽具體設備細節的情況下,從全局上對云環境網絡組織方式和組網質量進行清晰描述,包括資源配置、資源安全等數據模型。資源域模型設計的思路是利用物理資源模型來描述系統中的各種物理可見實體及其相互關系,以純物理角度進行描述,包括各類網絡設備、計算設備、存儲設備、虛擬機、安全設備、攻擊設備等硬件設備,以及操作系統、數據庫、中間件、虛擬機軟件、云管理平臺、業務系統等軟件。利用邏輯資源模型來描述系統及系統中看不見、摸不著的實體及其相互關系,以純邏輯角度進行描述,如IP地址、端口等,再用復合資源將物理資源和相應的邏輯資源結合為一個整體來行使功能。復合資源是真正能行使功能的資源,物理資源和邏輯資源都是從不同角度來描述復合資源,從而形成系統資源清晰而完整的視圖。
隨著攻擊技術的演變,越來越多的復雜和組合式攻擊模式出現,這些攻擊行為結合了多種復雜攻擊手段并具有多階段性的特征,在這種情況下,攻擊者大部分是通過一系列攻擊步驟實現其攻擊目標,攻擊步驟的時空順序和跨度與攻擊者的技術水平、弱點利用類型、先驗知識、攻擊位置等因素相關,因此需要精確識別攻擊行為模式,建立攻擊行為與漏洞的關聯關系,準確把握在不同攻擊場景中網絡可能面臨的最大風險。
在云環境的攻防博弈過程中,對于云環境中的各類攻擊識別,可以分為兩步,即攻擊檢測和攻擊識別。攻擊檢測用于從數據流中檢測出攻擊事件,對數據流進行初步過濾。攻擊識別則是對攻擊事件進一步識別,確定攻擊類型。
在確定攻擊類型前,首先需要梳理云環境中已知的可利用漏洞和常見攻擊的攻擊特征,構建標準化的攻擊分類知識庫,統一按照對抗戰術、技術和常識框架(Adversarial Tactics,Techniques,and Common Knowledge,ATT&CK),建立攻防知識圖譜模型,從而對攻擊進行響應處置。
對于典型的、常見的單步攻擊,通過攻擊特征即可快速定位和處理,而對于復雜組合攻擊,則需要通過機器學習等方式自動學習攻擊步驟之間的關聯關系,建立攻擊行為模型,進一步對攻擊的目標、威脅程度、漏洞利用等進行關聯分析,從而為后續的風險評估建議提供支撐。
云環境中攻防對抗的本質是攻防雙方不斷利用脆弱性知識進行的對抗,攻擊者的目標是通過各種手段發現云環境的漏洞并利用其發動攻擊,以期對云環境的服務、數據、應用等造成最大危害,而防御者的目標就是盡最大努力去發現和修補漏洞以免遭受攻擊或減輕損失。在上述過程中,攻防雙方在同一防護對象上實施攻防策略,同時必須考慮對方策略的影響。因此,為了準確體現云環境的安全狀況,針對云環境的安全建模應該從攻防雙方的角度分析,不僅要考慮傳統攻擊圖中攻擊動作和系統狀態變化情況[5,6],還需要從防御者角度,將各個攻擊動作相應的防御策略及其攻防策略成本估計等信息納入,從而更加準確全面地體現云環境安全的攻防本質。
根據安全風險評估的目的,云平臺攻防博弈可以分為兩種情況:一種是通過模擬攻擊對云環境的安全狀況進行優化,此時攻防雙方信息共享,攻擊者和防御者之間的博弈關系是合作、動態、完全信息的;另一種情況是針對惡意攻擊者發起的真實攻擊,此時攻防雙方信息不對稱,而且由于攻防雙方在采取各自的行動之前并不知道對方所采取的行為,因此攻擊者和防御者之間的博弈關系是非合作、動態、不完全信息的。因此,需要根據不同的應用場景,建立不同的動態博弈模型,描述攻擊和防御之間的關系和行為,進行攻擊策略預測和防御策略決策。
在具體的研究中,首先通過攻防雙方達到納什均衡時的狀態,找出攻擊者的最大攻擊意圖和攻擊策略;其次,假設系統在遭受最大攻擊意圖的攻擊情況下,對云環境的系統進行風險評估,得出系統風險評估值,以此確定系統的可能風險。通過上述兩步,縮小了攻擊方式和風險范圍,最后,再一次對攻防雙方進行博弈,通過納什均衡選取最優防御策略,給出相對精準化的安全處置建議,供管理人員在攻擊發生之前進行風險處理,從而減少系統安全風險,提升主動防御能力。
此外,隨著攻防手段和技術的發展,攻防形勢將隨之不斷變化,因此,任何一方采用了新的技術和方法,均有可能打破攻防平衡,使整個系統進入下一輪攻防雙方博弈。
本文基于博弈思想研究了云環境風險評估,提出了云環境風險評估的評估架構和評估流程,并通過建立不同應用場景下的動態博弈模型,幫助用戶預先識別網絡系統脆弱性以及所面臨的潛在安全威脅,根據安全需求預測最大攻擊意圖,選取符合最優成本效應的主動安全防御策略,可有效提高安全風險評估的精準性和防御策略的有效性,從而避免危險事件的發生及其對系統的損害,增強云環境主動防御能力。