作者:Paul Pazandak,F(xiàn)abrizio Bertocci
通用計算、操作系統(tǒng) (OS)、固有語言功能(如 C 內(nèi)存分配)和軟件質(zhì)量問題導致整個行業(yè)的系統(tǒng)缺乏固有的安全性和彈性。這導致了許多安全漏洞,對國家安全造成了可怕的后果。有必要通過應用健全的安全和工程原則,根據(jù)適當?shù)募夹g和工具設計有保證的系統(tǒng)。
一般來說,構建有保證的系統(tǒng)需要對問題域有透徹的了解,深入分析特定于域的工作流和要求,仔細的架構考慮和設計權衡,審查開發(fā),正確配置和最終產(chǎn)品的托管部署。在整個產(chǎn)品生命周期中也需要這種級別的護理。
具體而言,與系統(tǒng)架構相關,利用硬件和軟件技術和工具增強安全性歸結為將合理的安全原則應用于合適的目標,例如內(nèi)存訪問(例如,開放設計、最小特權、特權分離和完全中介原則)。其他研究和開發(fā)工作可能會將這些原則應用于其特定的環(huán)境和設計目標。
構建可信賴和高保證系統(tǒng)的過程復雜、昂貴,并且需要大量專業(yè)知識。最終目標是創(chuàng)建一個完整的軟件-硬件解決方案,其組件(單獨和集體)滿足客戶所需的安全和安保保證級別。這將因所需的標準而異。
例如,用于飛行安全適航性的RTCA DO-178C和用于自動駕駛汽車的ISO 26262都包含與組件具有的關鍵級別(角色)相對應的多個級別的認證。例如,在DO-178C中,有五個級別:
A級(災難性):防止持續(xù)安全飛行或著陸,許多致命傷害
B級(危險/嚴重):對少數(shù)乘員造成潛在致命傷害
C級(主要):損害乘員效率、不適或可能對乘員造成傷害
D級(次要):飛機安全裕度降低,但完全在機組人員的能力范圍內(nèi)
E級(無影響):完全不影響飛機的安全
從上到下建立一個高保證系統(tǒng)在資金和時間方面都太昂貴了。相反,目標應該是開發(fā)盡可能少的代碼。人們可以獲得或許可的經(jīng)過驗證/可認證的代碼越多,設計、開發(fā)、維護和認證所需的代碼就越少。這將加快開發(fā)工作并大大降低成本。高保證軟件堆棧提供了這一點。
此堆棧的作用是提供一個經(jīng)過驗證的基礎。它由經(jīng)過驗證或認證的實時操作系統(tǒng)(RTOS)(安全RTOS)和分布式通信中間件組成。
高保證軟件堆棧的基礎
在過去的六年里,在DARPA的研究資助下,RTI一直致力于嵌入式系統(tǒng)的經(jīng)過驗證的堆棧,以加速安全/安保認證。在這個堆棧中,我們使用RTI的可認證Connext軟件框架。RTI Connext 支持對象管理組數(shù)據(jù)分發(fā)服務標準 (OMG DDS)。Connext目前在近2,000個關鍵系統(tǒng)中運行,涵蓋航空電子/國防,自主系統(tǒng),醫(yī)療機器人,能源和工業(yè)系統(tǒng)。利用OMG DDS開放標準,能夠將松散耦合(分布式)的軟件組件快速組裝到工作系統(tǒng)中。
對于安全實時操作系統(tǒng),我們選擇了開源的seL4分離內(nèi)核(sel4.systems)。它是一個數(shù)學上可證明正確的微內(nèi)核,它將在正在運行的進程之間提供時間和空間分離。它保證進程之間不會有意外的數(shù)據(jù)泄漏,并且一個進程不會影響另一個進程的操作。這提供了更大的系統(tǒng)彈性和安全性,這也是多個獨立安全級別 (MILS) 解決方案的屬性。
如今,seL4的衍生物正被幾家大型科技公司使用。
對安全微內(nèi)核的需求
要了解對像seL4這樣的安全微內(nèi)核的需求,首先仔細研究內(nèi)核設計原則是有幫助的。
如圖 2 所示,有兩種主要的內(nèi)核設計方法 – 單片內(nèi)核和微內(nèi)核。在前者中,提供典型操作系統(tǒng)服務所需的所有代碼都直接在內(nèi)核本身中實現(xiàn)。內(nèi)核以硬件的特權模式執(zhí)行,這意味著所有代碼都被授予對所有系統(tǒng)資源的無限制訪問和控制。
[圖2 |如果設計得當,微內(nèi)核操作系統(tǒng) (OS) 包含的代碼比單片架構少得多,從而減少了攻擊面、簡化了合規(guī)性等。
這種類型的實現(xiàn)可能對整體系統(tǒng)性能有益,但如果任何內(nèi)核組件具有某種類型的故障(攻擊者可以利用這種狀態(tài)),則可能導致危險情況。一個突出的例子是Linux內(nèi)核,它包含超過2000萬行代碼,可以預期包含一定數(shù)量的錯誤,提供潛在的攻擊渠道。
相比之下,微內(nèi)核設計通過大幅減少可信計算基礎(TCB)來應對這一缺點,這意味著整個系統(tǒng)中必須信任的代碼子集才能正常運行。微內(nèi)核遵循的設計原則是讓內(nèi)核僅包含最基本的機制(例如,進程間通信和調(diào)度)。所有剩余的操作系統(tǒng)功能必須轉移到非特權用戶模式,從而在隔離的沙箱中封裝運行。
此方法可保護內(nèi)核進程免受來自外部的任何干擾,只允許明確需要的通信。對于像seL4這樣設計良好的微內(nèi)核,這意味著代碼庫可以減少到一萬行代碼的數(shù)量級。這大大縮小了攻擊面。
seL4 和 DDS:可靠的組合
seL4 的目的是為需要它的應用程序提供可靠、安全和可靠的基礎。例如,這包括軍事系統(tǒng)、醫(yī)療設備、機器人、自動駕駛汽車和能源系統(tǒng)。無一例外,這些高保證應用需要可靠而強大的分布式通信功能,而 seL4 不提供此功能。
OMG DDS for Real-Time Systems是一個實時、安全、松散耦合的分布式系統(tǒng)發(fā)布/訂閱軟件連接框架,非常適合作為高保證系統(tǒng)的通信層,包括任何安全RTOS,如seL4。雖然還有其他開源和商業(yè)現(xiàn)成的通信框架技術,但這些框架缺乏高保證認證,充其量只能提供基本的全有或全無安全性。
對于 DDS,seL4 創(chuàng)造了一個豐富、成本更低、占用空間更小、高保證的基礎。對于seL4,DDS提供了一個基于開放標準的通信協(xié)議。
DDS 極大地簡化了 seL4 組件間/應用程序開發(fā),降低了相關成本,并促進了 seL4 開發(fā)社區(qū)中的組件互操作性。DDS 是一種解決方案,它將以更一致、安全和高效的方式標準化數(shù)據(jù)分發(fā)。它提供了一個發(fā)布-訂閱模型,可實現(xiàn)更輕松、更快速、更安全的分布式系統(tǒng)開發(fā)。應用程序開發(fā)人員可以減輕為基于消息的通信和解密消息序列創(chuàng)建自己的零碎(可能是專有的)一次性解決方案的負擔,使他們能夠專注于特定于域的組件,并依靠DDS與系統(tǒng)中的其他(本地和遠程)實體提供標準化的安全交互。
降低高保證軟件的進入門檻
DDS將大大降低決定使用seL4 / CAmkES的公司和開發(fā)人員的進入門檻,因為它提供了一個抽象層,隱藏了與在seL4之上開發(fā)應用程序相關的大部分復雜性。DDS將顯著縮短開發(fā)時間,減少對內(nèi)部seL4主題專業(yè)知識的需求。
審核編輯:郭婷
-
操作系統(tǒng)
+關注
關注
37文章
7152瀏覽量
125597 -
自動駕駛
+關注
關注
790文章
14321瀏覽量
170682
發(fā)布評論請先 登錄
Altium Designer AD 24 軟件安裝包下載
如何加快STM32G473上電時間?
新思科技RISC-V處理器助力低功耗嵌入式應用

AUTOSAR中通信堆棧的配置 AUTOSAR通信模塊測試方法
確保網(wǎng)站無縫運行:Keepalived高可用與Nginx集成實戰(zhàn)

使用Simplelink無線MCU系列克隆Z堆棧網(wǎng)絡屬性

使用Simplelink?無線MCU系列測量堆棧終端器件功耗

集成MOSFET驅動器中的延遲和死區(qū)時間

新思科技與Arm攜手合作,讓軟件定義汽車走向成功
C2000?MCU的運行時堆棧大小監(jiān)測

堆棧和內(nèi)存的基本知識

AM625SIP處理器如何通過集成LPDDR4加快開發(fā)

三星2億像素3層堆棧式傳感器即將問世

喜報 | 芯聯(lián)集成榮獲“2024最具創(chuàng)新力科創(chuàng)板上市公司”獎

如何使用Polyspace Code Prover來統(tǒng)計堆棧

評論