吳志軍,王 航
(中國民航大學電子信息與自動化學院,天津300300)(?通信作者電子郵箱zjwu@cauc.edu.cn)
隨著全球經濟的發展,現有航空運輸系統已不能滿足日益增長的民航業務需求,為此,美國提出下一代航空運輸系統(Next Generation Air Transportation System,NextGen),歐洲提出單一歐洲天空空中交通管理研究(Single European Sky ATM,SESAR),中國提出新一代空中交通管理系統(New Generation Air Traffic Manager,NGATM),這些計劃都以廣域信息管理系統(System Wide Information Management,SWIM)為基礎。SWIM在全球范圍內保證了空中交通管理部門、航空公司和機場等之間的信息共享,提高了協同決策能力。由于民航系統的特殊性,該系統需要提供7×24 h不間斷服務,因此,研究SWIM的應急響應顯得尤為重要。
本文提出了一種基于訂閱/發布的SWIM應急響應機制。
有關應急響應的研究工作,大致可以分為三類:關鍵服務漂移、可生存性和系統安全性。
Kun等[1]針對網絡安全提出了基于流和應用的應急響應機制,但只對應急響應和應急措施進行了理論分析;Seba等[2]針對無線通信中的安全威脅,研究了安全需求,并提出了應急通信體系結構,但沒有提供完整的各個階段的威脅及相應的解決方案 ;Yeo等[3]研究快 速 網絡評估(Rapid Network Assessment,RNA)和 手 冊 內 容 分 析(Manaual Content Analysis,MCA)兩種編碼方式的優缺點,這兩種方法能提高應急響應行動的效率,證明了MCA在實時網絡中的可用性,但是沒有給出兩種方式的具體適用范圍;Wang等[4]研究了突發災害情況下消息的開銷、延遲和路由問題,提出了一種傳播轉發路由算法和動態拓撲建模方法,設計了傳播策略和轉發策略;Wu等[5]針對SWIM的生存性提出了一種動態遷移機制,并且與隨機自治可生存調度(Stochastic Autonomous Scheduling Survivability,SASS)模型和基于令牌的競爭機制(Token-based competition mechanism,TOKEN)模型對比,具有優越性,但只考慮了關鍵服務遷移機制,無法完全滿足SWIM的應急響應。
Dalal等[6]研究了災害位置不確定情況下的應急網絡的設計,研究了最壞情況和最小成本下不同權重的分配問題,從而提高該方案的效率,而且進行了實例研究,但是并沒有考慮其他不確定性因素,如基礎設施的損壞、人員的撤離等;Vedula等[7]以一個應急響應案例為基礎研究了信任機制的影響,但是沒有把時間因素考慮進信任機制中;Qiu等[8]研究了物聯網的實時應急響應能力,提出了應急響應路由協議來提高數據傳輸效率,但是沒有考慮到大型的系統;Es-Haghi等[9]使用模糊方法和社會網絡分析來進行應急響應,并且考慮了預測方法來實現理想的應急管理目標,但考慮的變量不多,應考慮加入更多的變量;Qiu等[10]提出了應急貝葉斯決策網絡(Emergency Bayesian Decision Network,EBDN)模型來應對突發事件決策問題,解決了突發事件中的不確定性,但是該方法依賴于一定的歷史數據,并且沒有考慮突發事件的派生事件;Gu等[11]研究了多種信息系統間的基礎架構,構建了應急響應拓撲,但是沒有進一步因災難的不同而變換的網絡拓撲;Lieser等[12]研究了移動自組織網絡中信息優先級的問題,從而降低了網絡延遲,提出的體系結構在災后通信方面作出重大貢獻;王健等[13]提出了一種基于 SM-PEPA(Semi-Markov Performance Evaluation Process Algebra)系統的量化分析方法,將系統認知能力轉化為一個半馬爾可夫過程,但是僅考慮了入侵防御能力和自恢復成功率對可生存性的影響;王鵬飛等[14]從軟件、硬件和運行環境3個因素層提出一套指標體系來量化可生存能力,但其一級指標的權值選取方法有待優化,二級指標采用均值加權法也不合理;陳天平等[15]提出一種可生存性評估方法,給出了指標量化方法,但其權重系數簡單地采用相同的值,這與實際情況不符。
Kang等[16]從信息集成的角度研究了SWIM;Qi等[17]概述了SWIM并且進行了安全性分析;Abraham[18]研究了空地SWIM,考慮了航空器接入SWIM;Morioka等[19]為了完成航空器和空中交通管理間豐富的信息交換,研究了航空移動式機場通信系統;Moallemi等[20]研究了航空器接入SWIM的信息安全問題;Wilson等[21]研究了SWIM的信息安全問題;Wang等[22]提出了基于面向服務架構(Service-Oriented Architecture,SOA)的SWIM架構;趙汨龍等[23]提出了一個基于SOA的SWIM框架下的實現實例;袁飛飛等[24]提出了協同的數據分發方法以應對大數據量的分發效率,在訂閱/發布模式下,降低了分發時延,減輕了節點負載。
基于以上研究現狀,本文提出的基于訂閱發布服務的SWIM應急響應機制彌補了以往研究的不足,提高了SWIM的可生存性。
SWIM的范圍包括基礎設施、信息、服務和治理,為頂層SWIM支持的服務提供技術支持。SWIM是網絡層和應用層之間的大規模分布式網絡,其應急響應體系結構如圖1所示。

