摘要:SKPP(Protection Profile for Separation Kernels,分區(qū)內(nèi)核保護(hù)框架)是一種適用于分區(qū)內(nèi)核的高安全需求規(guī)范。本文作者在深入理解SKPP內(nèi)涵的基礎(chǔ)上概括的介紹了SKPP所包含的各個(gè)需求領(lǐng)域,并提出了能夠涵蓋SKPP大部分安全功能性需求的安全分區(qū)內(nèi)核訪問控制機(jī)制的實(shí)施策略。
關(guān)鍵詞:高安全操作系統(tǒng);分區(qū)內(nèi)核;SKPP;安全功能性需求
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 20-0000-02
隨著嵌入式操作系統(tǒng)的使用越來(lái)越廣泛,它的安全性也越來(lái)越受關(guān)注。分區(qū)內(nèi)核作為嵌入式系統(tǒng)的一個(gè)重要組成部分,對(duì)其安全性的要求也越來(lái)越高。SKPP(Protection Profile for Separation Kernels,分區(qū)內(nèi)核保護(hù)框架)作為一種專門針對(duì)分區(qū)內(nèi)核提出的安全需求標(biāo)準(zhǔn),可滿足分區(qū)內(nèi)核對(duì)高安全性的需要。使用SKPP的分區(qū)內(nèi)核給任務(wù)關(guān)鍵的嵌入式系統(tǒng)的系統(tǒng)服務(wù)和應(yīng)用的創(chuàng)建提供了高健壯性保障以及給安全相關(guān)策略的執(zhí)行提供高可靠性支持。目前,使用SKPP標(biāo)準(zhǔn)設(shè)計(jì)出來(lái)的分區(qū)內(nèi)核產(chǎn)品只有美國(guó)綠山公司的INTEGRITY-178B多級(jí)安全實(shí)時(shí)操作系統(tǒng)和風(fēng)河公司的VXWorks MILS2,而國(guó)內(nèi)對(duì)SKPP的使用還在探索階段。本文通過對(duì)SKPP的內(nèi)容進(jìn)行深入理解,提出了與SKPP安全功能性需求相對(duì)應(yīng)的訪問控制機(jī)制的實(shí)施策略。
1 SKPP概述
2007年,美國(guó)NSA的信息可靠性理事會(huì)發(fā)布了一種用于描述高健壯性操作系統(tǒng)的安全需求規(guī)范——SKPP,它適用于經(jīng)常處于安全威脅中的分區(qū)內(nèi)核。SKPP要求產(chǎn)品的開發(fā)過程和形式化分析都十分嚴(yán)格,所以,開發(fā)者和用戶通過SKPP評(píng)估而得到的可靠性在計(jì)算機(jī)信息安全領(lǐng)域達(dá)到了前所未有的高度,在歷史上第一次使軟件系統(tǒng)能夠可信的保護(hù)財(cái)政記錄,客戶私人信息,國(guó)家秘密等重要信息[1]。因此,用它作為高安全機(jī)載操作系統(tǒng)的分區(qū)內(nèi)核設(shè)計(jì)標(biāo)準(zhǔn)能極大提高系統(tǒng)的安全性和可靠性。
傳統(tǒng)安全內(nèi)核是在一個(gè)安全操作系統(tǒng)中執(zhí)行所有可信功能,而分區(qū)內(nèi)核與此不同,系統(tǒng)中的所有對(duì)象和資源都應(yīng)由安全策略控制,分區(qū)內(nèi)部或者分區(qū)間的信息流也需由安全策略控制。在SKPP中,系統(tǒng)給軟件提供了高可靠性分區(qū)以及信息流控制策略,給多種結(jié)構(gòu)系統(tǒng)提供了可配置的可信環(huán)境。例如,在一組安全系統(tǒng)結(jié)構(gòu)中,軟件在分區(qū)內(nèi)核安全策略的約束之下執(zhí)行應(yīng)用層安全策略。這里所說(shuō)的軟件包括與多級(jí)安全相關(guān)的監(jiān)視器,Guard,設(shè)備驅(qū)動(dòng),文件管理系統(tǒng),傳送信息服務(wù)以及傳統(tǒng)操作系統(tǒng),中間件,虛擬機(jī)等[1]。
SKPP為分區(qū)內(nèi)核的架構(gòu)和評(píng)估提供了安全功能性需求和安全保證性需求。安全功能性需求指的是由操作系統(tǒng)執(zhí)行的安全策略。例如,一個(gè)使用SKPP標(biāo)準(zhǔn)的操作系統(tǒng)必須保證惡意程序不會(huì)對(duì)系統(tǒng)造成包括拒絕服務(wù)、竊取信息等在內(nèi)的威脅。安全保證性需求反映了創(chuàng)建滿足高健壯性的安全可信環(huán)境所需的功能[2]。圖1說(shuō)明了組成安全系統(tǒng)的各個(gè)部分。其中,配置功能,系統(tǒng)加載功能,初始化功能以及可信傳輸功能都應(yīng)按照可靠性需求的要求來(lái)設(shè)計(jì),它們建立了安全功能的初始安全狀態(tài)。在初始化結(jié)束之后,由安全功能來(lái)執(zhí)行安全策略[3]。安全功能性需求是本文討論的重點(diǎn)。從在系統(tǒng)中的位置來(lái)看安全功能性需求主要包括配置數(shù)據(jù)的要求,軟件運(yùn)行時(shí)的要求以及硬件要求;從在安全分區(qū)內(nèi)核中功能劃分的角度來(lái)看,它分為安全審計(jì)、用戶數(shù)據(jù)保護(hù)、識(shí)別和鑒定、安全管理、安全功能保護(hù)以及資源利用六個(gè)部分。
圖1.安全系統(tǒng)組成
2 安全功能性需求主要內(nèi)容
SKPP中的功能性需求是針對(duì)分區(qū)內(nèi)核中安全功能的需求,它規(guī)定了由分區(qū)內(nèi)核執(zhí)行的安全策略。安全功能性需求從審計(jì)、數(shù)據(jù)保護(hù)、身份的識(shí)別和鑒定、安全功能的管理、安全功能的保護(hù)以及資源的利用[1]等六個(gè)方面全面的規(guī)定了建立安全分區(qū)內(nèi)核中所需的安全功能應(yīng)遵循的要求。
SKPP的安全審計(jì)部分規(guī)定了進(jìn)行安全審計(jì)的時(shí)機(jī),安全審計(jì)事件的選擇原則以及安全審計(jì)的審查方法。安全審計(jì)需求記錄、存儲(chǔ)和分析與安全相關(guān)活動(dòng)的信息,通過檢查審計(jì)記錄結(jié)果可判斷發(fā)生了哪些安全相關(guān)活動(dòng)以及哪些用戶需要對(duì)這些活動(dòng)負(fù)責(zé)。
用戶數(shù)據(jù)保護(hù)部分給與用戶數(shù)據(jù)有關(guān)的系統(tǒng)安全功能和系統(tǒng)安全功能策略規(guī)定了要求。它定義了信息流控制策略,主要規(guī)定了策略控制下的主體,策略控制下的信息,引起受控信息流入、流出的主體操作,策略的控制范圍以及某些特定功能的規(guī)則。用戶數(shù)據(jù)保護(hù)部分還提出對(duì)殘余信息進(jìn)行保護(hù)的要求。
識(shí)別和鑒定部分?jǐn)⑹隽私⒑秃藢?shí)請(qǐng)求用戶身份的功能需求,確保了用戶與恰當(dāng)?shù)陌踩珜傩韵嗦?lián)系。授權(quán)用戶身份的正確識(shí)別,用戶和主體之間安全屬性的正確鏈接對(duì)既定安全策略的實(shí)施至關(guān)重要。識(shí)別和鑒定部分解決用戶身份的確定和核實(shí),明確用戶在安全分區(qū)內(nèi)核中的權(quán)限,賦予授權(quán)用戶與權(quán)限相匹配的安全屬性。用戶的正確識(shí)別和鑒定是其它部分(如:用戶數(shù)據(jù)保護(hù),安全審計(jì))實(shí)施的基礎(chǔ)。
安全分區(qū)內(nèi)核必須給各種類型的安全管理功能提供固定的支持,而且,安全管理部分規(guī)定必須由被授權(quán)的管理者實(shí)施初始化參數(shù)定義,可信初始化,分區(qū)信息流策略的定義和執(zhí)行,錯(cuò)誤檢測(cè)以及反饋,可信修復(fù),分區(qū)內(nèi)核系統(tǒng)重配置。在安全分區(qū)內(nèi)核中,分區(qū)信息流安全功能策略是根據(jù)配置向量決定的,所以只有授權(quán)主體才能夠改變配置數(shù)據(jù)。
在安全功能保護(hù)部分,SKPP主要描述了使分區(qū)內(nèi)核處于安全狀態(tài)的方法。具體說(shuō)來(lái),安全功能保護(hù)規(guī)定了運(yùn)行系統(tǒng)安全狀態(tài)測(cè)試的時(shí)機(jī),配置數(shù)據(jù)改變的規(guī)則,重新建立安全態(tài)需要遵守的規(guī)則,系統(tǒng)保存安全狀態(tài)的時(shí)機(jī),以及當(dāng)系統(tǒng)處于非安全狀態(tài)時(shí)應(yīng)做的操作。系統(tǒng)的安全狀態(tài)和分區(qū)信息流策略都是由配置數(shù)據(jù)生成的配置向量決定的,所以當(dāng)配置數(shù)據(jù)改變時(shí),系統(tǒng)應(yīng)重新建立安全態(tài)并按照配置數(shù)據(jù)的說(shuō)明執(zhí)行分區(qū)信息流策略[4]。如圖2所示,分區(qū)內(nèi)核系統(tǒng)通過配置工具把從用戶處獲得的配置數(shù)據(jù)轉(zhuǎn)換成配置向量,再經(jīng)過一些中間步驟的轉(zhuǎn)化變成安全功能的內(nèi)部配置向量,通過這些配置向量安全功能確定分區(qū)信息流控制策略,建立分區(qū)內(nèi)核的安全狀態(tài)。
圖2.配置數(shù)據(jù)轉(zhuǎn)化過程
資源利用部分規(guī)定了分區(qū)能夠使用的系統(tǒng)內(nèi)存和處理時(shí)間的限額,以及其他可預(yù)測(cè)的受限執(zhí)行行為的處理時(shí)間和存儲(chǔ)資源的使用情況。
應(yīng)用于分區(qū)內(nèi)核安全的SKPP涉及分區(qū)信息保護(hù),避免未經(jīng)授權(quán)的信息的泄漏、修改和無(wú)法使用的情況發(fā)生,保護(hù)內(nèi)核及信息的機(jī)密性、完整性、可用性、可審查性和抗抵賴性。SKPP安全功能性需求為實(shí)現(xiàn)安全功能規(guī)定了詳細(xì)的要求,通過這些要求可以從現(xiàn)有的方法中得出一套安全機(jī)制。只有實(shí)現(xiàn)這些安全機(jī)制,才能保證安全功能的有效性,從而保護(hù)目標(biāo)系統(tǒng)的安全性。其中,訪問控制機(jī)制是分區(qū)內(nèi)核實(shí)施安全功能最主要的手段,因此,訪問控制機(jī)制的實(shí)現(xiàn)與分區(qū)內(nèi)核中安全功能的聯(lián)系是最緊密的,下面我們來(lái)討論訪問控制機(jī)制與SKPP安全功能性需求的關(guān)系。
3 安全功能性需求與訪問控制機(jī)制實(shí)施策略
在分區(qū)內(nèi)核上,訪問控制技術(shù)的應(yīng)用是為了保證分區(qū)外的用戶或分區(qū)內(nèi)的用戶對(duì)分區(qū)資源的訪問以及對(duì)敏感信息的訪問方式而組織的安全策略[5]。訪問控制機(jī)制將防止非授權(quán)用戶使用分區(qū)內(nèi)資源或以不正當(dāng)?shù)姆绞绞褂檬跈?quán)資源。如圖3所示,當(dāng)主體需要訪問分區(qū)資源時(shí),先向系統(tǒng)發(fā)出訪問資源的請(qǐng)求,由系統(tǒng)驗(yàn)證主體的權(quán)限,驗(yàn)證通過后才允許主體訪問相應(yīng)的分區(qū)資源。
圖3.訪問控制原理
分區(qū)內(nèi)核訪問控制機(jī)制的建立涉及SKPP中用戶數(shù)據(jù)保護(hù)部分的內(nèi)容。其中,通過信息流控制策略部分的要求確定了信息流控制策略的控制范圍,比如可控制所有分區(qū)或者所有客體;通過信息流控制功能部分的要求確定了信息流控制策略的特定功能規(guī)則,比如明確了授權(quán)的通信模式等。為了保證被訪問客體的可用性,還涉及資源利用部分的內(nèi)容,描述系統(tǒng)內(nèi)存和處理時(shí)間的限額。
應(yīng)用SKPP的安全內(nèi)核,為了判斷一個(gè)主體是否具有對(duì)某客體的訪問權(quán)限,訪問控制機(jī)制須鑒別主體的身份,這涉及SKPP中識(shí)別和鑒定部分的內(nèi)容。它規(guī)定了分區(qū)、主體以及與安全功能相關(guān)的資源的屬性,明確了各自的信息流權(quán)限,通過身份的識(shí)別和鑒定得出該身份所對(duì)應(yīng)的訪問權(quán)限。在確認(rèn)主體的身份之后,訪問控制機(jī)制可以通過該主體已被鑒別的身份使用該主體的信息(比如該主體的從屬關(guān)系信息)或者使用該主體的所擁有的權(quán)限。這涉及SKPP中安全管理部分安全屬性管理的要求,它定義了授權(quán)主體可以使用的權(quán)限,如圖4所示。
圖4.主體權(quán)限使用流程
綜上所述,訪問控制機(jī)制能夠涵蓋SKPP安全功能性需求的用戶數(shù)據(jù)保護(hù)部分、識(shí)別與鑒定部分、安全管理部分以及資源利用部分,但是不涉及安全審計(jì)和安全功能保護(hù)部分的需求。目前在機(jī)載領(lǐng)域,可以應(yīng)用健康監(jiān)控和系統(tǒng)重構(gòu)技術(shù)來(lái)覆蓋安全審計(jì)和安全功能保護(hù)部分的需求,但是在實(shí)施細(xì)節(jié)上還需進(jìn)一步探討。
4 結(jié)論
在SKPP中,系統(tǒng)給軟件提供了高可靠性分區(qū)以及信息流控制策略,給多種結(jié)構(gòu)的系統(tǒng)提供了可配置的可信基礎(chǔ)。本文在作者深入理解SKPP內(nèi)涵的基礎(chǔ)上的介紹了SKPP所包含的各個(gè)需求領(lǐng)域,并提出了能夠涵蓋SKPP大部分安全功能性需求的安全分區(qū)內(nèi)核訪問控制機(jī)制的實(shí)施策略。對(duì)滿足SKPP的高安全機(jī)載操作系統(tǒng)的研究和設(shè)計(jì)具有一定的指導(dǎo)意義。
參考文獻(xiàn):
[1]Information Assurance Directorate, National Security Agency, Fort George G. Meade. U.S. Government Protection Profile for Separation Kernels in Environments Requiring High Robustness, June 2007.
[2]Thuy D,Timothy E.Levin,Cynthia E.Irvine.TCX Project:High Assurance for Secure Embedded Systems. Proceedings of the IEEE International Conference on Security and Cryptography,2008.
[3]Kevin Elaphinstone,Gerwin Klein,Philip Derrin,et al.Kernel Development for High Assurance.www.googal.com.2008.7.
[4]Timothy E. Levin, Cynthia E. Irvine, and Thuy D. Nguyen. Least privilege in separation kernels. In Proceedings of the IEEE International Conference on Security and Cryptography, Setubal, PT, August 2006.
[5]宋成勇.CC功能要求映射于系統(tǒng)安全措施的方法研究.成都:四川大學(xué),2005.
[作者簡(jiǎn)介]
尹超(1988.6-),女,陜西咸陽(yáng)人,碩士在讀,主要研究方向:嵌入式實(shí)時(shí)操作系統(tǒng)。
基金項(xiàng)目:航空科學(xué)基金(2012ZC31006),十二五總裝預(yù)研課題(課題編號(hào):51315030101)