第十四屆 優選

security
模糊測試從入門到放棄
cc85nod

系列文章

DAY 11

[Day 11] Coverage-guided fuzzer - 對 source-code 程式做模糊測試

俗稱的 feedback-driven fuzzer 是指 fuzzer 並非漫無目的的隨機輸入與 mutation,而是透過執行結果的好壞來引導下次產生或挑選...

DAY 12

[Day 12] Coverage-guided fuzzer - 對 binary-only 程式做模糊測試 - Static binary rewriting

Binary-only program 在沒有 source code 的情況下,binary-only fuzzing 是取得 coverage 的方法大概可...

DAY 13

[Day 13] Coverage-guided fuzzer - 對 binary-only 程式做模糊測試 - Dynamic binary instrumentation (上)

今天會介紹使用 fuzzer 如何使用 Intel Pin 與 QEMU 在動態期間做插樁,藉此取得程式執行的 coverage。 Dynamic binary...

DAY 14

[Day 14] Coverage-guided fuzzer - 對 binary-only 程式做模糊測試 - Dynamic binary instrumentation (下)

昨天介紹了 AFL 的 QEMU mode 以及 Intel Pin,讓使用者可以在沒有原始碼的情況下蒐集 coverage,今天要介紹的是 Dynamorio...

DAY 15

[Day 15] Coverage-guided fuzzer - 對 binary-only 程式做模糊測試 - Other

前面幾天介紹的幾種對於 binary-only program 做 fuzzing 方法都能夠做大方向的分類,而今天要介紹的方法都不太能分到前面兩種,因此特別拿...

DAY 16

[Day 16] 優化 coverage collection - 污點分析 Taint analysis

這兩天主要會介紹污點分析 (taint analysis) 跟符號執行 (symbolic execution),前者可以知道資料的走向並作分析,後者可以算出如...

DAY 17

[Day 17] 優化 coverage collection - 符號執行 Symbolic execution & 實際運用的困難

程式當中充斥許多 if-else condition,這些條件判斷使得程式在不同的情況下有不同的處理方式,而每個 condition 都是將各個變數的比較做組合...

DAY 18

[Day 18] 優化 coverage collection - 鏈結時期優化 (LTO)

Link time optimization (LTO) 的功能如同他的名字 (self-explanatory),就是在將各個 object file 鏈結起...

DAY 19

[Day 19] 優化 coverage collection - REDQUEEN

校驗碼 (checksum) 被用來檢測資料的完整性,魔術數字 (magic number) 被用來偵測特定格式的資料,當這兩種類型的檢查出現在程式當中,會讓總...

DAY 20

[Day 20] 優化 seed selection

Seed selection 指的是 fuzzer 從 input queue 當中挑選 input 的行為,而 fuzzer 會先挑哪個 input 是由 i...