張雙, 孔德岐, 王元勛, 萬欣宇, 姚紅靜, 郭陽明
(1.西北工業(yè)大學(xué), 陜西 西安 710072; 2.西安航空計算技術(shù)研究所, 陜西 西安 710068)
ARINC811規(guī)范中飛機機載網(wǎng)絡(luò)劃分為飛機控制域(aircraft control domain,ACD)、航空公司信息服務(wù)域(airline information services domain,AISD)、乘客信息與娛樂服務(wù)域(passenger information and entertainment services domain,PIESD)。ACD域包括飛行控制、航電、燃油、環(huán)控等高安全(safety)等級(A~C級)飛機控制系統(tǒng),實現(xiàn)飛機的安全飛行,對于數(shù)據(jù)通信有著極高的安全性要求,在A380/A350/B787和C919中均使用ARINC664P7網(wǎng)絡(luò)。航空公司信息服務(wù)域包括機載信息服務(wù)器、視頻監(jiān)視、電子飛行包、機載空地?zé)o線等低安全等級(D~E級)航電系統(tǒng),為航空公司提供飛機的信息化運營與維護(hù)服務(wù),使用符合ARINC664P3規(guī)范的航空以太網(wǎng)。為了實現(xiàn)飛機的信息化服務(wù),ACD域與AISD域之間需要實時交換大量的數(shù)據(jù),導(dǎo)致ACD域面臨來自AISD域的信息安全(security)威脅,進(jìn)而可能影響ACD域系統(tǒng)的功能安全與飛機的適航性。在A380/A350與C919等新型飛機上已實現(xiàn)從ACD域到AISD域的ARINC664P7單向安全通信。隨著新一代寬體飛機對機載系統(tǒng)的數(shù)字化和信息化需求提升,ACD域與AISD域之間的ARINC664P7雙向安全通信成為打通信息互通的關(guān)鍵。
文獻(xiàn)[1]提出了一種航電核心域網(wǎng)絡(luò)與網(wǎng)絡(luò)服務(wù)系統(tǒng)內(nèi)部網(wǎng)絡(luò)之間安全的數(shù)據(jù)通信方法,但未實現(xiàn)安全功能模塊的運行空間隔離。文獻(xiàn)[2-4]針對微內(nèi)核的虛擬化架構(gòu),提出了虛擬機間的通信加速方法與I/O機制。文獻(xiàn)[5-7]針對嵌入式系統(tǒng),從架構(gòu)與硬件角度提出了相應(yīng)信息安全設(shè)計方法。文獻(xiàn)[8-11]針對物聯(lián)網(wǎng)的輕量級虛擬化場景,提出基于Unikernel技術(shù)的解決方案以及相關(guān)信息安全保護(hù)方法。
虛擬化技術(shù)通過將不同功能的子系統(tǒng)部署在同一硬件平臺的虛擬機上,為計算資源的管理和隔離提供了一種更加靈活高效的解決方法。為此,本文試圖基于引入虛擬化技術(shù)后的航電信息交換場景,建立飛機網(wǎng)絡(luò)域之間的信息雙向安全通信架構(gòu),設(shè)計基于屬性的信息訪問控制模型,以及安全關(guān)鍵數(shù)據(jù)保護(hù)與安全關(guān)鍵組件健康監(jiān)控方法,實現(xiàn)飛機控制域與航空公司信息服務(wù)域之間實時、高速與安全的信息交換。
ACD域與AISD域的互聯(lián)拓?fù)淙鐖D1所示,為了實現(xiàn)2個域之間的雙向安全通信與異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)交換,從飛機級設(shè)計部署航電安全網(wǎng)關(guān),應(yīng)滿足以下主要技術(shù)指標(biāo)約束:
1) 具有ARINC664P7和航空以太網(wǎng)的連通性,支持與ACD域和AISD域的網(wǎng)絡(luò)連接;
2) 隔離ACD域和AISD域之間的數(shù)據(jù)交換;
3) 控制AISD域流向ACD域的消息通信;
4) 在實現(xiàn)功能步驟2)的前提下,應(yīng)能在50 ms內(nèi)完成數(shù)據(jù)雙向轉(zhuǎn)發(fā);
5) ACD域消息交換性能不低于70 Mb/s。

