如何詢問一位有成就的安全領域的研究者如何發現漏洞,很可能會有一大堆的答案,為什么?因為安全測試的方法太多,每種方法都有其優缺點。在全局來看有三種主要的方法來發現安全漏洞:白盒測試,黑盒測試和灰盒測試。
這些方法在普通測試中也非常的常見,那什么是模糊測試呢?模糊測試是一種通過提供非預期的輸入并監視異常結果來發現bug的方法,一般的模糊測試都是一個 自動或半自動的過程?,F流行的模糊器都比較的少,一般區別在于測試用例的產生過程上,分為基于變異的模糊器,基于生成的模糊器。
即一般的模糊器基于數據的樣本進行處理變異或者建立數據模型進行用例的生成。
一般模糊測試方法分為:
隨機方法:
最最最簡單的模糊器就是random模糊器,通過隨機產生數據的方法對軟件進行測試,這是最低效的方法。
協議變異人工測試:
這種方法主要依賴于測試者的經驗,對協議的理解,破壞性測試用例的設計十分關鍵。
變異或強制性測試:
強制性是指模糊器從有效的協議或數據格式樣本開始,不斷的打亂數據包或者文件中的每一個字節、字、雙字或者字符串,這也是比較低效的測試,CPU主要浪費在數據生成上了。
自動協議生成測試:
這是某種意義上的高級強制性測試,主要是將部分有效數據參數化生成測試數據,進行自動化發包及分析,這類模糊器有SPIKEHE和SPIKEfile。
之前介紹了想關模糊測試的一些方法,下面介紹模糊器。
本地模糊器:
主要是對服務器本身安全的一種考慮,主要有命令行模糊器,環境變量模糊器,文件格式模糊器等等……
遠程模糊器:
遠程模糊器是以監聽一個網絡接口的軟件為測試目標的,可能是現行最重要的測試目標。
主要有網絡協議模糊器,WEB應用模糊器,WEB瀏覽器模糊器等等,之后Jason會重點介紹此類瀏覽器。
內存模糊器:
這主要是對存儲式軟件測試的一種模糊器,主要針對內存算法,內存使用率等因素的測試工具。
今天就簡單的介紹到這里,之后會深入介紹遠程模糊器,敬請期待原文轉自:http://www.anti-gravitydesign.com