圖1 SWIM應急響應體系結構Fig.1 SWIM emergency response architecture
SWIM應急響應體系結構分為協同式應急響應對等網絡(Peer-to-Peer,P2P)和SWIM物理網絡兩層,在協同式對等網絡中,各實體間平等、協同地完成信息地共享,這與SWIM的應急響應模式非常相似,所以可以兼容SWIM的組織架構。通過P2P網絡,可以實現SWIM應急消息的快速發布,提供的功能包括:事件通告、災備切換、故障地址、狀態監測、故障診斷、系統更新、容錯校驗、應急預案、安全更新、入侵檢測、審計日志和處置流程等。
在SWIM應急響應體系中需各部門協同運行,即兩個或更多成員之間共同完成應急響應,包括信息共享、共同的應急響應流程和緊急情況下系統運行等。通過機場、航空公司和空管等各方參與和信息共享更好地進行應急響應,目標是:1)增加共同的態勢感知;2)多方參與,提高應急響應能力;3)協同響應,提高資源利用率;4)加強協同配合。
SWIM全球互操作框架包括5層,自上而下依次是:應用層、信息交換服務層、信息交換模型層、SWIM基礎設施層和網絡連接層,其中,SWIM的范圍包括信息交換服務層、信息交換模型層和SWIM基礎設施層,以及對這些在安全等方面的治理。當SWIM受到分布式拒絕服務攻擊(Distributed Denial of Service,DDoS)時,不同層會有不同的應急響應機制。
在協同式應急響應服務對等網絡基礎上,設計了SWIM應急響應模型,如圖2所示,由分布數據存儲層、分層動態漂移系統和網絡連接層構成。實現SWIM網絡關鍵服務的動態漂移和關鍵數據的備份以及恢復。
在信息交換服務層中,首先設置各個服務的權值,把關鍵服務和普通服務區分開來,以機場訂閱的相關服務為例,當受到DDoS攻擊時,機場所訂閱的相關服務只會保留關鍵服務而普通服務會暫時停止,權值被設為零。
在信息交換模型層中,信息交換模型規定了發布者和訂閱者之間傳遞消息的結構、格式和內容,包括信息域的概念。現有信息交換模型有航空信息交換模型(Aeronautical Information eXchange Model,AIXM)、航班信息交換模型(Flight Information eXchange Model,FIXM)和氣象交換邏輯模型(Weather eXchange Logical Model,WXXM)。各個模型分別包含概念模型、邏輯模型和可擴展標記語言(eXtensible Markup Language,XML)模型。以FIXM為例,核心數據包含整個生命周期中的計劃、狀態以及應急數據等基本信息和關鍵數據,FIXM的拓展部分可由各個國家和地區根據自身具體情況進行調整。發生DDoS攻擊時,該模型會簡化為只保留核心部分的簡化模式,以保證SWIM業務的連續性。

