the art science and engineering of fuzzing a survey
play

The Art, Science, and Engineering of Fuzzing: A Survey Valentin - PowerPoint PPT Presentation

The Art, Science, and Engineering of Fuzzing: A Survey Valentin J.M. Mans, HyungSeok Han, Choongwoo Han, Sang Kil Cha, Manuel Egele, Edward J. Schwartz, and Maverick Woo A Complex Field 2 Fuzzing: Potential Definitions Some say:


  1. The Art, Science, and Engineering of Fuzzing: A Survey Valentin J.M. Manès, HyungSeok Han, Choongwoo Han, Sang Kil Cha, Manuel Egele, Edward J. Schwartz, and Maverick Woo

  2. A Complex Field 2

  3. Fuzzing: Potential Definitions • Some say: “Fuzzers are tools to make crashes.” è What kind of crash? è PerfFuzz 1 just looks for “algorithmic complexity vulnerabilities”. • Some say: “Fuzzers create inputs, either by mutating seeds (e.g. zzuf ), or based on models , like grammars (e.g. Peach ).” è Random Testing may not use any seed. è Concolic execution use neither. 1 C. Lemieux, R. Padhye, K. Sen, and D. Song, “PerfFuzz: Automatically generating pathological inputs,” in Proceedings of the 3 International Symposium on Software Testing and Analysis , 2018, pp. 254–265.

  4. Common Pitfalls A definition should: • Not be goal oriented . è Fuzzers are tools: there goal is defined by the user. • Not be method oriented . è The field has shown too much diversity. 4

  5. Fuzzing: What it is? Fuzzing refers to a process of repeatedly running a program with generated inputs to test if a program violates a correctness policy.* 5 * This is a simplified version of the definition in the paper.

  6. Fuzzers: How to Model Them? Fuzzer test cases ② ① InputGen InputEval ③ execinfos PreProcess Schedule ConfUpdate 6

  7. Survey Methodology • We surveyed the field for 10+ years: v Major Github repositories v Major conferences (Security & Software Engineering) • Let’s look at two examples: zzuf , AFL 7

  8. Example Fuzzer zzuf Simple Execution Seed bit flip test cases InputGen InputEval execinfos PreProcess Schedule ConfUpdate 8

  9. Example Instrumented Execution Fuzzer AFL Mutation operations test cases InputGen InputEval Instrumentation execinfos PreProcess Coverage-based Fitness Function Round Robin++ Schedule ConfUpdate 9

  10. Genealogy 10

  11. Companion Website: fuzzing-survey.org 11

  12. AFL: A Grey-box Hub 12

  13. Black-box Hubs BFF LangFuzz 13

  14. Grey-box Outliers Sidewinder CalFuzzer 14

  15. Companion Website: fuzzing-survey.org Make a PR to add fuzzers J github.com/SoftSec-KAIST/Fuzzing-Survey 15

  16. Share your fuzzer! Sharable links: fuzzing-survey.org/?k=Ankou 16

  17. Question? 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend