国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用SCAP有效進(jìn)行主機(jī)安全管理(二)

2013-10-25 10:29王珩諸葛建偉
中國教育網(wǎng)絡(luò) 2013年1期
關(guān)鍵詞:技術(shù)細(xì)節(jié)注冊表數(shù)據(jù)結(jié)構(gòu)

文/王珩 諸葛建偉

上一期我們向大家介紹了什么是SCAP、與SCAP相關(guān)的開源工具,以及如何利用SCAP和開源工具對系統(tǒng)進(jìn)行安全性掃描。但是,我們不能滿足于使用現(xiàn)有的SCAP資源,如果想讓SCAP發(fā)揮更大的作用,我們需要進(jìn)一步了解SCAP,去開發(fā)適合自身需求的SCAP Content。本文將對SCAP進(jìn)行深入的探索,了解其技術(shù)細(xì)節(jié)并指導(dǎo)大家如何利用開源工具開發(fā)SCAP。

表1 XCCDF Rule數(shù)據(jù)結(jié)構(gòu)

圖1 XCCDF文檔層次結(jié)構(gòu)

SCAP技術(shù)細(xì)節(jié)

SCAP給安全評估帶來標(biāo)準(zhǔn)化的同時,也提供了一個開放的平臺。任何人都可以按照SCAP Protocol所指定的規(guī)范開發(fā)新的SCAP Content。開發(fā)SCAP Content之前,我們需要對每一種SCAP Element的文件格式進(jìn)行了解,并應(yīng)當(dāng)清楚它們?nèi)绾卧谝粋€完整的SCAP Content中進(jìn)行交互。SCAP的核心是語言類Element,即XCCDF和OVAL,對SCAP的深入探索過程中將把它們作為重點(diǎn)進(jìn)行介紹。

XCCDF技術(shù)細(xì)節(jié)

XCCDF文檔使用XML格式表述,由Benchmark、Profile、Group、Rule、Check、Value等元素構(gòu)成,以樹的方式進(jìn)行組織,如圖1所示。樹的最底層為Rule和Value,這兩個元素表達(dá)了XCCDF文檔中最細(xì)節(jié)的內(nèi)容,每個Rule為一個檢查項(xiàng),而Value指定了檢查過程中可能需要使用到的可變參數(shù)。Group用于將Rule和Value按照一定的邏輯關(guān)系組合成多個類別,Group可以嵌套,形成多級的結(jié)構(gòu)。Profile用于完成檢查單的組合和裁剪工作,在Profile中使用select標(biāo)記選擇一個或多個Rule id,構(gòu)成包含多個Rule的檢查單,一個Profile對應(yīng)一張檢查單,根據(jù)需要,一個XCCDF文檔可以包含多個Profile。樹的根節(jié)點(diǎn)是固定的,為Benchmark,根節(jié)點(diǎn)的屬性中保存了一些XCCDF文檔的基本屬性數(shù)據(jù)。

(1)XCCDF Rule(XCCDF規(guī)則)

Rule是XCCDF中描述檢查項(xiàng)的最細(xì)節(jié)內(nèi)容,但它并沒有定義檢查項(xiàng)與系統(tǒng)交互的技術(shù)細(xì)節(jié),這些技術(shù)細(xì)節(jié)是在OVAL文檔中定義的,XCCDF Rule中只是定義了一個指向OVAL文檔特定部分的指針(即OVAL Definition id)。常見的Rule內(nèi)容如表1所示。

通常,Rule ID會被多個Profile引用。這種機(jī)制使得在一個XCCDF基準(zhǔn)測試(Benchmark)文檔中能夠描述多個檢查單,而且檢查內(nèi)容能夠根據(jù)需求方便地裁剪和組織,更加有利于上層規(guī)范(如FISMA、ISO27001等)到底層技術(shù)細(xì)節(jié)(OVAL定義)的落地。

(2)XCCDF Value(XCCDF取值)

