謝克武
(重慶工商大學(xué) 派斯學(xué)院,重慶 401520)
重慶工商大學(xué)派斯學(xué)院網(wǎng)絡(luò)漏洞掃描系統(tǒng)設(shè)計(jì)
謝克武
(重慶工商大學(xué) 派斯學(xué)院,重慶 401520)
面對(duì)越來越嚴(yán)峻的校園網(wǎng)絡(luò)安全形勢,針對(duì)重慶工商大學(xué)派斯學(xué)院的網(wǎng)絡(luò)安全需求,結(jié)合目前網(wǎng)絡(luò)漏洞掃描的新技術(shù),本文先介紹了系統(tǒng)設(shè)計(jì)的思路和系統(tǒng)的工作原理,然后設(shè)計(jì)了派斯學(xué)院校園網(wǎng)絡(luò)漏洞掃描系統(tǒng).
網(wǎng)絡(luò)安全;漏洞;漏洞掃描
隨著網(wǎng)絡(luò)的普及和發(fā)展,高校信息化建設(shè)也在快速地進(jìn)行,校園網(wǎng)在高校及教育系統(tǒng)中的作用越來越大,已經(jīng)成為高校重要的基礎(chǔ)設(shè)施.目前,校園網(wǎng)絡(luò)已遍及學(xué)校的各個(gè)部門,學(xué)生宿舍也接入了校園網(wǎng)絡(luò),網(wǎng)絡(luò)已經(jīng)成為師生工作、學(xué)習(xí)、生活不可缺少的工具.然而,網(wǎng)絡(luò)中的種種不安全因素(如系統(tǒng)漏洞)也無時(shí)無刻不在威脅校園網(wǎng)絡(luò)的健康發(fā)展,成為教育信息化建設(shè)過程中不容忽視的問題.這些不安全因素很多都是由安全漏洞引起的,漏洞(Vulnerability)也稱為脆弱性,網(wǎng)絡(luò)漏洞是在硬件、軟件、協(xié)議的具體實(shí)現(xiàn)或系統(tǒng)安全策略上存在的缺陷,從而可以使攻擊者能夠在未授權(quán)的情況下訪問或破壞系統(tǒng).對(duì)于安全漏洞引起的安全問題,采用事先檢測系統(tǒng)的脆弱點(diǎn)防患于未然,是減少損失的有效辦法,漏洞掃描正是一種這樣的方法.漏洞掃描系統(tǒng)是自動(dòng)檢測遠(yuǎn)程或本地主機(jī)在安全性方面脆弱點(diǎn)的程序,它通過模擬黑客攻擊的方式對(duì)目標(biāo)可能存在的已知安全漏洞進(jìn)行逐項(xiàng)檢測,檢測出系統(tǒng)存在的漏洞,并提出相應(yīng)的補(bǔ)救措施.本文應(yīng)對(duì)學(xué)院安全需求,設(shè)計(jì)了漏洞掃描系統(tǒng).
2.1 設(shè)計(jì)思路和工作原理
網(wǎng)絡(luò)掃描的目的是盡量取得目標(biāo)的相關(guān)信息,這個(gè)目標(biāo)可能是服務(wù)器、PC機(jī)、路由器等,也有可能是整個(gè)網(wǎng)絡(luò).漏洞掃描系統(tǒng)主要是模擬黑客由網(wǎng)絡(luò)端發(fā)出數(shù)據(jù)封包,以主機(jī)接收到封包的響應(yīng)作為判斷標(biāo)準(zhǔn),進(jìn)而了解主機(jī)的操作系統(tǒng)、服務(wù)及各種應(yīng)用程序的漏洞.網(wǎng)絡(luò)型掃描器可以放置于目標(biāo)網(wǎng)絡(luò)的外部去掃描目標(biāo)網(wǎng)絡(luò)內(nèi)主機(jī)的漏洞,等于是在仿真一個(gè)黑客從internet去攻擊主機(jī),這樣可以盡早發(fā)現(xiàn)各種漏洞并加以防范和補(bǔ)救.漏洞掃描系統(tǒng)可對(duì)后門攻擊,拒絕服務(wù)攻擊,防火墻、CGI漏洞、FTP服務(wù)器等進(jìn)行詳盡的漏洞檢測.系統(tǒng)通過遠(yuǎn)程檢測目標(biāo)主機(jī)TCP/IP不同端口的服務(wù),記錄目標(biāo)給予的回答.通過這種方法,可以搜集到很多目標(biāo)主機(jī)的各種信息(例如:是否有可寫的FTP目錄,是否能用匿名登錄).在獲得目標(biāo)主機(jī)TCP/IP端口和其對(duì)應(yīng)的網(wǎng)絡(luò)訪問服務(wù)的相關(guān)信息后,與網(wǎng)絡(luò)漏洞掃描系統(tǒng)提供的漏洞庫進(jìn)行匹配,如果滿足匹配條件,則視為漏洞存在.
基于派斯學(xué)院校園網(wǎng)絡(luò)的漏洞掃描系統(tǒng)的工作原理是:當(dāng)用戶通過掃描控制模塊發(fā)出了掃描命令之后,控制平臺(tái)即向掃描引擎發(fā)出相應(yīng)的掃描請求,掃描引擎接到請求之后立即啟動(dòng)相應(yīng)的子功能模塊,對(duì)被掃描主機(jī)進(jìn)行掃描.通過對(duì)從被掃描主機(jī)返回的信息進(jìn)行分析判斷,掃描引擎將掃描結(jié)果存入數(shù)據(jù)庫,再由掃描控制模塊最終呈現(xiàn)給用戶.
2.2 網(wǎng)絡(luò)漏洞掃描系統(tǒng)架構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的漏洞掃描系統(tǒng)包括五個(gè)部分,WEB客戶端(由瀏覽器實(shí)現(xiàn)),掃描控制模塊(由Web服務(wù)器實(shí)現(xiàn)),掃描引擎模塊,數(shù)據(jù)模塊(數(shù)據(jù)庫實(shí)現(xiàn))和插件庫,整個(gè)漏洞掃描系統(tǒng)框架結(jié)構(gòu)如下圖所示:
下面就詳細(xì)介紹各個(gè)模塊的設(shè)計(jì).
2.2.1 WEB客戶端
漏洞掃描系統(tǒng)的客戶端采用瀏覽器,可以不用專門安裝客戶端程序,部署漏洞掃描系統(tǒng)的時(shí)候比較方便,另外用瀏覽器作為客戶端,也可以提升系統(tǒng)維護(hù)的效率,由于所有的功能都在服務(wù)器上完成,系統(tǒng)維護(hù)時(shí)只需要在服務(wù)器端進(jìn)行相應(yīng)的修改就行了,不需要到學(xué)校的各個(gè)部門進(jìn)行維護(hù).
2.2.2 掃描控制模塊
掃描控制模塊是本系統(tǒng)各功能模塊之間進(jìn)行協(xié)調(diào)工作的核心結(jié)點(diǎn),它包括下面幾個(gè)方面的功能:
(1)用戶管理,可以添加用戶,修改用戶信息,修改密碼,刪除用戶等.另外,還對(duì)系統(tǒng)的用戶進(jìn)行分組,不同組的用戶權(quán)限也不相同.
(2)掃描策略管理,可以對(duì)掃描策略進(jìn)行設(shè)置,是對(duì)單一主機(jī)進(jìn)行掃描,還是對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行掃描,是對(duì)一些特定的端口進(jìn)行掃描,還是對(duì)所有的端口進(jìn)行掃描,是采用多線程還是掃描還是單線程掃描等.
(3)掃描任務(wù)管理,掃描任務(wù)管理可以啟動(dòng)掃描任務(wù),暫停掃描任務(wù),終止掃描任務(wù)和查看掃描進(jìn)度等.
(4)結(jié)果輸出管理,從數(shù)據(jù)庫里面讀出掃描結(jié)果信息,并對(duì)這些信息進(jìn)行處理,根據(jù)用戶需求生成相應(yīng)格式的掃描結(jié)果報(bào)告,掃描結(jié)果報(bào)告的格式有txt,doc,html,excel圖表等.
(5)用戶界面,包括用戶登錄界面,用戶信息管理界面,掃描策略管理界面,掃描任務(wù)管理界面,掃描結(jié)果顯示界面.
2.2.3 掃描引擎模塊
掃描引擎模塊是整個(gè)系統(tǒng)的核心,系統(tǒng)漏洞掃描的任務(wù)最終都由它來完成,它主要包括三個(gè)方面的內(nèi)容:
(1)掃描管理,漏洞掃描分三個(gè)階段,首先是進(jìn)行存活行掃描,如果在線,再進(jìn)行第二步,操作系統(tǒng)信息掃描,根據(jù)收集到的信息,判斷出目標(biāo)所安裝的操作系統(tǒng),最后結(jié)合用戶設(shè)置的安全策略,加載漏洞掃描插件進(jìn)行完全的漏洞掃描.
(2)多線程管理,漏洞掃描工作量較大,采用多線程的方式,可以大大提高漏洞掃描的效率.本系統(tǒng)采用線程池的方式來管理多線程,有兩類線程,一是主控制線程,在掃描過程中,一般只有一個(gè)主控制線程,主要是協(xié)調(diào)各個(gè)掃描任務(wù)共同工作;二是掃描線程,它的功能主要是加載插件庫的漏洞掃描插件,完成相應(yīng)的漏洞掃描任務(wù),在掃描過程中,一般有多個(gè)掃描線程同時(shí)運(yùn)行,不同的線程完成不同的掃描任務(wù).
(3)插件管理,本系統(tǒng)利用插件技術(shù)來實(shí)現(xiàn)對(duì)不同系統(tǒng)漏洞進(jìn)行掃描的功能,每個(gè)插件只對(duì)一個(gè)漏洞進(jìn)行檢測,功能簡單,容易實(shí)現(xiàn),維護(hù)也比較方便.插件管理主要有三個(gè)功能,一是添加插件,就是向插件庫添加新的漏洞掃描插件;二是更新插件,對(duì)插件庫存在的插件進(jìn)行更新升級(jí),使插件的功能更強(qiáng)大;三是刪除插件,對(duì)于一些較老的的漏洞(比如win2000系統(tǒng)的漏洞),由于系統(tǒng)的更新,這些漏洞基本不存在了,可以刪除相應(yīng)的漏洞掃描插件,節(jié)約掃描的開銷,提高效率.
2.2.4 插件庫
本系統(tǒng)的漏洞掃描插件使用NASL腳本語言編寫,NASL腳本語言是專門為網(wǎng)絡(luò)安全掃描開發(fā)的腳本語言.使用NASL編寫插件的優(yōu)點(diǎn)主要有二個(gè),一是NASL腳本語法簡單,用較短的代碼就可以完成對(duì)一個(gè)漏洞的掃描,任何人通過簡單的學(xué)習(xí),就可以針對(duì)系統(tǒng)漏洞寫出相應(yīng)的測試插件.二是NASL腳本比較安全,NASL不允許在本地系統(tǒng)執(zhí)行任何命令,另外,除了目標(biāo)主機(jī)之外,NSAL不向任何主機(jī)發(fā)送報(bào)文,通過這些限定,使腳本編寫者很難編寫有惡意用途的腳本.
2.2.5 數(shù)據(jù)模塊
數(shù)據(jù)模塊是用來保存系統(tǒng)數(shù)據(jù)的模塊,通過數(shù)據(jù)庫實(shí)現(xiàn),主要包括以下幾方面的數(shù)據(jù).
(1)用戶數(shù)據(jù)庫,用來保存用戶相關(guān)數(shù)據(jù)的,包括用戶名,密碼,用戶所屬組,用戶權(quán)限,注冊時(shí)間,注冊郵箱等.
(2)掃描策略庫,掃描策略庫存放用戶的掃描策略或系統(tǒng)自帶的缺省掃描策略,包括被掃描網(wǎng)段的起始地址,終止地址,目標(biāo)主機(jī)的起始端口,終止端口,最大并發(fā)線程數(shù),特定非連續(xù)端口掃描,策略創(chuàng)建時(shí)間等信息.
(3)漏洞知識(shí)庫,本系統(tǒng)漏洞知識(shí)庫是參照CVE標(biāo)準(zhǔn)建立的,CVE標(biāo)準(zhǔn)為每個(gè)漏洞確定了唯一的名稱,給每個(gè)漏洞一個(gè)標(biāo)準(zhǔn)化的描述.包括漏洞版本,漏洞名稱,漏洞描述,漏洞等級(jí),參考引用,補(bǔ)救建議等.
(4)掃描結(jié)果庫,用來存儲(chǔ)網(wǎng)絡(luò)漏洞掃描最后的結(jié)果,包括掃描的網(wǎng)段,掃描的端口,掃描時(shí)間,掃描獲得的漏洞信息,提出的補(bǔ)救措施等.
2.3 整個(gè)系統(tǒng)工作流程
首先,用戶通過瀏覽器登陸系統(tǒng),掃描控制模塊訪問用戶數(shù)據(jù)庫,驗(yàn)證用戶信息是否正確,如果用戶信息錯(cuò)誤,返回錯(cuò)誤頁面,如果用戶信息正確,進(jìn)入掃描系統(tǒng)工作界面,然后可以設(shè)置掃描參數(shù),設(shè)置掃描任務(wù),然后啟動(dòng)掃描任務(wù),掃描控制模塊調(diào)用掃描引擎,進(jìn)行掃描,掃描引擎調(diào)用相應(yīng)的掃描插件,首先進(jìn)行存活性檢測,檢測目標(biāo)主機(jī)是否在線,如果目標(biāo)主機(jī)不在線,結(jié)束本目標(biāo)主機(jī)的掃描,對(duì)下一目標(biāo)主機(jī)進(jìn)行掃描,如果目標(biāo)主機(jī)在線,則對(duì)目標(biāo)主機(jī)進(jìn)行操作系統(tǒng)檢測,檢測出目標(biāo)主機(jī)所安裝的操作系統(tǒng),然后根據(jù)數(shù)據(jù)模塊的漏洞知識(shí)庫,判斷目標(biāo)主機(jī)可能存在的漏洞,加載插件庫相應(yīng)的漏洞掃描插件進(jìn)行掃描,掃描完成后,掃描插件將掃描的信息寫入掃描結(jié)果庫,掃描控制模塊對(duì)掃描結(jié)果信息進(jìn)行分析,判斷目標(biāo)主機(jī)存在哪些漏洞,并給出相應(yīng)的補(bǔ)救措施,最后以用戶要求的格式(doc,excel,pdf等)顯示結(jié)果,用戶根據(jù)掃描結(jié)果,對(duì)相應(yīng)的漏洞進(jìn)行補(bǔ)救.
面對(duì)嚴(yán)峻的校園網(wǎng)絡(luò)安全現(xiàn)狀,如何確保校園網(wǎng)絡(luò)安全變得越來越重要,而網(wǎng)絡(luò)安全中比較重要的手段就是漏洞掃描,預(yù)先檢測出網(wǎng)絡(luò)的漏洞,并且補(bǔ)救這些漏洞.本文根據(jù)學(xué)院的需求,設(shè)計(jì)了一個(gè)網(wǎng)絡(luò)漏洞掃描系統(tǒng),本系統(tǒng)能檢測出常見的網(wǎng)絡(luò)漏洞,并且提出安全建議,可以為建立安全的校園網(wǎng)提供有價(jià)值的參考,另外本系統(tǒng)采用插件的方式實(shí)現(xiàn)漏洞掃描,對(duì)于新出現(xiàn)的漏洞,可以編寫相應(yīng)的插件加入到系統(tǒng)中,就可以檢測新出現(xiàn)的漏洞了,具有良好的擴(kuò)展性.
〔1〕張玉清,戴祖鋒,謝崇斌.安全掃描技術(shù)[M].北京:清華大學(xué)出版社,2004.10-11.
〔2〕劉莉.洞掃描器的設(shè)計(jì)與實(shí)現(xiàn)[J].北京電子科技學(xué)院學(xué)報(bào), 2006,14(4):86-90.
〔3〕王景中,王雷碩.基于Nessus的漏洞掃描系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2012(11):21-23.
TP309.2
A
1673-260X(2017)04-0021-02
2017-02-11