自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

未知的未知:九大模糊測試工具

安全 應(yīng)用安全 數(shù)據(jù)安全
模糊測試是一個很重要的流程,有助于發(fā)現(xiàn)影響當(dāng)今復(fù)雜應(yīng)用程序的未知關(guān)鍵錯誤,有時候甚至能暴露出一些讓人“腦洞大開”或者“七竅生煙”的奇葩問題。優(yōu)秀的模糊測試工具常能夠在程序面向公眾發(fā)布或部署前,就發(fā)現(xiàn)那些難以察覺的漏洞“大坑”。

別被“模糊”這詞兒給迷惑了。模糊測試是一個很重要的流程,有助于發(fā)現(xiàn)影響當(dāng)今復(fù)雜應(yīng)用程序的未知關(guān)鍵錯誤,有時候甚至能暴露出一些讓人“腦洞大開”或者“七竅生煙”的奇葩問題。優(yōu)秀的模糊測試工具常能夠在程序面向公眾發(fā)布或部署前,就發(fā)現(xiàn)那些難以察覺的漏洞“大坑”。

[[318398]]

模糊測試的工作機(jī)制是什么?

模糊測試是針對完整代碼的自動化測試過程。從要求程序完全編譯這一點來看,模糊測試看起來類似于動態(tài)應(yīng)用程序安全測試(DAST)工具。但是,DAST工具和模糊測試工具查找的是完全不同的東西。DAST能夠掃描漏洞,比如可被黑客執(zhí)行遠(yuǎn)程過程調(diào)用的漏洞,或者圍繞暴露HTTP和HTML接口的弱防護(hù)。模糊測試工具則與之相反,通過向應(yīng)用提供非預(yù)期輸入,找出這么做將導(dǎo)致的怪異或非故意結(jié)果。

理解模糊測試的工作原理,我們不妨以網(wǎng)絡(luò)銀行或者電子商務(wù)應(yīng)用為例,在銀行業(yè)務(wù)中,假設(shè)用戶轉(zhuǎn)賬時無意間在金額輸入框里輸入了一個負(fù)數(shù),程序怎么處理?是把錢轉(zhuǎn)入還是轉(zhuǎn)出?而在電子商務(wù)應(yīng)用程序中,如果用戶試圖往購物車中添加數(shù)百萬甚至數(shù)十億件商品,會發(fā)生什么狀況?購物網(wǎng)站會不會整個崩潰?或者直接給他們數(shù)十億的免費商品?

只要程序員考慮周密、代碼嚴(yán)謹(jǐn),大多數(shù)此類商業(yè)邏輯漏洞都會被事先預(yù)測到。但沒人能夠預(yù)想到所有的情況。用戶面對輸入框犯傻的時候總會出現(xiàn)一些“奇葩”的非預(yù)期行為。此外,如果攻擊者向應(yīng)用、加密內(nèi)容、操作系統(tǒng)指令或原始代碼注入命令行函數(shù),又會出現(xiàn)什么情況?

模糊測試工具能夠測試、發(fā)現(xiàn)并報告這些假設(shè)情況。有些模糊測試工具使用隨機(jī)字符和輸入字符串,有些則聚焦最有可能出現(xiàn)的問題領(lǐng)域。例如,就整數(shù)字段而言,最有可能觸發(fā)非預(yù)期程序行為的罪魁禍?zhǔn)?,就是零值、大?shù)和負(fù)值。在檢測目標(biāo)程序時,還有其他一些模糊測試工具會嘗試提供上下文相關(guān)但非預(yù)期的輸入。

無論哪種情況,最好的模糊測試工具產(chǎn)生的數(shù)據(jù),必然不會偏離預(yù)期輸入太遠(yuǎn),不會馬上就被軟件的解析器當(dāng)成無效輸入而拒絕。相反,它們提供的數(shù)據(jù)有很大概率被程序接受,但又是程序員沒預(yù)料到的。然后,這些工具就會報告被測試應(yīng)用中非預(yù)期輸入觸發(fā)了哪些行為。

開發(fā)人員經(jīng)常會使用很多開源模糊測試工具,少量商業(yè)應(yīng)用工具,以及各種模糊測試框架。

下面我們列出九款最好的模糊測試工具。

九大優(yōu)秀模糊測試工具

1. 效率之王:American Fuzzy LOP

模糊測試工具

American Fuzzy LOP程序可以輕松部署,配置簡單。該程序建立在對最佳模糊測試器運行機(jī)制和最有用結(jié)果的大量研究基礎(chǔ)之上,旨在最小化編譯查詢返回結(jié)果的耗時,盡量降低對系統(tǒng)的影響。

事實上,American Fuzzy LOP的開發(fā)者對免干預(yù)運行的能力非常自信,以至于幾乎沒設(shè)置什么控制按鈕。用戶可以看到一個懷舊風(fēng)的漂亮界面,顯示模糊測試器當(dāng)前執(zhí)行的動作,以及所發(fā)現(xiàn)的結(jié)果。

