吳志軍,周勝琰,雷縉
(中國民航大學電子信息與自動化學院,天津 300000)
為提高ATM(air traffic management)服務提供者之間的全球互操作性,增強各部門之間信息共享,打破異構服務之間信息交換的瓶頸,1997 年,歐洲航空安全組織首次向美國聯邦航空局提出廣域信息管理(SWIM,system wide information management)的概念。2005 年,國際民航組織(ICAO,International Civil Aviation Organization)將SWIM作為國際航空信息發布系統,美國和歐洲分別于2007 年部署“下一代航空運輸系統”計劃和“歐洲單一天空空中交通管理研究計劃”,均將SWIM 作為信息溝通和數據共享的架構[1]。廣域信息管理作為下一代空中交通管理的核心[2],連接了民航信息網絡的各個組成部分,整合了民航各類業務資源(包括空域管理、流量管理、交通管理、監控管理、飛行器系統等),對通信數據、導航數據、監控數據、氣象信息、全球地理信息和各類飛行對象加以管理,是民航網絡信息交互和數據共享的關鍵組成部分。
隨著越來越多的用戶通過SWIM 獲取民航服務數據,SWIM 服務的數據交互越發頻繁,面臨的安全威脅也越來越突出。SWIM 網絡安全研究主要集中在SWIM 安全技術標準[3]、數據安全威脅分析[4]、數據實時交互保障[5]、數據傳輸加密認證[6]和數據安全與共享[7],雖然實現了數據安全和隱私保護,但是沒有針對惡意攻擊、系統故障、突發事件等一系列安全威脅做出應急響應。SWIM 作為一個大規模分布式網絡,因其服務提供者的自身硬件性能和地理位置信息各不相同,面臨的安全威脅也不盡相同,因此,有必要提出一種從SWIM 服務提供者角度出發的保護模型,能夠結合自身性能特點準確判斷安全態勢,主動移交SWIM 服務權限,減少突發事件對SWIM 服務造成影響。
目前,服務移交機制的研究已經取得了不少成果,黃遵國等[8]在服務集群內采用多種隨機競爭機制實施進程遷移,服務器漂移具有較高的隨機性,但攻擊者可能發起時間漏隙攻擊,同時漂移機制缺乏可控性,容易造成網絡振蕩。洪小亮等[9]對文獻[8]中服務漂移的觸發機制和競爭機制進行了改進,可以有效抵抗時間漏隙攻擊,但是單一的服務漂移模式降低了服務漂移的隨機性。文獻[10]提出了一種服務漂移模型,把服務模型抽象為一個部分可觀測馬爾可夫決策過程,可以計算出使客戶獲益最高的服務漂移策略,但是該模型觸發機制設計不合理,容易造成時間沖突。文獻[11]利用各種檢測平臺的告警信息,提出了一種基于網絡可生存性態勢感知的主動服務漂移模型,模型未對告警數據進行聯合分析,容易發生虛警漂移,增加系統負擔[11]。文獻[12]提出了一種云計算環境下的最優Web 服務遷移架構,該架構以負載為移交服務觸發衡量標準,觸發條件單一,不能保證服務的安全性。由于SWIM 網絡是面向服務的大規模信息網絡,面臨多種維度的安全威脅,僅從單一角度觸發移交機制不適應SWIM 網絡安全需要,本文提出了一種基于態勢感知的服務移交觸發機制,聯合多維安全威脅信息判斷安全態勢。網絡安全態勢感知最早是Tim Bass 提出并廣泛應用于航空等領域,是對安全態勢數據的不斷觀測、提取、理解及預測[13]。安全態勢評估是態勢感知的一部分,安全態勢評估算法有模糊綜合評價法[14]、機器學習算法[15]、概率模型算法[16]等。本文依據SWIM 節點安全態勢決策是否觸發主動移交機制,將安全態勢評估由數值型問題轉變為分類問題,消除了人為設置安全閾值的主觀因素干擾,能夠通過真實數據學習訓練,更符合真實環境下的安全需求。
在某航班飛行過程中,航空公司作為SWIM 服務消費者(SC,service consumer),通過SWIM 網絡獲取航空監視數據、機場地面信息和航空氣象等信息;空管部門提供航空監視數據服務、航空氣象服務;機場提供機場地面信息服務。如果該空管單位由于遭受惡意攻擊或發生自然災害導致服務延時增加或服務突然中斷,對航班飛行造成安全威脅,那么,必須快速找到一個可靠的空管部門作為移交目標,由它繼續提供服務,因此,保證SWIM服務的連續性和穩定性是關鍵。本文在原SWIM網絡的基礎上引入了一種SWIM 服務權限主動移交模型,如圖1 所示,將SWIM 網絡中服務主題相同的SWIM 服務提供者(SP,service provider)視為對等服務提供者,在突發事件發生時從對等服務提供者中選擇節點繼續提供SWIM 服務,保證了在單點或部分SP 失效情況下SWIM 服務的連續性。
1)SC 通過SWIM 網絡獲取對應服務,實際上是SC 通過查詢具有全網一致性的服務信息注冊列表[17],將對應服務主題的SWIM 服務數據發送給SC,具體由哪個SP 來提供SWIM 服務數據對SC來說是不可知的。SWIM 旨在融合多元服務數據來提升SC 聯合決策能力,只有保證SP 的安全運行,才能確保SWIM 服務的可靠性。各SWIM 用戶之間采用標準的協議交互,相互采用松耦合的方式連接[18],各SWIM 用戶之間相對獨立,因此,通過移交故障節點SP 的服務權限來保證SWIM 服務的連續性是可行的。