XCCDF文檔支持由用戶自定義變量的值取值,使用Value元素來表達(dá)。表2是一個Value元素的示例數(shù)據(jù),它定義了用戶的最短口令長度策略,在Operator(操作)中定義了進(jìn)行合規(guī)判定時使用的操作符,本例中為Greater than or equal(大于或等),也就是說如果系統(tǒng)現(xiàn)有值大于或等于測試時使用的標(biāo)準(zhǔn)值,那么判定結(jié)果是合規(guī)的。檢查單的使用者可直接對這些值進(jìn)行修改,或在Profile中使用refine-value定義一個新的值,以適應(yīng)不同環(huán)境中的不同需求。

(3)典型的XCCDF文檔片段

下面展示了FDCC 1.2.1.0版的關(guān)于Windows XP系統(tǒng)配置描述的XCCDF文檔的整體結(jié)構(gòu),由于篇幅有限,我們只保留了能表明其整體架構(gòu)的片段,并在其中加入了相關(guān)的說明性文字。通過這段XML代碼,更能夠加深我們對XCCDF文檔結(jié)構(gòu)的理解。

表2 XCCDF Value數(shù)據(jù)結(jié)構(gòu)

圖2 OVAL文檔層次結(jié)構(gòu)

圖3 OVAL Definition層次結(jié)構(gòu)

OVAL文檔提供了一種機(jī)器可讀的對系統(tǒng)進(jìn)行安全評估的操作指南,它可用來描述系統(tǒng)的配置信息、分析系統(tǒng)的安全狀態(tài)、報告評估結(jié)果等。典型的OVAL文件由Definition(定義)、Test(測試)、Object(對象)、State(狀態(tài))和Variable(變量)等要素構(gòu)成,其文檔結(jié)構(gòu)相對XCCDF來說比較簡單,主要是將各個要素以枚舉的方式列出,如圖2所示。

OVAL技術(shù)細(xì)節(jié)

Definition是OVAL中最重要的組成元素,它會引用一個或多個Test,根據(jù)Test的結(jié)果綜合判定整體的結(jié)果,Test引用Object和State與系統(tǒng)交互并得出檢查結(jié)果,State可以使用固定值或引用Variable中的變量。Definition、Test、State、Object和Variable各要素之間的邏輯關(guān)系如圖3所示。在圖3中,Definition1包含兩個Test,假設(shè)其判定標(biāo)準(zhǔn)為如果兩個Test均為True,那么整個Definition結(jié)果為True。例如,如果Test1測試結(jié)果為True,Test2測試結(jié)果為False,根據(jù)Definition1中的判定條件Test1=True AND Test2=True,整個Definition的測試結(jié)果為False。

(1)OVAL Definition(OVAL定義)

