摘要:該文以微軟Windows操作系統(tǒng)為例,研究了計(jì)算機(jī)漏洞的相關(guān)特性,分析了補(bǔ)丁的管理流程和策略,設(shè)計(jì)實(shí)現(xiàn)了計(jì)算機(jī)系統(tǒng)漏洞檢測(cè)與修復(fù)系統(tǒng)。該系統(tǒng)可以自主完成補(bǔ)丁的下載、檢測(cè)與安裝。實(shí)驗(yàn)分析表明該系統(tǒng)具有良好的可擴(kuò)展性,適應(yīng)于大規(guī)模補(bǔ)丁分發(fā)。
關(guān)鍵詞:漏洞檢測(cè);漏洞修復(fù);補(bǔ)丁
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)04-0938-03
近來網(wǎng)絡(luò)泄密事件頻發(fā),系統(tǒng)安全成為業(yè)界不可忽視的重要課題。任何一個(gè)系統(tǒng),無(wú)論是軟件還是硬件都不可避免地存在漏洞。雖然漏洞本身并不會(huì)對(duì)系統(tǒng)安全造成什么損害,但是攻擊者可以利用這些漏洞引發(fā)安全事件。據(jù)統(tǒng)計(jì),全世界至少有超過500,000,000的計(jì)算機(jī)使用微軟Windows操作系統(tǒng)。因此,該文以最具代表性的微軟Windows操作系統(tǒng)為例,研究了計(jì)算機(jī)漏洞的相關(guān)特性,分析了補(bǔ)丁的管理流程和策略,設(shè)計(jì)實(shí)現(xiàn)了計(jì)算機(jī)系統(tǒng)漏洞檢測(cè)與修復(fù)系統(tǒng)。該系統(tǒng)可以自主完成補(bǔ)丁的下載、檢測(cè)與安裝。實(shí)驗(yàn)分析表明該系統(tǒng)具有良好的可擴(kuò)展性,適應(yīng)于大規(guī)模補(bǔ)丁分發(fā)。
1 相關(guān)概念
計(jì)算機(jī)漏洞顧名思義是計(jì)算機(jī)系統(tǒng)在軟件或硬件方面,在設(shè)計(jì)實(shí)現(xiàn)過程中存在的缺陷與不足。一旦計(jì)算機(jī)漏洞被惡意用戶發(fā)現(xiàn),就有可能被該惡意用戶利用,破獲計(jì)算機(jī)系統(tǒng)的安全性,獲取計(jì)算機(jī)系統(tǒng)額外權(quán)限,獲得本不能訪問的信息。對(duì)于計(jì)算機(jī)操作系統(tǒng)來說,漏洞通常具有如下幾方面的特征:1)漏洞是操作系統(tǒng)本身存在的邏輯錯(cuò)誤。因計(jì)算機(jī)操作系統(tǒng)設(shè)計(jì)時(shí),設(shè)計(jì)者本身考慮不當(dāng)而造成的設(shè)計(jì)錯(cuò)誤;或者隨著時(shí)間推移,在系統(tǒng)設(shè)計(jì)時(shí)并不存在問題,但是隨著技術(shù)的發(fā)展而暴露出來的缺陷。比如:2000年計(jì)算機(jī)“千年蟲”問題,一方面是某些計(jì)算機(jī)系統(tǒng),在設(shè)計(jì)時(shí)對(duì)于閏年的計(jì)算和識(shí)別出現(xiàn)問題;另一方面是在一些較老的計(jì)算機(jī)系統(tǒng)中,使用了數(shù)字串99(或99/99等)來代表文件結(jié)束、過期、刪除等一些特殊意義的操作。2)漏洞和時(shí)間緊密相關(guān)。計(jì)算機(jī)漏洞具有較強(qiáng)的時(shí)效性,一旦發(fā)現(xiàn)漏洞,系統(tǒng)設(shè)計(jì)者便會(huì)迅速提出修補(bǔ)方案進(jìn)行完善。但是在補(bǔ)丁文件發(fā)布之后,用戶沒有及時(shí)修補(bǔ)漏洞,惡意用戶就有可能利用新發(fā)現(xiàn)的漏洞攻擊用戶系統(tǒng)。3)漏洞是一種安全狀態(tài)。漏洞本身不會(huì)對(duì)計(jì)算機(jī)系統(tǒng)造成危害。
漏洞檢測(cè)的目的是探測(cè)目標(biāo)主機(jī)存在的漏洞,一般漏洞檢測(cè)分為主動(dòng)式和被動(dòng)式兩種探測(cè)方法。主動(dòng)式探測(cè)技術(shù)以基于網(wǎng)絡(luò)的檢測(cè)為主;被動(dòng)式探測(cè)技術(shù)分為基于主機(jī)的檢測(cè)、基于應(yīng)用的檢測(cè)和基于目標(biāo)的檢測(cè)。依據(jù)漏洞檢測(cè)的結(jié)果,漏洞修復(fù)技術(shù)在目標(biāo)主機(jī)實(shí)施補(bǔ)丁安裝。補(bǔ)丁管理技術(shù)以微軟公司提出的按照補(bǔ)丁生命周期管理補(bǔ)丁最具影響力。該補(bǔ)丁管理技術(shù)分為補(bǔ)丁的識(shí)別、計(jì)劃、部署、反饋、評(píng)估等階段。
2 系統(tǒng)設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)上嚴(yán)格按照軟件工程模塊化的設(shè)計(jì)思路,采用系統(tǒng)健壯性較強(qiáng)的服務(wù)器端/客戶端(Client/Server)兩層模式架構(gòu),使得該計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng)具有較強(qiáng)的系統(tǒng)可擴(kuò)展性、較高的系統(tǒng)可重用性、以及方便的使用性等優(yōu)點(diǎn)。該系統(tǒng)從邏輯上看,主要由父服務(wù)器、子服務(wù)器、以及客戶端三部分組成。
1)父服務(wù)器:該服務(wù)器通過防火墻與外網(wǎng)相連通,是整個(gè)計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng)的核心。父服務(wù)器的主要功能在于從補(bǔ)丁官方網(wǎng)站(本系統(tǒng)為:www.microsoft.com)上主動(dòng)獲取補(bǔ)丁信息、下載補(bǔ)丁到父服務(wù)器,并將所下載的系統(tǒng)補(bǔ)丁快速發(fā)布給所有下級(jí)子服務(wù)器或客戶端。因此,父服務(wù)器主動(dòng)獲取補(bǔ)丁的能力決定了整個(gè)計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng)補(bǔ)丁更新的能力。
2)子服務(wù)器:該服務(wù)器起到分擔(dān)父服務(wù)器負(fù)載的作用,是整個(gè)計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng)的樞紐。它一方面與服務(wù)器相連通,保持與父服務(wù)器補(bǔ)丁信息同步;另一方面與下級(jí)客戶端或下一級(jí)子服務(wù)器相連通,快速分發(fā)系統(tǒng)補(bǔ)丁。
3)客戶端:在本計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng)中也就是具體計(jì)算機(jī)終端??蛻舳伺c上級(jí)服務(wù)器相連通,獲取所需要的補(bǔ)丁信息、下載系統(tǒng)補(bǔ)丁,并且實(shí)現(xiàn)對(duì)本機(jī)補(bǔ)丁的自動(dòng)管理。
3 系統(tǒng)實(shí)現(xiàn)
3.1 服務(wù)器端實(shí)現(xiàn)
服務(wù)器端功能設(shè)計(jì)流程如圖1所示。
1)獲取系統(tǒng)補(bǔ)丁信息
本計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng),所有補(bǔ)丁信息均從微軟官方網(wǎng)站安全公告中獲取,其官方網(wǎng)址路徑為:http://www.microsoft.com/china/technet/security/current.mspx。網(wǎng)站截圖如圖3所示。從安全公告中可以準(zhǔn)去獲取補(bǔ)丁發(fā)布日期、公告號(hào)、知識(shí)庫(kù)號(hào)、標(biāo)題、公告等級(jí)信息。微軟補(bǔ)丁安全公告每月均有發(fā)布,并在提供在線回答客戶提問。為確保系統(tǒng)補(bǔ)丁信息的全面、準(zhǔn)確、及時(shí),服務(wù)器需要經(jīng)常訪問微軟安全網(wǎng)站。
2)系統(tǒng)補(bǔ)丁自動(dòng)下載
為實(shí)現(xiàn)計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng)補(bǔ)丁自動(dòng)下載功能,關(guān)鍵在于獲得所有系統(tǒng)補(bǔ)丁的下載地址。在系統(tǒng)實(shí)現(xiàn)過程中,采用如下步驟:①把微軟安全公告頁(yè)http://www.microsoft.com/china/technet/security/current.mspx下載到本地服務(wù)器;②對(duì)安全公告頁(yè)進(jìn)行代碼解析,獲取每個(gè)安全公告的詳細(xì)信息。③通過解析獲得的安全公告URL將其下載到本地。
3)通信模塊
系統(tǒng)補(bǔ)丁發(fā)布主要通過“Pull”的方式實(shí)現(xiàn)——即:客戶端主動(dòng)請(qǐng)求從服務(wù)端下載補(bǔ)丁。因此,在服務(wù)器端只需要根據(jù)客戶端的請(qǐng)求提供相應(yīng)下載服務(wù)即可實(shí)現(xiàn)。在本系統(tǒng)實(shí)現(xiàn)過程中,服務(wù)器端利用IIS服務(wù)器建立Web訪問接口;服務(wù)器端將從微軟官網(wǎng)下載的系統(tǒng)補(bǔ)丁存放至指定目錄中,在IIS服務(wù)器將該目錄設(shè)置為Web共享,客戶端(或下級(jí)服務(wù)器)即可方便的訪問并下載所需系統(tǒng)補(bǔ)丁。
3.2 客戶端實(shí)現(xiàn)
客戶端功能設(shè)計(jì)流程如圖2所示。
1)保持補(bǔ)丁數(shù)據(jù)庫(kù)同步
在本計(jì)算機(jī)檢測(cè)與修復(fù)系統(tǒng)中,主要步驟為:①通過檢測(cè)客戶端計(jì)算機(jī)系統(tǒng)信息,得出本地計(jì)算機(jī)操作系統(tǒng)類型、SeverPack版本號(hào)等信息。②客戶端訪問服務(wù)端器端Web接口,獲取相應(yīng)補(bǔ)丁信息。
2)漏洞檢測(cè)
漏洞檢測(cè)技術(shù)通常分為被動(dòng)式策略和主動(dòng)式策略兩類。被動(dòng)式策略屬于基于主機(jī)的檢測(cè),通過對(duì)計(jì)算機(jī)系統(tǒng)的檢測(cè),發(fā)現(xiàn)不合理配置;主動(dòng)式策略屬于基于網(wǎng)絡(luò)的檢測(cè),通過對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行友好而善意的攻擊,發(fā)現(xiàn)計(jì)算機(jī)系統(tǒng)中存在的漏洞。無(wú)論被動(dòng)策略還是主動(dòng)策略,漏洞檢測(cè)均主要有以下四種:1、基于主機(jī)的檢測(cè)技術(shù);2、基于應(yīng)用的檢測(cè)技術(shù);3、基于目標(biāo)的漏洞檢測(cè)技術(shù);4、基于網(wǎng)絡(luò)的檢測(cè)技術(shù)。在本計(jì)算機(jī)漏洞檢測(cè)與修復(fù)系統(tǒng)實(shí)現(xiàn)過程中,采用被動(dòng)策略基于主機(jī)的檢測(cè)技術(shù),發(fā)現(xiàn)系統(tǒng)漏洞、定位系統(tǒng)存在的問題。由于補(bǔ)丁安裝之后,通常都會(huì)在操作系統(tǒng)注冊(cè)表中建立相應(yīng)鍵值信息,所以通過查詢查詢注冊(cè)表鍵值即可判斷某個(gè)補(bǔ)丁是否已經(jīng)安裝。
3)客戶端補(bǔ)丁下載
由于服務(wù)器端提供Web接口,因此客戶端只需正確配置即可正常訪問服務(wù)器端。通過調(diào)用網(wǎng)絡(luò)函數(shù),便能夠下載相應(yīng)補(bǔ)丁。
4)客戶端補(bǔ)丁安裝
為方便客戶端補(bǔ)丁批量安裝,在本計(jì)算機(jī)漏洞與修復(fù)系統(tǒng)中采用生成批處理文件實(shí)現(xiàn)。首先,將多個(gè)補(bǔ)丁的安裝指令寫入新建的批處理文件中;接著,調(diào)用該批處理文件實(shí)現(xiàn)補(bǔ)丁批量安裝。對(duì)于在補(bǔ)丁安裝過程中出現(xiàn)的資源沖突問題,可以借助微軟Qchain工具解決。
4 結(jié)束語(yǔ)
隨著計(jì)算機(jī)系統(tǒng)的普遍應(yīng)用,操作系統(tǒng)存在的漏洞成為影響信息系統(tǒng)安全的較大因素,該文在研究了大量漏洞的含義、特征和危害的基礎(chǔ)上,分析了現(xiàn)有漏洞檢測(cè)和修復(fù)技術(shù),并對(duì)當(dāng)前主要技術(shù)進(jìn)行了總結(jié)。針對(duì)使用最為普遍的windows操作系統(tǒng),研究了計(jì)算機(jī)漏洞的相關(guān)特性,分析了補(bǔ)丁的管理流程和策略,設(shè)計(jì)實(shí)現(xiàn)了計(jì)算機(jī)系統(tǒng)漏洞檢測(cè)與修復(fù)系統(tǒng)。該系統(tǒng)可以自主完成補(bǔ)丁的下載、檢測(cè)與安裝。實(shí)驗(yàn)分析表明該系統(tǒng)具有良好的可擴(kuò)展性,適應(yīng)于大規(guī)模補(bǔ)丁分發(fā)。該系統(tǒng)具有操作簡(jiǎn)單、功能完善、自動(dòng)化安裝補(bǔ)丁等特點(diǎn),具有較高推廣和應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 鄧吉.黑客攻防實(shí)戰(zhàn)編程[M].北京:電子工業(yè)出版社,2009.
[2] 朱艷玲,牛少彰.計(jì)算機(jī)安全漏洞研究[D]. 北京:北京郵電大學(xué)計(jì)算機(jī)學(xué)院優(yōu)秀論文,2009.
[3] 王曉甜,張玉清.安全漏洞自動(dòng)收集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程, 2006,32(20):177-179
[4] 牛永民.補(bǔ)丁管理系統(tǒng)的研究與實(shí)現(xiàn)[D]. 北京:北京郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院碩士研究生學(xué)位論文, 2006.
[5] 朱靜.安全漏洞及其修補(bǔ)技術(shù)的研究[D]. 西安:西安電子科技大學(xué)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)專業(yè)碩士研究生學(xué)位論文,2005.
[6] 朱靜,張玉清,高有行.一種更加完善的安全漏洞發(fā)布機(jī)制[J].計(jì)算機(jī)工程, 2005,12:129-131.