圖1 SWIM 服務權限主動移交模型
2)如果SP 自身狀態信息實時發送給SWIM 網絡,將增加SWIM 網絡工作負擔,占用網絡帶寬,影響SWIM 服務質量。另外,SP 的安全態勢大部分時間都處于正常狀態,實時傳輸的自身狀態信息中存在大量冗余信息,同時考慮到SP 之間硬件設施和地理環境的差異性,因此,將服務移交觸發模塊分布在SP 本地,只有突發事件發生才會向SWIM發送狀態信息,減輕了SWIM 網絡流量負擔,保證了SWIM 網絡帶寬的高效利用。
3)SWIM 網絡由多個分布式SWIM 域組成,SWIM 域間相互連接,可以快速獲取全網SP 的安全狀態信息,因此將服務權限移交模塊部署在SWIM 核心服務中,依據遷移期望最大化原則選擇移交目的SP,將SWIM 服務權限無縫地移交至該SP 上。
SWIM 服務權限主動移交機制如圖2 所示。

圖2 SWIM 服務權限主動移交機制
首先由某SP 向SWIM 用戶提供服務,同時周期性地收集安全態勢特征數據,并對系統當前所處的安全態勢進行評判,依據評估結果觸發服務移交機制,當未觸發服務移交機制時,繼續向SWIM 用戶提供服務并周期收集自身安全態勢特征數據,當觸發服務移交機制時,從備選服務提供者中選擇移交目的節點,由目的節點向該SWIM 用戶繼續提供服務。由此可知,實現SWIM 服務權限主動移交機制需要解決3 個問題:1)安全態勢特征數據的選取和處理,2)SP 安全態勢評估,3)選擇移交對象。本文使用3 個模塊解決上述3 個問題,具體如下。安全態勢特征數據處理模塊從多維度收集安全威脅信息并對其進行預處理;服務移交觸發模塊根據監測安全態勢特征數據判斷安全態勢;服務權限移交模塊根據預判結果觸發SWIM 服務權限主動移交機制。
SWIM 服務提供者安全態勢隱含在海量的監測告警數據中,為了能夠在復雜多變的網絡環境中準確感知自身安全態勢,必須充分考慮影響SP 安全態勢的各種因素,提取關鍵特征信息。依據SP 的監測信息判斷安全態勢,從而根據自身安全態勢實施主動防御機制,提升SWIM 服務的可生存性,考慮到系統硬件性能、惡意攻擊、自身漏洞和突發災害等因素對系統安全態勢的影響,本文主要通過負載威脅指數、攻擊威脅指數、漏洞威脅指數、環境威脅指數、節點服務威脅指數5 個特征評估安全態勢。
定義1負載威脅指數TLN。t時刻,SP 節點N的自身負載情況,反映了SP 處理服務的能力。影響負載變化的硬件參數有很多,本文主要考慮3 種參數即CPU 使用率(CPU%)、帶寬使用率(Band%)和內存利用率(MEM%)[19]來衡量負載情況。根據SP提供服務屬性不同,可以分為計算消耗型服務和通信消耗型服務。依據服務類型對硬件資源的消耗程度情況分配權值w,權值分配如表1 所示。

表1 權值分配
在SWIM 運行過程中不斷優化這些參數,則SP 節點N在t時刻的負載威脅指數如式(1)所示。

其中,

定義2攻擊威脅指數TAN。在[t-Δt,t]時間區間內,SP 節點N所受惡意攻擊對SWIM 服務造成的威脅值。SWIM 服務節點部署了多種攻擊檢測傳感器,統計告警信息中攻擊i的攻擊次數Ci和攻擊強度Di,依據SNORT 用戶手冊將攻擊強度分為低、中、高3 個等級,分別用1、2、3 表示,攻擊i的攻擊威脅值如式(3)所示。

在[t-Δt,t]時間區間內共有n種攻擊發生,則可由式(4)計算節點攻擊威脅指數。

定義3漏洞威脅指數TVN。t時刻,系統檢測漏洞對SWIM 節點造成的安全威脅指數。將檢測漏洞按照通用漏洞評分系統(CVSS,common vunerability scoring system)的度量標準計算漏洞威脅指數[20],漏洞威脅指數計算如式(5)所示。

其中,TMj是第j個漏洞對系統安全態勢的影響值,分別從SP 的機密性Cj、完整性Ij和可用性Aj這3 個方面來考量。

TBj是第j個漏洞被攻擊利用可能性的量化值,分別從攻擊途徑AVj、復雜度ACj和認證AUj這3 個指標來衡量。

m為系統在t時刻檢測到漏洞的個數。f(TMj)是對m個漏洞對系統安全態勢影響值的統計平均后的結果。

系統各漏洞安全態勢影響考量要素度量值分配如表2 所示[20]。

表2 度量值
定義4環境威脅指數TEN。t時刻,SP 節點N由于自然災害對SWIM 服務造成的安全威脅指數。依據相關部門的自然災害預警信息和環境感知信息計算環境威脅指數TEN,如式(9)所示。

其中,若t時刻已經發生自然災害,將TEN置1,否則將TEN置為Pt,Pt代表相關預警部門對該SP發生自然災難的估計概率。
定義5節點服務威脅指數TSN。t時刻,SP節點N對外提供服務的可能性。若提供服務的下一時間節點為tservice,設置時間閾值tq,只有在[tservice-tq,tservice]時間區間內SP 發生故障才可能對服務造成影響,時刻t與tservice越接近,節點服務威脅指數越大,則節點服務威脅指數TSN為

