22.01.06.Thu
22.01.07.Fri
- AFL++을 사용해 오픈소스 프로젝트의 버그를 찾아보기 시작했다.
- mpc의
mpca_lang()
을 대상으로 AFL++을 사용해 보았다. » 버그 하나를 찾았다.
22.01.10.Mon
- 3일간 AFL++로 mpc를 fuzzing한 결과 생성된, timeout과 crash를 유발하는 input들을 사용해 버그 리포트 쓰기를 시작했다.
- mpc의 소스코드에서 버그를 유발하는
mpca_lang_st()
를 찾았다.
22.01.12.Wed
- mpc의 버그 리포트를 작성해 보았다. (link)
22.01.13.Thu
- AFL++에서 function coverage 정보를 얻기 위해 AFL++의 코드를 살펴보기 시작했다.
22.01.14.Fri
- AFL++이 효율성을 높이기 위해 execve() 없이 프로그램을 실행하는 방법에 대한 포스트를 읽어보았다.
22.01.17.Mon
- shared memory를 이해하기 위해 Operating System Concepts 10th edition의 IPC 파트를 읽어보았다.
void * __builtin_return_address(unsigned int level)
함수에 대해 알아보았다. (link)
22.01.18.Tue
- Sanitizer Coverage를 이용해 function coverage를 얻는 방법을 알기 위해 Sanitizer Coverage를 공부했다. (link1, link2)
- FunCov(function coverage tool)를 만들기 시작했다.
22.01.24.Mon
- Sanitizer Coverage가 function entry point를 구분하는 방법을 찾기 위해 llvm-project 코드를 보기 시작했다.
- function entry point를 구분하여 추후 AFL++ 안에서 function coverage를 잴 수 있는 옵션을 추가하는 것이 목적
22.01.26.Wed
- Function pair coverage를 측정하기 위해 caller function에 대한 정보를 얻어오는 방법을 찾아보았음