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