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