《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于Fuzzing的Web控件漏洞檢測改進模型
基于Fuzzing的Web控件漏洞檢測改進模型
來源:微型機與應用2012年第4期
美秀1,俞 潔1,姚國祥2
(1.暨南大學 信息科學技術學院,廣東 廣州510632; 2.暨南大學 網絡中心,廣東 廣州510
摘要: Web軟件安全漏洞層出不窮,攻擊手段日益變化,為分析現有的Web控件漏洞檢測方法,提出基于Fuzzing測試方法的Web控件漏洞檢測改進模型。該系統從功能上分為五大模塊進行設計和實現,并結合靜態分析與動態分析技術檢測Web ActiveX控件模型的漏洞,給出“啟發式規則”來優化測試數據生成引擎。實例測試結果表明,Web控件漏洞的Fuzzing測試模型是有效和可行的,并能妥善處理好交互性問題。
Abstract:
Key words :

摘  要: Web軟件安全漏洞層出不窮,攻擊手段日益變化,為分析現有的Web控件漏洞檢測方法,提出基于Fuzzing測試方法的Web控件漏洞檢測改進模型。該系統從功能上分為五大模塊進行設計和實現,并結合靜態分析與動態分析技術檢測Web ActiveX控件模型的漏洞,給出“啟發式規則”來優化測試數據生成引擎。實例測試結果表明,Web控件漏洞的Fuzzing測試模型是有效和可行的,并能妥善處理好交互性問題。
關鍵詞: Fuzzing測試;Web控件;漏洞檢測;漏洞分析

    “漏洞”是計算機系統在硬件、軟件、協議的具體實現或系統安全策略上存在的安全方面的缺陷。漏洞一旦被發現,攻擊者就可使用這個漏洞獲得計算機系統的額外權限,使在未授權的情況下訪問或破壞系統[1]。Web控件漏洞數量在近幾年呈現迅速增長的趨勢,根據著名的軟件安全公司賽門鐵克關于Web控件安全漏洞的統計:2007年至2009年的檢測Web漏洞呈幾何數量級增長[2]。針對日益增多的ActiveX 控件漏洞,一方面操作系統安全工程師被動地研究新的防御機制,另一方面許多軟件安全研究人員主動地探究ActiveX 控件漏洞的發掘技術。目前常用的漏洞挖掘技術主要有Fuzzing技術、靜態分析技術、動態調試技術、補丁比較技術等[3]。
1 Fuzzing漏洞檢測模型
    Fuzzing漏洞測試方法的選擇依賴不同的因素,如目標程序、需要測試的數據所采用的格式、研究者的技能等,但其步驟相對一致。故此,可以抽象其模型,圖1是Fuzzing漏洞檢測模型示意圖[4]。

    首要步驟是構造有可能觸發漏洞的畸形測試數據。此模塊完成測試目標各種信息收集的功能,收集的這些信息為接下來的進一步測試服務,對Fuzzing測試能否檢測到漏洞起決定性的作用。新的測試數據可以用預先設定的值,也可以通過改變已有的測試數據來動態生成。
    Fuzzing漏洞檢測模型的核心步驟是Fuzzing測試。一般都可設置測試模式,即指定該次測試用的是組合字段測試、等價類測試、邊界值測試等模式。也可以在后續異常分析時進行數據構造方式以及測試模式的調整,從而使測試過程更加高效。
    異常監視也是Fuzzing測試中較為重要的步驟。異常監視可以使我們確切知道測試數據包或者文檔在送往Fuzzing系統測試的過程中,哪些數據包和文檔觸發了系統異常。再者,異常監視可以記錄下異常情況下的一些重要信息,如寄存器狀態、CPU狀態以及堆棧狀態等,以供下一步的異常分析做參考。
    異常分析的任務是確定該次異常是否有可利用性以及是否是漏洞。因為觸發系統異常的原因繁多,不只是軟件漏洞,軟件的bug也可能導致系統崩潰。異常分析幾乎是現階段每一套Fuzzing系統的弱點,因為其涉及的人工分析工作太多,所以這一環節很難引入自動化機制。
2 傳統的Web控件漏洞檢測模型
    傳統模型主要由測試前準備、測試階段、測試后報告三個階段組成。測試前準備階段包括分析Web控件屬性、分析函數及其參數、生成測試數據等;測試階段主要包括模擬用戶打開測試實例、動態異常監測和異常記錄。圖2所示為傳統的ActiveX控件漏洞檢測模型。

 

 

2.1 測試前準備階段
    首先,確定目標Web ActiveX控件,即找出Web控件的CLSID。在注冊表相應的表項信息中根據控件的CLSID,確認其是否實現IObjectSafety安全接口、是否是腳本安全、是否被設置了killbit位,只有在確認控件實現了IObjectSafety安全接口、腳本安全、沒有被設置KillBit位的情況下,才繼續后續的步驟。
    最后,還要分析出ActivieX控件的屬性列表、函數列表以及函數參數列表,只有明確這些列表之后,才能根據不同的漏洞有針對性地構造Fuzzing測試數據。這也是Web ActiveX控件Fuzzing漏洞測試的特殊性之一。
2.2 測試階段
    在測試階段,將每個測試實例送往目標程序進行測試。在Web控件的漏洞檢測過程中,測試實例往往以htm、html、wsf、PDF等文檔格式存在,將所有的測試文檔打開,使其可以用程序模擬用戶手工點擊實現。
    打開測試文檔后,IE彈出對話框提示是否加載相應的Web控件。Web控件加載、Web控件初始化、測試實例調用控件方法等過程,都可能出現異常,可以利用Windows提供的調試接口和Windows的結構化異常處理機制SEH,將Fuzzing工具作為調試器附加在IE瀏覽器之上,這樣便可以接收、處理、記錄IE的各種調試、異常事件。當異常出現時,Windows系統總會彈出錯誤提示窗口,一個較為完善的Fuzzing測試工具,必須能夠模擬用戶點擊關閉提示窗口,該功能可以用Windows提供的HOOK技術實現,在以后的研究中將更為詳細地分析和解決這個問題。
2.3 測試報告階段
    在捕獲并保存服務器進程內部的異常之后,原型系統將對異常信息進行自動分析,從而智能地給出異常分析報告。該模型系統所實現的異常自動分析算法能夠有效地分析出導致異常命令、異常類型以及異常風險程度等。根據該算法生成的異常分析報告在一定程度上能減少漏洞分析人員的后期分析工作,縮短漏洞分析時間,從而提高漏洞發掘的效率。
2.4 傳統Web控件漏洞檢測模型的不足
    傳統模型存在以下幾方面不足:(1)若ActiveX控件的可調用方法列表較長,這對于Fuzzing漏洞測試的工作量將大大增加,包括測試樣本數據的數量增加和測試過程的時間增加。本文應用代碼掃描分析技術解決這個問題,有效地減少了測試的工作量。(2)生成測試數據的隨機性。對此,本文采用啟發式生成測試數據的方式來解決,提高了漏洞發掘效率和自動化程度。(3)測試方法較為單一,動態分析可在代碼執行過程中查看代碼,善于發現運行時錯誤;而靜態分析通過算法檢查代碼的錯誤。傳統的模型比較著重靜態分析,很難發現復雜交互中產生的缺陷,本文采用靜態分析和動態分析結合的方式。
3 Web控件漏洞檢測模型的改進
    針對Web控件漏洞檢測模型的不足,本文采用一種融合代碼掃描和Fuzzing測試的改進模型,采用靜態分析和動態分析相結合的方法,如圖3所示。改進后的模型增加了代碼掃描分析模塊、啟發式生成測試數據模塊、OllyDbg分析測試模塊等模塊。

3.1 代碼掃描分析模塊
    本模塊的目的是減小測試函數列表。模塊搜索函數地址空間中的“目標字”,為測試數據的構造提供支持。另外,用IDA等反匯編工具對目標程序的二進制文件進行反匯編,若文件掃描到運用了不安全方法,則將此控件函數標記為待測試函數。
3.2 啟發式生成測試數據模塊
    借鑒人工智能中的遺傳變異和啟發式算法來生成測試數據, 使測試數據更具針對性,從而提高漏洞發掘效率和自動化程度。
3.3 OLLYDBG分析測試結果模塊
    利用Fuzzing進行漏洞發掘時,漏洞發掘人員往往需要第三方調試器配合才能有效地發掘軟件漏洞。本模型系統采用OLLYDBG對服務器進程進行全程監控。OLLYDBG是一個新的動態追蹤工具,它將IDA與SoftICE相結合,成為目前最強大的調試工具。
4 測試結果及分析
    為了驗證本文提出的Web控件漏洞Fuzzing測試模型的可行性和有效性,選擇用戶量較大的“暴風影音”播放器進行測試(主要針對其mps.dll控件進行測試)。測試環境如下:Windows系統的Internet Explore:V7.0,測試對象:暴風影音(Stormplayer)V3.11。
4.1 枚舉ActiveX控件屬性、方法及方法參數
    安裝“暴風影音V3.11”,然后用改進的Fuzzing測試模型針對暴風影音的mps.dll控件進行測試,枚舉ActiveX控件的屬性、方法和方法參數。
4.2 構造測試文檔
    本文的Fuzzing測試模型,在枚舉出來的屬性和方法的參數列表中,右擊任意一個屬性或方法,便可生成對應的測試數據。模型以VB腳本文檔形式生成測試文檔,便于wscript.exe的直接調用。下面代碼是暴風影音mps.dll控件的導出函數OnBeforeVideoDownload()的Fuzzing測試文檔之一。
    <?XML version='1.0' standalone='yes' ?>
    <package><job id='DoneInVBS' debug='false' error='true'>
    <object classid='clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB' id='target' />
    <script language='vbscript'>
    'Wscript.echo typename(target)
    targetFile = "C:\Program Files\StormPlayer \mps.dll"
    prototype  = "Sub OnBeforeVideoDownload ( ByVal URL As String )"
    memberName = "OnBeforeVideoDownload"
    progid="MPSLib.StormPlayer"
    argCount=1
    arg1=String(8212, "A")
    target.OnBeforeVideoDownload arg1
    </script></job></package>
4.3 漏洞測試及結果分析
    構造了一系列的測試文檔之后,下面要進行漏洞測試。當ActiveX控件的屬性或方法較多時,耗時較長。于是Fuzzing測試自動化的好處便得到體現。因為能夠處理好交互性問題,所以漏洞測試過程便可做到無人值守[5]。本文的Fuzzing測試模型便能妥善處理好交互性問題。
4.3.1 異常列表
    對Web ActiveX控件的某一屬性或者方法進行Fuzzing測試,用列表的方式呈現其結果,從該表中便可以方便地獲知導致異常發生的具體測試文檔、異常發生的數目等信息。圖4是暴風影音mps.dll控件的導出函數OnBeforeVideoDownload()Fuzzing測試的異常列表。

4.3.2 異常詳細報告
    對異常列表中的每一項可以查看其詳細報告。利用論文提出的Fuzzing測試模型對暴風影音mps.dll控件的導出函數OnBeforeVideoDownload()進行Fuzzing測試得到測試結果異常報告。圖5是其中的一項詳細報告。從中可以方便地獲知異常發生的情況下的各種重要信息,包括異常類型、當前線程狀態、當前SEH鏈表的狀態、當前堆棧內存狀態、當前各重要寄存器內容以及當前EIP附近的指令等。


    從這份詳細報告中可以看到EIP寄存器的值為“41414141”,這是構造測試文檔時所采用的經典長字符串“AAAA”的十六進制碼。充分說明了若攻擊者加入設計的輸入參數,EIP可以被劫持,從而可以引導系統去執行攻擊者設計的特殊代碼。因此可以確定mps.dll控件的導出函數OnBeforeVideoDownload()確實存在著漏洞。有經驗的測試者還可以根據異常報告中崩潰地址、崩潰時的棧空間狀態和崩潰時的棧空間狀態指令狀態等信息,進一步分析出mps.dll控件漏洞出現的具體位置。
    由于Web ActiveX控件具有特殊性、變化快等特點,Web應用的安全檢測變得十分困難,而Web安全防范日益重要。本文針對Web的安全漏洞檢測的模型和算法做了一些探討,所提出的方案在解決當前Web ActiveX控件漏洞檢測問題上有所突破。未來,將進一步考慮增強測試數據的針對性,從而提高測試數據觸發漏洞的比率;搜索ActiveX各導出函數地址空間中的“特征字”,搜索調用非安全方法的ActiveX導出函數的具體實現方法[6]。
參考文獻
[1] 王雨晨.系統漏洞原理與常見攻擊方法[J].計算機工程與應用,2001,38(8):62-64.
[2] SUTTON M,GREENE A,AMINI P.Fuzzing:brute vulnerability discovery(1st ed)[M].Pearson Education,2007.
[3] 邵林,張小松,蘇恩標.一種基于Fuzzing技術的漏洞發掘新思路[J].計算機應用研究,2009,26(3):1086-1088.
[4] 吳毓書,周安民,吳少華.基于Fuzzing的ActiveX控件漏洞發掘技術[J].計算機應用,2008,28(9):2252-2254.
[5] 張美超,曾凡平,黃奕.基于漏洞庫的fuzzing測試技術[J]. 小型微型計算機系統,2011,4(4):651-655.
[6] 高峻,徐志大,李健.漏洞自動挖掘技術研究進展[J].計算機與數字工程,2009,37(1):100-105.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩性视频在线| 亚洲国产成人精品视频| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲一区二区在线视频| 亚洲九九爱视频| 亚洲国产欧美日韩精品| 欧美一区二区三区免费观看视频 | 亚洲三级视频| 亚洲国产成人av| 久久精品国产久精国产爱| 欧美一区二区三区视频| 亚洲欧美精品伊人久久| 亚洲在线观看免费视频| 午夜精品久久久久久99热软件| 亚洲一区二区三区免费在线观看 | 亚洲综合首页| 亚洲在线免费观看| 午夜激情亚洲| 欧美亚洲视频一区二区| 性刺激综合网| 午夜精品久久久久久99热| 午夜久久久久久久久久一区二区| 香港久久久电影| 性做久久久久久| 久久国产精品99久久久久久老狼| 欧美在线视屏| 亚洲激情在线观看| 亚洲美女免费视频| 99精品国产福利在线观看免费| 一区二区不卡在线视频 午夜欧美不卡'| 一区二区激情小说| 亚洲影院在线| 欧美亚洲免费电影| 久久婷婷av| 欧美成人一区在线| 欧美日韩亚洲高清一区二区| 国产精品二区三区四区| 国产欧美日韩一区二区三区在线 | 久久精品99国产精品日本| 亚洲欧洲在线看| 一区二区三区黄色| 午夜精品999| 久久美女艺术照精彩视频福利播放| 美日韩精品免费观看视频| 欧美精品99| 国产精品网站一区| 伊人久久综合97精品| 亚洲美女av在线播放| 亚洲欧美电影院| 亚洲国产精品va在线看黑人| 99视频日韩| 欧美专区日韩专区| 欧美成人综合网站| 国产精品久久久久久久久久久久久| 国产欧美日韩一级| 亚洲欧洲久久| 亚洲免费视频观看| 最新69国产成人精品视频免费| 亚洲一区二区三区四区五区黄| 久久精品国产亚洲一区二区| 欧美黄色日本| 国产精品久久久99| 亚洲国产成人精品久久| 亚洲影院免费观看| 亚洲精品综合久久中文字幕| 性刺激综合网| 欧美经典一区二区三区| 国产亚洲精品综合一区91| 亚洲精品一区二区三区四区高清| 午夜视频久久久| 夜夜爽www精品| 久久亚洲春色中文字幕久久久| 欧美天堂亚洲电影院在线播放| 狠狠久久婷婷| 亚洲在线观看| 一区二区欧美在线| 久久在线免费观看视频| 国产精品久久久久久久久久妞妞| 一区在线免费| 午夜精品在线看| 亚洲视频专区在线| 欧美成人一区二区三区| 国产亚洲精久久久久久| 在线亚洲精品| 亚洲老司机av| 老司机午夜免费精品视频| 国产精品毛片大码女人| 亚洲毛片在线看| 91久久精品国产91久久性色tv| 欧美一级午夜免费电影| 欧美日韩国产综合新一区| 国语自产精品视频在线看一大j8 | 亚洲黄一区二区三区| 欧美在线观看www| 欧美日韩精品综合| 亚洲国产福利在线| 欧美在线视频观看| 欧美一区亚洲| 国产精品h在线观看| 亚洲精品久久久久久久久| 91久久精品日日躁夜夜躁欧美| 久久精品一区中文字幕| 国产精品久久久久久久久搜平片| 亚洲精品久久久一区二区三区| 亚洲第一网站| 久久亚洲春色中文字幕| 国产午夜精品一区理论片飘花| 亚洲一区精彩视频| 亚洲一区中文| 欧美三级网页| 99视频精品全部免费在线| 日韩一级裸体免费视频| 欧美激情精品久久久久久大尺度 | 亚洲天堂成人| 夜夜爽av福利精品导航| 欧美国产极速在线| 亚洲成色精品| 亚洲国产精品久久久| 久久久久九九视频| 国产亚洲欧美一级| 性色一区二区三区| 久久久噜噜噜久久中文字免| 国产欧美日韩综合一区在线观看 | 国产精品一区二区在线| 亚洲制服欧美中文字幕中文字幕| 亚洲在线1234| 国产精品日韩欧美一区二区三区| 亚洲午夜视频在线观看| 午夜精品久久久久久久久| 国产精品成人一区二区三区夜夜夜| 日韩天堂av| 亚洲在线视频一区| 国产精品入口66mio| 亚洲欧美在线视频观看| 久久精品亚洲| 极品尤物久久久av免费看| 亚洲国产精品久久久久秋霞蜜臀| 久久夜色精品亚洲噜噜国产mv| 精品88久久久久88久久久| 亚洲欧洲另类| 欧美日韩国产天堂| 这里只有精品丝袜| 欧美一区二区三区久久精品| 国产日韩亚洲欧美精品| 亚洲电影免费观看高清完整版| 欧美成人综合一区| 一区二区动漫| 欧美一区二区三区免费观看视频| 国产日本欧美一区二区| 亚洲国产精品999| 欧美日韩成人在线视频| 亚洲午夜影视影院在线观看| 久久国产天堂福利天堂| 激情欧美日韩一区| 一区二区三区免费网站| 国产精品亚洲аv天堂网| 久久er99精品| 欧美精品首页| 亚洲欧美偷拍卡通变态| 免费不卡在线视频| 一级日韩一区在线观看| 久久久久.com| 亚洲精品一二三| 久久不射网站| 亚洲国产精品精华液2区45| 亚洲色图在线视频| 国产一区二区你懂的| 日韩写真视频在线观看| 国产精品亚洲美女av网站| 亚洲黑丝一区二区| 欧美午夜精品久久久久久孕妇| 久久99在线观看| 欧美日韩国产首页| 久久国产精品色婷婷| 欧美三区在线| 亚洲高清网站| 国产精品av久久久久久麻豆网| 久久国产欧美| 国产精品久久77777| 亚洲经典三级| 国产精品有限公司| 日韩视频一区| 国产亚洲成av人在线观看导航 | 欧美顶级艳妇交换群宴| 亚洲在线视频观看| 欧美精品亚洲精品| 欧美中文字幕久久| 欧美午夜视频网站| 亚洲国产视频直播| 国产精品日韩专区| 一区二区国产日产| 亚洲东热激情| 欧美影院在线播放| 亚洲另类在线视频| 老司机免费视频一区二区| 亚洲欧美日韩国产综合在线 | 狠狠色丁香婷综合久久| 亚洲欧美电影院| 亚洲精品欧美精品| 免费不卡欧美自拍视频|