其中,tq=30 s。
通過計算SP 各維特征威脅指數,僅從局部衡量了SP 節點某方面的安全威脅,未能從整體上科學地評估SP 節點安全態勢。本文依據安全態勢觸發SWIM 服務權限主動移交機制,將SWIM 節點的安全態勢分為安全和威脅2 種,對應繼續監測和移交服務2 種響應策略,那么,SP 節點安全態勢評估不再是一個數值型問題,而是轉化為分類問題,將各維特征威脅指數生成特征向量并利用分類算法評判出節點所處態勢。常見的分類算法有隨森林算法、邏輯回歸算法、KNN(k-nearest neighbor)算法、神經網絡算法、貝葉斯分類器等。其中,隨機森林算法是一種能夠在提升精度的情況下保證運算量的機器學習分類算法,隨機森林是在決策樹的基礎上演化而生的,在隨機森林內部構建多個相對獨立的決策樹,在訓練完成后,能夠在新樣本到來時,決策出樣本的類別[21]。隨森林算法步驟如下。
1)初始化原始訓練數據集D,在隨機森林內部構造K棵決策樹,每棵決策樹的訓練樣本個數均為N,按照Bootstrap 法從原始訓練數據集D中有放回地隨機抽取K個規模為N的訓練數據子集,利用K個訓練數據子集分別訓練K棵決策樹。
2)假設每個訓練樣本共有L個輸入特征,從L個輸入特征中隨機選擇l個(l<L)輸入特征,利用這l個輸入特征決定最優分裂點。
3)不對分類樹作任何處理,使其自由生長。
4)最終生長出的K棵決策樹組成隨機森林,當有新的樣本輸入時,隨機森林中每棵決策樹分別對樣本進行分類,最終分類結果由每棵決策樹投票決定。
利用隨機森林算法,以Δt為周期定期觀測計算威脅指數,將SP 節點N安全威脅指數生成特征向量TN=(TLN,TAN,TVN,TEN,TSN),并將其作為隨機森林算法的輸入,對系統狀態進行安全態勢評估,依據節點安全態勢觸發SWIM 服務主動移交機制。
服務權限移交模塊位于SWIM 核心服務中,用來管理本地SWIM 域下的SWIM 用戶。服務權限移交模塊的信息列表由五元組(mid,type,node,C,μ)組成,其中,mid 代表移交標識信息,取值為“0”或“1”,“0”表示該SP 正常提供服務,“1”表示該SP需要移交SWIM 服務權限;type 代表該SP 提供的服務主題;node 表示該SP 的節點信息;C是n個訂閱該SP 服務的SC 節點信息的集合,C={Cj|i=1,2,…,n};μ表示該SP 的相對指數,根據SP 的各維威脅特征指數,利用模糊多屬性決策算法[22],計算相同服務主題SP 之間的相對指數,安全性能越強μ則越大,當有待移交服務時,更新μ值。具體過程如下。
首先,在服務權限移交模塊中構造移交目的節點評估矩陣T。

其中,Tij代表SP 節點i的第j維安全態勢特征值。
為了消除物理單位對數據的干擾,將評估矩陣進行歸一化得到T1。

其中,i=1,2,…,n,j=1,2,…,m。

依據歸一化評估矩陣T1,分別構造最優特征向量g和最差特征向量b,如式(15)和式(16)所示。

分別計算備選節點特征向量與最優節點、最差節點特征向量之間的歐氏距離。

其中,β是節點各維安全威脅指數對待移交服務的影響程度。
根據各節點的dig、dib可求的節點i相對于其他備選節點的優差程度μi。

SWIM 服務提供者觸發服務權限移交機制后,服務權限移交機制流程如圖3 所示。

圖3 服務權限移交流程
服務權限移交模塊向SWIM 注冊中心請求待移交服務的服務狀態信息,SWIM 注冊中心收到該請求后,刪除待移交SP 注冊發布的服務信息,該SP 的移交標識信息更新為1。待移交SP 可能提供多種服務,降級為多個基礎服務,查詢移交信息列表,更新相同服務主題SP 的μ值,依據μ值選擇目的節點。
SWIM 服務權限移交過程包括以下步驟。
1)SWIM 網絡根據SP 發送移交請求信息更新全網移交信息列表,移交信息列表依據時間戳依次完成服務移交。
2)移交信息列表中待遷移服務節點中每類待移交服務主題分別與移交信息列表匹配,將匹配到的節點組成備選移交目的節點并構建節點評估矩陣。
3)按照模糊多屬性決策算法計算各備選移交目的節點的μ值,并將μ值更新到服務權限移交模塊信息列表,從中選擇最大μ值節點作為移交目的節點。
4)服務權限移交模塊向移交目的SP 發送服務狀態信息,并將SC 請求信息轉發至目標SP,或由目標SP 向原服務的緩存空間傳送服務數據。
為了驗證SWIM 服務主動移交機制的有效性,本文在真實網絡環境中根據SWIM 網絡體系結構搭建了仿真平臺,其網絡拓撲結構如圖4 所示。仿真平臺由PC 機、服務器、路由器和交換機組成。其中,一臺PC 機模擬SC 獲取SWIM 服務;2 臺PC 機作為SWIM 接入節點,提供SWIM 服務注冊、查詢與管理功能;5 臺PC 機作為SP 提供SWIM 服務。

