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