圖2 應急響應模型Fig.2 Emergency responsemodel
在SWIM基礎設施層提供SWIM的核心服務,包括消息服務、接口服務、安全服務和企業服務管理等。消息服務為SWIM提供高效、安全可靠數據傳送,包括發布/訂閱、請求/響應、消息路由和消息轉換功能;接口管理能對SWIM中業務數據的服務元數據的注冊、發布、發現和調用進行統一的管理,有利于各服務間高效的互操作和復用;安全服務主要包括安全策略、認證管理、訪問控制和服務監控。安全性體現在數據的機密性、完整性、不可否認性、身份認證和訪問控制等多個方面。企業服務管理主要包括策略實施/指標收集、性能監控/報告、故障檢測/報告、異常反饋/告警,保證基于SOA架構的SWIM正常工作。當受到DDoS攻擊時,基礎設施層會臨時擴容帶寬,本地或運營商進行流量清洗。
SWIM基礎設施層及故障轉移如圖3所示。
每個服務器上有一個或多個主題,并且服務器的編號不重復;發布者和訂閱者通過主題互相交互,消息的主題包含不同的數據:航行情報數據、航空氣象數據和空域流量數據等。訂閱者可以訂閱不同的主題;每個主題可以有多個分區,分區互為備份,既可以提高系統的吞吐量,也可以在服務器受到DDoS攻擊時保證業務的連續性。發布者首先將主題發布到主分區中,從分區會自動跟主分區同步。首先獲取服務器中的主分區,發布者將消息發送給主分區,主分區將消息寫入本地文件,從分區同步主分區中的主題,同時向主分區發送確認字符(Acknowledge character,ACK),主分區收到所有副本的ACK后向發布者發送ACK。

圖3 SWIM基礎設施層及故障轉移Fig.3 SWIMinfrastructurelayer and failover
故障轉移指的是當SWIM服務器受到DDoS攻擊時,SWIM基礎設施層可以迅速檢測到該失效,并立即將服務自動轉移到其他服務器上,故障轉移是通過“心跳”機制完成的,只要主服務器和備份服務器間的心跳無法維持,就認為主服務器已無法正常工作,系統就會自動啟動備份服務器代替主服務器。
訂閱/發布是一種可靠地傳送消息的方式,其可伸縮性大。生成消息的提供者發布該消息,需要該消息的其他應用則訂閱對應的主題。當發生災難時,發布者和訂閱者仍能發布及訂閱事件,即故障是透明的,系統恢復正常后,達到一致的狀態,保證了SWIM業務的連續性。訂閱/發布系統完成了發布者和訂閱者之間的通信解耦,包括:空間解耦、時間解耦和同步解耦。
與傳統的點對點消息傳輸模式不同,在SWIM中,采用一對多的消息傳輸模式,發布者可以向多個訂閱者進行廣播。發布者和訂閱者通過主題互相關聯,如發布者可以發布航空信息、氣象信息和航班信息,訂閱者則訂閱相應主題。
定義1 主題。一個主題是一個6元組,即p,s,c,con,r,tc,其中:p是發布者,s是訂閱者,c是主題的內容,con是訂閱者是否處于連接狀態,r為訂閱者是否成功接收到訂閱內容,tc是消息在主題中最大的存活時間。con、r、tc為布爾值;tc是一個范圍,上限為消息發布時間,下限為消息失效時間。只有在有效期范圍內,SWIM消息服務器才會發送主題給相應訂閱者。
在一個主題的生命周期內有5種不同的狀態:
1)訂閱(subscription,sub)。SWIM消息服務器記錄相應訂閱者的信息及其訂閱的主題。
2)待發布(pending release,per)。主題處于待發布狀態,con為false,r為false,tc為false。
3)發布(publish,pub)。發布者將主題發布到SWIM消息服務器,同時主題T中的p和s也已確定,通過授權和認證,處于活躍狀態的訂閱者會接收到已訂閱的主題。con為true,r為true,tc為true。
4)等待(wait,wat)。在主題的存活時間范圍內,消息會一直存在。當已訂閱了主題處于非活躍狀態的訂閱者變為活躍狀態時,仍然能夠接收該消息。此時,con為false,r為false,tc為true。
5)過期(expired,exp)。此狀態主題已過期,訂閱者不會收到相應消息。con為true,r為false,tc為false。
主題的生命周期圖如圖4所示。訂閱者訂閱主題T,于是主題T中的訂閱者s確定,該主題成為被訂閱的狀態;發布者p確定后,主題進入待發布狀態;發布者發布主題后,處于活躍狀態的訂閱者會接收到相應消息,此時con、t和tc都為true;然后主題會存活一段時間,主題處于等待狀態,此時,當未連接的訂閱者連接時,依然能夠收到消息;當超過主題的最大存活時間時,進入過期狀態,此時訂閱者不會收到消息。

