/RA_fuzzing

python code of the fuzzing book to the C language

Primary LanguageC

RA_fuzzing

fuzzing algorithm, C with fuzzing book

  • 20-1 Research Internship
  • Personal Project with Professor

Summary

I performed the task of changing the python code of the fuzzing book to the C language. This process allows me to learn the fuzzing algorithm. The code of the fuzzing book is implemented as an object-oriented algorithm, so I overcomed the limitations of the c language using the structure of the c language. After completing this process, I conducted a fuzzing test using Google/fuzzer-test-suite with Anora, AFL, and LibFuzzer and performed a comparative analysis of the differences and performance of each fuzzer. The comparison data will be uploaded later.

Comparison(draft)🔧

Target Program

  • guetzli
  • libarchive
  • lcms
  • libjpeg-turbo
  • Harfbuzz

Reason

  • Google/fuzzer-test-suite : 24
  • Condition
    • Seeds - 12
    • Not too big to angora dry run - 11
    • the libfuzzing engine not too tightly attached to the target program – 8
    • Gcov must be attachable -5

Graph (draft, some results per module)

This project has not been terminated. Consequently, results and information cannot be fully disclosed.

  • Orenge: Angora
  • Blue: AFL

image

Figure 1. Guetzli jpeg_data_reader

image

Figure 2. harfbuzz hp-op-shape

image

Figure 3. Lcms cmsio0

image

Figure 4. Libarchive archive_read

image

Figure 5. Libjpeg jdmarker