夏敏捷,夏 冰
(中原工學院,鄭州 450007)
分布式網絡安全評估系統中Web服務器安全掃描的研究
夏敏捷,夏 冰
(中原工學院,鄭州 450007)
針對Web安全研究熱點,提出了Web服務器安全掃描系統的設計問題.在此基礎上以 IIS為例闡述了Web服務器安全掃描功的能具體實現,應用該系統可以有效檢測Web服務器系統的安全性.
安全評估;漏洞;Web安全
隨著Internet及Web的迅速發展,黑客入侵及篡改網頁等問題越來越引起人們的關注.隨著Web內容的增加、應用程序功能的豐富和用戶的普及,Web安全問題已經不容忽視.
在Web安全問題中,Web服務器的安全是最基礎也是最困難的問題.Web服務器的安全威脅[1]主要體現在以下方面:服務器程序編寫不當導致的遠程代碼執行;應用程序編寫不當、過濾不嚴格造成的代碼注入引起信息泄露;盲目相信用戶輸入、過濾不嚴格導致跨站腳本攻擊;針對服務器系統的拒絕服務攻擊等.
Web服務器安全威脅的主要原因是存在Web安全漏洞.國內Web安全漏洞掃描技術起步較晚,是在國外Web安全漏洞掃描技術的基礎上發展起來的,雖取得了一定的研究成果,但與國際水平相比,還存在著一定的差距.基于以上的Web安全現狀,本文對Web服務器安全漏洞掃描技術進行了研究,該研究對Web服務器系統的安全性檢測具有一定的使用價值.
Web安全漏洞(Vulnerability),是指一個Web系統的各個組件(Web服務器、Web應用程序、數據庫連接器以及數據庫)在設計與實現過程中或安全策略上的漏洞.非法用戶可以利用漏洞獲得系統的額外權限,在未經授權的情況下訪問系統或提高訪問權限,從而破壞系統的安全性.
Web安全漏洞可以分為2類:一類是 Web平臺的安全漏洞;另一類是應用程序的安全漏洞.以下詳細介紹這2類漏洞:
(1)Web平臺的安全漏洞.Web服務器(如Linux、Window s IIS、Apache和 Oracle等)自身的安全漏洞.最常用的 Web服務器是Apache和 IIS.各種Web服務器都有一系列安全漏洞.
(2)Web應用程序的安全漏洞.Web應用程序自身的安全漏洞,即Web站點中的編程錯誤引起用戶詳細信息的暴露、允許惡意用戶執行任意的數據庫查詢,甚至允許通過遠程命令訪問服務器.常見的Web應用程序漏洞[2]有以下幾大類:物理路徑泄露漏洞、源代碼泄露漏洞、目錄遍歷漏洞、執行任意命令、緩沖區溢出漏洞、拒絕服務攻擊、CGI漏洞攻擊、站點腳本攻擊、SQL注入、不安全的配置管理等.
本文研究的Web服務器是 IIS(Internet信息服務),它作為一種開放服務,其發布的文件和數據是無需保護的.但是IIS作為Window s系統的一部分,卻可能由于本身的安全漏洞導致整個Window s系統被攻陷.事實上,許多黑客正是借助 IIS成功實現了對Window s系統的攻擊,獲取了特權用戶權限和敏感數據.
Web服務器安全掃描系統用來對IIS進行安全掃描,讓管理員能運用此系統盡早地檢測出服務器端存在的風險,以便及時地采取措施來避免黑客入侵,一定程度上保證服務器的安全性.Web服務器安全掃描是整個網絡安全評估系統[3]的基礎.
對于Web服務器安全掃描,可從3個方面進行研究:
(1)Web服務器本身的安全掃描.Web服務器本身的漏洞主要以微軟IIS程序的相關漏洞為依據.查看主機的補丁安裝情況,如果該主機沒有安裝漏洞數據庫中的補丁,說明存在一個Web服務器本身漏洞.
(2)Web服務器的危險或錯誤配置掃描.主要研究系統危險或錯誤配置(主要包括是否關閉默認共享,禁止空連接,防止SYN洪水攻擊,防止 ICM P重定向報文的攻擊等)和IIS危險或錯誤配置(主要包括不必要虛擬目錄,危險組件 WScrip t.Network、WScrip t.Netwo rk.1、WScrip t.Shell,不必要的應用程序映射等).從注冊表中查找相應安全配置的子鍵,如果子鍵的鍵值不是安全鍵值,說明存在一個漏洞.
(3)Web服務器端運行的腳本風險掃描.主要研究CGI腳本漏洞.CGI腳本是實現Web交互功能的重要手段,Shell腳本、Perl程序和C可執行程序是其最常用的形式.由于程序編寫上的疏忽,很多CGI腳本都存在漏洞.通過給服務器發送存在漏洞的CGI請求,查看服務器的返回信息,如果服務器返回成功信息,說明存在一個CGI漏洞[4].
Web服務器安全掃描系統模塊如圖1所示.