圖4 主題的生命周期圖Fig.4 Subject life cycle diagram
定義2 主題簇。一個主題簇由一組相關主題構成,TC=
tt,a,s,s0,f,s1,其中:tt={t1,t2,…,tn}是一個有限的主題集合;a是發布訂閱系統中的動作,包括發布publish(publisher,T,c,tc)和訂閱subscribe(subscriber,t);s是一個有限狀態集合,由tt中各個主題的狀態決定;s0為各個主題的初始狀態;f為主題的狀態變化函數;s1為各個主題的最終狀態。
SWIM注冊庫可以實現服務的管理、存儲和共享。SWIM授權相關服務并發布政策和標準,包括空中交通管理參考模型(ATM Information Management,AIRM)、航班信息交換模型(FIXM)和氣象交換邏輯模型(WXXM)。服務提供者發布以及提供服務,消費者發現并消費服務。
圖5描述了SWIM的發布訂閱模式與注冊庫的關系。主題的生產者將主題發布到注冊庫中,被訂閱的主題就會推送到相應的消費者,每當有主題有更新時,相應的訂閱者都會收到更新后的主題,從而大大提高發布訂閱的效率。例如:訂閱者1、2和3同時訂閱了航班信息主題簇,注冊庫中相應主題就變為了已訂閱狀態,tt中包含航班信息主題簇中的各個主題,a的動作會從發布變為訂閱。訂閱者可以訂閱不同的主題簇以滿足自身的不同需求。

圖5 SWIM的發布訂閱模式及注冊庫Fig.5 SWIM’s publish and subscribe mode and registry
SWIM應急響應流程(如圖6所示)包括:災前的備份系統、災中的漂移系統和災后的恢復系統。這里,主要考慮受到DDoS攻擊的情況。在災前的備份系統中,采用本地備份和異地備份相結合的方式,當受到攻擊時,關鍵服務會自動切換到異地備份系統中。當SWIM生存性降低到一定程度,系統采用基于信任值的Viterbi算法進行服務漂移。
SWIM的應急響應流程的具體步驟如下:
1)在SWIM中,首先要確定關鍵服務,包括航班信息服務,航空信息服務和氣象信息服務,當系統受到攻擊時,保證關鍵服務不中斷。然后評估各關鍵服務的生存指標,并且評估系統服務的態勢,SWIM監控部門負責查看可生存性、可抵抗性等網絡性能是否下降到參量的邊界值。
2)指標超過了邊界值,判斷受影響的業務,包括航空信息服務、航班信息服務、氣象信息服務他其他服務,然后將應急響應消息發布到利益相關者及應急響應小組,應急響應小組采取應急措施。
3)判斷服務是否需要漂移,如果需要漂移,采取應急響應措施,根據基于信任值的Viterbi算法進行服務漂移,保證業務的連續性,然后上調服務器的信任值。當不需要漂移時,查看服務是否已完成,如果完成,上調信任值,否則下調信任值。
4)回到系統地初始部分,即監控個關鍵服務的生存性指標。
此應急響應流程指明了從應急事件開始到應急事件結束時的詳細流程,為SWIM的應急響應奠定了基礎。依據此流程,應急響應的各個動作可有條不紊地進行。

