Fuzzing

뮤테이션

zz! 2025. 5. 15. 14:25
728x90

입력(input)을 약간씩 변형해서 새로운 입력을 만들어내는 작업

hello

hello 라고 입력을 했다고 해봅시다

afl은 여기에 다음과 같은 작은 변경을 가할 수 있다.

어떤 문자를 바꾸기 -> hello -> hezlo

문자를 추가하기 -> hello -> helloo

문자를 삭제하기 -> hello -> helo

비트를 뒤집기 -> hello -> hfllo

기존의 입력을 조금씩 변화시켜(mutate) 프로그램에 집어 넣고, 실행 경로(coverage)가 달라지는지 확인하는 방식

이걸 반복해서 더 넓은 커버리지를 찾는 것이다.

즉 mutation

기존 입력을 기반으로 하여 새로운 테스트 케이스를 자동 생성하는 기법이다.

728x90