目前流行的操作系統(tǒng)對嵌入式系統(tǒng)的保護幾乎不可能實現(xiàn)
研究人員對目前市場上流行的數(shù)十種操作系統(tǒng)進行了分析,從最大眾的(Windows、iOS)到一些極客所用的系統(tǒng)都包括在內。由分析結果來看,目前絕大多數(shù)操作系統(tǒng)主要處理實際的功能任務,而信息安全功能(如果它們包含在系統(tǒng)中)只是以插件、實現(xiàn)加密算法的組件或外接程序架構的形式對現(xiàn)有功能的擴展。
這些措施雖然可以幫助系統(tǒng)改進整體安全特性,但不能保證系統(tǒng)免受所有現(xiàn)代攻擊模式的威脅。如果在最初的系統(tǒng)設計中,開發(fā)者并沒有將嵌入式系統(tǒng)的安全問題考慮進去,那么隨著保護機制的不斷添加,系統(tǒng)將不可避免地會被攻擊。
操作系統(tǒng)的分類
目前市場上流行的操作系統(tǒng)可以根據(jù)許多標準進行分類,而在本次分析時,研究人員則是從安全架構的角度來對操作系統(tǒng)進行分類的,所以根據(jù)它們的內核類型,研究人員將目前市場上流行的操作系統(tǒng)分為四大類。
**· **單片系統(tǒng)(monolithic system);
**· **基于單片內核(monolithic kernel)的操作系統(tǒng);
**· **基于微內核(micro kernel)的操作系統(tǒng);
**· **混合系統(tǒng)( Hybrid System);
單片系統(tǒng)
這是嵌入式設備最普遍使用的操作系統(tǒng)的架構類型,研究人員分析的大多數(shù)操作系統(tǒng)都是基于微控制器設計的單片系統(tǒng)的運行環(huán)境,在微控制器中,所有進程(包括用戶和系統(tǒng))都可以在一個地址空間中不受限制地運行。
從信息安全的角度來看,這種架構僅適用于非常簡單的任務,隨著設備功能變得越來越復雜,漏洞的風險也會隨之變得非常大。當此類系統(tǒng)中出現(xiàn)漏洞時,無論是在系統(tǒng)服務的實現(xiàn)中,還是在輔助應用程序中,都會導致整個安全環(huán)境受到干擾。
此類操作系統(tǒng)的額外安全措施經常是提供包含多組加密算法的庫,然而,這些措施很難起到根治的效果,因為它們根本沒有考慮到許多重要問題的全面解決方案,例如密鑰和證書的生成和存儲,可信下載的安全保障,安全更新等。另外,由于這些庫是專門為特定的操作系統(tǒng)而創(chuàng)建的,因此,它們通常不會經過足夠地驗證或測試。所以這些庫本身很可能就會包含漏洞,最后的結果就是整體的解決方案的安全性不但不會提高還會降低。
而除了庫之外,其他措施(如堆棧保護,各種類型的附加檢查等)雖然也可以在一定程度上對不同類型的故障和漏洞提供保護,但如果攻擊者是專門針對特定的已知漏洞,那這些防范措施通常是無用的。
即使在以上的這些解決方案中正式應用了微內核架構,也不可能確保用戶的保護級別能得到質的提升,因為任何用戶進程都可能影響微內核的操作,除非用戶進程與系統(tǒng)進程隔離。
從理論上講,在微內核操作系統(tǒng)中,用戶進程是很難與系統(tǒng)進程進行隔離的,根據(jù)研究人員的測試,在目前流行的RIOT操作系統(tǒng)(它是一個開源的物聯(lián)網(wǎng)操作系統(tǒng),提供了一個強大的功能,函數(shù)、文件、名稱查找功能,是一個純C語言編寫的操作系統(tǒng)。),Zephyr操作系統(tǒng)(它是一個用于物聯(lián)網(wǎng)的開源操作系統(tǒng),受到 Linux 基金會支持,Zephyr 的目標非常遠大,即一統(tǒng)物聯(lián)網(wǎng)操作系統(tǒng)。),Unison RTOS,甚至是由Green Hills Software公司提供的商用微控制器內核μ-velOSity操作系統(tǒng),以及由Vector開發(fā)的用于汽車解決方案的基本操作系統(tǒng)Microsar中,都是這樣的情況。
盡管單片系統(tǒng)存在很多安全缺陷,但這種緊湊型操作系統(tǒng)卻非常適用于常用的廉價微控制器。它們可以用于簡單緊湊的設備中,在這些設備中,單片系統(tǒng)唯一的任務是測量單個參數(shù),例如溫度,壓力,體積等。在研究人員看來,當面對更復雜的任務時,單片系統(tǒng)不是最好的選擇。
基于單片內核的操作系統(tǒng)
基于單片內核的操作系統(tǒng)是另一種類型的操作系統(tǒng)架構,它可能是嵌入式系統(tǒng)和通用系統(tǒng)(即服務器,工作站和移動設備)使用最廣泛和最流行的操作系統(tǒng)體系結構類型。
與單純的單片系統(tǒng)解決方案不同,單片內核系統(tǒng)中的用戶進程與內核是隔離的,內核只有通過有限的系統(tǒng)調用才能訪問用戶進程的函數(shù)。從信息安全的角度來看,這就可以形成一個很大的安全優(yōu)勢,因為大量服務運行在內核環(huán)境中,如協(xié)議實現(xiàn)、文件系統(tǒng)、設備驅動程序等。
目前市場上流行的單片內核操作系統(tǒng)包括基于Linux內核(及其派生產品),以及Windows,F(xiàn)reeBSD等。FreeBSD是一種類UNIX操作系統(tǒng),是由經過BSD、386BSD和4.4BSD發(fā)展而來的Unix的一個重要分支,RTEMS是一個開源的無版稅實時嵌入操作系統(tǒng)RTOS,它最早用于美國國防系統(tǒng),早期的名稱為實時導彈系統(tǒng)(Real Time Executive for Missile Systems),后來改名為實時軍用系統(tǒng)(Real Time Executive for Military Systems),現(xiàn)在由OAR公司負責版本的升級與維護。
目前無論是航空航天、軍工,還是民用領域RTEMS都有著極為廣泛的應用。同大多數(shù)嵌入式操作系統(tǒng)一樣,RTEMS采用微內核設計思想,將內核主要功能集成在一個小的執(zhí)行體中,附加的功能在包裹內核層的外層實現(xiàn),應用可以根據(jù)實際系統(tǒng)配置,裁剪、鏈接相應的資源。
不過這些操作系統(tǒng)的內核服務仍然留有許多攻擊面,而在內核環(huán)境中運行的代碼庫也是百分百安全的。因此,不要指望內核服務沒有漏洞,實際上,研究人員經常會定期檢測到其中的漏洞。
任何對內核服務的攻擊都不可避免的導致整個系統(tǒng)受到攻擊,無論使用何種工具來保護都無濟于事。另外,內核模型更新時需要重啟設備,這個操作方式對嵌入式系統(tǒng)的安全性影響特別大。事實上,內核模型更新時,并不總是需要重新啟動設備,但是,如果不需要重新啟動,則經常會發(fā)生異?,F(xiàn)象。
在上下文切換(Context Switch)的數(shù)量較少的情況下,與微內核操作系統(tǒng)相比,單核內核架構的主要優(yōu)勢在于其具有更好的性能。上下文切換指的是CPU從一個進程切換到另一個進程,如果上下文切換過高,會導致CPU像個搬運工,頻繁在寄存器和運行隊列直接奔波 ,更多的時間花在了線程切換,而不是真正工作的線程上。
目前市面上流行的不同版本的Linux系統(tǒng)的比較
基于Linux內核的操作系統(tǒng)之所以如此流行的原因,就在于它們有著非常好的用戶體驗:它們不但提供了開放的源代碼,而且還提供出色的硬件支持,并且擁有大量的配套應用程序和系統(tǒng)軟件。因此對于嵌入式系統(tǒng)的開發(fā)人員來說,Linux系統(tǒng)的特性能滿足嵌入式系統(tǒng)的各種功能的實現(xiàn)。
注意:Linux僅作為操作系統(tǒng)的內核,成熟的操作系統(tǒng)是基于linux的各種版本。
值得注意的是,Linux是作為多用戶操作系統(tǒng)的內核開發(fā)的,并且包含一組內置的安全機制,但從最新的安全角度來看,無論是在架構和實現(xiàn)方面,它都隱藏著許多安全問題。
傳統(tǒng)觀點認為,基于Linux的系統(tǒng)只要被正確配置,那嵌入式系統(tǒng)的安全性就能得到充分保障。但是,這只是理論上的推測,往往實際的配置過程相當復雜,大多數(shù)安全限制可以被繞過。此外,Linux也存在與安全引導機制的實現(xiàn),更新操作系統(tǒng)組件以及許多其他問題有關的漏洞。
鑒于此,目前有許多新的基于Linux的新系統(tǒng)已經開發(fā)了出來,旨在提高嵌入式系統(tǒng)的安全性。其中有很多是為解決信息安全問題而開發(fā)的擴展,包括AppArmour,內核加固補丁集項目 Grsecurity,PAX(PaX是針對linux 內核的一個加固版本的補丁,它讓linux內核的內存頁受限于最小權限原則),SELinux等。雖然這些擴展不能保證百分百的嵌入式系統(tǒng)的安全性,但還是有助于整體改善安全狀況的,因為Linux內核的代碼非常大,目前還沒有辦法讓內核全部都變得可信賴。
根據(jù)www.cvedetails.com的官方數(shù)據(jù),2017年在Linux內核中檢測到453個漏洞,其中有159個漏洞允許在攻擊者內核上下文中執(zhí)行任意代碼的漏洞。而且利用Linux內核中的漏洞,可以繞過任何保護機制,即使是最復雜和精心配置的保護機制也起不到防護作用。更不幸的是,這個問題目前似乎還沒有解決方案。
本文主要介紹的是單片系統(tǒng)和基于單片內核的操作系統(tǒng),接下來我會接著給大家介紹有關基于微內核的操作系統(tǒng)和混合系統(tǒng)的安全性分析,敬請大家繼續(xù)關注。
-
嵌入式
+關注
關注
5177文章
19996瀏覽量
325136 -
操作系統(tǒng)
+關注
關注
37文章
7266瀏覽量
128071 -
安全架構
+關注
關注
0文章
12瀏覽量
5215
發(fā)布評論請先 登錄
基于AVR單片機的操作系統(tǒng)contiki(一個開源操作系統(tǒng))
基于實時操作系統(tǒng)的單片機應用系統(tǒng)設計
什么是操作系統(tǒng)內核
單片機應用到單片系統(tǒng)設計的演化過程
51單片機多任務操作系統(tǒng)的原理與實現(xiàn)
單片機操作系統(tǒng)有哪些_單片機操作系統(tǒng)匯總分析

為什么要選擇微內核操作系統(tǒng)?
單片機編程和操作系統(tǒng)綜述
基于RISC-V內核單片機移植RTOS實時操作系統(tǒng)(一)

評論