王賽娥 劉彩霞 劉樹新
(中國人民解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué) 河南 鄭州 450001)
第五代移動通信技術(shù)(5G)已經(jīng)開始正式商用,其傳輸速率更快、網(wǎng)絡(luò)延遲更小,能夠滿足不同場景的業(yè)務(wù)需求。未來5G將與經(jīng)濟(jì)社會各領(lǐng)域如醫(yī)療、交通等深度融合,開啟萬物互聯(lián)時代。5G網(wǎng)絡(luò)既是基礎(chǔ)設(shè)施的重要部分,也是國家優(yōu)先發(fā)展的戰(zhàn)略性領(lǐng)域。其安全問題不僅涉及到個人生活,也會影響各行各業(yè),甚至是國家安全。因此對5G網(wǎng)絡(luò)的安全風(fēng)險進(jìn)行評估顯得尤為重要,既能全面了解5G網(wǎng)絡(luò)的安全狀況,及時發(fā)現(xiàn)網(wǎng)絡(luò)中的風(fēng)險因素,也能為部署網(wǎng)絡(luò)安全防護(hù)措施提供方案。
IMT2020發(fā)布的5G網(wǎng)絡(luò)安全需求與架構(gòu)白皮書[1]詳細(xì)分析了5G網(wǎng)絡(luò)面臨的安全挑戰(zhàn),給出了5G標(biāo)準(zhǔn)化建議。3GPP(第3代合作伙伴計劃)發(fā)布了R15[2]和R16[3]標(biāo)準(zhǔn),制定了5G的安全標(biāo)準(zhǔn)體系和詳細(xì)的安全架構(gòu)。為了滿足安全性要求,5G網(wǎng)絡(luò)采用新的網(wǎng)絡(luò)設(shè)計,實(shí)行一系列安全機(jī)制,如使用統(tǒng)一的認(rèn)證框架,使用新的通信協(xié)議AKA、HTTP/2等。同時5G提供隱私保護(hù)機(jī)制,對用戶數(shù)據(jù)進(jìn)行端到端的保護(hù)。雖然5G在設(shè)計初始從全方位考慮網(wǎng)絡(luò)的安全性,但實(shí)際部署后仍面臨嚴(yán)重的安全風(fēng)險,安全性受到新的挑戰(zhàn)[4]。Basin等[5]通過形式化分析發(fā)現(xiàn)了5G網(wǎng)絡(luò)中的漏洞,并驗(yàn)證了攻擊的可行性,來獲取用戶隱私信息。
對此,部分國家和組織發(fā)布了相關(guān)的安全風(fēng)險報告,歐盟發(fā)布的《EU coordinated risk assessment of the cybersecurity of 5G networks》基于成員國的安全風(fēng)險評估結(jié)果,指出了現(xiàn)有的安全挑戰(zhàn),確定了5G面臨的威脅因素和風(fēng)險場景。此類的安全風(fēng)險評估報告只是政策性的定性評價,很難具體估量5G網(wǎng)絡(luò)的風(fēng)險等級,量化網(wǎng)絡(luò)的風(fēng)險程度。當(dāng)前對移動通信網(wǎng)絡(luò)的安全風(fēng)險評估研究較少,Luo等[6]提出了一種對移動通信網(wǎng)絡(luò)中SDN技術(shù)進(jìn)行安全風(fēng)險評估的方法,根據(jù)節(jié)點(diǎn)最小成本派生出系統(tǒng)安全級別,但是該方法不具有通用性。傳統(tǒng)網(wǎng)絡(luò)的安全風(fēng)險評估方法發(fā)展成熟、體系復(fù)雜,有定性評估和定量評估、基于掃描工具的評估、基于資產(chǎn)價值的評估等。但是這些方法都不能直接應(yīng)用到5G網(wǎng)絡(luò),首先電信網(wǎng)絡(luò)特性不同于傳統(tǒng)互聯(lián)網(wǎng),其次5G網(wǎng)絡(luò)采用了新技術(shù)、新架構(gòu),面臨的業(yè)務(wù)場景更多,使得傳統(tǒng)方法不能適配5G網(wǎng)絡(luò)。
針對上述問題,本文選取攻擊圖模型,定義5G網(wǎng)絡(luò)的拓?fù)淠P秃凸裟0?采用廣度優(yōu)先算法生成攻擊圖。網(wǎng)絡(luò)拓?fù)淠P秃凸裟0宥x的要素既有通用性,也有5G網(wǎng)絡(luò)具體部署的差異性,可以靈活適應(yīng)網(wǎng)絡(luò)的多樣化。對攻擊圖評估時,提出關(guān)聯(lián)性評估思路,在量化時考慮脆弱點(diǎn)和攻擊行為間的相互影響,使評估結(jié)果更準(zhǔn)確。本文研究可以有效發(fā)現(xiàn)網(wǎng)絡(luò)脆弱性和面對的威脅,量化網(wǎng)絡(luò)的風(fēng)險程度,有助于調(diào)整防護(hù)措施,提高網(wǎng)絡(luò)整體的安全性能。
5G具有很強(qiáng)的靈活性,可以采用非獨(dú)立組網(wǎng)(Non Stand-Alone,NSA)方式或獨(dú)立組網(wǎng)(Stand-Alone,SA)方式進(jìn)行部署。前期5G商用主要是采用的非獨(dú)立組網(wǎng)演進(jìn),利用現(xiàn)有4G基礎(chǔ)設(shè)施,部署速度更快。
5G的邏輯結(jié)構(gòu)采用SBA服務(wù)化架構(gòu)(Service-based Architecture),由接入網(wǎng)AN(Access Network)和核心網(wǎng)5GC(5G Core Network)組成,如圖1所示。5GC中控制面與用戶面完全分離,同時將網(wǎng)絡(luò)功能拆分成單獨(dú)的模塊,通過接口提供服務(wù)。
圖1 5G網(wǎng)絡(luò)架構(gòu)模型
接入網(wǎng)AN有兩種,gNB和ng-eNB。gNB提供NR(New Radio)用戶面和控制面協(xié)議終結(jié)點(diǎn),ng-eNB則提供E-TURAN用戶面和控制面協(xié)議終結(jié)點(diǎn)。
核心網(wǎng)5GC中包含的網(wǎng)元較多,其中用戶面實(shí)體主要是UPF(User Plane Function),是外部PDU與數(shù)據(jù)網(wǎng)絡(luò)的連接點(diǎn),負(fù)責(zé)數(shù)據(jù)的路由和轉(zhuǎn)發(fā)等??刂泼鎸?shí)體較多,接入和移動性管理(Access and Mobility Function,AMF)負(fù)責(zé)用戶的注冊、連接、移動性管理等,會話管理功能(Session Management Function,SMF)主要包含會話建立、修改、釋放和用戶IP管理等,認(rèn)證服務(wù)器(Authentication Server Function,AUSF)負(fù)責(zé)用戶的鑒權(quán),統(tǒng)一數(shù)據(jù)管理(Unified Data Management,UDM)提供訂閱信息管理、計算鑒權(quán)參數(shù)等功能,策略與計費(fèi)功能(Policy and Charging Function,PCF)為用戶提供策略規(guī)則。網(wǎng)元的詳細(xì)功能可以參考3GPP標(biāo)準(zhǔn)。
自Phillips等[7]和Swiler等[8]提出了攻擊圖的概念起,攻擊圖技術(shù)被廣泛使用,尤其在網(wǎng)絡(luò)安全分析領(lǐng)域。攻擊圖是由系統(tǒng)狀態(tài)和攻擊行為組成的一幅有向圖,描述的是系統(tǒng)脆弱點(diǎn)及其關(guān)聯(lián)關(guān)系。常見的攻擊圖種類有狀態(tài)攻擊圖[9]、屬性攻擊圖[10]、屬性依賴攻擊圖[11]。攻擊圖技術(shù)將網(wǎng)絡(luò)的配置信息、脆弱性和攻擊者能力都考慮在內(nèi),使得評估結(jié)果更加全面準(zhǔn)確。
基于攻擊圖的網(wǎng)絡(luò)安全風(fēng)險評估主要分為兩個步驟:攻擊圖的構(gòu)造生成技術(shù)和基于攻擊圖的分析技術(shù)。攻擊圖構(gòu)造生成包含以下三部分內(nèi)容:網(wǎng)絡(luò)拓?fù)淠P?、攻擊模板和攻擊圖生成算法。網(wǎng)絡(luò)拓?fù)淠P褪菍δ繕?biāo)系統(tǒng)的詳細(xì)描述(包括網(wǎng)絡(luò)的連接情況、配置參數(shù)、漏洞信息等),通過建立抽象模型對系統(tǒng)進(jìn)行刻畫,模型中定義的要素越多,抽象后的網(wǎng)絡(luò)拓?fù)湓骄_。攻擊模板是對脆弱信息的動態(tài)表示,通常由脆弱點(diǎn)本身、利用該脆弱點(diǎn)所要滿足的條件及執(zhí)行的后果三部分構(gòu)成,模板中的條件和結(jié)果與網(wǎng)絡(luò)拓?fù)淠P推ヅ洹9魣D生成算法一般有兩種形式:(1) 利用自動構(gòu)建引擎生成;(2) 采用定制算法編寫代碼生成?;诠魣D的分析技術(shù),主要是選取適當(dāng)?shù)膮?shù)體系和評估算法量化系統(tǒng)的安全風(fēng)險。
狀態(tài)攻擊圖中包含系統(tǒng)所有可能的狀態(tài),節(jié)點(diǎn)數(shù)量巨大,在生成攻擊圖時會存在狀態(tài)空間爆炸的問題,尤其是面對大規(guī)模復(fù)雜網(wǎng)絡(luò),難以滿足實(shí)際需求。屬性攻擊圖將安全要素作為節(jié)點(diǎn),其復(fù)雜度為多項(xiàng)式級,因此選擇構(gòu)造5G網(wǎng)絡(luò)屬性攻擊圖,減少節(jié)點(diǎn)規(guī)模。攻擊圖構(gòu)造方法主要有三種:模型檢測法、圖論法和邏輯推理法。模型檢測法需要對網(wǎng)絡(luò)要素進(jìn)行抽象和編碼,利用有限狀態(tài)機(jī)表現(xiàn)狀態(tài)轉(zhuǎn)移過程,通過模型檢測工具查找反例,并給出攻擊路徑,生成最終的攻擊圖。該方法可以使用工具自動生成攻擊圖,但可擴(kuò)展性不強(qiáng),適合小規(guī)模的簡單網(wǎng)絡(luò)。常用的攻擊圖生成工具有MulVAL、NetSPA、TVA[12]等。邏輯推理法基于邏輯編程,使用成熟的形式化描述語言(如Prolog、AGML)反映系統(tǒng)的相關(guān)信息,通過一定的規(guī)則和邏輯推理工具生成攻擊圖。Ou等[13]利用邏輯編程語言Datalog形式化描述網(wǎng)絡(luò)要素,而后輸入攻擊圖生成引擎。圖論法應(yīng)用圖的相關(guān)理論,自主設(shè)計生成算法,可以充分考慮算法的復(fù)雜度和生成圖的規(guī)模。本文采用圖論法生成屬性攻擊圖,并在算法中融合了邏輯推理的形式化描述。
2.1.1 網(wǎng)絡(luò)拓?fù)淠P?/p>
網(wǎng)絡(luò)拓?fù)淠P蛷墓粽呓嵌瘸霭l(fā),采集目標(biāo)系統(tǒng)的兩類信息:(1) 系統(tǒng)信息,其中包括網(wǎng)絡(luò)架構(gòu)、設(shè)備信息、連接關(guān)系、配置信息、開放服務(wù)等;(2) 脆弱性信息,主要是系統(tǒng)中存在的漏洞??梢越柚鷮I(yè)的工具收集相關(guān)信息,如Nessus、OVAL獲取系統(tǒng)漏洞信息,Nmap獲取系統(tǒng)的端口情況和服務(wù)類型等。
這里將網(wǎng)絡(luò)拓?fù)淠P投x為一個二元組G=(V,E),其中V是節(jié)點(diǎn)集合,代表網(wǎng)絡(luò)中的所有設(shè)備。對于任意的v∈V,用七元組
對于5G移動通信網(wǎng)絡(luò)來說,網(wǎng)絡(luò)拓?fù)淠P偷木唧w內(nèi)容隨運(yùn)營商的部署方式不同而有所變化。采用電信專有設(shè)備時,拓?fù)淠P椭衪ype為設(shè)備的廠家和型號,vuls為電信網(wǎng)絡(luò)的漏洞信息,servs為該設(shè)備實(shí)現(xiàn)的網(wǎng)元功能。隨著通信技術(shù)的發(fā)展,采用網(wǎng)絡(luò)功能虛擬化(NFV)和軟件定義網(wǎng)絡(luò)(SDN)等技術(shù)實(shí)現(xiàn)架構(gòu)虛擬化、通用化時,拓?fù)淠P偷膬?nèi)容則傾向于互聯(lián)網(wǎng)形式,type表示虛擬化網(wǎng)元的系統(tǒng)類型(Windows 7、Linux等),vuls包含互聯(lián)網(wǎng)漏洞的信息,servs則為系統(tǒng)開放的傳統(tǒng)網(wǎng)絡(luò)服務(wù)(如http、ftp等)。
2.1.2 攻擊模板
攻擊模板是對脆弱性的抽象描述,是漏洞庫的歸納整理,每一個漏洞對應(yīng)一個攻擊模板。忽略漏洞利用過程中攻擊者的主觀部分,可以將利用過程分為兩個部分:前提集和后果集。前提集是系統(tǒng)的狀態(tài),是當(dāng)前系統(tǒng)的具體環(huán)境和信息,例如系統(tǒng)開放的ftp服務(wù)。后果集是狀態(tài)的改變,例如獲取了更高的訪問權(quán)限。
定義攻擊模板為Vul=(ID,pre,post),其中:ID表示漏洞的名稱,與網(wǎng)絡(luò)拓?fù)淠P椭衯uls對應(yīng);pre表示漏洞的前提集;post表示漏洞的后果集。pre、post都用三元組
攻擊模板的內(nèi)容同樣需要參考5G網(wǎng)絡(luò)的部署方式。采用NFV和SDN等技術(shù)時,網(wǎng)絡(luò)可能存在互聯(lián)網(wǎng)有關(guān)的漏洞,此時ID為漏洞的CVE編號。CVE是通用的漏洞庫,給每個漏洞一個唯一的編號,并與大多數(shù)漏洞掃描工具共享數(shù)據(jù),同時給出了漏洞的具體描述和修補(bǔ)索引,可以參考CVE漏洞描述給出攻擊模板。描述電信網(wǎng)絡(luò)特有漏洞時,ID為CVD編號,由GSMA(全球移動通信系統(tǒng)協(xié)會)移動安全名人堂提供,可以據(jù)此查找相關(guān)信息,構(gòu)建攻擊模板。
2.1.3 攻擊圖生成算法
將攻擊圖定義為AG=(S,A),其中:S是屬性節(jié)點(diǎn)集合,S0是目標(biāo)網(wǎng)絡(luò)和攻擊者的初始屬性,Si是攻擊過程中的屬性;A是有向邊集合,表示一次漏洞利用過程,即一次原子攻擊行為。對于任意的e∈E表示屬性節(jié)點(diǎn)的因果關(guān)系。
本文采用廣度優(yōu)先算法構(gòu)造攻擊圖,輸入相關(guān)參數(shù)模型和攻擊者的初始節(jié)點(diǎn)后,遍歷相鄰節(jié)點(diǎn),搜索節(jié)點(diǎn)存在的漏洞,根據(jù)攻擊模板判斷可利用性,如果可利用則將其加入到攻擊圖中,連接相應(yīng)的邊,并根據(jù)攻擊模板的狀態(tài)變化生成下一層節(jié)點(diǎn),最終輸出攻擊圖。攻擊圖生成算法如算法1所示。
算法1攻擊圖生成算法
輸入:網(wǎng)絡(luò)拓?fù)淠P虶=(V,E),V=
輸出:AG=(S,A)。
1. WHILE attackerNodes IS NOT EMPTY DO
2. newNode=attackerNodes.pop()
3. FOREACH v IN newNode.V.vuls DO
4. IF newNode.V.type/servs/auth<=v.pre THEN
5. ADD newNode.V.type/servs/auth=v.post
6. nextNode={newNode.e.dip}
7. addEdg(newNode,nextNode)
8. attackerNodes.add(nextNode)
9. END
10. END
11. END
精確的量化評估是風(fēng)險評估的關(guān)鍵,通過定量評估,可以對系統(tǒng)的安全風(fēng)險劃分等級,針對不同等級采取不同的安全防護(hù)措施。Saaty等[14]提出的層次分析法被廣泛應(yīng)用于評估中。戴方芳[15]提出了基于攻擊圖的模糊風(fēng)險評估,運(yùn)用網(wǎng)絡(luò)流的方式計算風(fēng)險飽和度,對系統(tǒng)進(jìn)行模糊評估。李凌峰[16]將模糊層次分析方法應(yīng)用在無線傳感網(wǎng)絡(luò)的評估中,構(gòu)建了安全性模糊判別矩陣,其收斂性更好,誤差也能控制在一定范圍。閆峰[17]、鐘尚勤[18]、葉云[19]構(gòu)建鄰接矩陣代表系統(tǒng)中的屬性節(jié)點(diǎn),從更細(xì)的粒度分析風(fēng)險情況。高妮等[20]利用貝葉斯推理進(jìn)行評估,結(jié)合事件的置信度,依據(jù)先驗(yàn)概率和后驗(yàn)概率進(jìn)行安全風(fēng)險分析。
量化評估需要標(biāo)準(zhǔn)化的指標(biāo)體系,指標(biāo)選擇需要有客觀性、確定性和權(quán)威性,本文借鑒通用漏洞評分系統(tǒng)(CVSS),結(jié)合攻擊關(guān)聯(lián)性,能更加準(zhǔn)確地計算系統(tǒng)的風(fēng)險值。
2.2.1 單一漏洞評估
CVSS(Common Vulnerability Scoring System)[21]是一個公開的評測標(biāo)準(zhǔn),用來評估漏洞的嚴(yán)重程度,通常由美國國家漏洞庫(NVD)發(fā)布,并得到了眾多廠家的承認(rèn),現(xiàn)今已經(jīng)發(fā)布了3.0版本,更新了部分評估標(biāo)準(zhǔn)。CVSS給每一個已知的漏洞打分,分值范圍為0~10分,分?jǐn)?shù)越高代表漏洞越嚴(yán)重,通常7~10分被認(rèn)為是高危漏洞。CVSS給出了一套評估漏洞嚴(yán)重程度的標(biāo)準(zhǔn),使廠家和用戶能夠直觀地了解漏洞風(fēng)險等級,但其只是針對單一漏洞的評估。CVSS的評價指標(biāo)為基礎(chǔ)評估、生命周期評估和環(huán)境評估,如表1所示。
表1 CVSS評價指標(biāo)
本文在評估單一漏洞時借鑒CVSS的基礎(chǔ)評估,從可利用性(Exploitability)和影響性(Impact)兩個方面進(jìn)行量化[22]?;A(chǔ)評估表示漏洞的本質(zhì)特征,其不隨時間和系統(tǒng)環(huán)境的變化而變化,是漏洞的本質(zhì)??衫眯允锹┒蠢梅绞降拿枋?反映漏洞利用的條件,包括4個內(nèi)容:攻擊復(fù)雜度AC(Attack Complexity)、攻擊途徑AV(Attack Vector)、權(quán)限要求PR(Privilege Required)和用戶交互UI(User Interaction)。影響性是漏洞利用成功后的結(jié)果,描述受到影響的情況,包括3個內(nèi)容:保密性C(Confidentiality)、完整性I(Integrity)和可用性A(Availability)。表2給出了評估的具體內(nèi)容和分值情況。
表2 單一漏洞評估
續(xù)表2
表2中,可利用性評估指標(biāo)分?jǐn)?shù)越高,說明攻擊的技術(shù)要求越低,即攻擊的可行性越高。影響性評估指標(biāo)分?jǐn)?shù)越高,則說明利用成功后,造成的后果越嚴(yán)重。其中評估影響性的三個內(nèi)容保密性、完整性和可用性既是信息安全的三個基本屬性,也是信息安全的目標(biāo),從這三方面可以有效地評估漏洞的破壞程度。根據(jù)表2內(nèi)容,由:
ExpScore=8.22×AV×AC×PR×UI
(1)
可得單一漏洞的可利用性量化評估ExpScore,其中AV、AC、PR、UI分別代表該漏洞在攻擊途徑、攻擊復(fù)雜度、權(quán)限要求和用戶交互指標(biāo)上的量化分?jǐn)?shù)。漏洞的影響性量化評估ImpScore可由式(2)和式(3)計算。
ImpScore=6.42×ISCbase
(2)
ISCbase=1-((1-C)×(1-I)×(1-A))
(3)
式中:ISCbase為臨時變量;C、I、A分別為漏洞在保密性、完整性和可用性指標(biāo)上的量化分?jǐn)?shù)。由此,可以得出單一漏洞的基礎(chǔ)評估BaseScore為:
BaseScore=min((ExpScore+ImpScore),10)
(4)
式中:min表示兩者取小值,因?yàn)镃VSS將漏洞分值限定在10分以內(nèi)。BaseScore分值越高,說明漏洞的危險性越高,即系統(tǒng)的風(fēng)險等級越高。
借鑒上述評估方法,對于移動通信網(wǎng)絡(luò)中的漏洞,可以參考GSMA公布的信息,對每一項(xiàng)評估指標(biāo)進(jìn)行量化,評估指標(biāo)中如攻擊復(fù)雜度、保密性等程度評估可以選擇專家評定的方式,進(jìn)而得到相應(yīng)的量化分?jǐn)?shù)。
2.2.2 關(guān)聯(lián)性評估
在實(shí)際的漏洞利用過程中,漏洞之間并不是孤立的,而是相互影響彼此關(guān)聯(lián)的,因此關(guān)聯(lián)性評估是確保網(wǎng)絡(luò)評估準(zhǔn)確性的重要部分。在攻擊行為中,攻擊者通常結(jié)合多個漏洞的脆弱性,選擇最有利、最容易或者破壞性最強(qiáng)的方式。漏洞之間的關(guān)聯(lián)關(guān)系,體現(xiàn)在成功利用某漏洞,會提高后續(xù)攻擊的成功概率。如在由n個原子攻擊構(gòu)成的攻擊序列A1→A2→…→An中,后續(xù)節(jié)點(diǎn)的實(shí)際發(fā)生概率受到前序節(jié)點(diǎn)的影響。因此實(shí)際發(fā)生概率由兩部分組成,關(guān)聯(lián)概率和孤立概率,即:
P=Prelevance×Pindependent
(5)
式中:P為實(shí)際概率;Prelevance為受關(guān)聯(lián)影響的概率;Pindependent為孤立概率,即理想條件下的概率。Pindependent可以理解為當(dāng)Prelevance=1時的實(shí)際概率P,即沒有關(guān)聯(lián)行為時,孤立概率就是漏洞的實(shí)際發(fā)生概率,這意味著攻擊者不需要借助其他漏洞作為跳板和前提,可以直接利用該漏洞進(jìn)行攻擊。
2.2.1節(jié)對單一漏洞的評估中,可利用性評估是對漏洞利用條件的綜合評估,其直接影響到漏洞的孤立概率Pindependent,漏洞可利用性越高,其孤立發(fā)生的可能性也越高,因此:
Pindependent=λ×ExpScore
(6)
式中:λ為轉(zhuǎn)換參數(shù),取值為0.2。關(guān)聯(lián)概率Prelevance要對應(yīng)具體的攻擊序列,只針對單一漏洞來探討關(guān)聯(lián)概率是沒有意義的。以A1→A2→…→An為例,Ai的關(guān)聯(lián)概率受前序i-1個原子攻擊的實(shí)際概率約束,即:
(7)
式中:Pi表示實(shí)際概率。由式(7)可知,處于攻擊序列遠(yuǎn)端的漏洞更難以利用,這與實(shí)際情況中,越深層次的漏洞越難被發(fā)現(xiàn)和攻陷相符。由上述分析可知,對于攻擊序列的首位,其Prelevance=1,因此P1=Pindependent(1),結(jié)合式(5)、式(6)和遞歸算法,可以得到攻擊序列中每個原子攻擊的實(shí)際概率P。
漏洞之間的關(guān)聯(lián)性僅僅是對操作難度和可行性產(chǎn)生約束,給攻擊者在實(shí)際選擇攻擊路徑時提供一定的參考思路,但并不改變漏洞被利用后造成的后果和對系統(tǒng)的影響。因此整個攻擊序列的影響性包含所有原子攻擊本身的結(jié)果,即:
(8)
屬性攻擊圖中原子攻擊節(jié)點(diǎn)可以采取上述的評估方法進(jìn)行量化。而另一類屬性節(jié)點(diǎn),因?yàn)榕c攻擊節(jié)點(diǎn)有因果關(guān)系,評估以攻擊節(jié)點(diǎn)量化值為參數(shù)。攻擊圖中,屬性節(jié)點(diǎn)可能存在一個或多個入度,如圖2所示。
(a) (b)圖2 屬性節(jié)點(diǎn)的兩種情況
當(dāng)屬性節(jié)點(diǎn)只有一個入度,即只有一個攻擊節(jié)點(diǎn)指向它時,攻擊節(jié)點(diǎn)的實(shí)際概率Pi就是該屬性節(jié)點(diǎn)的發(fā)生概率,因此屬性節(jié)點(diǎn)的綜合評估為:
StateScore=Pi×ImpScore(i)
(9)
當(dāng)有多個入度,即多個攻擊節(jié)點(diǎn)B1,B2,…,Bn指向它時,該屬性節(jié)點(diǎn)的發(fā)生概率受到所有攻擊節(jié)點(diǎn)實(shí)際概率的影響,其結(jié)果為:
(10)
式中:Pi表示攻擊節(jié)點(diǎn)Bi的實(shí)際概率;Ps是屬性節(jié)點(diǎn)的概率。則該屬性節(jié)點(diǎn)的綜合評估為:
StateScore=Ps×min(ImpScore(i))
(11)
式中:min(ImpScore(i))為取所有可導(dǎo)致該屬性節(jié)點(diǎn)的漏洞的最低影響性。
綜上所述,該評估算法可以對屬性攻擊圖中的兩種節(jié)點(diǎn)分別進(jìn)行評估量化,從多角度分析5G網(wǎng)絡(luò)的風(fēng)險狀況,既可以評估攻擊者最有可能的攻擊路徑,也可以評估系統(tǒng)最脆弱的屬性狀態(tài),進(jìn)而選擇最有效的防護(hù)措施和補(bǔ)救方案。
為了驗(yàn)證本文評估方法的可行性和有效性,在實(shí)驗(yàn)室Free5GC環(huán)境中部署了簡單的5G網(wǎng)絡(luò)架構(gòu),如圖3所示。實(shí)驗(yàn)底層環(huán)境包含11臺華為2288H V5機(jī)架服務(wù)器,服務(wù)器內(nèi)存64 GB,硬盤8 TB,基于Ubuntu 17.04搭建OpenStack云平臺,共包含1個控制節(jié)點(diǎn)、6個計算節(jié)點(diǎn),4個塊存儲節(jié)點(diǎn)。在OpenStack平臺上加載網(wǎng)絡(luò)功能鏡像,以虛擬機(jī)承載的方式創(chuàng)建網(wǎng)元功能實(shí)例。
圖3 5G網(wǎng)絡(luò)實(shí)驗(yàn)
圖3中Ubuntu虛擬機(jī)包含兩個漏洞:LINUX內(nèi)核本地提權(quán)漏洞CVE-2019-13272和LINUX緩沖區(qū)溢出漏洞CVE-2017-9445,從CVE庫中獲取漏洞信息生成攻擊模板如下:
Vul1=(CVE-2019-13272, pkexec,user>, Vul2=(CVE-2017-9445, systemd,user>, CVE-2019-13272提權(quán)漏洞,受影響的系統(tǒng)是linux內(nèi)核5.1.17版本以下。攻擊者可以利用該漏洞獲取root權(quán)限。CVE-2017-9445緩沖區(qū)溢出漏洞,可以用來遠(yuǎn)程攻擊,觸發(fā)漏洞后通過惡意的DNS響應(yīng)來執(zhí)行惡意代碼,影響Ubuntu 17.04和16.10等版本。 實(shí)驗(yàn)中5G網(wǎng)絡(luò)包含的電信網(wǎng)漏洞主要有兩個:CVD-2019-0018和CVD-2019-0029。CVD-2019-0018漏洞是Borgaonkar等[23]發(fā)現(xiàn)的、存在于AKA認(rèn)證協(xié)議中的邏輯漏洞,利用該漏洞可以破壞SQN的機(jī)密性,從而獲取用戶位置信息。CVD-2019-0029是由Hussain等[24]提供的針對尋呼協(xié)議的漏洞,通過用戶的尋呼時機(jī)可以獲取IMSI值,導(dǎo)致用戶信息泄露。 采集模擬網(wǎng)絡(luò)中各網(wǎng)元信息,匯總成抽象模型,例如節(jié)點(diǎn)AMF。 CVD-2019-0029/CVD-2019-0018, AKA/Paging,guest> 將實(shí)驗(yàn)的5G網(wǎng)絡(luò)拓?fù)淠P秃凸裟0遄鳛檩斎?結(jié)合攻擊圖生成算法,構(gòu)造5G實(shí)驗(yàn)網(wǎng)絡(luò)的攻擊圖,如圖4所示。 圖4 5G實(shí)驗(yàn)網(wǎng)絡(luò)攻擊圖 圖4中有向邊A表示一次漏洞利用,為了方便區(qū)分,相同樣式的邊表示攻擊所利用的漏洞相同,A1利用CVE-2017-9445漏洞,A2和A3利用CVE-2019-13272漏洞,A4、A6及A8利用CVD-2019-0018漏洞,A5、A7及A9利用CVD-2019-0029漏洞??梢钥闯?自攻擊者初始狀態(tài)出發(fā),有多種不同的攻擊路徑,最終導(dǎo)致系統(tǒng)擁有不同的屬性狀態(tài),即攻擊者獲取的用戶信息量不同,對系統(tǒng)的破壞性也不同。 根據(jù)第3節(jié)提出的風(fēng)險評估算法,對上述攻擊圖進(jìn)行評估。首先,實(shí)驗(yàn)環(huán)境中CVE漏洞的單一評估可以參考CVSS評分系統(tǒng),CVD漏洞則由專家結(jié)合實(shí)際情況給出。最終根據(jù)式(4)計算得出漏洞的量化分?jǐn)?shù)為:CVE-2017-9445的BaseScore分?jǐn)?shù)為7.5,CVE-2019-13272的BaseScore分?jǐn)?shù)為7.7,CVD-2019-0018得分為6.6,CVD-2019-0029評估為7.4,其中各評估子項(xiàng)的具體評分如表3所示。 表3 漏洞量化評估 圖4中共有4個屬性節(jié)點(diǎn)Si,其中S1只有一個入度,可以由式(9)得出其風(fēng)險狀況,其余節(jié)點(diǎn)則由式(11)進(jìn)行風(fēng)險量化,評估結(jié)果如表4所示。 表4 屬性節(jié)點(diǎn)評估分?jǐn)?shù) 由表4可知,通常情況下,屬性節(jié)點(diǎn)的入度越多,可利用的漏洞越多,節(jié)點(diǎn)的風(fēng)險越大,因此評估分?jǐn)?shù)就越高。 以攻擊序列D1{A4}、D2{A1,A6}、D3{A1,A2,A8}、D4{A3,A8}為例,序列D1中A4的實(shí)際發(fā)生概率為0.38,序列D2中A6的實(shí)際概率為0.30、序列D3中A8的實(shí)際概率為0.08,序列D4中A8的實(shí)際概率為0.14。A4、A6、A8利用的是同一個漏洞CVD-2019-0018,但因?yàn)楣粜袨橹g存在關(guān)聯(lián)性,導(dǎo)致在不同序列中的實(shí)際發(fā)生概率不同,離攻擊者越遠(yuǎn)的漏洞實(shí)際概率越低,即越深層的漏洞越難以被利用,這一點(diǎn)也符合人們的認(rèn)知。 從攻擊者初始狀態(tài)S0出發(fā),有4條攻擊路徑,分別引起不同的狀態(tài)變化。對這4條路徑進(jìn)行評估,A1、A3、A4、A5的評估結(jié)果AttackSeqScore分別為2.8、2.1、1.8、2.0。綜合可知,A1的風(fēng)險性最高,對系統(tǒng)的影響最嚴(yán)重,因此修復(fù)CVE-2017-9445漏洞能夠顯著增強(qiáng)實(shí)驗(yàn)網(wǎng)絡(luò)的安全性。 在評估方法上,文獻(xiàn)[10]沒有考慮關(guān)聯(lián)性因素,評估基于漏洞的孤立性,結(jié)合本文實(shí)驗(yàn),采用文獻(xiàn)[10]的方法對5G網(wǎng)絡(luò)進(jìn)行風(fēng)險評估,屬性節(jié)點(diǎn)評估結(jié)果如表5所示。選取相同的攻擊序列D1{A4}、D2{A1,A6}、D3{A1,A2,A8}、D4{A3,A8},兩種方法的評估結(jié)果如表6所示。 表5 文獻(xiàn)[10]屬性節(jié)點(diǎn)評估結(jié)果 表6 攻擊序列評估結(jié)果對比 兩類評估分別與本文方法進(jìn)行對比,其結(jié)果如圖5所示。 由圖5(a)可知,同一個5G實(shí)驗(yàn)網(wǎng)絡(luò)中,文獻(xiàn)[10]的評估方法不考慮關(guān)聯(lián)性影響,使得屬性節(jié)點(diǎn)的評估結(jié)果偏高,即評估系統(tǒng)面臨的風(fēng)險比實(shí)際情況要高。由圖5(b)可知,對于相同的攻擊路徑,忽略關(guān)聯(lián)性時,文獻(xiàn)[10]的評估提高了攻擊行為的可能性,進(jìn)而過高估計了攻擊對系統(tǒng)的影響。隨著攻擊行為復(fù)雜性的提高和利用漏洞數(shù)的增多,文獻(xiàn)[10]的評估結(jié)果偏差就越大。由經(jīng)驗(yàn)可知,攻擊行為本身越復(fù)雜,其難度越高,攻擊成功的可能性更受限制,威脅性也不會簡單地呈線性增長趨勢。因此本文提出的關(guān)聯(lián)性評估方法,能夠有效地反映實(shí)際情況,較為真實(shí)地評估5G網(wǎng)絡(luò)風(fēng)險等級,具有較好的可信度。根據(jù)評估結(jié)果可以明確知道系統(tǒng)最危險的屬性狀態(tài),采取針對性的防御措施,在成本有限的情形下選擇最有利的防護(hù)方式。 (a) 屬性節(jié)點(diǎn)評估結(jié)果 5G網(wǎng)絡(luò)已開始商用,隨之而來的是用戶和運(yùn)營商對網(wǎng)絡(luò)安全性的要求。為了對5G網(wǎng)絡(luò)的風(fēng)險狀況進(jìn)行量化評估,本文在攻擊圖模型的基礎(chǔ)上,提出5G網(wǎng)絡(luò)攻擊圖的構(gòu)造方法。方法以網(wǎng)絡(luò)拓?fù)淠P秃凸裟0遄鳛榛A(chǔ)輸入,通過廣度優(yōu)先算法生成攻擊圖,能夠探索攻擊的所有路徑,全面分析系統(tǒng)的漏洞。之后結(jié)合CVSS評分項(xiàng)提出關(guān)聯(lián)性評估方法,在量化漏洞本身屬性的同時兼顧漏洞之間的關(guān)聯(lián)性,使評估結(jié)果更真實(shí)合理。最后在實(shí)驗(yàn)環(huán)境下,驗(yàn)證了本文方法的有效性,并通過對比顯示出方法的準(zhǔn)確性。通過評估,可以全面了解系統(tǒng)的風(fēng)險狀況,搜索可能的攻擊路徑,進(jìn)而采取有效的防護(hù)手段,提高系統(tǒng)的安全性。3.2 攻擊圖生成
3.3 評估結(jié)果與分析
4 結(jié) 語