OVAL Definition用于描述如何對某一特定安全問題進(jìn)行檢查,通常一個OVAL文檔中包含多個Definition。目前,主要有四類Definition: Vulnerability(漏洞),描述如何根據(jù)系統(tǒng)狀態(tài)判定系統(tǒng)中是否存在某個特定漏洞;Patch(補(bǔ)?。?,與Vulnerability類似,但它更關(guān)注如何判定系統(tǒng)中是否安裝了某個特定補(bǔ)丁;Inventory(軟件),描述如何對系統(tǒng)中是否安裝了某個特定的軟件進(jìn)行判定;Compliance(合規(guī)),描述如何對系統(tǒng)是否滿足某個特定的配置要求進(jìn)行判定。表3 OVAL Definition數(shù)據(jù)結(jié)構(gòu)是一個OVAL Definition的示例數(shù)據(jù)。

(2)OVAL Test(OVAL測試)

Test通過定義一組Object和State來執(zhí)行測試,OVAL Test的數(shù)據(jù)結(jié)構(gòu)如表4所示,而圖3則較為清晰地表達(dá)了Test中Object和State是如何相互配合執(zhí)行測試的。

(3)OVAL Object(OVAL對象)

Object指明系統(tǒng)中用于測試的對象,由于OVAL中的Object分為多種類型,每種類型的Object數(shù)據(jù)結(jié)構(gòu)各不相同,如下面是一個passworkpolicy_object的定義,可以看出系統(tǒng)策略類的Object只需要指明一個id即可被解釋器識別:

下面是一個registry_object的定義,可以看到注冊表類Object需要指明注冊表Hive、注冊表路徑和注冊表項(xiàng)目名稱:

表3 OVAL Definition數(shù)據(jù)結(jié)構(gòu)

表4 OVAL Test數(shù)據(jù)結(jié)構(gòu)

(4)OVAL State(OVAL狀態(tài))

State指明用于測試的對象的狀態(tài)值,同Object類似,State也分為多種類型,每種類型的State數(shù)據(jù)結(jié)構(gòu)不相同,下面是一個passwordpolicy_state的定義:

下面是一個registry_state的定義,用來識別注冊表中獲取的值能與字符串“Windows 7”相匹配,可以在Value中使用正則表達(dá)式以更好的完成字符串匹配工作。

可以看出,State中可以使得var_ref引用一個Variable對象表示State的值,或者直接將值寫入到value節(jié)點(diǎn)中。

(5)OVAL Variable(OVAL變量)

Variable定義了執(zhí)行測試時State所需的值,其有三種類型:constant_variable(常量)、local_variable(本地變量)和external_variable(外部變量)。Constant_variable定義一個不能在運(yùn)行時改變的值,local_variable定義在OVAL中直接使用的值,而external_variable通常用于將XCCDF的Value值傳遞到OVAL中。下面是一個external類型的Variable定義:

(6)典型的OVAL文檔片段

下面展示了USGCB 1.2.0.0版的用于Windows 7系統(tǒng)基線配置檢查的OVAL文檔的片段,通過這段XML代碼,更能夠加深我們對OVAL文檔結(jié)構(gòu)的理解。

其它標(biāo)準(zhǔn)在XCCDF與OVAL中的融合

(1)CVE/CCE/CPE

在每個XCCDF Rule中均可以包含一個或多個ident元素,可在其中指出CVE、CCE或CPE標(biāo)識的參考數(shù)據(jù)。如果Rule中包含OVAL Definition的鏈接,那么ident中所指的CVE、CCE及CPE參考應(yīng)當(dāng)與OVAL Definition中的參考一致。在XCCDF Rule中,ident使用system屬性指出參考數(shù)據(jù)的類型,如果Rule包含OVAL Definition的鏈接,那么OVAL Definition的類型應(yīng)當(dāng)與system屬性相適應(yīng)。表5列出了XCCDF中ident元素的使用方法。

下面是一段用于檢查系統(tǒng)配置的XCCDF Rule中使用ident的示例:

(2)CVSS/CCSS

由于CVSS的基礎(chǔ)評分(base score)經(jīng)常會根據(jù)系統(tǒng)環(huán)境的不同而發(fā)生變化,因此XCCDF文檔中并不直接引用CVSS。在CVE中,會包含對CVSS的引用。而CCSS則沒有此類問題,因此在XCCDF中,可以直接在Rule節(jié)點(diǎn)的weight屬性中引用CCSS的值(0到10)。下面是在XCCDF Rule中使用CCSS的示例:

eSCAPe開源項(xiàng)目

eSCAPe全稱是Enhanced SCAP Editor(增強(qiáng)的SCAP編輯器)是一個基于Java的跨平臺SCAP內(nèi)容編輯器,可以從其官方網(wǎng)站http://www.g2-inc.com/escape下載最新版的eSCAPe。

eSCAPe支持XCCDF和OVAL兩種語言,我們不需要了解過多的SCAP技術(shù)細(xì)節(jié)便能輕松地使用eSCAPe輕松地創(chuàng)建或編輯SCAP內(nèi)容。

在使用eSCAPe之前,需要計算機(jī)上安裝了JVM,我們可以從Oracle網(wǎng)站獲取Java Runtime Environment程序。環(huán)境準(zhǔn)備就緒后,Windows用戶運(yùn)行startEditor.bat,Linux用戶運(yùn)行startEditor.sh啟動編輯器。

下面演示如何制作一個簡單的SCAP Content。首先點(diǎn)擊Wizard-Driven啟動向?qū)?。第一步需要我們選擇OVAL版本,定義OVAL命名空間標(biāo)識,并選擇創(chuàng)建的OVAL Definition類型。需要注意的是,不同版本的OVAL語言格式會有所差別,請根據(jù)你的OVAL解釋器的版本選擇,否則可能會造成OVAL解析錯誤。

