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

為什么要選擇微內(nèi)核操作系統(tǒng)?
單片機(jī)編程和操作系統(tǒng)綜述
轉(zhuǎn)載:DIY:給單片機(jī)寫個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核!

基于RISC-V內(nèi)核單片機(jī)移植RTOS實(shí)時(shí)操作系統(tǒng)(一)

評(píng)論