圖6 應急響應流程Fig.6 Emergency responseprocess
本文評估SWIM的應急響應能力通過3個評價指標來實現:可識別性、可抵抗性和業務連續性。
可識別性是指當系統遭受自然災害或者DDoS攻擊時,系統識別異常的能力。系統可識別性越高,及時發現異常情況越早,對SWIM系統業務的影響就越小,損失就能降到最低。通過本文提出的基于訂閱/發布服務的SWIM應急響應模型(Emergency Response Mechanism based on Subscribe/Publish,ERMSP),自適應地調整可識別性參數,參數與觀察變量的概率分布是一一對應的。
可抵抗性是指當突發事件來臨時,關鍵業務不受影響,系統繼續提供服務的能力,其中,關鍵服務包括航班信息服務、航空信息服務和氣象信息服務等。可抵抗性是SWIM應急響應能力的一項重要指標,可抵抗性越強,應急響應能力越強。可抵抗性通過網絡性能變化的快慢來體現。業務連續性是指SWIM業務的功能是否正常,服務質量下降多少,縮短業務恢復正常的時間就是業務連續性的目標。業務連續性的目標是在任何時候、任何情況下都保證SWIM關鍵服務的不中斷,它是一種預防機制。業務連續性的前提是要系統要有備份系統,包括本地備份和異地備份,否則連續性就無從談起。業務連續性覆蓋了整個SWIM的技術以及操作方式,它是一種計劃和執行過程組成的策略。
SWIM應急機制的仿真環境如圖7所示。空管、航空公司和機場等部門訂閱相應主題。其中,訂閱者也可作為發布者。相關主題包括航班、氣象、航空、環境、流量和監控等,當節點受到攻擊(DDoS攻擊)等異常情況時,SWIM的核心服務服務會根據信任值(Trust Value,TV)采用Viterbi算法進行服務的漂移,從而保證業務的連續性。

圖7 SWIM實驗環境Fig.7 SWIM experimental environment
仿真平臺由計算機、服務器和路由器組成,其中,5臺計算機模擬發布者和訂閱者,3臺計算機模擬服務器,提供SWIM服務,包括服務的注冊、發布和訂閱。具體配置如表1所示。

表1 仿真實驗計算機硬件配置Tab.1 Computer hardware configurations in simulation experiments
然后配置SWIM服務動態網站架構,具體配置為:系統采用RHEL7;服務器采用Nginx;數據庫采用MySQL;腳本語言采用PHP。系統可以選用RHEL、CentOS、Fedora或Ubuntu等,這里選用RHEL7;Nginx是一款優秀的輕量級服務程序,支持熱部署技術,可以7×24 h不間斷提供服務;MySQL是最常用的關系型數據庫之一,具有非常優秀的穩定性和安全性;PHP是Web開發領域最常用的語言之一,具有開源、免費、效率高等特性。
信任值TV是對節點可靠性的評價,TV∈[0,1]:當TV=1時,表明此節點可靠,可以作為漂移備選節點;當TV=0時,此節點為不可靠節點,服務漂移時不會考慮;當TV∈(0,1),漂移系統會以1-TV的概率對節點進行檢驗,然后依據Viterbi算法選擇目標節點。當服務正常完成時信任值會增加,否則會下降。如圖8所示,兩種線型“+”和“*”分別表示信任值上升和下降的情形,默認初始信任值都是0.5。“+”表示信任值上升,隨著SWIM中各個服務的不間斷運行,中間節點的信任值會不斷提升,最終信任值到達1后,成為可靠的節點,當攻擊或者自然災害等異常情況發生時,會優先選擇此節點作為漂移目標。同理,“*”表示信任值下降的情形,關鍵服務受到影響,信任值會下降,變為0后就是不可靠節點,服務漂移就不會考慮該節點。

圖8 信任值的變化Fig.8 Change in trust value
在SWIM中,面對攻擊事件時,網絡性能隨時間的變化如圖9所示。
圖9所示的應急響應下的網絡性能變化包括正常狀態、抵抗狀態、毀傷狀態、恢復狀態和自適應狀態5個階段。
隨著SWIM的持續運行,正常狀態下的網絡性能在V1之上;當攻擊或者自然災害等異常情況發生時,網絡性能逐漸下降,進入抵抗狀態,下降的速率越慢,SWIM的可抵抗性越強;當系統性能下降到V2以下,進入毀傷狀態,在基于訂閱/發布服務的SWIM應急響應模型中,毀傷狀態下依然能夠保證關鍵服務的連續性;SWIM中間節點漂移到信任值高的節點后,系統性能逐漸上升,進入恢復狀態;當網絡性能上升到V1之上時,進入自適應狀態,該狀態下SWIM會對新發生的異常事件進行學習,形成一定的免疫能力,從而為下次應急響應做好充分的準備。

