保障系統(tǒng)安全的密鑰解決方案
保證節(jié)點(diǎn)安全
安全啟動(dòng)是起點(diǎn),而安全通信可以從通過CA認(rèn)證的密鑰開始實(shí)現(xiàn)。對(duì)于嵌入式微控制器而言,下一步也許直接是應(yīng)用程序,但對(duì)大多數(shù)應(yīng)用來說,兩者之間至少還有一個(gè)操作系統(tǒng)。在最簡(jiǎn)單的情況下,還有存儲(chǔ)器保護(hù),更進(jìn)一步還包括虛擬存儲(chǔ)器支持。理論上講,一個(gè)安全的操作系統(tǒng)可以使應(yīng)用程序完全隔離于這種存儲(chǔ)器保護(hù)支持。當(dāng)然,操作系統(tǒng)架構(gòu)和規(guī)??赡転槟切で罄@過這種安全機(jī)制的攻擊者提供大量漏洞。
另一個(gè)可能的步驟是虛擬機(jī)支持。這種虛擬機(jī)支持使用額外的硬件,可提供與存儲(chǔ)器保護(hù)或虛擬存儲(chǔ)器支持相同類型的保護(hù),但它更詳細(xì),因?yàn)樗M了所有的硬件。
管理程序本質(zhì)上是一種管理虛擬機(jī)環(huán)境的操作系統(tǒng),這種方法用于管理多個(gè)系統(tǒng),但也能提供額外的安全性。其方法是隔離操作系統(tǒng),并進(jìn)一步隔離應(yīng)用程序。一個(gè)“瘦”的管理程序通常比傳統(tǒng)的操作系統(tǒng)或?qū)崟r(shí)操作系統(tǒng)(RTOS)簡(jiǎn)單得多,因此缺陷較少,在應(yīng)用正式方法時(shí)也更容易驗(yàn)證。
一些虛擬機(jī)系統(tǒng)使用主機(jī)操作系統(tǒng),如Linux,使得這類驗(yàn)證非常困難。另外一種方法是建立一個(gè)虛擬機(jī),用它來處理到虛擬機(jī)系統(tǒng)的用戶接口。虛擬機(jī)通過與管理程序通信來控制基礎(chǔ)系統(tǒng)。理論上講這種方法可以提供更好的隔離性能。
制定安全策略
管理程序?yàn)橄到y(tǒng)提供獨(dú)立多層次安全性(MILS)或域分離功能。MILS可以是多層安全(MLS)系統(tǒng)的一個(gè)組件,然而,MLS的實(shí)現(xiàn)不需要虛擬機(jī)支持,前提是系統(tǒng)(包括安全啟動(dòng)過程)可以得到安全保護(hù)。
像SELinux等操作系統(tǒng)使用MLS安全模型,這種模型可以提供比單獨(dú)Linux更細(xì)顆粒的訪問控制。一般來說,Linux使用Linux安全模塊(LSM)框架。LSM可以支持包括SELinux在內(nèi)的多種安全模型,另外一個(gè)是Smack(簡(jiǎn)化的強(qiáng)制訪問控制內(nèi)核)。
基本的Linux安全模塊提供基于用戶/組模型的認(rèn)證和訪問控制,并且它是圍繞文件系統(tǒng)搭建而成的。文件可以從組、用戶或匿名的角度進(jìn)行操作,并且讀、寫和執(zhí)行屬性是單獨(dú)可控的。訪問控制繼承了目錄樹的概念。
SELinux更像是一種面向功能的系統(tǒng),其策略可以變得相當(dāng)復(fù)雜。這種強(qiáng)制訪問控制系統(tǒng)將策略和執(zhí)行分開來,不僅控制對(duì)文件和目錄的訪問,而且控制對(duì)網(wǎng)絡(luò)接口和消息的訪問。
訪問可以關(guān)聯(lián)到應(yīng)用程序,而不僅是用戶。例如,文件服務(wù)器可以只提供對(duì)那些正確標(biāo)示為共享的文件或目錄進(jìn)行訪問。它能跟蹤應(yīng)用程序以及由這些應(yīng)用程序之一產(chǎn)生的任何子程序。這樣,策略可以防止信息從較高安全層次流向較低安全層次。沒有正確的允許,更高層次的應(yīng)用程序不能簡(jiǎn)單地提供對(duì)較低層次的訪問。
這種復(fù)雜性帶來的一個(gè)問題是如何正確地使用。較差的策略可能開啟漏洞,允許數(shù)據(jù)或控制移動(dòng)到不應(yīng)被允許的地方。這正是大多數(shù)系統(tǒng)開始時(shí)使用一種或多種基本策略定義、然后逐步修改以滿足系統(tǒng)要求的原因。
顯示系統(tǒng)的安全
安全操作系統(tǒng)的安全啟動(dòng)對(duì)某些環(huán)境來說是足夠的,但與用戶的交互帶來了對(duì)識(shí)別以及用戶相關(guān)I/O的需求。安全顯示器是軍用安全系統(tǒng)中常見的一個(gè)特色功能(圖3)。顯示系統(tǒng)的安全性可以用軟件或硬件實(shí)現(xiàn)。例如,可以設(shè)置安全設(shè)備驅(qū)動(dòng)程序只在顯示器底部顯示來自安全應(yīng)用程序的顯示信息。采用全屏顯示的應(yīng)用軟件不會(huì)覆蓋這個(gè)安全區(qū)域,其它技巧包括用顯示硬件執(zhí)行相同的操作。
圖3:在屏幕上留出安全區(qū)域非常重要,這種方法通常與其它形式的安全基礎(chǔ)架構(gòu)組合在一起。
人們經(jīng)常使用的ctrl-alt-delete也是一個(gè)相關(guān)接口項(xiàng)。理論上,這個(gè)組合鍵應(yīng)該只是調(diào)用系統(tǒng)應(yīng)用程序。在使用Windows操作系統(tǒng)時(shí),按下這個(gè)組合鍵將彈出一個(gè)對(duì)話框,其中有任務(wù)管理器等啟動(dòng)選項(xiàng)。使用安全顯示器后,反饋信息可以通過安全顯示區(qū)顯示,使得任何應(yīng)用程序無法模擬響應(yīng)。
評(píng)論