商用現貨 (COTS) 軟件很少經過任何類型的認證過程,對功能、API [應用程序編程接口] 合規性或安全性進行獨立驗證,主要例外是針對需要安全認證的應用程序的軟件。部分問題在于大多數軟件標準沒有指定認證測試套件或正式的認證過程。然而,對于一些軍事嵌入式系統來說,這種情況開始發生變化,部分由航空界定義的過程驅動,但可以更廣泛地應用于航空電子設備之外。
即使對于不需要認證即可實現法規遵從性的應用程序,軟件認證也可能是有益的。最重要的好處可能是認證使 OEM、集成商和最終用戶確信軟件按預期運行。緊隨其后的可能是避免由于定義不明確的要求而導致的可交付成果爭議,因為獲得認證是一個非常明確的可交付成果。認證的其他好處包括通過使用獨立測試的產品來降低產品召回的可能性,并通過證明公司為使用認證產品付出了額外的努力來減輕法律責任。
API 一致性
一種類型的認證是符合標準的API[應用程序編程接口],該標準包括驗證測試套件和獨立驗證方法。帶有廣泛使用的軟件測試套件的標準的一個例子是IEEE和The Open Group的POSIX認證,其中The Open Group是證書頒發機構。POSIX 認證測試套件同時測試 API 一致性和功能測試。
具有一致性測試套件的標準的特定安全示例是ARINC 653,航空電子應用軟件標準接口:ARINC 653第1部分定義了操作系統和應用軟件之間的通用API,該API可以在同一硬件上以不同的保證級別托管多個應用程序。ARINC 653 第 3 部分是一致性測試規范,其中包括應用程序內的實質性功能測試以及 API 一致性測試。ARINC 653 Part 1 的最新版本(對于包含多核處理器的系統特別感興趣)包括軟件架構需要確保具有多個線程的應用程序可以跨多個處理器內核并行運行的要求。
對于更廣闊的軍事嵌入式系統市場,FACE [未來機載能力環境] 技術標準(圖 1)旨在使軍事計算操作更加強大、可互操作、便攜和安全。該標準使開發人員能夠通過通用操作環境創建和部署廣泛的應用程序目錄,以用于整個軍事電子系統范圍。FACE 技術標準包括每個體系結構段的一致性測試:操作系統、I/O 服務、特定于平臺的服務、傳輸服務和便攜式組件。
圖1|面對建筑細分市場。
盡管FACE技術標準是為機載系統設計的,但該軟件標準適用于所有環境。例如,操作系統段(OSS)包括通用配置文件的定義以及安全配置文件和安全配置文件。至少符合已定義的 POSIX 子集是每個 OSS 配置文件的要求;安全和安保配置文件還需要 ARINC 653 支持。其他人臉分段僅限于使用所選 OSS 配置文件中包含的 API。每個段中的每個配置文件都有一致性測試套件,認證過程包括由獨立驗證機構進行的驗證測試,然后由證書頒發機構審查測試和驗證結果。
安全保證認證
軟件安全保證通常被認為是需要高度安全性的特定行業。從一般實時系統的角度來看,軟件安全保證意味著系統以最高程度的確定性執行其預期功能。軟件安全保證主要涉及增強的產品生命周期,以發現和消除設計錯誤和遺漏。所需的審查和記錄級別基于故障的預測影響,通常以傷害或生命損失來描述。
電子系統功能安全的國際基本標準是IEC 61508,適用于廣泛的行業。該標準由國際電工委員會頒布,定義了四個安全完整性等級(SIL),最嚴格的是SIL 1,連續或頻繁運行每小時發生危險故障的概率為《10-5。作為評估符合IEC 61508的一種手段,外部審核員可以使用安全相關系統合格評定(CASS)方法進行認可認證。特定行業的安全標準通常是IEC 61508的衍生產品,包括汽車軟件(ISO 26262),鐵路軟件(IEC 62279)和核電站(IEC 61513)。
軟件安全保障最嚴格的應用之一是飛行安全,包括用于機載軟件的DO-178C / ED-12C和用于地面軟件的DO-278A / ED-109A,特別是通信,導航,監視和空中交通管理(CNS / ATM)。軟件根據故障條件的影響開發和驗證到設計保證級別 (DAL),其中 DAL A“災難性”最高,DAL D“次要”。沒有安全保證要求的應用程序標記為 DAL E。作為美國的航空認證機構,聯邦航空管理局 (FAA) 根據系統提供商提供的設計、測試和驗證工件批準系統。
在高 DAL 下實現合規性的最大障礙可能是多核處理器中發生的共享資源爭用。這種爭用可能導致在一個處理器內核上運行的應用程序干擾在另一個內核上運行的另一個應用程序,從而對確定性、服務質量以及最終的安全性產生負面影響。為了直接解決多核干擾問題,證書頒發機構軟件團隊(CAST)在一份名為CAST-32A的立場文件中發布了多核系統的指南。CAST-32A包括10個目標,需要滿足這些目標才能解決使用多核處理器的問題。
減輕多核干擾也是在集成模塊化航空電子設備(IMA)中使用多核處理器的先決條件。如 DO-297 中所述,IMA 應用程序的關鍵特征之一是應用程序是可獨立修改的。如果沒有緩解多核干擾的通用解決方案,來自修改的應用程序的干擾可能會導致現有應用程序無法正確執行,反之亦然。
安全認證備受關注
安全性已成為幾乎每個軍事電子系統中更重要的問題。盡管每個軍事程序都有自己的一套安全要求,但經過標準保護配置文件認證的軟件具有巨大的優勢。計算機硬件和軟件安全保證的國際標準是“信息技術安全評估通用標準”(ISO/IEC 15408)。評估可以針對不同的深度和嚴格性級別進行,稱為評估保證級別(圖 2),EAL1 是最不嚴格的,EAL7 是最嚴格的。
圖2|評估保證級別。
通用準則的框架非常通用,允許供應商定義自己的評估安全要求。當根據政府定義的保護配置文件進行評估時,通用準則的主要價值就出現了。在美國,國家信息保障伙伴關系 (NIAP) 定義保護配置文件并管理通用標準評估和驗證方案 (CCEVS) 驗證機構。當評估達到EAL5或更高時,國家安全局(NSA)參與評估。
安全級別不是直接來自評估保證級別,而是來自保護配置文件中的安全要求。只有當以非常苛刻的保護配置文件實現高 EAL 時,才能實現最佳安全性。
軟件的 NIAP 保護配置文件的一些示例包括
通用操作系統保護配置文件 (GPOS PP):此 PP 不是為特定的 EAL 設計的,而是主要基于 EAL2 要求。
需要高魯棒性 (SKPP) 的環境中分離內核的保護配置文件:此保護配置文件專為 EAL6 和其他要求 (EAL6+) 而設計。
航空業現在也有安全指導:作為DO-178C的補充,有一套高級機載安全規范,包括DO-326A,DO-355和DO-356。這些規范包含系統和飛機級別的安全目標。任何新的商用飛機系統都必須滿足DO-326A的要求。
DO-326A 沒有具體說明如何實現所需的安全目標;它僅提供有關識別威脅媒介并確保采取適當緩解措施的過程的指導。DO-326A 中的流程并行 DO-178C,例如要求認證安全方面計劃 (PSecAC) 類似于軟件方面認證計劃 (PSAC)。
通過 EAL5 或更高通用標準認證的軟件產品在滿足 DO-326A 方面領先一步,因為流程中存在顯著重疊。特別是SKPP,其安全要求和測試比DO-326A的要求要嚴格得多。
將一切整合在一起
認證過程可能既困難又耗時,特別是如果產品不是從一開始就針對正在測試的功能進行整體設計的。同時設計用于滿足 API 一致性、安全認證和安全認證所有要求的軟件產品的一個例子是 INTEGRITY-178 tuMP 實時操作系統 (RTOS)。INTEGRITY-178 tuMP是第一款通過最新FACE技術標準3.0版認證的產品。該OSS認證是針對安全和安保配置文件的,其中包括POSIX和ARINC 653一致性測試。
INTEGRITY-178 tuMP 實時操作系統支持多核干擾抑制的通用解決方案,可幫助系統集成商滿足 CAST-32A 和 DO-297 的要求。該解決方案使用 DAL A 機制來監視和強制實施從每個處理器核心到共享資源的帶寬分配。
在安全方面,INTEGRITY-178 操作系統通過了 NSA 定義的分離內核保護配置文件 (SKPP) 的高健壯性認證,并且是唯一通過通用標準 EAL6 或更高版本認證的操作系統。INTEGRITY-178 tuMP 將該設計擴展到多核處理器,繼續滿足 SKPP 嚴格的功能和保證要求。這些安全和安保保證認證在實際客戶應用中得到了驗證,在 30 多個不同的微處理器上提供了 80 多個 DO-178B/C A/EAL 6+ 級獨特的客戶認證包。
審核編輯:郭婷
-
嵌入式
+關注
關注
5087文章
19148瀏覽量
306156 -
接口
+關注
關注
33文章
8650瀏覽量
151402 -
應用程序
+關注
關注
37文章
3283瀏覽量
57755
發布評論請先 登錄
相關推薦
評論