楊 佳,劉 絢,王辰嬌,康 喬
(航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710068)
民用飛機(jī)航空電子系統(tǒng)是一種典型的安全關(guān)鍵系統(tǒng),一旦失效將對人們的生命財(cái)產(chǎn)安全和國家安全造成嚴(yán)重危害[1]。機(jī)載網(wǎng)絡(luò)則是航空電子系統(tǒng)的中樞神經(jīng),為航空電子系統(tǒng)提供數(shù)據(jù)通信服務(wù),其安全等級為航空電子系統(tǒng)的最高安全性等級[2]。ARINC664網(wǎng)絡(luò)在航電系統(tǒng)中應(yīng)用比較廣泛,其中航空電子全雙工交換式以太網(wǎng)(Avionics Full Duplex Switched Ethernet,AFDX)為ARINC664網(wǎng)絡(luò)的核心。由于AFDX網(wǎng)絡(luò)主要包括端系統(tǒng)和交換機(jī),因此針對AFDX網(wǎng)絡(luò)的安保測試主要基于端系統(tǒng)和交換機(jī)[3]。通過對機(jī)載航電AFDX網(wǎng)絡(luò)進(jìn)行安保測試驗(yàn)證技術(shù)研究,首先介紹AFDX網(wǎng)絡(luò)協(xié)議,其次概述機(jī)載網(wǎng)絡(luò)安保測試技術(shù),最后基于AFDX網(wǎng)絡(luò)協(xié)議進(jìn)行了脆弱性和健壯性測試方法研究。
航電系統(tǒng)是非常重要的航空系統(tǒng),包括多個(gè)系統(tǒng)的通信、導(dǎo)航、顯示以及管理等,這些航電子系統(tǒng)通過航空網(wǎng)絡(luò)相連接。常見的機(jī)載網(wǎng)絡(luò)與總線協(xié)議包括ARINC429、AFDX、ARINC664以及私有協(xié)議等。為了滿足高帶寬和實(shí)時(shí)性的要求,AFDX已廣泛應(yīng)用于A330、A380、B787以及C919等大型客機(jī)。目前常見的綜合化航電系統(tǒng)采用層次型結(jié)構(gòu),按功能將系統(tǒng)分成不同的區(qū)。采用整個(gè)航空電子系統(tǒng)的統(tǒng)一互聯(lián)網(wǎng)絡(luò),提高了系統(tǒng)的綜合化程度。
AFDX是一種以交換機(jī)為中心的星型結(jié)構(gòu)網(wǎng)絡(luò),包括端系統(tǒng)和交換機(jī)2個(gè)部分。雙余度的交換機(jī)提供端系統(tǒng)之間的數(shù)據(jù)交換,而端系統(tǒng)則主要接收和發(fā)送數(shù)據(jù)[4]。AFDX端系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧如圖1所示。
圖1 AFDX網(wǎng)絡(luò)端系統(tǒng)協(xié)議棧
端系統(tǒng)的主要功能是為主機(jī)應(yīng)用提供安全可靠的數(shù)據(jù)互換服務(wù),每個(gè)網(wǎng)絡(luò)傳輸請求必須得到服務(wù),而不考慮數(shù)據(jù)類型,最大的網(wǎng)絡(luò)傳輸延遲必須得到保證。交換機(jī)包括5個(gè)模塊,分別是過濾和管制、交換、通信配置、內(nèi)置端系統(tǒng)以及監(jiān)控[5]。
安保測試需要在系統(tǒng)代碼、任何中間件(如網(wǎng)絡(luò)代碼)以及應(yīng)用程序本身中尋找特定的漏洞。該測試涵蓋了安全漏洞的許多方面,例如數(shù)據(jù)完整性、可用性、用戶授權(quán)以及不可否認(rèn)性等[6,7]。
機(jī)載網(wǎng)絡(luò)安保測試主要分為安保需求測試、安保健壯性測試以及安保脆弱性測試[8]。安保健壯性測試包括源代碼分析、漏洞研究,通過對產(chǎn)品和應(yīng)用程序進(jìn)行逆向工程生成變異的數(shù)據(jù)包、錯(cuò)誤的消息等,并將這些消息發(fā)送給目標(biāo)主機(jī),查看目標(biāo)主機(jī)是否可以成功處理這些數(shù)據(jù)包,驗(yàn)證協(xié)議的缺陷。安保脆弱性測試是使用現(xiàn)有的已知漏洞或病毒庫等對目標(biāo)設(shè)備進(jìn)行脆弱性掃描等測試手段,嘗試去破壞、旁路或篡改安保措施的入侵測試[9]。機(jī)載網(wǎng)絡(luò)安保測試主要是基于機(jī)載航電系統(tǒng)網(wǎng)絡(luò)環(huán)境搭建仿真、測試系統(tǒng),根據(jù)DO326A和DO356中的方法分別對機(jī)載航電網(wǎng)絡(luò)的脆弱性及健壯性進(jìn)行測試[10]。
AFDX網(wǎng)絡(luò)安保測試框架如圖2所示。
圖2 AFDX網(wǎng)絡(luò)安保測試框架
(1)針對端系統(tǒng)的功能進(jìn)行模擬攻擊測試驗(yàn)證。根據(jù)ARINC664,端系統(tǒng)的功能有網(wǎng)絡(luò)流量的控制、子VL管理/IP尋址、VL FIFO隊(duì)列操作等,可以提供安全、可靠的數(shù)據(jù)交換。針對這些功能設(shè)計(jì)安保測試用例,對其進(jìn)行攻擊測試。
(2)針對交換機(jī)的功能進(jìn)行模擬攻擊測試驗(yàn)證。根據(jù)ARINC664,交換機(jī)主要實(shí)現(xiàn)的功能包括過濾和監(jiān)管、交換、監(jiān)控、構(gòu)型管理以及數(shù)據(jù)加載等。針對上述各項(xiàng)功能設(shè)計(jì)安保測試用例,對其進(jìn)行攻擊測試。
監(jiān)控設(shè)備在交互過程中的狀態(tài)和輸出信息、設(shè)備的響應(yīng)時(shí)間等,對AFDX網(wǎng)絡(luò)的安保功能進(jìn)行分析和評估。對交互的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行抓取,包括數(shù)據(jù)發(fā)送與接收的全部過程。通過對采集的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行提取分析,從而驗(yàn)證AFDX網(wǎng)絡(luò)協(xié)議的安全。提取AFDX流量特征信息,分析網(wǎng)絡(luò)協(xié)議不同字段的含義。除此之外,對AFDX網(wǎng)絡(luò)的2種工作模式進(jìn)行安保功能測試,包括模糊測試、脆弱性掃描測試、漏洞檢測以及攻擊測試等。
根據(jù)私有協(xié)議的交互報(bào)文進(jìn)行分析,自動產(chǎn)生測試用例。基于AFDX網(wǎng)絡(luò)健壯性測試的流程如圖3所示。
圖3 AFDX協(xié)議健壯性測試流程
對于AFDX網(wǎng)絡(luò)協(xié)議規(guī)范,主要是對協(xié)議的介質(zhì)訪問控制層(Media Access Control,MAC)、網(wǎng)際互聯(lián)協(xié)議(Internet Portocd,IP)、用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)協(xié)議以及應(yīng)用層進(jìn)行健壯性測試。首先捕獲AFDX網(wǎng)絡(luò)的通信數(shù)據(jù),構(gòu)造正常的AFDX網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包;其次分析數(shù)據(jù)包中每個(gè)字段的信息,根據(jù)這些信息進(jìn)行字段變異形成測試用例,構(gòu)造大量畸形的測試數(shù)據(jù)包;最后將這些數(shù)據(jù)發(fā)送到AFDX端系統(tǒng)和交換機(jī)中,監(jiān)測目標(biāo)機(jī)是否可以正常運(yùn)行并捕獲異常。
滲透測試主要依據(jù)公開的安全漏洞信息,采用攻擊者的思維方式通過工具或手動對目標(biāo)的安全性進(jìn)行深入探測,發(fā)現(xiàn)網(wǎng)絡(luò)中的脆弱環(huán)節(jié)。基于AFDX協(xié)議滲透測試架構(gòu)各功能相對獨(dú)立,針對端系統(tǒng)和交換機(jī)進(jìn)行不同的測試。其中,對交換機(jī)主要進(jìn)行攻擊測試,包括DOS測試等;對端系統(tǒng)主要進(jìn)行漏洞檢測和攻擊測試。
漏洞檢測主要是根據(jù)目前已經(jīng)公開的安全漏洞,檢查被測設(shè)備對已知漏洞的防范能力。通過脆弱性掃描等方式,驗(yàn)證AFDX網(wǎng)絡(luò)是否存在安全漏洞。
攻擊測試主要是對AFDX網(wǎng)絡(luò)進(jìn)行大量的攻擊仿真,檢測設(shè)備的抗攻擊能力?;贏FDX網(wǎng)絡(luò)的攻擊測試主要包括惡意代碼攻擊測試、漏洞利用攻擊測試、應(yīng)用場景攻擊測試以及拒絕服務(wù)攻擊測試。惡意代碼攻擊測試主要是通過選擇已知的流行的病毒代碼,對端系統(tǒng)和交換機(jī)進(jìn)行惡意代碼攻擊測試,來驗(yàn)證設(shè)備對病毒代碼的識別和防御能力。漏洞利用攻擊測試主要是選擇已知的通用漏洞向設(shè)備輸入利用這些漏洞進(jìn)行攻擊的代碼,測試被測設(shè)備對已知漏洞的識別和防御能力。應(yīng)用場景攻擊測試是在網(wǎng)絡(luò)中創(chuàng)建特定的場景進(jìn)行多協(xié)議信息交互,使用這些場景測試網(wǎng)絡(luò)設(shè)備能否處理特定的應(yīng)用以及在該網(wǎng)絡(luò)中執(zhí)行的策略。拒絕服務(wù)攻擊測試主要是對設(shè)備發(fā)起分布式拒絕服務(wù)攻擊,同時(shí)通過控制報(bào)文協(xié)議命令監(jiān)控被測設(shè)備的運(yùn)行情況,評估其對這些攻擊的識別和防御能力。
綜上所述,參考現(xiàn)有的網(wǎng)絡(luò)安全測試技術(shù)和方法,研究AFDX網(wǎng)絡(luò)安保測試驗(yàn)證技術(shù)。首先對ARINC664的AFDX網(wǎng)絡(luò)協(xié)議進(jìn)行介紹;其次介紹機(jī)載網(wǎng)絡(luò)安保測試方法,包括健壯性測試方法和脆弱性測試方法;最后研究了基于AFDX網(wǎng)絡(luò)的安保測試方法,提出了AFDX網(wǎng)絡(luò)安保測試框架?;跈C(jī)載航電系統(tǒng)網(wǎng)絡(luò)環(huán)境搭建仿真、測試系統(tǒng),研究基于AFDX網(wǎng)絡(luò)的模糊測試和滲透測試方法,可以作為民用飛機(jī)機(jī)載網(wǎng)絡(luò)實(shí)施信息安保驗(yàn)證與測試的依據(jù)。