圖1 Web服務器安全掃描系統模塊圖
Web服務器本身漏洞是從是否安裝補丁方面來考慮的.其主要實現過程如下:遍歷系統注冊表中H KEY_LOCAL_MACH INESOFTWAREM icrosoftWindow s N TCurrentVersionHotfix子鍵下的所有子鍵,在該子鍵下存在的子鍵都是系統已經安裝的補丁,通過將這些子鍵與數據庫中記錄的補丁對比,從而判斷出該操作系統是否存在沒有安裝的IIS補丁.如果有沒安裝的 IIS補丁,說明存在一個Web服務器本身漏洞,將此漏洞信息顯示到漏洞列表中.
它主要有以下2個實現步驟:
(1)查看操作系統的版本及是否安裝了IIS.
H KEY_LOCAL_M ACH INESYSTEMCurrentControlSetServicesW 3SVCParameters子鍵下的M ajorVersion鍵和M inorVersion鍵的鍵值即 IIS的版本號,據此可以判斷是否安裝了IIS.
通過HKEY_LOCAL_MACH INESOFTWAREM icrosoftWindow s N TCurrentVersion子鍵下ProductName鍵的鍵值獲取操作系統名稱,CSDVersion鍵的鍵值獲取操作系統版本.
(2)掃描該IIS版本的本身漏洞.將漏洞數據庫中所有補丁與在注冊表中 H KEY_LOCAL_M ACH INESoftwareM icrosoftWindow s N TCurrentVersionHotfix子鍵下的所有子鍵(這些子鍵都是安裝過的補丁)進行匹配,如果漏洞數據庫中的補丁在該子鍵下不存在,則存在一個本身漏洞.該模塊的流程如圖2所示.

圖2 Web服務器本身漏洞流程圖
Web服務器危險或錯誤配置掃描從2個方面來考慮:一個方面是系統危險或錯誤配置掃描;另一個方面是IIS危險或錯誤配置掃描.
對Web服務器危險或錯誤配置進行掃描涉及到怎樣才能獲取該服務器上的安全設置.Web服務器的安全設置都保存在注冊表中,掃描時找到注冊表中相應的鍵值,將其值與數據庫中安全的Web服務器設置值進行匹配,如果匹配不成功,則說明存在一個相應的漏洞.
例如:掃描是否關閉默認共享,如果注冊表H KEY_LOCAL_MACH INESYSTEMCurrent-ControlSetServicesLanmanServerParameters子鍵下的AutoShareServer鍵的值為0,說明不存在這個漏洞,否則存在漏洞,將其信息顯示到漏洞列表中.
該掃描具體實現如下:
(1)系統危險或錯誤配置掃描.其步驟如下:
第一,做一些初始化的工作,定義變量;
第二,讀取數據庫中 WebSystem SafeReg表的數據,得到注冊表中要查詢的子鍵;
第三,用函數 RegOpen KeyEx(RootKey,lp Sub-Key,0,KEY_READ,&h Key)來打開要查詢的子鍵;
第四,如果注冊表打開成功,則用函數RegQuery-ValueEx(h Key,ValueName,NULL,&dw Type,(LPBYTE)lpData,&dw Length)來讀取要查詢子鍵下的特定鍵的值;
第五,將從注冊表中讀取的值與數據庫中字段Value的值進行比較.如果不相同,則存在這個配置的漏洞,將漏洞信息顯示到漏洞列表中;
第六,如果注冊表中不存在要查詢子鍵下的特定鍵,則說明存在這個配置的漏洞,變量config_Amount記錄漏洞個數,并將漏洞信息顯示到漏洞列表中;
第七,關閉注冊表和數據庫的連接.
該掃描的流程如圖3所示.
(2)IIS危險或錯誤配置掃描.因為IIS危險或錯誤配置的掃描流程與系統危險或錯誤配置的掃描流程基本一致,僅僅增加了不必要虛擬目錄的掃描,所以這里不再描述掃描過程.
先是通過socket和Web服務器建立 H TTP連接,如果連接成功,則向服務器發送特殊的請求(CGI漏洞請求),并接收服務器的返回信息.如果返回信息為“200 OK”,則說明特殊請求發送成功,該服務器存在CGI漏洞.該掃描的流程如圖4所示.

圖3 系統危險或錯誤配置流程圖

圖4 Web服務器端運行的腳本風險掃描流程圖
本文闡述了 IIS安全掃描系統的設計,并從3個方面討論了其具體的實現.該系統可以幫助管理員了解Web服務器的安全配置,及時發現安全漏洞,有效地在黑客攻擊前進行防范.隨著網絡技術的不斷發展,對Web安全掃描將會有新的要求和挑戰.
本系統對 IIS的安全漏洞掃描存在以下問題:①Web服務器端運行的腳本風險功能不完全.本系統現在實現了CGI漏洞的掃描,所以該功能還有待進一步完善;②漏洞數據庫以及收集的漏洞信息有待進一步去完善;③漏洞檢測方法的滯后性.當前的漏洞檢測方法依然采用已知的安全漏洞與被測系統信息相匹配的方式,這使得漏洞的檢測總是滯后于漏洞的暴露,所以需要對漏洞檢測方法和漏洞庫的維護做進一步的研究.
[1]彭寒.Web應用安全漏洞測試工具Punks的設計與實現[D].西安:西安電子科技大學,2007.
[2]呂鎮邦,張軍才,張軍.網絡安全漏洞掃描與脆弱性分析研究[J].航空計算技術,2005(2):118-121.
[3]周崢偉.一種基于攻擊路徑的安全漏洞風險評估模型[D].上海:上海交通大學,2006.
[4]郭戈.基于漏洞數據庫系統安全掃描軟件的設計與實現[D].鄭州:信息工程大學,2005.
Research on Web Server Security Scanning in Network Security Evaluation System
XIA M in-jie,X IA Bing
(Zhongyuan University of Technology,Zhengzhou 450007,China)
The system design of Web server security scanning is p resented in connection w ith research of Web security vulnerabilities.Specific imp lementation of the vulnerability scan function is described in detail on IIS web server.The security of Web server system can be detected using the system.
security assessment;vulnerability scanning;Web security
TP391
A
10.3969/j.issn.1671-6906.2011.01.005
1671-6906(2011)01-0019-04
2010-12-17
河南省科技攻關項目(092102310038)
夏敏捷(1974-),男,河南三門峽人,副教授.