俗稱的 feedback-driven fuzzer 是指 fuzzer 並非漫無目的的隨機輸入與 mutation,而是透過執行結果的好壞來引導下次產生或挑選...
Binary-only program 在沒有 source code 的情況下,binary-only fuzzing 是取得 coverage 的方法大概可...
今天會介紹使用 fuzzer 如何使用 Intel Pin 與 QEMU 在動態期間做插樁,藉此取得程式執行的 coverage。 Dynamic binary...
昨天介紹了 AFL 的 QEMU mode 以及 Intel Pin,讓使用者可以在沒有原始碼的情況下蒐集 coverage,今天要介紹的是 Dynamorio...
前面幾天介紹的幾種對於 binary-only program 做 fuzzing 方法都能夠做大方向的分類,而今天要介紹的方法都不太能分到前面兩種,因此特別拿...
這兩天主要會介紹污點分析 (taint analysis) 跟符號執行 (symbolic execution),前者可以知道資料的走向並作分析,後者可以算出如...
程式當中充斥許多 if-else condition,這些條件判斷使得程式在不同的情況下有不同的處理方式,而每個 condition 都是將各個變數的比較做組合...
Link time optimization (LTO) 的功能如同他的名字 (self-explanatory),就是在將各個 object file 鏈結起...
校驗碼 (checksum) 被用來檢測資料的完整性,魔術數字 (magic number) 被用來偵測特定格式的資料,當這兩種類型的檢查出現在程式當中,會讓總...
Seed selection 指的是 fuzzer 從 input queue 當中挑選 input 的行為,而 fuzzer 會先挑哪個 input 是由 i...