圖1 飛機控制域與航空公司信息服務(wù)域網(wǎng)絡(luò)拓?fù)?/p>
由此可見,航電安全網(wǎng)關(guān)的技術(shù)指標(biāo)既要求網(wǎng)關(guān)實現(xiàn)網(wǎng)絡(luò)域數(shù)據(jù)交換與隔離,還需滿足實時性要求,而現(xiàn)有的實現(xiàn)方案無法滿足以上要求。虛擬化技術(shù)能提供空間隔離特性,保證在虛擬機內(nèi)部運行的應(yīng)用僅能使用所駐留虛擬機的計算資源、網(wǎng)絡(luò)接口以及固定存儲空間等,而不能訪問到其他虛擬機的資源。為此,采用多核處理器實現(xiàn)高性能計算需求,通過空間隔離實現(xiàn)虛擬機間安全通信需求,設(shè)計基于虛擬化的航電雙向安全通信架構(gòu),如圖2所示。

圖2 基于虛擬化的航電雙向安全通信架構(gòu)
基于虛擬化的航電雙向安全通信架構(gòu)由硬件設(shè)施層、虛擬機管理軟件和虛擬機組件構(gòu)成。硬件設(shè)施層實現(xiàn)通用計算、ARINC664P7網(wǎng)絡(luò)通信和航空以太網(wǎng)通信等功能,包括多核計算、ARINC664P7端節(jié)點、航空以太網(wǎng)端節(jié)點等硬件組件。多核計算硬件采用支持非對稱多處理AMP和Hypervisor指令的PowerPC多核處理器,能夠支持虛擬機與處理器核的一對一綁定。
虛擬機管理軟件工作在處理器特權(quán)層,用于完成虛擬機資源配置、虛擬機創(chuàng)建、虛擬機間單向安全通信等功能。虛擬機管理軟件根據(jù)預(yù)先配置的物理資源定義創(chuàng)建虛擬機,在運行時根據(jù)通信訪問策略,實現(xiàn)虛擬機之間的單向安全通信。
虛擬機運行在處理器應(yīng)用層,根據(jù)業(yè)務(wù)與網(wǎng)絡(luò)域隔離需求,設(shè)計部署3個虛擬機,分別是航電網(wǎng)絡(luò)訪問控制虛擬機(ACDAC-VM)、信息網(wǎng)絡(luò)訪問控制虛擬機(AISDAC-VM)與健康監(jiān)控與日志記錄虛擬機(HMLOG-VM)。每個虛擬機分配單獨的處理器核、內(nèi)存、網(wǎng)絡(luò)接口等硬件資源。
航電網(wǎng)絡(luò)訪問控制虛擬機負(fù)責(zé)ACD網(wǎng)絡(luò)域的通信與訪問控制功能,包括4個組件:
1) 航電網(wǎng)絡(luò)通信訪問控制組件:負(fù)責(zé)從虛擬機安全通信管理組件接收消息,根據(jù)訪問策略對消息進(jìn)行策略判定,將合規(guī)的消息通過接口發(fā)給航電網(wǎng)絡(luò)發(fā)送組件。
2) 航電網(wǎng)絡(luò)發(fā)送組件:根據(jù)ARINC664P7網(wǎng)絡(luò)配置,將合規(guī)的消息打包成ARINC664P7通信幀,通過航電網(wǎng)絡(luò)端節(jié)點驅(qū)動組件的接口發(fā)送。
3) 航電網(wǎng)絡(luò)接收組件:根據(jù)ARINC664P7網(wǎng)絡(luò)配置,接收ACD域發(fā)來的ARINC664P7通信幀,解析通信幀,調(diào)用虛擬機安全通信管理組件接口發(fā)給信息網(wǎng)絡(luò)通信代理組件。
4) 航電網(wǎng)絡(luò)端節(jié)點驅(qū)動組件:采用硬件虛擬化實現(xiàn)虛擬機層對ARINC664P7端節(jié)點硬件的PCIE驅(qū)動與DMA高速訪問。
信息網(wǎng)絡(luò)訪問控制虛擬機負(fù)責(zé)AISD網(wǎng)絡(luò)域通信代理和訪問控制功能,包括2個組件:
1) 信息網(wǎng)絡(luò)通信代理組件:作為AISD域的訪問控制執(zhí)行者,對出入航電安全網(wǎng)關(guān)的AISD域消息實施策略控制。
2) 信息網(wǎng)絡(luò)端節(jié)點驅(qū)動子卡:采用硬件虛擬化實現(xiàn)對航空以太網(wǎng)端節(jié)點#1硬件的訪問。
為了提高方案的安全性和可靠性,特別設(shè)計了健康監(jiān)控與日志記錄虛擬機,負(fù)責(zé)實時監(jiān)控航電網(wǎng)絡(luò)訪問控制虛擬機與信息網(wǎng)絡(luò)訪問控制虛擬機的健康狀態(tài),并記錄日志,包括2個組件:
1) 健康監(jiān)控組件:實時監(jiān)控并記錄航電網(wǎng)絡(luò)訪問控制虛擬機與信息網(wǎng)絡(luò)訪問控制虛擬機內(nèi)部的組件健康狀態(tài),發(fā)現(xiàn)失效組件時立刻告警。
2) 日志記錄組件:實時接收并記錄虛擬機內(nèi)部功能組件發(fā)送的運行日志,用于審計和架構(gòu)優(yōu)化。
基于虛擬化的航電雙向安全通信架構(gòu)通過虛擬化技術(shù)實現(xiàn)了功能組件的空間隔離特性,為了實現(xiàn)系統(tǒng)對ACD域和AISD域之間的數(shù)據(jù)交換與消息流控制需求,設(shè)計基于屬性的多航電域訪問控制模型(attribute-based access control for multiple avionics domain,MAD-ABAC),如圖3所示。
MAD-ABAC模型包括以下元素:
1) AISD PEP:航司信息服務(wù)域策略執(zhí)行點,處理AISD域內(nèi)客戶端的訪問請求。
2) AISD PDP Contract:航司信息服務(wù)域策略判定點合約,為AISD PEP提供策略查詢服務(wù)。
3) AISD PDP屬性:定義AISD PDP策略屬性和屬性關(guān)系。
4) VMM PEP:虛擬機管理層策略執(zhí)行點,處理VM中的訪問請求。
5) VMM PDP Contract:虛擬機管理層策略判定點合約,為VMM PEP提供策略查詢服務(wù)。
6) VMM PDP屬性:定義VMM PDP策略屬性和屬性關(guān)系。
7) ACD PEP:飛機控制域策略執(zhí)行點,處理來自AISD域和ACD域的訪問請求。
8) ACD PDP Contract:飛機控制域策略判定點合約,為ACD PEP提供策略查詢服務(wù)。
9) ACD PDP屬性:定義ACD PDP策略屬性和屬性關(guān)系。
10) ACD RA PEP:飛機控制域網(wǎng)絡(luò)資源屬性策略執(zhí)行點,處理對ACD域網(wǎng)絡(luò)資源訪問請求。
11) ACD RA Contract:飛機控制域網(wǎng)絡(luò)資源屬性策略判定點合約,為ACD RA PEP提供策略判定服務(wù)。
12) ACD RA屬性:定義飛機控制域網(wǎng)絡(luò)資源策略的屬性與屬性關(guān)系。
MAD-ABAC模型內(nèi)部元素采用分布式部署。其中,AISD PEP、AISD PDP Contract與AISD PDP屬性部署在AISDAC-VM中;VMM PEP、VMM PDP Contract與VMM PDP屬性部署在VMM中;ACD PEP、ACD PDP Contract、ACD RA PEP、ACD RA Contract、ACD PDP屬性與ACD RA屬性部署在ACDAC-VM中。
MAD-ABAC模型的執(zhí)行在初始化階段,系統(tǒng)將AISD PDP屬性、VMM PDP屬性、ACD PDP屬性和ACD RA屬性從固儲中讀取,并結(jié)構(gòu)化成訪問控制策略,供相應(yīng)的Contract使用。在運行時階段,相應(yīng)的PEP與PDP Contract按訪問控制策略執(zhí)行信息流控制判定。信息流多級訪問控制的執(zhí)行策略判定規(guī)則如下:
1) 從AISD域到ACD域:由低安全等級到高安全等級,信息流順序經(jīng)過AISD PEP、VMM PEP、ACD PEP、ACD RA PEP等4級策略判定。
2) 從ACD域到AISD域:由高安全等級到低安全等級,為提高消息轉(zhuǎn)發(fā)性能,信息流順序經(jīng)過ACD RA PEP、VMM PEP、AISD PEP等3級策略判定。
MAD-ABAC模型基于屬性執(zhí)行控制決策,決策抽象為U,R,A1,…,An→perm,其中U表示用戶,R表示資源,Ai表示屬性,perm表示決策結(jié)果,合約策略屬性集設(shè)計見表1。