但即便開發(fā)者對于American Fuzzy LOP找出被測程序漏洞的能力非常自信,該工具也兼容其他模糊測試器,能夠生成可被其他更專業(yè)的“半自動”模糊測試工具使用的測試數(shù)據(jù)。這么做可以提升這些工具的效率,并且減少其運行時間。

2. 慢工出細(xì)活:Radamsa

Radamsa是一線模糊測試器,向程序發(fā)送樣本查詢,觸發(fā)非預(yù)期結(jié)果。

Radamsa最大的賣點就是其準(zhǔn)確性。GitLab上的開發(fā)者頁面列出了這款模糊測試器在流行軟件中發(fā)現(xiàn)的現(xiàn)實漏洞。盡管用戶可能需要多花點時間精力來生成有效輸入,但如果這一過程能夠產(chǎn)生更多切實的可修復(fù)漏洞,那這個時間還是花得很值。

3. 戰(zhàn)果累累:Honggfuzz

面向安全的Honggfuzz模糊測試器是多線程的,而且經(jīng)過了優(yōu)化,可以利用各種系統(tǒng)資源。很多模糊測試工具必須運行多個實例才能達(dá)到這種效果,但Honggfuzz自動使用所有可用CPU核心加速模糊測試過程。

Honggfuzz不僅僅適用于Windows,也可以測試在Linux、Mac,甚至Android環(huán)境中運行的應(yīng)用程序。由于其多平臺適用的特性,Honggfuzz有一系列例子和測試用例可供開發(fā)人員使用,或一字不改直接套用,或根據(jù)自身需求加以修改,或者僅做簡單參考以便設(shè)計自己的模糊測試規(guī)則。

可能是由于能在多平臺執(zhí)行模糊測試的能力,Honggfuzz用來展示開發(fā)人員捕獲漏洞的戰(zhàn)果頁面相當(dāng)龐大。開發(fā)者介紹,找出引發(fā)全球安全補(bǔ)丁的OpenSSL關(guān)鍵漏洞的模糊測試工具僅此一款。

4. 精益求精:Libfuzzer

Libfuzzer工具尚在開發(fā)過程中,新版本不時發(fā)布。因此,使用者應(yīng)在開始模糊測試會話前,檢查自己使用的是否是最新版本。

Libfuzzer旨在成為所謂的演進(jìn)式模糊測試工具。該工具將模糊輸入饋送至目標(biāo)程序的特定進(jìn)入點或輸入域,然后根據(jù)被測試應(yīng)用程序?qū)@些查詢的反應(yīng),跟蹤該代碼還觸及了哪些其他部分。獲得這些新信息后,Libfuzzer修改其查詢,查看自身是否能進(jìn)一步滲透。

這款模糊測試工具的目標(biāo),是產(chǎn)生比傳統(tǒng)模糊測試工具更相關(guān)的結(jié)果。開發(fā)人員表示,該工具已經(jīng)取得了諸多成果,并將繼續(xù)精煉調(diào)整,獲得更高的準(zhǔn)確性。

5. 開源醫(yī)生:OSS-Fuzz

OSS-Fuzz工具面向開源軟件。開發(fā)者想要支持開源社區(qū),所以O(shè)SS-Fuzz面向此類應(yīng)用和程序做了優(yōu)化。

OSS-Fuzz支持以C、C++、Rust和Go語言編寫的開源程序,不過開發(fā)者說也可以支持其他語言。

很明顯,用OSS-Fuzz幫助開源社區(qū)創(chuàng)建更安全應(yīng)用程序的目標(biāo)已經(jīng)相當(dāng)成功了。OSS-Fuzz已經(jīng)在200個開源程序中找到了14,000多個漏洞。

6. 瘦死的駱駝:Sulley模糊測試框架

得名于《怪獸公司》電影中渾身長滿藍(lán)毛的小怪獸,Sulley模糊測試框架既是模糊測試引擎又是測試框架。與其他大多數(shù)模糊測試引擎不同,Sulley旨在一次性無縫運行數(shù)日,持續(xù)檢查應(yīng)用程序?qū)δ:斎氲墓之愴憫?yīng),然后記錄下這些結(jié)果。該工具適用于想要激活模糊測試引擎后去做別的事兒的用戶。當(dāng)他們數(shù)小時或數(shù)天后返回查看時,Sulley已經(jīng)將所有發(fā)現(xiàn)都呈現(xiàn)在報告里了。

Sulley有很多高級功能,比如依托硬件平臺的并行執(zhí)行能力。該工具還能在無需用戶編程的情況下,自動確定測試案例的哪種特定順序會觸發(fā)錯誤。

Sulley框架在開源模糊測試社區(qū)廣為人知,但已經(jīng)有很長一段時間沒有更新了。即便如此,GitHub上免費可用的最新版本仍活躍在模糊測試領(lǐng)域,且運行良好。

