一、 引 言
隨著技術(shù)進(jìn)步的加快,尤其是國際互聯(lián)網(wǎng)的出現(xiàn)和迅速發(fā)展,一個(gè)全球性的信息社會(huì)正在逐步形成。在信息化的過程中,國家的安全與經(jīng)濟(jì)的安全越來越依賴十信息化基礎(chǔ)設(shè)施的安全程度。保證電子信息的有效性、安全性成為突出問題。
信息系統(tǒng)安全設(shè)計(jì)的核心是操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)與數(shù)據(jù)庫管理系統(tǒng)的安傘問題,沒有系統(tǒng)的安全就沒有信息的安全,作為系統(tǒng)軟件中最基本的就是操作系統(tǒng),其安全問題是關(guān)鍵中的關(guān)鍵。
計(jì)算機(jī)作為信息時(shí)代的基本工具,在給各行各業(yè)帶來巨大效益的同時(shí),本身也存在著嚴(yán)重的不安全性、危險(xiǎn)性和脆弱性。一個(gè)有效可靠的操作系統(tǒng)應(yīng)該對其操控的資源具有良好的保護(hù)性能,即應(yīng)提供必要的保護(hù)措施,防止因所用資源的的缺陷而損害系統(tǒng)。實(shí)際上,系統(tǒng)的安全機(jī)制已成為操作系統(tǒng)不可分割的一部分。
操作系統(tǒng)是計(jì)算機(jī)資源的直接管理者,所有應(yīng)用軟件都是基于操作系統(tǒng)來運(yùn)行的,可以說操作系統(tǒng)的安全是整個(gè)計(jì)算機(jī)系統(tǒng)安全的基礎(chǔ)。操作系統(tǒng)安全性的測彈是實(shí)現(xiàn)安全操作系統(tǒng)的一個(gè)極為重要的環(huán)節(jié),如果不測評、驗(yàn)證所開發(fā)操作系統(tǒng)的安全性和該安全性的可信度,那么開發(fā)出的安全操作系統(tǒng)的安全性就沒有任何保證,從而失去了它應(yīng)有的應(yīng)用價(jià)值。
基于這個(gè)局面,我們首要的工作就是要研究開發(fā)具有自動(dòng)知識(shí)產(chǎn)權(quán)的自動(dòng)化安全測評系統(tǒng)。操作系統(tǒng)安全測評主要有形式化驗(yàn)證、代碼功能塊檢查、滲透測試等方法。由于當(dāng)前常用的操作系統(tǒng)體系都是非常龐大復(fù)雜的,致使前兩種方法的實(shí)施有很大難度,所以我們進(jìn)行操作系統(tǒng)安全測評主要使用滲透測試的方法。在此背景下,大家常見的對操作系統(tǒng)的測評主要依賴主機(jī)的或網(wǎng)絡(luò)的掃描工具.通過對系統(tǒng)安全漏洞的檢測,依據(jù)獲得的漏洞信息(比如漏洞的危險(xiǎn)度,流行度等等),綜合計(jì)算,從而得到操作系統(tǒng)的風(fēng)險(xiǎn)值。
二、 正文
(一) 安全操作系統(tǒng)及評價(jià)標(biāo)準(zhǔn)
1、安全操作系統(tǒng)
操作系統(tǒng)是唯一緊靠硬件的基本軟件,其安全馴能是其他軟件安全職能的根基,缺乏這個(gè)安全的根基,構(gòu)筑在其上的應(yīng)用系統(tǒng)以及安壘系統(tǒng)的安全性就得不到根本的保障。單個(gè)操作系統(tǒng)以及其上的應(yīng)用系統(tǒng)的安全是整個(gè)安全系統(tǒng)的根本,如果構(gòu)成互聯(lián)網(wǎng)的計(jì)算機(jī)本身系統(tǒng)安全都有問題,那么網(wǎng)絡(luò)系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)就同樣會(huì)存在問題,應(yīng)用軟件信息處理的安全更無從談起?。
安全操作系統(tǒng)是在操作系統(tǒng)的工作范圍內(nèi),提供盡可能強(qiáng)的訪問控制和審計(jì)機(jī)制,在用戶,應(yīng)用程序和系統(tǒng)硬件/資源之間進(jìn)行符合安全政策調(diào)度,限制JE法訪問。安全操作系統(tǒng)應(yīng)具有的特征包括最小特權(quán)原則、帶冉AcL自主訪問控制、強(qiáng)制訪問控制、安全審計(jì)和審計(jì)管理、安全域隔離、可信通路等。
安全測試在設(shè)計(jì)安全操作系統(tǒng)的過程中是一個(gè)小可或缺的重要環(huán)節(jié),對安全操作系統(tǒng)的測試一r以評測設(shè)計(jì)出的安全操作系統(tǒng)的安全性和該安全性的可信度是否達(dá)到預(yù)期的標(biāo)準(zhǔn),安全測試的準(zhǔn)確與否直接關(guān)系到設(shè)計(jì)?的安全操作系統(tǒng)的性能及其應(yīng)用價(jià)值 。
2、設(shè)計(jì)細(xì)想
安全測評是指由具備檢驗(yàn)技術(shù)能力的第三方機(jī)構(gòu),依據(jù)相關(guān)標(biāo)準(zhǔn)或技術(shù)規(guī)范,按照嚴(yán)格程序?qū)π畔⑾到y(tǒng)的安全保障能力進(jìn)行的綜合測試評估活動(dòng)。
標(biāo)準(zhǔn)是測評的靈魂。安全標(biāo)準(zhǔn)提供了每一個(gè)安全等級(jí)所對應(yīng)的安全功能的技術(shù)要求, 但是, 由于各個(gè)操作系統(tǒng)具有不同的實(shí)現(xiàn), 安全標(biāo)準(zhǔn)不可能制訂出明確、詳細(xì)的工程技術(shù)指標(biāo),而只能是一個(gè)綜述性的說明。同時(shí), 由于操作系統(tǒng)結(jié)構(gòu)復(fù)雜, 那種根據(jù)安全標(biāo)準(zhǔn)進(jìn)行對照檢查式的側(cè)評方法不可行, 安全測評的技術(shù)難度在于如何設(shè)計(jì)從標(biāo)準(zhǔn)到測試用例的映射關(guān)系。
對操作系統(tǒng)的安全測評就是檢查安全機(jī)制是否完整地實(shí)現(xiàn)了安全策略。操作系統(tǒng)自下而上分為幾個(gè)層次, 每個(gè)層次體現(xiàn)不同的功能抽象程度。安全機(jī)制在操作系統(tǒng)每個(gè)層次上的制約作用都有不同的表現(xiàn)形式,因此安全測評要在各層次上展開) 先測試單個(gè)組件, 然后將這些組件集成到子系統(tǒng)中, 直到測試完整個(gè)系統(tǒng)。
首先是底層測試即單元級(jí)測試,目標(biāo)是系統(tǒng)底層安全相關(guān)的一些單元,例如用戶命令、系統(tǒng)調(diào)用、系統(tǒng)庫程序等, 目的是為了驗(yàn)證它們的功能實(shí)現(xiàn)是否符合安全策略, 如果發(fā)現(xiàn)其違反了安全機(jī)制, 則可以確定系統(tǒng)存在安全漏洞。例如用戶命令mail用于郵件管理?? 在強(qiáng)制訪問控制機(jī)制下, 禁止信息從高安全等級(jí)流向低安全等級(jí)??如果高安全等級(jí)的用戶進(jìn)程使用該命令將郵件成功發(fā)給低安全等級(jí)的郵箱,就違反了安全策略, 造成了泄密。
更高層次的測試在子系統(tǒng)級(jí)展開。操作系統(tǒng)由文件、網(wǎng)絡(luò)、進(jìn)程等幾個(gè)子系統(tǒng)所組成, 各子系統(tǒng)實(shí)現(xiàn)不同的功能以滿足不同的衡求, 并且各子系統(tǒng)相互配合以形成一個(gè)有機(jī)的整體,只有當(dāng)所有子系統(tǒng)的測試都成功時(shí),才能說明操作系統(tǒng)通過了整個(gè)安全測評。子系統(tǒng)安全測試的目標(biāo)是各子系統(tǒng)中常用的系統(tǒng)調(diào)用, 驗(yàn)證方法是檢測它們的使用是否符合安全策略。此外, 預(yù)測試也是必要的。雖然安全測試只關(guān)注安全性, 而不關(guān)心可用性, 但是由于測試套件要在被測操作系統(tǒng)中運(yùn)行, 每個(gè)測試用例的運(yùn)行都裕要滿足特定的條件。因此, 必須預(yù)先對操作系統(tǒng)的常用功能進(jìn)行驗(yàn)證,以確保整個(gè)測試活動(dòng)能夠順利進(jìn)行。例如, 安全審計(jì)機(jī)制需要系統(tǒng)的統(tǒng)計(jì)命令的支持, 在測試審計(jì)機(jī)制之前就要對統(tǒng)計(jì)命令進(jìn)行功能性測試。
3、安全操作系統(tǒng)測評標(biāo)準(zhǔn)
在操作系統(tǒng)測評中,標(biāo)準(zhǔn)的作用主要有兩個(gè).一是通過標(biāo)準(zhǔn)的規(guī)定。使得不同測試者對不同測試對象有統(tǒng)一的評價(jià),有統(tǒng)一衡量的標(biāo)度;二是通過標(biāo)準(zhǔn)的規(guī)定,使測試的范圍及程度更加全面 。
多年來TcSEc評估準(zhǔn)則一直是人們用來設(shè)計(jì)安全操作系統(tǒng)的上要參考標(biāo)準(zhǔn),因此它也一直是評估多用戶主機(jī)和小型操作系統(tǒng)的主要方法。按照TcsEc柴測試系統(tǒng)的安全性,主要包括硬件和軟件兩部分。整個(gè)測試過程對生產(chǎn)廠商來說是很昂貴的,而且往往需幾年才能完成f21 。
橘皮書是目前國際上頗具權(quán)威的計(jì)算機(jī)系統(tǒng)安全標(biāo)準(zhǔn)之一,它將計(jì)算機(jī)系統(tǒng)的安全性能由高而低劃分為A、B和C,D四大等級(jí),較高等級(jí)的安全范圍涵蓋較低等級(jí)的安全范圍,其中:D、 最低保護(hù)(Minimal Protection),凡沒有通過其他安全等級(jí)測試項(xiàng)曰的系統(tǒng)即屬于該級(jí),如lBM—Pc、Apple Macintosh等。C、自定式保護(hù)(Discretionary Protection),該等級(jí)的安全特點(diǎn)在于系統(tǒng)的對象(如文件、目錄)可由其主題(如系統(tǒng)管理員、用戶、應(yīng)用程序)自定義訪問權(quán)。例如管理員可以決定某個(gè)文件儀允許某一特定用戶讀取、另一用戶寫入等,unix、windowsNT等系統(tǒng)屬于該級(jí)別。B、一強(qiáng)制式保護(hù)(Mandatory Protection),該等級(jí)的安全特點(diǎn)在于系統(tǒng)強(qiáng)制的安全保護(hù),在強(qiáng)制式保護(hù)模式中,每個(gè)系統(tǒng)對象(如文件、目錄等資源)及主題(如系統(tǒng)管理員、用戶、應(yīng)用程序)都有自己的安全標(biāo)簽(security Label),系統(tǒng)依據(jù)用戶的安壘等級(jí)賦予他對各對象的訪問權(quán)限。A 、可驗(yàn)證保護(hù)(Vermed Protection),其特點(diǎn)在于系統(tǒng)擁有正式的分析及數(shù)學(xué)式方法可完全證明該系統(tǒng)的安拿策略及安全規(guī)格的完整性與一致性。橘皮書對操作系統(tǒng)安全等級(jí)的劃分只是給出了一個(gè)最終的實(shí)現(xiàn)目標(biāo),并沒有從實(shí)現(xiàn)方法上給予規(guī)定,這就導(dǎo)致了在安全操作系統(tǒng)的測試問題上的盲目性和不規(guī)范性,而國外的測試方法和備等級(jí)的測試標(biāo)準(zhǔn)又是保密的,因此,盡快探索出一套自己的對于安全操作系統(tǒng)測試的方法和步驟是有必要的。
4、設(shè)計(jì)思想
(二) 操作系統(tǒng)安全評測方案及方法
1、安全操作系統(tǒng)評測方案
系統(tǒng)調(diào)用是操作系統(tǒng)提供給用戶的唯一接口,用戶可利用它執(zhí)行系統(tǒng)功能,進(jìn)行設(shè)備管理、文件管理、進(jìn)程控制、進(jìn)程通信、存儲(chǔ)管理和線程管理的相應(yīng)操作,同樣,用戶也可以利用系統(tǒng)調(diào)用的漏洞和不完善性對操作系統(tǒng)進(jìn)行攻擊和破壞”,因此,各個(gè)系統(tǒng)調(diào)用的安全性就直接關(guān)系到安壘操作系統(tǒng)的整體的安全性。由此可見,對安全操作系統(tǒng)的測試首先就是對安全操作系統(tǒng)中各個(gè)系統(tǒng)調(diào)用安全的測試。
依據(jù)應(yīng)用軟件的測試原則,本文提出對系統(tǒng)調(diào)用的測試,分為以下5個(gè)步驟:
(1)明確測試對象,即要針對哪一個(gè)或幾個(gè)系統(tǒng)調(diào)用進(jìn)行測試,并對待測系統(tǒng)調(diào)用的運(yùn)行機(jī)制和各種不同的運(yùn)行結(jié)果力求以深入r解;
(2)明確測試日的,根據(jù)所選測試對象的小同,測試H的也會(huì)隨之變化,在對單一的系統(tǒng)調(diào)用進(jìn)行測試時(shí),測試的目的通常是執(zhí)行系統(tǒng)調(diào)用的某些操作,比較結(jié)果是否與預(yù)期相同,如果同時(shí)對幾個(gè)系統(tǒng)調(diào)用進(jìn)行測試,往往是看其能否協(xié)同工作;
(3)根據(jù)具體的測試對象和測試目的編寫測試用例,明確系統(tǒng)調(diào)用的初始化變量和參數(shù)、執(zhí)行步驟、預(yù)期的結(jié)果等;
(4)進(jìn)行具體的編碼測試;
(5)根據(jù)結(jié)果來分析被測對象是否具有預(yù)期的安全性 。
2、 操作系統(tǒng)安全測評方法
2.1一般方法
軟件測試過程一般可以分為4個(gè)基本階段,單元測試、集成測試,功能測試和系統(tǒng)測試。單元測試是對組成軟件的每個(gè)單元進(jìn)行測試,以確認(rèn)各個(gè)單元能否正常工作。集成測試是在對每個(gè)單元的單元測試完成后,按照設(shè)計(jì)時(shí)做出的結(jié)構(gòu)圖,在把軟件單元逐步組裝的過程中,同時(shí)有序進(jìn)行的測試。功能測試是檢驗(yàn)集成測試中發(fā)現(xiàn)的軟件接口缺陷是否己經(jīng)糾正。系統(tǒng)測試是將軟件、硬件和環(huán)境連在一起進(jìn)行的壘面的測試,以檢查被測軟件與需求說明是否相符 。本文針對操作系統(tǒng)的工作單元進(jìn)行安全測試探討。
2.2工作單元測評
工作單元是安全測評的基本工作單位,對應(yīng)一組相對獨(dú)立和完整的測評內(nèi)容。工作單元由測評項(xiàng)、測評對象測評方式、測評實(shí)施和結(jié)果判定組成,如下圖:
測評項(xiàng)描述測評目的和測評內(nèi)容,與操作系統(tǒng)安全等級(jí)保護(hù)要求的基本安全控制要求相一致。
測評方式是指測評人員依據(jù)測評目的和測評內(nèi)容應(yīng)選取的、實(shí)施特定測評操作的方式方法,包括三種基本測評方式:訪談、檢查和測試。
測評對象是測評實(shí)施過程中涉及到的信息系統(tǒng)的構(gòu)成成分,是客觀存在的人員、文檔、機(jī)制或者設(shè)備等。測評對象是根據(jù)該工作單元中的測評項(xiàng)要求提出的,與測評項(xiàng)的要求相適應(yīng)。一般來說,實(shí)施測評時(shí),面臨的具體測評對象可以是單個(gè)人員、文檔、機(jī)制或者設(shè)備等,也可能是由多個(gè)人員、文檔、機(jī)制或者設(shè)備等構(gòu)成的集合,它們分別需要使用到某個(gè)特定安全控制的功能。
測評實(shí)施是工作單元的主要組成部分,它是依據(jù)測評目的,針對具體測評內(nèi)容開發(fā)出來的具體測評執(zhí)行實(shí)施過程要求。測評實(shí)施描述測評過程中涉及到的具體測評方式、內(nèi)容以及需要實(shí)現(xiàn)的結(jié)論應(yīng)該取得的測評結(jié)果。
結(jié)果判定描述測評人員執(zhí)行完測評實(shí)施過程,產(chǎn)生各種測評證據(jù)后,如何依據(jù)這次測評證據(jù)來判定被測系統(tǒng)是否滿足測評項(xiàng)要求的方法和原則。在給出整個(gè)工作單元的測評結(jié)論前,需要先給出單項(xiàng)測評實(shí)施過程的結(jié)論。一般來說,單項(xiàng)測評實(shí)施過程的結(jié)論判定不是直接的,常常需要測評人員的主觀判斷,通常認(rèn)為取得正確的、關(guān)鍵性證據(jù),該單項(xiàng)測評實(shí)施過程就得到滿足。某些安全控制可能在多個(gè)具體測評對象上實(shí)現(xiàn)(如主機(jī)系統(tǒng)的身份鑒別),在測評時(shí)發(fā)現(xiàn)只有部分測評對象上的安全控制滿足要求,它們的結(jié)果判定應(yīng)根據(jù)實(shí)際情況給出 。
2.3測評方法
主要采用訪談、檢查、測試等方法進(jìn)行等級(jí)保護(hù)測評。
1)訪談(interview)
測評人員通過與信息系統(tǒng)相關(guān)人員(個(gè)人群體)進(jìn)行交流、討論等活動(dòng),獲取證據(jù)以證明信息系統(tǒng)安全等級(jí)保護(hù)措施是否有效。可以使用各類調(diào)查問卷和訪談大綱實(shí)施訪談。
2)檢查(examine)
不同于行政執(zhí)法意義上的監(jiān)督檢查,而是指測評人員通過對測評對象進(jìn)行觀察、查驗(yàn)、分析等活動(dòng),獲取證據(jù)以證明信息系統(tǒng)安全等級(jí)保護(hù)措施是否有效??梢允褂酶鞣N檢查表和相應(yīng)的安全調(diào)查上具體實(shí)施檢查。
3)測試(test)
測評人員通過對測評對象按照預(yù)定的方法工具使其產(chǎn)生特定的行為等活動(dòng),查看、分析輸出結(jié)果,獲取證據(jù)以證明信息系統(tǒng)安全等級(jí)保護(hù)措施是否有效。包括功能測試和滲透性測試、系統(tǒng)漏洞掃描等。
滲透性測試:等級(jí)測評的一個(gè)重要內(nèi)容是對測試目標(biāo)進(jìn)行脆弱性分析,探知產(chǎn)品或系統(tǒng)安全脆弱性的存在,其主要目的是確定測試目標(biāo)能夠抵抗具有不同等級(jí)攻擊潛能的攻擊者發(fā)起的滲透性攻擊。因此,滲透性測試就是在測試目標(biāo)預(yù)期使用環(huán)境下進(jìn)行的測試,以確定測試目標(biāo)中潛在的脆弱性的可利用程度‘2盯。
系統(tǒng)漏洞掃描:主要是利用掃描工具對系統(tǒng)進(jìn)行自動(dòng)檢查,根據(jù)漏洞庫的描述對系統(tǒng)進(jìn)行模擬攻擊測試,如果系統(tǒng)被成功入侵,說明存在漏洞。主要分為網(wǎng)絡(luò)漏洞掃描和主機(jī)漏洞掃描等方式。
2.4系統(tǒng)整體測評
系統(tǒng)整體測評涉及到信息系統(tǒng)的整體拓?fù)?、局部結(jié)構(gòu),也關(guān)系到信息系統(tǒng)的具體安全功能實(shí)現(xiàn)和安全控制配置,與特定信息系統(tǒng)的實(shí)際情況緊密相關(guān)內(nèi)容復(fù)雜且充滿系統(tǒng)個(gè)性。因此,全面地給出系統(tǒng)整體測評要求的完整內(nèi)容具體實(shí)施方法和明確的結(jié)果判定方法一般來說是比較困難的。
首先測評人員應(yīng)根據(jù)特定信息系統(tǒng)的具體情況,結(jié)合標(biāo)準(zhǔn)要求,確定系統(tǒng)整體測評的具體內(nèi)容。其次在安全控制測評的基礎(chǔ)上,重點(diǎn)考慮安全控制間、層面間以及區(qū)域間的相互關(guān)聯(lián)關(guān)系,測評安全控制間、層面間和區(qū)域間是否存在安全功能上的增強(qiáng)、補(bǔ)充和削弱作用,最后才能得出測評結(jié)論。
三、 結(jié)尾
本文通過對安全操作系統(tǒng)及其評測標(biāo)準(zhǔn)的剖析,提出對于一個(gè)完整的安全操作系統(tǒng),可以將其看作是若干個(gè)有機(jī)的功能模塊的集合,并且對于安全操作系統(tǒng)的測試可以視為對安全操作系統(tǒng)每個(gè)模塊的測試的觀點(diǎn),并將安全操作系統(tǒng)的測試方案歸結(jié)為明確測試對象、確定測試目的、編寫測試用例、具體測試和分析測試結(jié)果5部分,根據(jù)測試方案選擇適合的測試方法,另外,再針對操作系統(tǒng)的工作單元測試進(jìn)行深入地探究,并提出了具體的測試方法和系統(tǒng)整體測試。
參考文獻(xiàn)
[1] 許友, 陳性元, 唐慧林, 高沛霖, XU YOU, CHEN XINGYUAN, TANG HUILIN, GAO PEILIN,基于標(biāo)準(zhǔn)的系統(tǒng)安全測試指標(biāo)體系的研究,450004,河南鄭州,解放軍信息工程大學(xué)電子技術(shù)學(xué)院,2007,23(3)
[2] 魏丕會(huì), 卿斯?jié)h, 黃建,安全操作系統(tǒng)等級(jí)評測系統(tǒng),中國科學(xué)院軟件研究所;中國科學(xué)院信息安全技術(shù)工程研究中心,北京,100080,2003,29(22)
[3] 陸幼驪,張紅旗,操作系統(tǒng)安全測評系統(tǒng)設(shè)計(jì),信息工程大學(xué)電子技術(shù)學(xué)院
[4] 于海亮, 于雙元, 馬晶燕, YU Hai-liang, YU Shuang-yuan, MA Jing-yan,基于Linux的安全操作系統(tǒng)測試方法研究,北京交通大學(xué),計(jì)算機(jī)與信息技術(shù)學(xué)院,北京,100044,2006,15(4)
[5] 林慶富,網(wǎng)絡(luò)安全評測信息系統(tǒng)的開發(fā)與應(yīng)用,長春理工大學(xué)
[6] 沈昌祥,安全操作系統(tǒng)的戰(zhàn)略意義[J],信息安全與信息保密,2003(8):1
[7] 林慶富,網(wǎng)絡(luò)安全評測信息系統(tǒng)的開發(fā)與應(yīng)用,長春理工大學(xué)
[8] 陳晨,操作系統(tǒng)安全測評及安全測試自動(dòng)化的研究,北京交通大學(xué)