題:
您的漏洞發現過程是什麼?
Rolf Rolles
2013-03-27 15:13:57 UTC
view on stackexchange narkive permalink

我本人是靜態分析人員;十年前,我主要放棄了動態逆向工程。因此,這些天來,我的過程通常是定位我的輸入進入我感興趣的模塊的位置,然後執行大量的靜態分析以確定我的輸入如何操縱程序狀態。我發現了一些巧妙的錯誤,例如通過這種方式進行信息披露。但是,我無疑比使用大量動態分析和動態輸入生成(例如,隨機模糊測試)的同行要慢得多。

您通常會採取什麼步驟來發現封閉源程序中的漏洞?

這聽起來很像一項民意測驗,通常在StackExchange網站上效果不佳。
一 回答:
joxeankoret
2013-03-27 23:18:11 UTC
view on stackexchange narkive permalink

這通常是我的操作方式,儘管它很大程度上取決於目標/項目,而且這只是我自己想做的方式:

  • 啟動(可能是愚蠢的)使應用程序模糊不清確定目標之後。
  • 同時,對應用程序進行靜態分析,以了解其工作原理,也許還可以找到懸而未決的漏洞。
  • 嘗試了解一下您是否一旦您在IDA中發現了足夠的結構和功能,就可以使智能裝置變得更智能。
  • 如果您的模糊器受到打擊,請找出問題的根本原因並加以利用。但是,如果不是這樣,則值得深入檢查發生崩潰的區域,因為該崩潰可能表明需要關注的有趣區域。
  • 如果在進行靜態分析時遇到了麻煩,請嘗試為此編寫一個簡單的觸發器。
  • 將焦點放在存在該錯誤的那部分以繼續進行靜態分析。
  • 一旦通過模糊或靜態發現了1個真正的漏洞,分析,編寫規則/腳本以查找類似的漏洞。
  • 可能為此編寫漏洞利用,然後回到2。
  • 在厭倦了發現此類漏洞並了解了內部漏洞之後,

PS:閱讀文檔也是查找某些漏洞以及閱讀更改日誌,差異補丁的好方法,提交消息等...,如果您可以訪問源代碼(有時甚至可以對目標源代碼進行部分訪問,即使對於封閉的源應用程序也是如此)。

僅我的2美分。

您能否詳細說明“編寫規則/腳本以查找類似漏洞”。假設您通過模糊打算發現哪種規則而發現了一個漏洞?您是說要限制Fuzzer的參數輸入搜索空間嗎?
我的意思是在二進制代碼中創建規則/腳本以查找與發現漏洞的代碼相似的模式。很可能會有更多與您發現的漏洞類似的漏洞/錯誤。儘管不是漏洞,但它可以舉一個[示例](http://joxeankoret.com/blog/2012/08/05/simple-bug-finding-tools-fugue-i/)。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...