圖9 應急響應下的網絡性能變化Fig.9 Network performancechanges under emergency response
系統的可識別性可通過識別時間來量化,可識別時間可通過識別的絕對時間或攻擊進行的步驟計算,本文通過識別的絕對時間量化可識別性。式(1)中可識別性(Recognizability,REC)由識別時間t決定:當識別時間t≤α時,可識別性為1,此時系統可以及時處理突發事件,不會造成太大損失;當t>β時,已經造成了無法挽回的損失,系統可生存性為0;當t∈ [α,β]時,可以把可識別性REC量化為[0,1]區間的值。

系統的可抵抗性(Resistance,RES)對應于圖1中的抵抗狀態階段,網絡性能V(t)則代表可抵抗性。Vt>V1時,可抵抗性為1,此時系統可以抵抗攻擊;V2≤Vt≤V1時,網絡性能V(t)變化越緩慢,可抵抗性越強;Vt<V2時,系統可抵抗性為0。

系統的連續性(Continuity,CON)對應于圖9中的a到e階段,網絡性能V(t)恢復正常的時間越短,連續性越好。

確定各指標的權值的步驟:分析SWIM,確定其應急響應能力指標,即可識別性、可抵抗性和業務連續性;對各指標進行兩兩比較,根據各指標的重要程度進行標度,依據表2確定模糊判斷矩陣;計算各指標的權重。

表2 模糊判斷矩陣的標度和含義Tab.2 Scalesand meaningsof fuzzy judgment matrix
根據式(4)計算各指標的權重,根據式(5)判斷矩陣的一致性,其中,Wij=Wi(/Wi+W)j,?i,j∈n,α越小,一致性要求越高。

SWIM的應急響應能力S(T)表示為式(6),WT為事件T的威脅度,α,β和γ為各指標權重,且α+β+γ=1。

當發生了n次事件時,SWIM總體應急響應能力為:

按照S的范圍不同,安全等級可分為好、較好、正常、差和癱瘓5個等級。
在SWIM提供正常的服務過程中,逐漸向系統中注入DDoS攻擊流量,當攻擊流量在20%、50%和80%時,分別監測系統的各指標狀態。然后與未部署ERMSP應急響應機制的SWIM、服務隨機漂移機制(Services Dynamic Migration Mechanism,SRMM)和應急貝葉斯決策網絡模型(Emergency Bayes Decision Network,EBDN)對比分析,從可識別性、可抵抗性和業務連續性判斷該模型是否可以滿足SWIM的應急響應。表3為對各模型平均識別時間的統計,共進行了四大項實驗:第一項實驗是未部署ERMSP模型,分別對威脅度不同的情況下作了測試,最后得出平均識別時間為30 s;第二項實驗是部署了ERMSP模型,對威脅度為0.2、0.5和0.8情形作了測試,最后得出平均識別時間為2 s;第三項實驗是部署了SRMM模型,分別對0.2、0.5和0.8威脅度下作測試,得出了平均識別時間為16 s;第四項實驗部署了EBDN模型,也是對威脅度為0.2、0.5和0.8進行了測試,得出平均識別時間為9 s。
SWIM的可抵抗性主要通過系統的吞吐量變化來判斷,如圖10所示,吞吐量變化得越慢,說明SWIM的可抵抗性越強。