圖4 測試平臺網絡拓撲
實驗PC 機的硬件配置如表3 所示。

表3 實驗PC 機的硬件配置
SP 使用Apache 作為服務器,Mysql 作為數據庫存放SWIM 服務數據。以SWIM 航班信息交換模型(FIXM,flight information exchange model)[23]和SWIM 航空信息交換模型(AIXM,aeronautical information exchange model)[24]為標準,分別提供航班信息服務和航空信息服務。
首先,驗證隨機森林算法觸發移交機制的可靠性。采用我國某空管分局提供的真實飛行情報服務物理節點安全態勢觀測數據用于算法訓練。在物理節點在對外提供服務數據的情況下,利用多種監測手段定期統計物理節點上服務器的相關數據,包括CPU、內存和帶寬。并從防火墻和入侵檢測系統中獲得相關攻擊數據,利用漏洞掃描系統得到系統漏洞信息。然后,對獲得的數據進行統計分析得到安全態勢數據,依據服務反饋情況評價該SWIM 物理節點的安全態勢,得到該節點安全態勢統計數據,如表4 所示。
本文將安全態勢統計數據進行威脅指數處理后作為訓練數據集使用。在實驗中,設Δt=60 s,采用1 600 組歷史數據作為訓練數據集,每組歷史訓練數據包括當前時刻t的安全威脅指數監測值TLN、TAN、TVN、TEN、TSN和對應的SWIM 節點安全態勢;測試數據為500 組,從500 組測試數據中隨機抽取10 個分類結果如表5 所示。
隨機森林算法分類結果與真實態勢統計類型如表6 所示。其中,TT 為分類結果為威脅的真實威脅的樣本個數,FT 為分類結果為安全的真實威脅的樣本個數,TF 為分類結果為威脅的真實安全的樣本個數,FF 為分類結果為安全的真實安全的樣本個數。

表4 節點安全態勢統計數據

表5 隨機森林算法分類結果

表6 分類結果與真實態勢統計類型
具體性能指標計算式如式(21)~式(24)所示。

將500 組測試數據的結果進行統計,并與貝葉斯分類算法的分類結果進行比較分析,得到2種分類算法的性能對比結果,如表7 所示。實驗結果表明在采用相同訓練數據集和測試集的情況下,隨機森林算法的準確率、漏警概率等指標均優于貝葉斯算法。

表7 分類算法性能對比
在SC 獲取SWIM 服務的過程中,模擬突發故障和惡意攻擊,通過與未部署SWIM 服務主動移交模型的SWIM 網絡(Non-PMM)和傳統服務漂移機制(TSMM,traditional service migration mechanism)對比,判斷SWIM 主動移交模型能否滿足SWIM 網絡應急響應的需求。主要從吞吐量和服務平均時延兩方面考察系統性能[25],其中服務器提供者與服務主題對應關系如表8 所示。

表8 服務提供者與服務主題對應關系
模擬10 個SC 用戶通過SWIM 訂閱SWIM 航班信息服務,最初由SP1 對該訂閱用戶SC1 和SC2 提供服務。當SP1 突發系統故障對SWIM 造成安全威脅時,SP1 感知自身安全態勢并觸發SWIM 服務權限移交機制,SWIM 收到移交請求后更新全網移交信息列表,全網移交信息列表中包含了SWIM 網絡中所有待移交服務,依據時間戳順序,依次將服務權限移交至其他節點,同時將服務權限移交模塊信息列表中SP1 的移交標識信息更新為1,如圖5 所示。

圖5 SWIM 服務移交信息列表
根據圖5 中全網移交信息列表中待移交服務主題,SWIM 服務權限主動移交模塊依據目標節點選取策略,獲取SP2、SP3、SP5 的多維安全特征值,并構造移交節點評估矩陣。

對矩陣T進行歸一化處理,得到歸一化矩陣T1。

節點各維度安全威脅指數對待移交服務的影響程度β=[0.2 0.3 0.3 0.1 0.1],分別計算備選節點特征向量與最優節點、最差節點特征向量之間的歐氏距離為

