Fuzz前思考的七件事(轉(zhuǎn)載)

本文轉(zhuǎn)自https://www.linuxfoundation.org/blog/2016/02/7-things-to-consider-before-fuzzing-a-large-open-source-project/

1. 首先確定您的目標(biāo)

確定您是否只是在尋找安全性問(wèn)題潘鲫,還是在尋找所有類型的正確性問(wèn)題媚创。Fuzzing發(fā)現(xiàn)了許多在正常使用中可能永遠(yuǎn)不會(huì)遇到的低嚴(yán)重性問(wèn)題秋泳。這些可能看起來(lái)與安全漏洞完全相同脊凰,唯一的區(qū)別是沒(méi)有跨越信任邊界蜜葱。例如钠右,如果您模糊測(cè)試了一個(gè)只期望輸入來(lái)自受信任工具的輸出的工具邪意,您可能會(huì)發(fā)現(xiàn)許多在正常使用中永遠(yuǎn)不會(huì)遇到的崩潰综芥。是否有其他方法將造成崩潰的測(cè)試樣例輸入到工具中?如果是這樣丽蝎,您就發(fā)現(xiàn)了一個(gè)安全漏洞;如果不是這樣,那么您就發(fā)現(xiàn)了一個(gè)可能永遠(yuǎn)無(wú)法修復(fù)的低優(yōu)先級(jí)正確性問(wèn)題膀藐。項(xiàng)目是否愿意處理所有發(fā)現(xiàn)的問(wèn)題征峦,或者只處理安全性問(wèn)題?通過(guò)預(yù)先設(shè)置動(dòng)態(tài)分析的期望,您可以為自己節(jié)省大量的時(shí)間和挫折消请。

2. 明確您的信任邊界

明確并記錄應(yīng)該在哪里檢查錯(cuò)誤栏笆。對(duì)于像我這樣的安全專家來(lái)說(shuō),創(chuàng)建一個(gè)強(qiáng)安全性的心理模型是很容易的臊泰,在這個(gè)模型中蛉加,每個(gè)函數(shù)都防御地檢查每個(gè)輸入。遺憾的是缸逃,現(xiàn)實(shí)世界要比這復(fù)雜得多针饥。這種高度警惕是巨大的浪費(fèi),因此在生產(chǎn)中永遠(yuǎn)無(wú)法生存需频。我們必須更加努力地為項(xiàng)目建立一個(gè)正確的安全邊界的心理模型丁眼。有必要了解在程序控制流中哪些地方應(yīng)該進(jìn)行檢查,哪些地方可以省略檢查昭殉。

3.根據(jù)接口劃分項(xiàng)目

不同的模糊測(cè)試器有不同的適用特長(zhǎng)苞七。根據(jù)接口文件藐守、網(wǎng)絡(luò)、API將項(xiàng)目劃分蹂风,使用不同類型的fuzzer將會(huì)更加高效卢厂。

4. 探索現(xiàn)有的工具

新的模糊化工具一直在開(kāi)發(fā),而舊的工具正在獲得新的功能惠啄。重新審視一些最流行的工具慎恒,看看它們是否可以幫助您完成項(xiàng)目的一部分。戴維?伯德威爾(David Birdwell)最近將網(wǎng)絡(luò)模糊測(cè)試技術(shù)(network fuzzing)加入到美國(guó)模糊扶普(Fuzzy Lop)的衍生產(chǎn)品中撵渡,值得一看融柬。Hanno Bock寫了關(guān)于如何在fuzzing項(xiàng)目中使用一些常見(jiàn)的模糊工具的[有用教程]。(https://fuzzing-project.org/tutorials.html)

5編寫自己的工具

遇到如何在一個(gè)大型混合語(yǔ)言項(xiàng)目上執(zhí)行動(dòng)態(tài)分析的問(wèn)題趋距,而這個(gè)項(xiàng)目本身又不適合現(xiàn)有的工具時(shí)粒氧,我求助于David a . Wheeler,看看他會(huì)如何處理這個(gè)問(wèn)題棚品】炕叮惠勒博士建議,我可以考慮寫一個(gè)專門針對(duì)項(xiàng)目api的模糊測(cè)試工具铜跑。根據(jù)它們生成隨機(jī)輸入门怪,并添加大量至少在模糊期間啟用的斷言。如果您知道您的API(或者能夠內(nèi)測(cè)它)锅纺,那么創(chuàng)建一個(gè)特定的模糊器是相當(dāng)容易的掷空,您可以獲取隨機(jī)數(shù)生成器,為fireworks設(shè)置一個(gè)獨(dú)立的容器或VM囤锉,然后就可以開(kāi)始了坦弟。

6. fuzzing真的值得嗎?

對(duì)模糊化工具的一個(gè)常見(jiàn)批評(píng)是,在您運(yùn)行它們一段時(shí)間之后官地,它們就不再尋找bug了酿傍。這是一件好事!就像您不會(huì)因?yàn)榘l(fā)現(xiàn)很少的回歸而拋棄自動(dòng)化測(cè)試套件一樣,您不應(yīng)該使用這個(gè)基本原理來(lái)停止模糊測(cè)試您的項(xiàng)目驱入。如果你的fuzzing工具不再尋找bug赤炒,恭喜你!是慶祝的時(shí)候了!現(xiàn)在,我們來(lái)尋找更困難的bug亏较。

