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