表1 合約策略屬性集
根據(jù)數(shù)據(jù)對核心功能執(zhí)行的必要性和泄露后對功能的影響程度,認(rèn)定AISD PDP Contract、VMM PDP Contract、ACD PDP Contract、ACD RA Contract為架構(gòu)的安全關(guān)鍵數(shù)據(jù),這些數(shù)據(jù)不能被非法訪問。為此,設(shè)計了合約安全關(guān)鍵數(shù)據(jù)保護(hù)模型,實時監(jiān)控其完整性是否被破壞。以ACD PDP Contract為例,保護(hù)模型如圖4所示。

圖4 合約安全關(guān)鍵數(shù)據(jù)保護(hù)模型
圖4中,保護(hù)流程在初始化階段,航電網(wǎng)絡(luò)訪問控制配置加載組件讀取ACD PDP屬性文件,計算每條規(guī)則的校驗值,建立ACD PDP Contract,然后使用數(shù)字簽名算法計算其簽名值,并保存在預(yù)定的內(nèi)存區(qū)。運行時階段,當(dāng)需要對通信數(shù)據(jù)進(jìn)行策略判定時,航電網(wǎng)絡(luò)訪問控制規(guī)則匹配組件實時讀取ACD PDP Contract中的策略,計算其校驗值,與保存在運行時規(guī)則庫中的校驗值比較。比較結(jié)果如果相同,則該策略有效并允許使用;如果不同,則表明該策略已被篡改,航電網(wǎng)絡(luò)訪問控制規(guī)則匹配組件發(fā)出告警。同時,在規(guī)定的時間周期,航電網(wǎng)關(guān)關(guān)鍵數(shù)據(jù)監(jiān)控組件使用數(shù)字簽名算法計算ACD PDP Contract的簽名值,并與合約簽名值比較。比較結(jié)果如果相同,則ACD PDP Contract有效,如果不相同,則表明其已被篡改,航電網(wǎng)關(guān)關(guān)鍵數(shù)據(jù)監(jiān)控組件立刻發(fā)出告警。
由此可見,合約安全關(guān)鍵數(shù)據(jù)保護(hù)模型從2個層次對安全關(guān)鍵數(shù)據(jù)的完整性提供了保障,使用校驗值實現(xiàn)對規(guī)則數(shù)據(jù)的完整性保護(hù);使用簽名值實現(xiàn)對運行時規(guī)則庫的完整性保護(hù)。同時,通過周期性檢查,能夠及時發(fā)現(xiàn)關(guān)鍵數(shù)據(jù)是否被篡改。
航電雙向安全通信架構(gòu)部署在飛機控制域與航空公司信息服務(wù)域的邊界,具有高可靠與高可用要求。根據(jù)功能組件對系統(tǒng)實現(xiàn)核心功能的重要性和失效后對系統(tǒng)的影響程度,認(rèn)定航電網(wǎng)絡(luò)通信訪問控制組件、航電網(wǎng)絡(luò)發(fā)送組件、航電網(wǎng)絡(luò)接收組件和信息網(wǎng)絡(luò)通信代理組件為安全關(guān)鍵組件。因此,應(yīng)實時監(jiān)控架構(gòu)中的安全關(guān)鍵功能組件功能的有效性,如果發(fā)現(xiàn)功能失效,立刻記錄日志并報告。為此,設(shè)計了安全關(guān)鍵組件有效性實時監(jiān)控模型,模型如圖5所示,執(zhí)行過程如圖6所示。

