第十四屆 優選

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

系列文章

DAY 21

[Day 21] 優化 mutation - MOpt

今天要介紹的是優化 mutation 的方法,同時這也是優化 fuzzer 系列的最後一篇文章。Mutation 中文翻譯為變異,也就是對 input 做隨機化...

DAY 22

[Day 22] OS fuzzer - kAFL 論文 - 概念總覽 & 背景知識

先前介紹的 fuzzer 如果沒有特別說明,基本上目標都是執行在 userspace 的程式,然而當 fuzzing 這個主題越來越熱門,開始有研究人員思考是否...

DAY 23

[Day 23] OS fuzzer - kAFL 論文 - 設計框架 & 實驗結果

昨天花了滿大的篇幅介紹虛擬化技術,今天會著重在 kAFL 論文提出的設計架構。 Design kAFL 將整個系統分成三個 component: kAFL-...

DAY 24

[Day 24] OS fuzzer - kAFL 原始碼 - Patched QEMU & KVM

由於 kAFL 是透過 instruction hypercall 在 host 與 guest (VM) 之間交換資訊,因此需要新增客製化的 hypercal...

DAY 25

[Day 25] OS fuzzer - kAFL 原始碼 - The fuzzer

再來介紹 kAFL 原始碼中最後一個 component: kAFL-fuzzer。kAFL 在 host 執行的部分基本上都是用 python 所撰寫,包含執...

DAY 26

[Day 26] OS fuzzer - syzkaller - 介紹 & 執行環境建置

先前有提到 syzkaller 可以說是目前最廣為使用的 OS fuzzer,不但整個部署的過程只需要下幾個命令,也提供使用者客製化執行環境,像是允許執行的 s...

DAY 27

[Day 27] OS fuzzer - syzkaller - syzlang & syz-manager

今天會簡單介紹 syzlang 的格式與撰寫方法,並透過原始碼來了解 syz-manager 如何初始化執行環境與管理系統。 syzlang syzkaller...

DAY 28

[Day 28] OS fuzzer - syzkaller - syz-fuzzer & syz-executor

昨天介紹 syz-manager 建立了 VM pool 來復現漏洞或是 fuzzing,但實際上是用 RPC (remote procedure call)...

DAY 29

[Day 29] Hypervisor fuzzer - Nyx

相較於 OS fuzzer 來說,hypervisor fuzzer 的可能又比較冷門一點,除了需要 hypervisor 機制的背景知識,架構 fuzzing...

DAY 30

[Day 30] Hypervisor fuzzer - Hypercube 與參賽心得

Hypercube 用了與 Nyx 截然不同的框架來對 hypervisor 做 fuzzing,今天就會介紹他在論文中提出的系統架構。而在文章最後,我也會分享...