表3 SWIM攻擊平均識別時間對比Tab.3 Averagerecognition timecomparison of SWIMattack
實驗統計了時間從0~100 min四種模型下系統的吞吐量變化情況。在開始的30 min內,SWIM正常提供訂閱/發布服務,4種模型下,吞吐量差別不大,均在500 Byte/s附近。在30 min時,向該系統中注入DDoS攻擊流量,由圖10可知:“+”線型代表的ERMSP模型下,系統的吞吐量變化最小,僅有略微的下降,40~100 min的平均吞吐量在480 Byte/s附近;“◇”線型代表的EBDN模型的吞吐量僅次于ERMSP模型,注入攻擊流量后吞吐量開始下降,最后穩定在420 Byte/s附近;“*”線型代表的SRMM模型的吞吐量指標表現較差,隨著攻擊流量的注入,吞吐量持續下降,最后穩定在200 Byte/s附近;“○”線型代表的是未部署ERMSP模型,隨著攻擊流量的注入,系統吞吐量直線下降,最后將為0,不能保證業務的連續性。因此,系統的可抵抗性由強到弱依次為:ERMSP、EBDN、SRMM和未部署ERMSP的系統。部署ERMSP模型的系統,吞吐量幾乎不變,由式(2)可知,可抵抗性最強;而未部署應急響應機制的系統,吞吐量下降最快,可抵抗性最差;EBDN模型需要一定的歷史數據為條件,通過機器學習機制進行決策,所以吞吐量與ERMSP模型相比略有下降。

圖10 SWIM可抵抗性對比Fig.10 Comparison of SWIMresistibility
向SWIM中注入攻擊流量,測試各個服務能否正常進行,在能正常提供服務的情況下,進一步測試不同模型下系統的時延,從而在業務連續性角度判斷系統應急響應能力的大小。表4是不同模型進行的業務連續性測試,實驗結果表明,在注入攻擊流量后,未部署應急響應機制的情況下,航空業務、航班業務和氣象業務服務中斷;而部署了ERMSP模型、SRMM模型和EBDN模型的系統,服務沒有中斷,保證了業務的連續性,但不同模型的具體表現不同,需要繼續進行系統時延的測試。

表4 SWIM業務連續性測試Tab.4 Continuity test of SWIMbusiness
對SWIM的時延測試結果如圖11所示。圖11中,統計了0~100 min四種模型下的系統平均時延,在未注入攻擊流量時,四種模型的系統平均時延均為100 ms左右。在第30 min時,注入攻擊流量,隨著攻擊流量的逐漸注入,“○”線型代表的是未部署應急響應機制的系統模型,可以看到,系統平均時延會呈指數上升,最終業務會中斷,無法保證SWIM關鍵服務的連續性;在“*”線型代表的SRMM模型中,系統平均時延會逐漸上升,然后穩定在300 ms左右,因為每當關鍵服務漂移到被攻擊服務器時,時延就會變大,而漂移到其他正常服務器時時延正常,因此,平均時延會增加;在“◇”線型代表的突發事件貝葉斯決策網絡(EBDN)模型中,由于該模型需要大量數據和歷史數據為條件,開始時網絡時延會變大,后來會減小直至趨于平穩;在“+”線型代表的ERMSP模型下,當注入攻擊流量后,系統監測到異常,會直接將應急消息發布到相應訂閱者,及時采取應急措施,關鍵服務漂移到信任值較高的節點,于是時延不會有太大變化。

圖11 不同模型下的系統平均時延Fig.11 Average system delay under different models
由圖11可以看出,當SWIM受到攻擊時,未部署應急響應機制模型下,平均時延不斷上升;部署了SWMM模型時,系統穩定后,平均時延大概增加了兩倍;部署了EBDN模型時,平均時延先上升后下降,之后趨于平穩,平均時延增加了20%;部署了ERMSP模型時,增加的平均時延在10%以內。
SWIM的目標是在全球范圍內實現信息的高度共享,從而提高民航系統的運行效率,因此,保證其中各個業務的連續性就顯得非常重要,本文提出了基于訂閱/發布服務的應急響應模型,該模型采用基于信任值的Viterbi算法進行決策,當攻擊來臨時,將應急消息發布到相應訂閱者。仿真實驗表明,該模型相對于隨機服務漂移和貝葉斯決策網絡模型在可識別性、可抵抗性和業務連續性等方面具有一定的優越性,能夠滿足SWIM應急響應的需求。本文針對SWIM應急響應系統做的工作仍需完善,在下一步工作中,從更多的角度分析此模型,進一步進行性能分析,并且考慮持續故障和間歇故障的情況。