7. 聽(tīng)起來(lái)有很多工作

要做你真的希望我做這些嗎?只要給我一個(gè)好工具的名字(AFL)莺褒。你不必做所有這些事,至少不必一次做完雪情。如果您找到一個(gè)與您的項(xiàng)目一起工作的工具來(lái)覆蓋項(xiàng)目的一個(gè)子集遵岩,那么您可以開(kāi)始運(yùn)行它。您將最終弄清楚項(xiàng)目開(kāi)發(fā)人員(或您)是否愿意修復(fù)低優(yōu)先級(jí)問(wèn)題巡通,以及項(xiàng)目的信任邊界位于何處尘执。您可能會(huì)發(fā)現(xiàn)一個(gè)崩潰舍哄,生成一個(gè)補(bǔ)丁并提交給項(xiàng)目,但卻發(fā)現(xiàn)它被拒絕了正卧,因?yàn)閒uzzer生成的錯(cuò)誤輸入永遠(yuǎn)無(wú)法到達(dá)項(xiàng)目的那個(gè)部分蠢熄,因此添加您的檢查太浪費(fèi)了跪解。無(wú)論你采取哪種方法炉旷,都要幫那些追隨你的人一個(gè)忙,并把它寫下來(lái)叉讥。當(dāng)然窘行,它會(huì)過(guò)時(shí),但它使閱讀變得有趣图仓,并幫助你身后的人站在你的肩膀上罐盔。
最后一個(gè)提醒,如果你正在模糊別人的項(xiàng)目救崔,你有任何懷疑惶看,你發(fā)現(xiàn)了一個(gè)安全漏洞,記得使用項(xiàng)目的安全漏洞報(bào)告過(guò)程!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末六孵,一起剝皮案震驚了整個(gè)濱河市纬黎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌劫窒,老刑警劉巖本今,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異主巍,居然都是意外死亡冠息,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門孕索,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)逛艰,“玉大人,你說(shuō)我怎么就攤上這事搞旭∩⒉溃” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵选脊,是天一觀的道長(zhǎng)杭抠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)恳啥,這世上最難降的妖魔是什么偏灿? 我笑而不...
    開(kāi)封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上缸夹,老公的妹妹穿的比我還像新娘。我一直安慰自己盒齿,他們只是感情好沿猜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布枚荣。 她就那樣靜靜地躺著,像睡著了一般啼肩。 火紅的嫁衣襯著肌膚如雪橄妆。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天祈坠,我揣著相機(jī)與錄音害碾,去河邊找鬼。 笑死赦拘,一個(gè)胖子當(dāng)著我的面吹牛慌随,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播躺同,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼阁猜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蹋艺?” 一聲冷哼從身側(cè)響起剃袍,我...
    開(kāi)封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎车海,沒(méi)想到半個(gè)月后笛园,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侍芝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年研铆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片州叠。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡棵红,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咧栗,到底是詐尸還是另有隱情逆甜,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布致板,位于F島的核電站交煞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏斟或。R本人自食惡果不足惜素征,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧御毅,春花似錦根欧、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至今豆,卻和暖如春嫌拣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晚凿。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工亭罪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瘦馍,地道東北人歼秽。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像情组,于是被迫代替她去往敵國(guó)和親燥筷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. 基本概念 (1)基本塊:基本塊是指一組連續(xù)的程序指令院崇,并且只有一個(gè)入口指令和一個(gè)退出指令(不一定是跳轉(zhuǎn)指令)...
    AxisX閱讀 4,709評(píng)論 0 1
  • 一肆氓、縱觀Android生態(tài)圈1.了解Android的根源2.了解Android的利益相關(guān)者3.理解生態(tài)圈的復(fù)雜性碎...
    為夢(mèng)想戰(zhàn)斗閱讀 1,993評(píng)論 0 5
  • 2007年四月的海邊微微清風(fēng)襲來(lái)谢揪,伴著還不算熾熱的太陽(yáng),我提起人字拖獨(dú)自往前行捐凭。 是的拨扶,我愛(ài)四月的海,它沒(méi)有六月的...
    berrySONG閱讀 1,183評(píng)論 1 3
  • (一)節(jié)操掉了 “老公茁肠,你的節(jié)操掉了患民!” “你才節(jié)操掉了!” “你的煙盒掉出來(lái)了垦梆!” “捌ゲ?托猩!...” “看都看到...
    冷香人的人間煙火閱讀 226評(píng)論 0 0
  • 開(kāi)啟過(guò)年模式印蓖!親自主廚!祝愿大家新年快樂(lè)京腥!身體健康赦肃!萬(wàn)事如意! 媽媽是大廚。做得飯?zhí)貏e好吃摆尝。 沒(méi)啥別的温艇,就是做了太...
    小沐子的日子閱讀 77評(píng)論 0 0