오늘 구독자님에게 소개드릴 내용은 취약점을 자동으로 찾아주는 Fuzzer인 AFL++과 오픈소스의 취약점을 하나 준비했습니다. 개발자와 보안 엔지니어 모두에게 흥미로울 수 있을듯합니다. 🫡
1. 오픈 소스 취약점에 대한 흥미
오픈 소스에서 취약점을 찾는 것에 흥미가 있었는데요. 그 당시 처음으로 접하게 된 프로젝트는 구글의 OSS-Fuzz라는 프로젝트였습니다. 이 프로젝트는 1000개 이상의 오픈 소스를 Fuzzer와 연동할 수 있게하는 프로젝트인데, 현재까지는 AFL, libfuzzer, hongfuzzer 를 붙일 수 있으며, 각 프로젝트의 fuzzer들은 각각의 프로젝트 github 소스코드에 녹아져있습니다. (보통 각 프로젝트 repo에서 tests/fuzz/디렉토리 하위에 위치함)
2. AFL++ 이란
이렇게 오픈 소스 Fuzzing에 관심을 갖게 되고 AFLPlusPlus라는 프로젝트를 접하게 되었습니다. 이전에는 libfuzzer로 Fuzzer 작성하는 방법을 공부하고 컴파일 및 실행하는 방법에 대해서만 보았었는데, 이 사이트를 보고 AFL++를 써봐야겠다고 마음이 바뀌더라구요. 아래의 이미지를 보면 알겠지만 AFLPlusPlus의 Coverage(무작위로 입력한 값이 소스코드의 어드 로직까지 뻗어가는지 커버할 수 있는 범위) 가장 높은 그래프를 기록하고 있습니다. 물론 libfuzzer와는 미비한 차이인듯 하지만, 저 미비한 차이가 좀 더 다른 결과를 가져다주지 않을까하는 기대감이 있었습니다.
3. AFL++로 취약점을 찾기 위한 대상 선정
ALL++를 처음 사용하보는 단계에서 Tutorial 이 필요합니다. 그러던 중 ...
의견을 남겨주세요