
libFuzzer를 사용한 퍼징, OpenSSL heartbleed(CVE-2014-0160) 포함
"C/C++ 프로젝트의 모던 퍼징" 워크숍의 자료입니다.
이 워크숍의 첫 버전은 ZeroNights'16 보안 컨퍼런스에서 발표되었습니다.
이 워크숍은 원래 2016년에 개발되었습니다. 오늘날(2021년 이후)에는 libFuzzer가 수년간 크게 발전했기 때문에 워크숍의 실습 부분이 바로 작동하지 않을 수 있습니다. 워크숍의 이론 부분은 여전히 좋은 학습 자료이지만, 실습 수업의 경우 libFuzzer tutorial의 가장 최신 버전을 따르는 것이 좋습니다.
fuzzer:zeronightssudo apt-get install -y make autoconf automake libtool pkg-config zlib1g-dev퍼징 경험은 필요하지 않습니다.
대부분의 예제는 libFuzzer tutorial과 Fuzzer Test Suite에서 가져왔습니다.
libFuzzer 빌드는 매우 쉽습니다:
cd libFuzzer
Fuzzer/build.sh
libFuzzer 저장소는 LLVM의 compiler-rt 프로젝트 안에서 찾을 수 있습니다.