無人機(jī)不像你在 10 歲生日時(shí)打開的遙控特技飛機(jī)。他們以不同的偽裝出現(xiàn)在民用領(lǐng)空或作為軍事任務(wù)中不可或缺的參與者飛行。那制造無人系統(tǒng)?安全和安保非常嚴(yán)肅的考慮。因此,ISO 14508和DO-178可能有助于使無人系統(tǒng)的安全和安保永久化。自動(dòng)化這些認(rèn)證標(biāo)準(zhǔn)所要求的流程的軟件工具正在減輕負(fù)擔(dān)。
作為一個(gè)基本概念,無人機(jī)(UAV或“無人機(jī)”)的想法“幼稚”簡單:可以遠(yuǎn)程駕駛的微型飛機(jī)。無人機(jī)和我們童年的玩具之間的主要區(qū)別在于車輛本身及其導(dǎo)航和駕駛系統(tǒng)的復(fù)雜程度。鑒于這些車輛進(jìn)入民用空域,并且隨著它們開始用于越來越多的民用活動(dòng),它們將繼續(xù)越來越多地進(jìn)入民用空域,因此無人機(jī)軟件的安全性變得至關(guān)重要。最重要的是,我們要提高代碼健壯性的風(fēng)險(xiǎn),并盡量減少其對(duì)黑客的潛在脆弱性。
早在2004年,美國宇航局的“民用無人機(jī)能力評(píng)估”就列出了30類可能對(duì)無人機(jī)使用感興趣的私營部門組織,包括林業(yè)管理、農(nóng)作物噴灑和沿海搜救等。從那時(shí)起,無人機(jī)和應(yīng)用程序的數(shù)量激增,據(jù)《華盛頓時(shí)報(bào)》報(bào)道,到2020年,多達(dá)30,000架無人機(jī)可以在美國領(lǐng)空飛行。
無人機(jī)使用的這種擴(kuò)展挑戰(zhàn)了美國聯(lián)邦航空局“提供世界上最安全,最高效的航空航天系統(tǒng)”的目標(biāo)。由于機(jī)上沒有人類飛行員,控制軟件主要負(fù)責(zé)維護(hù)無人機(jī)的安全。而且,由于沒有強(qiáng)制性標(biāo)準(zhǔn)來管理無人機(jī)系統(tǒng)的安全和安保,無人機(jī)的擴(kuò)散增加了我們安全和安保的整體風(fēng)險(xiǎn)。
值得注意的是,即使實(shí)施了FAA標(biāo)準(zhǔn),除非強(qiáng)制實(shí)施安全標(biāo)準(zhǔn),否則安全仍可能面臨風(fēng)險(xiǎn)。2011年一架中央情報(bào)局無人機(jī)在伊朗墜毀突顯,除非系統(tǒng)能夠承受黑客攻擊,否則安全仍然處于危險(xiǎn)之中。在那次事件中,地方當(dāng)局聲稱他們通過入侵其GPS來轉(zhuǎn)移車輛。當(dāng)?shù)驴怂_斯大學(xué)的托德·漢弗萊斯教授和一群美國研究人員在美國國土安全部代表面前入侵無人機(jī)時(shí),他們的說法獲得了信任。該團(tuán)隊(duì)通過模仿發(fā)送到全球定位設(shè)備的實(shí)際信號(hào)來欺騙機(jī)載GPS接收器,以欺騙無人機(jī)遵循不同的命令。
為了解決這種情況,美國空軍理工學(xué)院的開發(fā)人員正在研究一種系統(tǒng),該系統(tǒng)使無人機(jī)(如人類飛行員)能夠通過使用帶有模式識(shí)別軟件的相機(jī)來補(bǔ)充GPS導(dǎo)航的視覺反饋。此類努力的安全性取決于所部署軟件的安全性。
應(yīng)制定哪些安全/安保標(biāo)準(zhǔn)
無人機(jī)安全和安保需要考慮兩種標(biāo)準(zhǔn):
流程標(biāo)準(zhǔn)描述了要遵循的開發(fā)流程,以確保以安全的方式(DO-178)或安全的方式(ISO 14508)編寫成品。
編碼標(biāo)準(zhǔn)描述了一個(gè)高級(jí)編程語言子集,可確保軟件盡可能安全(MISRA C)和安全性(CERT C)編寫。
安全在無人機(jī)開發(fā)中顯然很重要,但無人機(jī)只有在無法被敵對(duì)入侵者控制的情況下才能被認(rèn)為是安全的。
ISO 14508(也稱為“通用標(biāo)準(zhǔn)”,指的是從中衍生出來的合并文檔)是定義IT安全要求的國際面向流程的標(biāo)準(zhǔn)。這些要求根據(jù)七個(gè)評(píng)估測(cè)試保證級(jí)別 (EAL) 進(jìn)行分類,如表 1 所示,EAL 7 代表最安全的系統(tǒng)。安全功能要求包括審計(jì)、通信、加密、數(shù)據(jù)保護(hù)、身份驗(yàn)證、安全管理、隱私和評(píng)估目標(biāo) (TOE) 保護(hù)。漢弗萊斯教授的欺騙性GPS信號(hào)只證明了當(dāng)這些一般原則不適用于無人機(jī)通信時(shí)產(chǎn)生的一個(gè)漏洞。
表 1:ISO 14508 定義了一系列評(píng)估保證級(jí)別 (EAR),這些級(jí)別決定了與每個(gè)軟件組件相關(guān)的流程嚴(yán)格性。
為無人機(jī)使用而開發(fā)的軟件屬于DO-178“機(jī)載系統(tǒng)和設(shè)備認(rèn)證中的軟件注意事項(xiàng)”的準(zhǔn)則。DO-178B和最近批準(zhǔn)的DO-178C都為機(jī)載系統(tǒng)和設(shè)備的所有軟件的生產(chǎn)提供了詳細(xì)的指導(dǎo)方針,無論是否對(duì)安全至關(guān)重要。作為這些指南的一部分,DO-178B/C 定義了設(shè)計(jì)保證級(jí)別 (DAL),其中 A 級(jí)涉及最嚴(yán)格的故障防護(hù)措施。DO-178 將這些 DAL 轉(zhuǎn)換為軟件級(jí)別,如表 2 所示。每個(gè)軟件級(jí)別都有在開發(fā)過程中必須滿足的相關(guān)目標(biāo)。
表 2:DO-178 定義了必須為每個(gè)軟件組件檢查和確定的一系列軟件級(jí)別。
DO-178認(rèn)識(shí)到,在整個(gè)開發(fā)生命周期中必須以系統(tǒng)的方式解決軟件安全問題。為了幫助開發(fā)人員做到這一點(diǎn),該標(biāo)準(zhǔn)概述了所需的流程,例如需求可追溯性、軟件設(shè)計(jì)、編碼以及驗(yàn)證和驗(yàn)證,以確保對(duì)軟件的信心以及正確性和控制。強(qiáng)大的軟件驗(yàn)證和驗(yàn)證流程使開發(fā)人員能夠檢測(cè)和糾正軟件開發(fā)過程中引入的錯(cuò)誤。
在軟件方面,這兩個(gè)標(biāo)準(zhǔn)之間的重疊相當(dāng)大,特別是在配置管理、軟件開發(fā)、質(zhì)量保證、驗(yàn)證和規(guī)劃方面。但是,DO-178僅關(guān)注機(jī)載系統(tǒng)中軟件的安全性,而ISO 14508則側(cè)重于系統(tǒng)安全性。
DO-178和ISO 14508都建議使用語言子集(或“編碼標(biāo)準(zhǔn)”),例如MISRA C:2012用于安全,CERT C或CWE用于安全性。這些語言子集主要由開發(fā)人員為了避免確保代碼安全或安全而避免的構(gòu)造和實(shí)踐列表組成。例如,完全有可能遵守MISRA C:2012和CERT C的編碼規(guī)則,以獲得可接受的安全和安保水平。
鑒于預(yù)計(jì)無人機(jī)將同時(shí)符合DO-178和ISO 14508標(biāo)準(zhǔn),開發(fā)團(tuán)隊(duì)?wèi)?yīng)努力實(shí)現(xiàn)這兩個(gè)標(biāo)準(zhǔn)的目標(biāo)。
確保無人機(jī)的開發(fā)能夠滿足確保安全和安保問題得到處理的系統(tǒng)要求,這當(dāng)然至關(guān)重要。然而,隨著與無人機(jī)開發(fā)相關(guān)的市場(chǎng)壓力越來越大,縮短上市時(shí)間和開發(fā)成本也很重要。幸運(yùn)的是,供應(yīng)商在提供自動(dòng)化這些認(rèn)證標(biāo)準(zhǔn)所需流程的工具方面已經(jīng)取得了長足的進(jìn)步。例如,DO-178 和 ISO 14508 的基礎(chǔ)是需求可追溯性、靜態(tài)分析和動(dòng)態(tài)分析,并且可以使用工具來幫助自動(dòng)化所有三個(gè)目標(biāo)的勞動(dòng)密集型方面。
需求可追溯性工具
這兩個(gè)標(biāo)準(zhǔn)都要求高級(jí)需求可追溯到設(shè)計(jì)文檔,設(shè)計(jì)文檔可追溯到代碼,代碼跟蹤可測(cè)試,然后從測(cè)試到需求再次備份,以獲得“雙向需求可追溯性”。
如果需求從一開始就是靜態(tài)和固定的,那么可追溯性將相對(duì)簡單。然而,這種情況很少發(fā)生,因此在任何特定時(shí)間維護(hù)矩陣以顯示可追溯性成為一項(xiàng)非常勞動(dòng)密集型的任務(wù)。
為了幫助管理這種關(guān)系矩陣,需求可追溯性工具將系統(tǒng)需求鏈接到軟件需求,從軟件需求到設(shè)計(jì)工件,再到源代碼和相關(guān)測(cè)試用例。需求的自動(dòng)雙向跟蹤可確保開發(fā)的無人機(jī)完全按照最終需求集的規(guī)定執(zhí)行 - 不多也不少,無論這些需求變化的頻率如何(圖2)。
圖2:需求可追溯性是滿足安保和安全標(biāo)準(zhǔn)的關(guān)鍵因素。將高級(jí)需求與源代碼和驗(yàn)證任務(wù)動(dòng)態(tài)鏈接可確保始終維護(hù)最新的可追溯性矩陣。
靜態(tài)分析工具
當(dāng)需求建立和設(shè)計(jì)到位時(shí),開發(fā)安全可靠的源代碼需要使用適當(dāng)?shù)木幋a規(guī)則。同樣,旨在開發(fā)安全代碼的規(guī)則與為安全代碼設(shè)計(jì)的規(guī)則類似。例如,許多不安全的 C 語言功能同樣不安全。
值得注意的是,手動(dòng)檢查是否符合 MISRA C 和 CERT C 語言子集是不切實(shí)際的。靜態(tài)分析可自動(dòng)驗(yàn)證編碼規(guī)則。選擇規(guī)則后,將對(duì)源代碼進(jìn)行靜態(tài)分析,以突出顯示任何規(guī)則沖突的精確位置。
靜態(tài)分析也有助于履行其他義務(wù)。例如,它標(biāo)識(shí)不必要的復(fù)雜代碼,因此更容易出錯(cuò)。并且,它確認(rèn)代碼執(zhí)行其指定要執(zhí)行的操作。開發(fā)人員不僅必須證明代碼運(yùn)行正確,而且所有代碼的執(zhí)行程度都適合系統(tǒng)的關(guān)鍵程度。
動(dòng)態(tài)分析工具
動(dòng)態(tài)分析工具通過單元測(cè)試或集成測(cè)試將代碼作為一個(gè)整體或零碎地執(zhí)行,以顯示正確的功能。允許構(gòu)建和執(zhí)行子系統(tǒng)所需的任何代碼都是自動(dòng)創(chuàng)建的,并識(shí)別執(zhí)行的代碼。
具有成本效益的安全和安保
如前所述,無人機(jī)項(xiàng)目既不符合DO-178,也不符合ISO 14508。即使是這樣,這些標(biāo)準(zhǔn)也沒有堅(jiān)持使用自動(dòng)化工具或開發(fā)過程的自動(dòng)化。然而,鑒于無人機(jī)的作用不斷擴(kuò)大,其安全可靠的需求至關(guān)重要。自動(dòng)化的需求可追溯性與現(xiàn)代靜態(tài)和動(dòng)態(tài)分析工具相結(jié)合,能夠以高效且具有成本效益的方式滿足此類標(biāo)準(zhǔn)的嚴(yán)格要求。
審核編輯:郭婷
-
接收器
+關(guān)注
關(guān)注
14文章
2478瀏覽量
72135 -
gps
+關(guān)注
關(guān)注
22文章
2902瀏覽量
166582 -
無人機(jī)
+關(guān)注
關(guān)注
230文章
10515瀏覽量
181986
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論