圖5 安全關(guān)鍵組件有效性實時監(jiān)控模型
安全關(guān)鍵組件有效性實時監(jiān)控模型中的各安全關(guān)鍵功能組件在運行時,周期的生成組件健康狀態(tài)數(shù)據(jù)、更新時間戳、計算校驗值,然后寫入狀態(tài)存儲區(qū)中。健康監(jiān)控組件每周期從狀態(tài)存儲區(qū)中讀取各安全關(guān)鍵功能組件的健康狀態(tài)數(shù)據(jù),通過檢查時間戳和校驗值以判斷對應(yīng)的組件是否有效,并將各組件的健康狀態(tài)數(shù)據(jù)綜合成航電安全網(wǎng)關(guān)的健康狀態(tài)消息并上報機載綜合維護(hù)管理系統(tǒng)。如果健康狀態(tài)組件發(fā)現(xiàn)某個安全關(guān)鍵組件為失效狀態(tài),則生成告警消息,發(fā)送至日志記錄組件。

圖6 安全關(guān)鍵組件有效性實時監(jiān)控執(zhí)行過程
基于虛擬化的航電雙向安全通信架構(gòu)與信息流安全訪問控制模型,研制虛擬化航電安全網(wǎng)關(guān)(virtualization avionics secure gateway,VASG)。VASG硬件基于QorIQ T2080多核處理器設(shè)計,板載4 GB內(nèi)存,1個ARINC664P7端節(jié)點連接ACD網(wǎng)絡(luò),2個千兆航空以太網(wǎng)端節(jié)點連接AISD網(wǎng)絡(luò)。本方法需在支持虛擬化的嵌入式實時操作系統(tǒng)上驗證,VASG使用國內(nèi)自主研發(fā)的天脈嵌入式實時操作系統(tǒng),其虛擬機管理器采用微內(nèi)核設(shè)計。微內(nèi)核虛擬機管理器運行在處理器的特權(quán)級,確保其對系統(tǒng)物理資源的管理和控制,虛擬機及其內(nèi)部的應(yīng)用運行環(huán)境、中間件、設(shè)備驅(qū)動、應(yīng)用等全部運行在非特權(quán)層,防止單個虛擬機的異常行為對整個系統(tǒng)的運行造成影響。微內(nèi)核虛擬機管理器構(gòu)建的虛擬機具有空間隔離特性,可在不同虛擬機間提供安全保護(hù)。
VASG采用硬件虛擬化技術(shù),將航電網(wǎng)絡(luò)訪問控制虛擬機與ARINC664P7端節(jié)點子卡硬件綁定,將信息網(wǎng)絡(luò)訪問控制虛擬機與航空以太網(wǎng)端節(jié)點1綁定,將健康監(jiān)控與日志記錄虛擬機與航空以太網(wǎng)端節(jié)點2綁定。
結(jié)合實驗驗證需求,構(gòu)建如圖7所示的基于VASG的雙向安全通信驗證環(huán)境,開展雙向安全通信的功能測試、性能測試等工作。ACD域驗證設(shè)備用于驗證VASG的ACD網(wǎng)絡(luò)通信功能與性能;AISD域驗證設(shè)備用于驗證VASG的AISD網(wǎng)絡(luò)通信功能與性能;機載網(wǎng)絡(luò)攻擊仿真設(shè)備能向AISD網(wǎng)絡(luò)注入包括DDoS攻擊、后門攻擊、蠕蟲攻擊等類型的網(wǎng)絡(luò)攻擊,用于驗證VASG的安全隔離功能。

