Fuzzing 썸네일형 리스트형 afl-fuzz for javascript Naver Labs 인턴 기간동안, afl-fuzz 의 javascript engine 최적화 버전을 만들어보았다. https://github.com/tunz/afl-fuzz-js 우선 afl-fuzz에 대해서 간략하게 얘기하자면, 다른 일반적인 fuzzer 들과 마찬가지로 브루트포싱 기반이다. 다만 다른게 있다면, flow coverage 를 maximizing 하려고 한다. 무슨 말이냐면, 컴파일 하는 과정에 개입해서, jmp, call 등의 program의 path가 갈라지는 부분에 logging을 하는 어셈을 삽입한다. 그리고 fuzzer가 프로그램을 실행하면서, path 를 얼마나 커버했는지를 확인한다. 그리고, 브루트포싱으로 인풋을 넣다가, 새로운 path 를 찾으면 (한번도 로깅하지 못했던 .. 더보기 이전 1 다음