淺談網(wǎng)絡協(xié)議模糊測試
對于網(wǎng)絡協(xié)議,我們或多或少也都知道一些,在網(wǎng)絡管理中,對于協(xié)議的掌握也是一個重點。那么這里我們主要談一談網(wǎng)絡協(xié)議模糊測試的相關(guān)內(nèi)容。來幫助大家解析一下,什么是網(wǎng)絡協(xié)議模糊測試。
模糊測試是威斯康星大學為UNIX工具中的命令行setuid引入隨機參數(shù)值時提出的。盡管它最初是用于命令行參數(shù),但模糊測試這個術(shù)語現(xiàn)在通常被認為是應用于網(wǎng)絡協(xié)議領域,這是有合理理由的。網(wǎng)絡協(xié)議模糊測試對安全研究者來說是最感興趣的模糊測試類型,因為所發(fā)現(xiàn)的漏洞通常具有最高級別的危險程度。不需要有效的身份認證就可以到達或者不需要目標用戶的任何交互就可以利用的一個遠程的可利用漏洞是所發(fā)現(xiàn)漏洞的一個縮影,如果你將同它們進行交互那將是最好的。
客戶端漏洞,例如影響微軟的Internet Explorer的漏洞,通過在創(chuàng)建被惡意代碼感染并控制的與Internet相連的計算機網(wǎng)絡時被利用。貪婪的漁夫撒下一張大網(wǎng),期望能夠捕獲盡可能多的魚。在大多數(shù)時候,這些被捕獲的魚是寬度網(wǎng)絡上所連接的個人桌面計算機。
在一個網(wǎng)絡daemon程序中的服務器端漏洞對于創(chuàng)建一個被惡意代碼感染并控制的與Internet相連的計算機網(wǎng)絡同樣是非常有用的,但是以這種方式來利用這些漏洞是對潛在資源的浪費。從一個攻擊者的角度來看,擁有象后端數(shù)據(jù)庫或企業(yè)級Web服務器這樣的軟件,那么就給數(shù)據(jù)的竊取提供了很大的機會,就像從一個可信的平臺上執(zhí)行進一步的攻擊一樣。在本章中,我們將介紹網(wǎng)絡協(xié)議模糊測試,并提出一些由這種流行的模糊測試類型所帶來的獨特的特性和挑戰(zhàn)。同時,我們還將研究一些網(wǎng)絡協(xié)議漏洞。
什么是網(wǎng)絡協(xié)議模糊測試
相對于其它類型的模糊測試而言,網(wǎng)絡協(xié)議模糊測試要求識別攻擊的界面,變異或生成包含錯誤的模糊值,然后將這些模糊值傳遞給一個目標應用,并監(jiān)視目標應用以發(fā)現(xiàn)錯誤。非常的簡單,如果你的模糊器通過某種形式的socket與其目標應用相通信,那么該模糊器就是一個網(wǎng)絡協(xié)議模糊器。
基于網(wǎng)絡的模糊測試中的socket通信構(gòu)件帶來了一個有趣的變化,因為它對測試的吞吐量造成了一個瓶頸。將文件格式模糊測試、命令行參數(shù)模糊測試以及環(huán)境變量模糊測試的傳輸速度與網(wǎng)絡協(xié)議模糊測試的傳輸速度進行比較,那么就像是一輛阿斯頓·馬丁DB9和謝奧·米托羅進行比賽一樣。
現(xiàn)有的網(wǎng)絡協(xié)議模糊器傾向于采用兩種風格。其中一些采用了通用體系結(jié)構(gòu)以能夠?qū)Σ煌膮f(xié)議進行模糊測試。這類工具的代表如SPIKE 和ProtoFuzz,我們在第16章"網(wǎng)絡協(xié)議模糊測試:Windows平臺上的自動化測試"中從頭創(chuàng)建的一個模糊器也是屬于這種類型。
SPIKE是最廣為人知的一個模糊器,在下一章中將對它進行更加詳細的介紹。另外一種類型的網(wǎng)絡協(xié)議模糊器包括哪些被設計為面向特定協(xié)議的模糊器。這種類型模糊器的例子包括ircfuzz ,dhcpfuzz 以及Infigo FTPStress模糊器 。直接從它們的名字你就可以猜出每個所提到的模糊器被設計為面向哪種協(xié)議。特定于協(xié)議的模糊器通常面向于較小的目標腳本和應用程序,但其體系結(jié)構(gòu)開發(fā)的工作量卻較大。在第21章"模糊測試的體系結(jié)構(gòu)"中,我們將討論相對于特定的單機工具而言,創(chuàng)建和使用模糊測試體系結(jié)構(gòu)的價值。