圖7 虛擬化航電安全網(wǎng)關(guān)的雙向安全通信驗證環(huán)境
分別在無網(wǎng)絡(luò)攻擊和注入網(wǎng)絡(luò)攻擊2種不同安全條件下開展VASG的雙向安全通信功能、性能測試。

表2 虛擬化航電安全網(wǎng)關(guān)功能測試項
VASG功能測試項目見表2,采用自動化測試方法開展測試。首先根據(jù)功能測試需求使用Python語言開發(fā)測試用例程序,然后在驗證環(huán)境中執(zhí)行測試程序,并將測試輸出與預(yù)計結(jié)果對比。性能測試采用隨機生成64,128,256,384,512,1 024,2 048,4 096,8 192字節(jié)大小的消息,進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時間和消息交換速率的性能測試,選擇100次實驗結(jié)果進(jìn)行性能均值分析。
實驗過程步驟設(shè)計如下:
1) 在無網(wǎng)絡(luò)攻擊條件下,開展VASG的功能測試與性能測試。
2) 向AISD網(wǎng)絡(luò)注入網(wǎng)絡(luò)攻擊報文,構(gòu)建一個混合流量的網(wǎng)絡(luò)條件,開展VASG的功能與性能測試。

圖8 性能測試結(jié)果
在無網(wǎng)絡(luò)攻擊和注入網(wǎng)絡(luò)攻擊2種條件下,VASG功能測試的各項結(jié)果與預(yù)期結(jié)果一致。性能測試結(jié)果如圖8所示。無網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)條件下,ACD網(wǎng)絡(luò)數(shù)據(jù)發(fā)送的最大轉(zhuǎn)發(fā)時間為45.3 ms,ACD網(wǎng)絡(luò)數(shù)據(jù)接收的最大轉(zhuǎn)發(fā)時間為41.3 ms,;ACD網(wǎng)絡(luò)的消息發(fā)送速率的最小值為73.1 Mb/s,均值為75.3 Mb/s,消息接收速率最小值為92.5 Mb/s,均值為93.2 Mb/s。注入網(wǎng)絡(luò)攻擊條件下,ACD網(wǎng)絡(luò)數(shù)據(jù)發(fā)送的最大轉(zhuǎn)發(fā)時間為49.8 ms,ACD網(wǎng)絡(luò)數(shù)據(jù)接收的最大轉(zhuǎn)發(fā)時間為46.5 ms;ACD網(wǎng)絡(luò)消息發(fā)送速率的最小值為69.9 Mb/s,均值為70.4 Mb/s,消息接收速率最小值為84.1 Mb/s,均值為86.2 Mb/s。由測試結(jié)果看,在網(wǎng)絡(luò)攻擊條件下,AISDAC-VM因處理攻擊流量,數(shù)據(jù)轉(zhuǎn)發(fā)性能有所下降,最大轉(zhuǎn)發(fā)時間均小于50 ms,消息收發(fā)速率均值大于70 Mb/s,滿足系統(tǒng)技術(shù)指標(biāo)。
新一代寬體飛機的信息互聯(lián)應(yīng)用場景中,飛機網(wǎng)絡(luò)域間安全通信是實現(xiàn)飛機控制域內(nèi)系統(tǒng)與航空公司信息服務(wù)域內(nèi)系統(tǒng)之間高速數(shù)據(jù)交換的核心技術(shù)。基于虛擬化的航電雙向安全通信需求,提出基于屬性的多航電域多級訪問控制模型,設(shè)計了合約安全關(guān)鍵數(shù)據(jù)保護(hù)、安全關(guān)鍵組件有效性實時監(jiān)控等方法。基于虛擬化航電安全網(wǎng)關(guān)物理樣機,開展了功能、性能與網(wǎng)絡(luò)安全實驗驗證,實驗結(jié)果表明本方法滿足技術(shù)指標(biāo)要求。本方法不僅可用于寬體飛機,也可用于有網(wǎng)絡(luò)域雙向通信場景需求的其他類型航空器。