◆許子先
(中國信息通信研究院安全研究所 北京 100191)
遠程安全評估技術是風險評估中經常使用的遠程安全隱患發現手段及風險評價方法。在評估中經常使用遠程漏洞掃描工具對遠程目標系統繼續漏洞掃描及隱患發現。常見的遠程漏洞掃描工具主要通過以下兩種手段進行漏洞的發現及判定:
(1)通過系統開放服務的版本信息判斷。首先通過端口掃描確定服務器開放端口,在通過服務指紋信息確定服務的類型及版本,最后通過該版本信息在該服務的漏洞庫中查詢該版本及以下版本所存在的漏洞并反饋給用戶。
(2)通過漏洞利用程序對漏洞進行原理驗證。首先通過端口掃描確定服務器開放端口,在通過服務指紋信息確定服務的類型及版本,然后通過漏洞驗證程序poc對其進行原理驗證,通常通過向服務器端口發送漏洞觸發數據包,并通過返回數據包判斷漏洞是否存在。
上述兩種手段均需要保證掃描工具與被測系統網絡互通,并且網絡路徑中如有安全防護設備或網絡質量不佳,都會影響掃描結果的準確性。在私有云架構下,業務系統及服務器基本都部署在私有云內部,不會直接暴露在互聯網上,上述傳統的遠程漏洞掃描方式可能無法直接對私有云內部系統及服務器進行漏洞掃描及隱患發現,并且在云架構多點部署的場景中其掃描檢測效率也會大打折扣。因此需要研究并設計一套云計算環境下的遠程漏洞掃描工具來針對不同類型的云架構形式下的業務系統進行安全評估。
針對上述不同類型的云架構形式下業務系統安全評估的需求,我們研究了一套云計算環境下分布式遠程安全評估技術,并通過系統編程對其進行可行性驗證。通過分布式架構實現“云端管理中心+任務分發節點+掃描執行節點”形式的設計,其主要特點如下:
(1)采用分布式架構擺脫單點評估的局限性。傳統遠程漏洞掃描工具對云內部系統及服務器檢測能力不足,通過“云端管理中心+任務分發節點+掃描執行節點”的架構,可將掃描執行節點部署在私有云內部,對其內部系統及服務器進行漏洞掃描及隱患發現,并將掃描結果發送給任務分發節點,可將任務分發節點部署在私有云與互聯網的邊界處,任務分發節點通過互聯網將結果反饋給云端管理中心,進而實現對私有云內部系統的遠程安全評估。
(2)采用松耦合架構掃描節點易于擴展部署。整個系統采用松耦合架構,每個節點功能獨立耦合度低,易于擴展部署。可在不同物理地點、不同類型網絡架構、不同業務應用場景下分別部署掃描執行節點進行漏洞掃描,掃描執行節點可獨立運行,完成漏洞掃描、隱患發現等功能,并能對掃描結果進行本地存儲及遠程發送。
(3)任務與評估策略統一調度方便大規模管理。通過云端管理中心統一管理評估任務及評估策略庫,云端管理中心將掃描任務及策略庫遠程推送給任務分發節點,根據掃描執行節點的運行狀態(節點位置、任務數量及類型、策略庫版本等信息),任務分發節點將掃描任務下發給不同掃描執行節點,并定時升級各掃描執行節點的策略庫到最新版本。
(4)評估結果匯總分析便于多維度橫向評估。掃描執行節點完成漏洞掃描及隱患發現后,將結果最終反饋到云端管理中心數據庫,云端管理中心可對海量掃描結果進行不同維度的數據分析,如根據不同業務類型進行安全隱患top10統計發現個業務系統中存在的主要安全風險,或根據不同地區進行安全現狀排名等。
云計算環境下遠程安全評估工具框架采用“云端管理中心+任務分發節點+掃描執行節點”的架構實現,示意圖如下:

圖1 云計算環境下遠程安全評估工具框架實現
從上述示意圖中可以看出框架主要分為云端管理中心、任務分發節點、掃描執行節點三大部分,各部分功能如下:
云端管理中心主要功能如下:
(1)評估任務管理。具體包括新建評估任務、開始評估任務、暫停評估任務、刪除評估任務等,通過將評估任務的各種操作指令下發到任務分發節點,最終在掃描執行節點上對具體掃描任務進行管理操作。
(2)評估策略庫管理。評估策略庫是指在安全評估中對漏洞及隱患判定的規則,主要包括版本信息、漏洞說明信息、原理驗證代碼等,通過采集及錄入的方式對云端管理中心的評估策略庫進行不斷更新。遠端管理中心實時將策略版本信息同步到任務分發節點,最終保證掃描執行節點評估策略庫版本及時升級到最新。
(3)評估結果分析。評估任務完成后評估結果會存儲在云端管理中心的數據庫中,管理中心會對個節點評估結果按照不同維度不同規則進行統計分析,如通信行業運營商部署在不同物理地區的具有相同功能的網絡單元需要按照相同標準進行對比統計,可了解不同地區安全防護水平及能力。
在云端管理中心中一個重要的組成部分是評估策略庫,策略庫中的規則條目是否全面、規則判定是否準確,直接影響評估效果。目前策略庫中規則條目主要包括兩大類:通用技術漏洞及業務應用漏洞,其中通用技術漏洞覆蓋如下漏洞類型:
操作系統漏洞:如管理接口弱口令、緩沖區溢出、隱藏后門等。數據庫漏洞:如命令執行、用戶越權、默認賬號密碼等。中間件漏洞:如拒絕服務、反序列化命令執行、文件解析命令執行等。Web通用漏洞:如SQL注入、跨站腳本、跨站請求偽造、文件包含、命令執行、文件上傳等。
業務應用漏洞則是按照通信行業不同網絡單元類型進行歸納匯總的漏洞規則,如網上營業廳跨用戶查詢、業務支撐系統權限繞過、網絡交易系統價格篡改、應用商店系統下載繞過、域名管理系統數據篡改、IP承載網地址欺騙等。
云端管理中心還提供以下兩個功能接口:
(1)web管理接口。管理員通過web管理接口的圖形化操作頁面對系統進行管理操作,如配置掃描節點、創建評估任務、設置評估規則、查看評估結果等等。
(2)api調用接口。api調用接口主要是為第三方工具提供功能調用及擴展的功能,如通過api接口將安全評估的能力提供給其他第三方系統或平臺,第三方系統可通過api接口調用創建評估任務請求來創建評估任務,當評估結束后,通過api接口調用查看評估結果請求來獲取評估結果信息。
任務分發節點主要功能如下:
(1)任務分發。云端管理中心創建評估任務后,任務分發節點會根據各個掃描執行節點的負載情況選擇空閑節點下發評估任務。并以心跳機制與各個掃描節點保持負載狀態信息的傳遞,以便實時掌握評估任務的執行情況,當任務執行異常或出現僵尸進程時,分發節點會下發異常處理或進程重啟指令,并記錄異常向云端管理中心上報執行異常信息。
(2)評估結果收集。各個掃描執行節點執行完評估任務后,會將評估結果以xml格式輸出到任務分發節點,由任務分發節點匯總結果并增加節點標識后將結果推送到云端管理中心數據庫中。如在收集到各個掃描執行節點的評估結果后,任務分發節點對結果數據進行初步分類,按照風險等級分為高、中、低危風險三大類,并將分類后的內容通過數據庫接口,推送到云端管理中心的評估結果數據庫中。
掃描執行節點主要功能如下:
(1)執行掃描任務。接收到任務分發節點下發的掃描任務后,執行節點首先判斷目標類型是域名還是 ip地址,如是域名則會先獲取其對應的ip地址進而獲取該ip地址上綁定的其他域名信息,然后分別對 ip地址及所有域名信息進行漏洞掃描,執行掃描時會依據采集到的基本信息只能匹配評估規則,如根據端口或服務匹配特定服務的評估規則,根據web應用標識匹配特定框架的評估規則等。
(2)掃描結果上報。評估任務執行完成后,掃描執行節點會將結果保存成xml格式,并發送到任務分發節點,結果中會包括詳細的評估過程及結果判定信息,如目標地址、端口、服務、應用、匹配的評估規則、測試時發送的測試數據包、判定時依據返回數據包中的特征等等,做到漏洞信息可追溯、可復現。
在上述框架基礎上我實驗室開發實現了云計算環境下遠程安全評估系統,并以虛擬機的形式部署在互聯網環境中。云端管理中心部署在實驗室內網,任務分發節點部署在實驗室互聯網出口處并配置公網 IP地址以便掃描執行節點可訪問到,掃描執行節點已虛擬服務器的形式分別部署在北京、天津、上海、杭州地區,具體配置如下:

表1 云計算環境下遠程安全評估系統具體配置
通過使用發現該系統運行穩定,可準確發現被評估網絡單元中存在的漏洞,并可評估出被測網絡單元的總體風險等級。但在以下幾個方面需要加強:
(1)評估規則更新。需要有研究團隊對互聯網上披露的漏洞進行及時的研究并將漏洞驗證方法寫出對應的評估規則,以保證系統能獲得最新的漏洞檢測及評估能力,可以更全面、更準確發現被評估系統中存在的安全隱患。
(2)各漏洞發布平臺對漏洞定義統一。由于互聯網各個漏洞發布平臺對同一漏洞的描述及風險等級定義各有不同,導致我們在錄入評估規則時很難統一標準,需要定義一個統一的分類及風險等級。
[1]崇小蕾, 張玉清.信息安全風險評估工具的設計與實現[C].全國網絡與信息安全技術研討會'2005論文集(上冊),2005.
[2]馮妍, 房鼎益, 陳曉江.一個網絡安全風險評估模型的研究與設計[J].計算機應用與軟件, 2007.
[3]仲維國.信息安全風險評估與管理工具研究[C].中國信息協會信息安全專業委員會年會文集,2004.
[4]崇小蕾, 張玉清, 雷震甲.信息安全風險評估工具的設計與實現[J].計算機工程與應用,2006.
[5]楊春暉, 張昊, 王勇.信息安全風險評估及輔助工具應用[J].信息安全與通信保密,2007.
[6]雷新鋒, 劉軍, 肖軍模.一種開放信息安全風險評估的綜合框架及其工具構建[C].中國計算機學會信息保密專業委員會年會,2006.
[7]盧英佳, 卿斯漢.網絡漏洞掃描技術[J].桂林電子科技大學學報,2004.
[8]趙振國, 蔡皖東.網絡漏洞掃描器的設計與實現[J].微電子學與計算機,2005.
[9]李鵬, 楊獻榮, 許麗華.網絡漏洞掃描器的設計與實現[J].計算機工程,2003.
[10]付博文.網絡漏洞掃描器的設計與實現[D].沈陽工業大學, 2003.
[11]段丹青, 陳松喬,楊衛平.漏洞掃描與入侵檢測聯動系統的研究[J].計算機應用研究,2007.
[12]向碧群,黃仁.漏洞掃描技術及其在入侵檢測系統中的應用[J].計算機工程與設計,2006.
[13]龔靜.論計算機網絡安全與漏洞掃描技術[J].湖南工業大學學報,2005.
[14]劉莉, 婁嘉鵬, 官凌青.網絡漏洞掃描器的設計與實現[J].北京電子科技學院學報,2006.
[15]劉莉.網絡漏洞掃描器的設計與實現[D].西安電子科技大學,2007.
[16]呂鎮邦, 張軍才, 張軍.網絡安全漏洞掃描與脆弱性分析研究[J].航空計算技術,2005.
[17]沈偉鋒.面向攻擊的網絡漏洞掃描技術研究及系統實現[D].西北工業大學,2004.
[18]陶亞平.Web應用安全漏洞掃描工具的設計與實現[D].電子科技大學,2010.
[19]趙喜明.計算機網絡安全與漏洞掃描技術研究[J].網絡安全技術與應用,2014.
[20]馬捷, 陳莘萌, 向廣利.基于 Agent的網絡漏洞掃描系統的設計與實現[J].計算機應用研究,2006.
[21]劉云皓.基于網絡的安全漏洞掃描技術研究與系統實現[D].西北工業大學,2003.
[22]郭戈.基于漏洞數據庫系統安全掃描軟件的設計與實現[D].解放軍信息工程大學,2005.