點(diǎn)擊Go!按鈕后,會出現(xiàn)編輯OVAL的對話框。在Title處輸入“To Test Windows Version is 6.1(測試Windows版本為6.1)”,在What is to be tested(測試對象)處選擇“Value of hivekey ame(注冊表值)”,在Registry Hive(注冊表Hive)處選擇“HKEY_LOCAL_MACHINE”,然后將內(nèi)容填寫完整后點(diǎn)擊Next。

此時編輯器提示我們選擇文件保存位置,這里可以指定一個新的oval文件,或使用已有的OVAL文件,如果是已有文件,剛剛編輯的OVAL Definition會自動添加到舊文件中。需要注意文件名的格式必須是*-oval.xml。

保存完成后,eSCAPe會為我們自動生成兩個文件:winver-oval.xml和winver-xccdf.xml,下面我們便能使用OVALDi對剛剛創(chuàng)建的OVAL文件進(jìn)行驗(yàn)證了,將生成的winveroval.xml文件復(fù)制到OVALDi的目錄中,運(yùn)行如下命令:

可以看到我們制作的OVAL文件被OVALDi成功地解析并執(zhí)行了掃描。

使用Wizard-Driven模式能讓我們在不了解SCAP技術(shù)細(xì)節(jié)的情況下輕松地生成 SCAP內(nèi)容,不過如果想要對SCAP內(nèi)容進(jìn)行更加深入的調(diào)整,需要使用功能更加豐富的Standard模式,讀者可自行嘗試。

表5 XCCDF Rule中的XCCDF Ident

SCAP在中國

目前,國內(nèi)一些機(jī)構(gòu)也開始了對SCAP及相關(guān)標(biāo)準(zhǔn)的研究與采納。目前各大安全廠商的產(chǎn)品開始了對諸如CVE、CVSS等標(biāo)準(zhǔn)的集成,國家信息中心在對FDCC等美國政府安全基線充分調(diào)研的基礎(chǔ)上提出了我國政務(wù)終端桌面核心配置(CGDCC),期望能夠借助SCAP提升政府終端計算機(jī)的安全防護(hù)能力。

清華大學(xué)網(wǎng)絡(luò)與信息安全實(shí)驗(yàn)室亦對SCAP及其系列標(biāo)準(zhǔn)有較為深入的研究,并在SCAP協(xié)議的基礎(chǔ)上提出了NetSCAP,即網(wǎng)絡(luò)化的SCAP協(xié)議。NetSCAP充分利用SCAP標(biāo)準(zhǔn)化、自動化、資源豐富等優(yōu)勢,實(shí)現(xiàn)了基于開放分類的SCAP內(nèi)容存儲方案,將零散的SCAP資源有效組織成有機(jī)整體,能夠靈活地生成適應(yīng)不同防護(hù)需求的安全基線檢查單。此外,NetSCAP在已有開源SCAP掃描工具的基礎(chǔ)上,實(shí)現(xiàn)了一套網(wǎng)絡(luò)化基線管理框架,實(shí)現(xiàn)了集中的SCAP內(nèi)容分發(fā)、終端控制、檢查結(jié)果上報分析等功能。

本文對SCAP的技術(shù)細(xì)節(jié)以及如何生成SCAP Content進(jìn)行了詳細(xì)的介紹。由于SCAP開放性、標(biāo)準(zhǔn)化的思想,其在信息安全分析、評估領(lǐng)域占有舉足輕重的地位,希望有更多的人能夠加入到SCAP研究、采納和發(fā)展的工作中來,讓它在我國的信息安全領(lǐng)域發(fā)揮更重要的作用。

猜你喜歡
技術(shù)細(xì)節(jié)注冊表數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)線上線下混合教學(xué)模式探討
為什么會有“數(shù)據(jù)結(jié)構(gòu)”?
小龍蝦養(yǎng)殖中的技術(shù)細(xì)節(jié)與誤區(qū)
基于MVC模式的電子商務(wù)交易平臺構(gòu)建
有線數(shù)字電視安全傳輸通信技術(shù)研究
更上一層樓 用好注冊表編輯器
注冊表的便捷用法
高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
注冊表編輯器也玩“失憶”
學(xué)習(xí)器揭開注冊表面紗