◆許子先
(中國信息通信研究院安全研究所 北京 100191)
遠程安全評估技術(shù)是風(fēng)險評估中經(jīng)常使用的遠程安全隱患發(fā)現(xiàn)手段及風(fēng)險評價方法。在評估中經(jīng)常使用遠程漏洞掃描工具對遠程目標(biāo)系統(tǒng)繼續(xù)漏洞掃描及隱患發(fā)現(xiàn)。常見的遠程漏洞掃描工具主要通過以下兩種手段進行漏洞的發(fā)現(xiàn)及判定:
(1)通過系統(tǒng)開放服務(wù)的版本信息判斷。首先通過端口掃描確定服務(wù)器開放端口,在通過服務(wù)指紋信息確定服務(wù)的類型及版本,最后通過該版本信息在該服務(wù)的漏洞庫中查詢該版本及以下版本所存在的漏洞并反饋給用戶。
(2)通過漏洞利用程序?qū)β┒催M行原理驗證。首先通過端口掃描確定服務(wù)器開放端口,在通過服務(wù)指紋信息確定服務(wù)的類型及版本,然后通過漏洞驗證程序poc對其進行原理驗證,通常通過向服務(wù)器端口發(fā)送漏洞觸發(fā)數(shù)據(jù)包,并通過返回數(shù)據(jù)包判斷漏洞是否存在。
上述兩種手段均需要保證掃描工具與被測系統(tǒng)網(wǎng)絡(luò)互通,并且網(wǎng)絡(luò)路徑中如有安全防護設(shè)備或網(wǎng)絡(luò)質(zhì)量不佳,都會影響掃描結(jié)果的準確性。在私有云架構(gòu)下,業(yè)務(wù)系統(tǒng)及服務(wù)器基本都部署在私有云內(nèi)部,不會直接暴露在互聯(lián)網(wǎng)上,上述傳統(tǒng)的遠程漏洞掃描方式可能無法直接對私有云內(nèi)部系統(tǒng)及服務(wù)器進行漏洞掃描及隱患發(fā)現(xiàn),并且在云架構(gòu)多點部署的場景中其掃描檢測效率也會大打折扣。因此需要研究并設(shè)計一套云計算環(huán)境下的遠程漏洞掃描工具來針對不同類型的云架構(gòu)形式下的業(yè)務(wù)系統(tǒng)進行安全評估。
針對上述不同類型的云架構(gòu)形式下業(yè)務(wù)系統(tǒng)安全評估的需求,我們研究了一套云計算環(huán)境下分布式遠程安全評估技術(shù),并通過系統(tǒng)編程對其進行可行性驗證。通過分布式架構(gòu)實現(xiàn)“云端管理中心+任務(wù)分發(fā)節(jié)點+掃描執(zhí)行節(jié)點”形式的設(shè)計,其主要特點如下:
(1)采用分布式架構(gòu)擺脫單點評估的局限性。傳統(tǒng)遠程漏洞掃描工具對云內(nèi)部系統(tǒng)及服務(wù)器檢測能力不足,通過“云端管理中心+任務(wù)分發(fā)節(jié)點+掃描執(zhí)行節(jié)點”的架構(gòu),可將掃描執(zhí)行節(jié)點部署在私有云內(nèi)部,對其內(nèi)部系統(tǒng)及服務(wù)器進行漏洞掃描及隱患發(fā)現(xiàn),并將掃描結(jié)果發(fā)送給任務(wù)分發(fā)節(jié)點,可將任務(wù)分發(fā)節(jié)點部署在私有云與互聯(lián)網(wǎng)的邊界處,任務(wù)分發(fā)節(jié)點通過互聯(lián)網(wǎng)將結(jié)果反饋給云端管理中心,進而實現(xiàn)對私有云內(nèi)部系統(tǒng)的遠程安全評估。
(2)采用松耦合架構(gòu)掃描節(jié)點易于擴展部署。整個系統(tǒng)采用松耦合架構(gòu),每個節(jié)點功能獨立耦合度低,易于擴展部署??稍诓煌锢淼攸c、不同類型網(wǎng)絡(luò)架構(gòu)、不同業(yè)務(wù)應(yīng)用場景下分別部署掃描執(zhí)行節(jié)點進行漏洞掃描,掃描執(zhí)行節(jié)點可獨立運行,完成漏洞掃描、隱患發(fā)現(xiàn)等功能,并能對掃描結(jié)果進行本地存儲及遠程發(fā)送。
(3)任務(wù)與評估策略統(tǒng)一調(diào)度方便大規(guī)模管理。通過云端管理中心統(tǒng)一管理評估任務(wù)及評估策略庫,云端管理中心將掃描任務(wù)及策略庫遠程推送給任務(wù)分發(fā)節(jié)點,根據(jù)掃描執(zhí)行節(jié)點的運行狀態(tài)(節(jié)點位置、任務(wù)數(shù)量及類型、策略庫版本等信息),任務(wù)分發(fā)節(jié)點將掃描任務(wù)下發(fā)給不同掃描執(zhí)行節(jié)點,并定時升級各掃描執(zhí)行節(jié)點的策略庫到最新版本。
(4)評估結(jié)果匯總分析便于多維度橫向評估。掃描執(zhí)行節(jié)點完成漏洞掃描及隱患發(fā)現(xiàn)后,將結(jié)果最終反饋到云端管理中心數(shù)據(jù)庫,云端管理中心可對海量掃描結(jié)果進行不同維度的數(shù)據(jù)分析,如根據(jù)不同業(yè)務(wù)類型進行安全隱患top10統(tǒng)計發(fā)現(xiàn)個業(yè)務(wù)系統(tǒng)中存在的主要安全風(fēng)險,或根據(jù)不同地區(qū)進行安全現(xiàn)狀排名等。
云計算環(huán)境下遠程安全評估工具框架采用“云端管理中心+任務(wù)分發(fā)節(jié)點+掃描執(zhí)行節(jié)點”的架構(gòu)實現(xiàn),示意圖如下:
圖1 云計算環(huán)境下遠程安全評估工具框架實現(xiàn)
從上述示意圖中可以看出框架主要分為云端管理中心、任務(wù)分發(fā)節(jié)點、掃描執(zhí)行節(jié)點三大部分,各部分功能如下:
云端管理中心主要功能如下:
(1)評估任務(wù)管理。具體包括新建評估任務(wù)、開始評估任務(wù)、暫停評估任務(wù)、刪除評估任務(wù)等,通過將評估任務(wù)的各種操作指令下發(fā)到任務(wù)分發(fā)節(jié)點,最終在掃描執(zhí)行節(jié)點上對具體掃描任務(wù)進行管理操作。
(2)評估策略庫管理。評估策略庫是指在安全評估中對漏洞及隱患判定的規(guī)則,主要包括版本信息、漏洞說明信息、原理驗證代碼等,通過采集及錄入的方式對云端管理中心的評估策略庫進行不斷更新。遠端管理中心實時將策略版本信息同步到任務(wù)分發(fā)節(jié)點,最終保證掃描執(zhí)行節(jié)點評估策略庫版本及時升級到最新。
(3)評估結(jié)果分析。評估任務(wù)完成后評估結(jié)果會存儲在云端管理中心的數(shù)據(jù)庫中,管理中心會對個節(jié)點評估結(jié)果按照不同維度不同規(guī)則進行統(tǒng)計分析,如通信行業(yè)運營商部署在不同物理地區(qū)的具有相同功能的網(wǎng)絡(luò)單元需要按照相同標(biāo)準進行對比統(tǒng)計,可了解不同地區(qū)安全防護水平及能力。
在云端管理中心中一個重要的組成部分是評估策略庫,策略庫中的規(guī)則條目是否全面、規(guī)則判定是否準確,直接影響評估效果。目前策略庫中規(guī)則條目主要包括兩大類:通用技術(shù)漏洞及業(yè)務(wù)應(yīng)用漏洞,其中通用技術(shù)漏洞覆蓋如下漏洞類型:
操作系統(tǒng)漏洞:如管理接口弱口令、緩沖區(qū)溢出、隱藏后門等。數(shù)據(jù)庫漏洞:如命令執(zhí)行、用戶越權(quán)、默認賬號密碼等。中間件漏洞:如拒絕服務(wù)、反序列化命令執(zhí)行、文件解析命令執(zhí)行等。Web通用漏洞:如SQL注入、跨站腳本、跨站請求偽造、文件包含、命令執(zhí)行、文件上傳等。
業(yè)務(wù)應(yīng)用漏洞則是按照通信行業(yè)不同網(wǎng)絡(luò)單元類型進行歸納匯總的漏洞規(guī)則,如網(wǎng)上營業(yè)廳跨用戶查詢、業(yè)務(wù)支撐系統(tǒng)權(quán)限繞過、網(wǎng)絡(luò)交易系統(tǒng)價格篡改、應(yīng)用商店系統(tǒng)下載繞過、域名管理系統(tǒng)數(shù)據(jù)篡改、IP承載網(wǎng)地址欺騙等。
云端管理中心還提供以下兩個功能接口:
(1)web管理接口。管理員通過web管理接口的圖形化操作頁面對系統(tǒng)進行管理操作,如配置掃描節(jié)點、創(chuàng)建評估任務(wù)、設(shè)置評估規(guī)則、查看評估結(jié)果等等。
(2)api調(diào)用接口。api調(diào)用接口主要是為第三方工具提供功能調(diào)用及擴展的功能,如通過api接口將安全評估的能力提供給其他第三方系統(tǒng)或平臺,第三方系統(tǒng)可通過api接口調(diào)用創(chuàng)建評估任務(wù)請求來創(chuàng)建評估任務(wù),當(dāng)評估結(jié)束后,通過api接口調(diào)用查看評估結(jié)果請求來獲取評估結(jié)果信息。
任務(wù)分發(fā)節(jié)點主要功能如下:
(1)任務(wù)分發(fā)。云端管理中心創(chuàng)建評估任務(wù)后,任務(wù)分發(fā)節(jié)點會根據(jù)各個掃描執(zhí)行節(jié)點的負載情況選擇空閑節(jié)點下發(fā)評估任務(wù)。并以心跳機制與各個掃描節(jié)點保持負載狀態(tài)信息的傳遞,以便實時掌握評估任務(wù)的執(zhí)行情況,當(dāng)任務(wù)執(zhí)行異常或出現(xiàn)僵尸進程時,分發(fā)節(jié)點會下發(fā)異常處理或進程重啟指令,并記錄異常向云端管理中心上報執(zhí)行異常信息。
(2)評估結(jié)果收集。各個掃描執(zhí)行節(jié)點執(zhí)行完評估任務(wù)后,會將評估結(jié)果以xml格式輸出到任務(wù)分發(fā)節(jié)點,由任務(wù)分發(fā)節(jié)點匯總結(jié)果并增加節(jié)點標(biāo)識后將結(jié)果推送到云端管理中心數(shù)據(jù)庫中。如在收集到各個掃描執(zhí)行節(jié)點的評估結(jié)果后,任務(wù)分發(fā)節(jié)點對結(jié)果數(shù)據(jù)進行初步分類,按照風(fēng)險等級分為高、中、低危風(fēng)險三大類,并將分類后的內(nèi)容通過數(shù)據(jù)庫接口,推送到云端管理中心的評估結(jié)果數(shù)據(jù)庫中。
掃描執(zhí)行節(jié)點主要功能如下:
(1)執(zhí)行掃描任務(wù)。接收到任務(wù)分發(fā)節(jié)點下發(fā)的掃描任務(wù)后,執(zhí)行節(jié)點首先判斷目標(biāo)類型是域名還是 ip地址,如是域名則會先獲取其對應(yīng)的ip地址進而獲取該ip地址上綁定的其他域名信息,然后分別對 ip地址及所有域名信息進行漏洞掃描,執(zhí)行掃描時會依據(jù)采集到的基本信息只能匹配評估規(guī)則,如根據(jù)端口或服務(wù)匹配特定服務(wù)的評估規(guī)則,根據(jù)web應(yīng)用標(biāo)識匹配特定框架的評估規(guī)則等。
(2)掃描結(jié)果上報。評估任務(wù)執(zhí)行完成后,掃描執(zhí)行節(jié)點會將結(jié)果保存成xml格式,并發(fā)送到任務(wù)分發(fā)節(jié)點,結(jié)果中會包括詳細的評估過程及結(jié)果判定信息,如目標(biāo)地址、端口、服務(wù)、應(yīng)用、匹配的評估規(guī)則、測試時發(fā)送的測試數(shù)據(jù)包、判定時依據(jù)返回數(shù)據(jù)包中的特征等等,做到漏洞信息可追溯、可復(fù)現(xiàn)。
在上述框架基礎(chǔ)上我實驗室開發(fā)實現(xiàn)了云計算環(huán)境下遠程安全評估系統(tǒng),并以虛擬機的形式部署在互聯(lián)網(wǎng)環(huán)境中。云端管理中心部署在實驗室內(nèi)網(wǎng),任務(wù)分發(fā)節(jié)點部署在實驗室互聯(lián)網(wǎng)出口處并配置公網(wǎng) IP地址以便掃描執(zhí)行節(jié)點可訪問到,掃描執(zhí)行節(jié)點已虛擬服務(wù)器的形式分別部署在北京、天津、上海、杭州地區(qū),具體配置如下:
表1 云計算環(huán)境下遠程安全評估系統(tǒng)具體配置
通過使用發(fā)現(xiàn)該系統(tǒng)運行穩(wěn)定,可準確發(fā)現(xiàn)被評估網(wǎng)絡(luò)單元中存在的漏洞,并可評估出被測網(wǎng)絡(luò)單元的總體風(fēng)險等級。但在以下幾個方面需要加強:
(1)評估規(guī)則更新。需要有研究團隊對互聯(lián)網(wǎng)上披露的漏洞進行及時的研究并將漏洞驗證方法寫出對應(yīng)的評估規(guī)則,以保證系統(tǒng)能獲得最新的漏洞檢測及評估能力,可以更全面、更準確發(fā)現(xiàn)被評估系統(tǒng)中存在的安全隱患。
(2)各漏洞發(fā)布平臺對漏洞定義統(tǒng)一。由于互聯(lián)網(wǎng)各個漏洞發(fā)布平臺對同一漏洞的描述及風(fēng)險等級定義各有不同,導(dǎo)致我們在錄入評估規(guī)則時很難統(tǒng)一標(biāo)準,需要定義一個統(tǒng)一的分類及風(fēng)險等級。
[1]崇小蕾, 張玉清.信息安全風(fēng)險評估工具的設(shè)計與實現(xiàn)[C].全國網(wǎng)絡(luò)與信息安全技術(shù)研討會'2005論文集(上冊),2005.
[2]馮妍, 房鼎益, 陳曉江.一個網(wǎng)絡(luò)安全風(fēng)險評估模型的研究與設(shè)計[J].計算機應(yīng)用與軟件, 2007.
[3]仲維國.信息安全風(fēng)險評估與管理工具研究[C].中國信息協(xié)會信息安全專業(yè)委員會年會文集,2004.
[4]崇小蕾, 張玉清, 雷震甲.信息安全風(fēng)險評估工具的設(shè)計與實現(xiàn)[J].計算機工程與應(yīng)用,2006.
[5]楊春暉, 張昊, 王勇.信息安全風(fēng)險評估及輔助工具應(yīng)用[J].信息安全與通信保密,2007.
[6]雷新鋒, 劉軍, 肖軍模.一種開放信息安全風(fēng)險評估的綜合框架及其工具構(gòu)建[C].中國計算機學(xué)會信息保密專業(yè)委員會年會,2006.
[7]盧英佳, 卿斯?jié)h.網(wǎng)絡(luò)漏洞掃描技術(shù)[J].桂林電子科技大學(xué)學(xué)報,2004.
[8]趙振國, 蔡皖東.網(wǎng)絡(luò)漏洞掃描器的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機,2005.
[9]李鵬, 楊獻榮, 許麗華.網(wǎng)絡(luò)漏洞掃描器的設(shè)計與實現(xiàn)[J].計算機工程,2003.
[10]付博文.網(wǎng)絡(luò)漏洞掃描器的設(shè)計與實現(xiàn)[D].沈陽工業(yè)大學(xué), 2003.
[11]段丹青, 陳松喬,楊衛(wèi)平.漏洞掃描與入侵檢測聯(lián)動系統(tǒng)的研究[J].計算機應(yīng)用研究,2007.
[12]向碧群,黃仁.漏洞掃描技術(shù)及其在入侵檢測系統(tǒng)中的應(yīng)用[J].計算機工程與設(shè)計,2006.
[13]龔靜.論計算機網(wǎng)絡(luò)安全與漏洞掃描技術(shù)[J].湖南工業(yè)大學(xué)學(xué)報,2005.
[14]劉莉, 婁嘉鵬, 官凌青.網(wǎng)絡(luò)漏洞掃描器的設(shè)計與實現(xiàn)[J].北京電子科技學(xué)院學(xué)報,2006.
[15]劉莉.網(wǎng)絡(luò)漏洞掃描器的設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2007.
[16]呂鎮(zhèn)邦, 張軍才, 張軍.網(wǎng)絡(luò)安全漏洞掃描與脆弱性分析研究[J].航空計算技術(shù),2005.
[17]沈偉鋒.面向攻擊的網(wǎng)絡(luò)漏洞掃描技術(shù)研究及系統(tǒng)實現(xiàn)[D].西北工業(yè)大學(xué),2004.
[18]陶亞平.Web應(yīng)用安全漏洞掃描工具的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2010.
[19]趙喜明.計算機網(wǎng)絡(luò)安全與漏洞掃描技術(shù)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014.
[20]馬捷, 陳莘萌, 向廣利.基于 Agent的網(wǎng)絡(luò)漏洞掃描系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用研究,2006.
[21]劉云皓.基于網(wǎng)絡(luò)的安全漏洞掃描技術(shù)研究與系統(tǒng)實現(xiàn)[D].西北工業(yè)大學(xué),2003.
[22]郭戈.基于漏洞數(shù)據(jù)庫系統(tǒng)安全掃描軟件的設(shè)計與實現(xiàn)[D].解放軍信息工程大學(xué),2005.