7. 青出于藍(lán)勝于藍(lán):boofuzz

boofuzz工具基于Sulley的模糊測試框架。其名稱同樣源于《怪獸公司》,取自其中的小姑娘Boo。boofuzz項目是Sulley“停更”的后繼產(chǎn)物。該工具使用Sulley核心代碼,但致力于不斷改良。boofuzz是作為Python庫安裝的。

boofuzz項目發(fā)布以后,開發(fā)人員增加了在線文檔、對更多通信媒介的支持、可擴(kuò)展故障檢測和一個易于使用的界面。該工具還將串行模糊測試、以太網(wǎng)和UDP廣播添加到了默認(rèn)功能里。boofuzz還可將測試結(jié)果以CSV文件格式導(dǎo)出,以便在修復(fù)檢出故障時可以先研究所有被觸發(fā)問題的完整列表。

Sulley中的很多已知漏洞已被boofuzz摒除,該工具目前在GitHub保持活躍更新。

8. 希望之星:BFuzz

當(dāng)紅模糊測試工具之一,BFuzz基本上還處于beta測試版階段。免費可用,用戶可報告使用過程中遇到的任何問題,以便開發(fā)人員能夠修復(fù)。話雖如此,BFuzz目前的戰(zhàn)績不容小視,發(fā)現(xiàn)了逼出Epiphany Web補(bǔ)丁的漏洞和可致Mozilla Firefox觸發(fā)緩沖區(qū)溢出的漏洞。

BFuzz是基于輸入的模糊測試器,以URL和瀏覽器作為其輸入方式。這個意義上講,該工具很像DAST工具,適合重度依賴這些東西的公司企業(yè),因為BFuzz使用類似的測試方法,但找尋不同類型的錯誤。

BFuzz開發(fā)人員明顯為之投入了巨大精力,該模糊測試器必成大器。YouTube上甚至都有視頻展示BFuzz工具的使用。

9. 智能化之選:PeachTech Peach Fuzzer

PeachTech Peach Fuzzer是PeachTech公司出品的商業(yè)模糊測試工具,很多繁瑣的事情都不需要測試人員親力親為了。測試人員只需要用該公司所謂的Peach Pit加載并配置該模糊測試引擎即可。

Peach Pit是預(yù)先編寫好的測試定義,覆蓋一系列不同平臺。PeachTech表示,每個Pit包含適用特定目標(biāo)的規(guī)范,比如目標(biāo)攝入的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流入和流出被測設(shè)備或應(yīng)用程序的方式等。這樣測試人員就可以幾乎不用設(shè)置,便能將精力集中在他們的模糊測試上了。用戶使用PeachTech創(chuàng)建自己的Pit也很簡單,令Peach Fuzzer還可用于專用系統(tǒng)。

由于Peach Fuzzer引擎可以Peach Pit編程的原因,幾乎沒有任何系統(tǒng)不在該工具的測試范圍之內(nèi)。Mac、Windows、Linux都可以測。也可以用于模糊測試網(wǎng)絡(luò)協(xié)議、嵌入式系統(tǒng)、驅(qū)動、物聯(lián)網(wǎng)設(shè)備,只要是能接受命令而易受模糊輸入困擾的東西,就能用Peach Fuzzer測試。

除了Peach Fuzzer之外,安全牛還建議留意以下四大AI模糊測試工具,沒準(zhǔn)能幫你找出價值連城的零日漏洞:

1. 微軟Security Risk Detection

2. 谷歌 ClusterFuzz

模糊測試工具

3. Synopsys Defensics Fuzz Testing

模糊測試工具

4. Fuzzbuzz

模糊測試工具

【本文是51CTO專欄作者“安全牛”的原創(chuàng)文章,轉(zhuǎn)載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權(quán)】

戳這里,看該作者更多好文   

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2018-12-24 14:30:37

云計算管理工具全球云

2019-11-14 09:00:00

前端測試工具框架

2018-06-20 09:00:00

DevOps持續(xù)交付測試工具

2017-08-31 15:14:52

2022-05-17 08:21:43

模糊測試網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2023-06-12 10:15:01

2014-06-17 09:50:03

2010-02-22 15:51:36

CentOS VMwa

2009-06-26 10:22:58

JSF測試

2011-05-31 18:09:05

動態(tài)測試

2009-08-25 11:08:35

2009-03-31 09:49:40

Rational功能測試性能測試

2012-03-19 15:30:26

2017-09-15 10:09:07

2021-08-12 09:00:00

開發(fā)測試工具

2015-07-08 10:06:38

2019-11-12 09:00:00

測試工具軟件測試Web UI

2021-05-24 15:31:23

軟件測試工具軟件測試開發(fā)

2023-08-30 08:24:34

2022-01-24 16:55:09

LinuxTCP工具
點贊
收藏

51CTO技術(shù)棧公眾號