計算可得到節點間相對安全指數如式(29)所示。

SWIM 服務權限主動移交模塊將相對安全指數更新到信息列表中,選取相對指數最大的SP 作為移交目的節點,將待移交服務訂閱用戶SC1 和SC2的訂閱請求移交至SP2 上,移交后的服務移交信息列表如圖6 所示。
5.2.1 SWIM 網絡吞吐量
SWIM 網絡吞吐量指的是單位時間內SWIM 成功對外傳輸數據的大小。為了驗證本文方法的性能,考慮在發生突發事件情況下SWIM 網絡吞吐量的變化,本文模擬1 500 個用戶訂閱SWIM 航班信息服務,并在SWIM 正常提供服務后,注入持續性突發故障,仿真結果如圖7 所示。
其中,SC 通過SWIM 網絡獲取航班信息服務,在正常情況下,由于實驗硬件設施相同,PMM、Non-PMM、TSMM 三者均能夠保證較穩定的吞吐量,吞吐量均維持在450~550 bit/s,在50 min 時,向SC 提供服務的SP1 發生硬件故障,不能繼續提供航班信息服務,50 min 后Non-PMM 的吞吐量急劇下降;而TSMM 僅是隨機控制SP1、SP2、SP3 向SC 提供服務,未能感知其中SP1 硬件故障,當服務權限移交至SP1 時,網絡吞吐量下降至0,由其他SP 提供服務時,吞吐量恢復正常;由于PMM 能夠準確判斷SP 安全態勢及時移交SWIM 服務權限,維持SWIM 服務的正常運行,吞吐量依舊維持在450~550 bit/s,能夠滿足SWIM 服務安全連續的需要。

圖7 3 種模型的吞吐量對比
5.2.2 SWIM 服務平均時延
服務時延指的是SWIM 發送服務數據至訂閱用戶的時間戳插值。為了驗證本文方法的性能,模擬1 500 個用戶訂閱SWIM 航班信息服務,并在SWIM 正常提供服務后注入持續性突發故障,將訂閱用戶的服務時延求均值得到服務平均時延,SWIM 航班信息服務平均時延的仿真結果如圖8 所示。

圖8 3 種模型的平均時延對比
如圖8 所示,在50 min 時,SWIM 網絡中提供航班信息服務的SP1 受到惡意攻擊,不能繼續提供航班信息服務,Non-PMM 中由該SP 提供服務的SC 無法繼續獲取航班信息服務數據,并得到連接錯誤返回信息,所以,SWIM 服務平均時延將增大。由受損SP 對外提供服務時,TSMM的服務平均時延將增加,由正常節點對外提供服務時,服務平均時延降至正常值;由于PMM 能夠及時移交SWIM 服務權限,SWIM 服務平均時延依然維持在較穩定的水平。其中,服務響應時間累積概率如圖9 所示,本文提出的模型服務響應時間為0.14 s 時累積概率為0.95,即95%的服務響應時間低于 0.14 s,響應時間明顯優于Non-PMM 和TSMM 模型。

圖9 3 種模型的服務響應時間累計概率對比
通過以上的實驗分析可知,SWIM 服務主動移交模型能夠在SP 突發故障或受到惡意攻擊時,利用服務移交機制將服務權限移交到相同服務主題的SP,提升了SWIM 網絡的可生存性,增強了SWIM 網絡應對突發事件的能力,降低了突發事件帶來的影響。
SWIM 作為下一代空中交通管理的核心,保證SWIM 安全運行,實施有效的應急響應機制十分重要。本文提出了一種基于態勢感知的SWIM服務主動移交模型,特點是利用多維威脅指數聯合分析安全態勢觸發服務移交機制,能夠最大程度降低突發事件對SWIM 用戶造成的損失,保證了SWIM 業務的連續性和服務的可靠性,能夠在SWIM 網絡發生突發事件的情況下,執行有效的應急響應機制,本文暫未考慮SWIM 網絡大面積受損和融合數據服務受損的情況,未來將在該方面做進一步研究。