American Fuzzy Lop은 권한이 없는 사용자 또는 chroot에서 테스트 프로그램을 실행합니다.

American Fuzzy Lop은 권한이 없는 사용자 또는 chroot에서 테스트 프로그램을 실행합니다.

나는 tcsh연습으로 American Fuzzy Lop을 사용하여 OS X에서 테스트를 시도하고 있지만 실수로 내 시스템의 유용한 파일을 망가뜨리고 싶지 않습니다.

퍼즈 테스트에 대해 본질적으로 아무것도 모르는 상태에서 저는 다음을 수행했습니다.

저는 Brew를 통해 Fuzzer를 설치했습니다.

$ brew install afl-fuzz

사이드 노드로서 tcsh구성 스크립트는 플래그를 무시하는 것 같습니다 --disable-shared.

$ ./configure CC=afl-clang --disable-shared --prefix="$HOME"/opt/fuzzy-local ; make

그런 다음 어리석은 예제 테스트 스크립트를 제공했습니다.samples/sample.csh

echo '45'

그런 다음 가능한 가장 순진한 방법으로 한동안 afl-fuzz를 실행했습니다.

$ afl-fuzz -i samples -o afl_findings ./bin/tcsh -f @@

나는 곧 무작위로 생성된 쉘 스크립트가 일부 가비지 파일을 생성했다는 사실을 발견했습니다.

$ ls
?d%FF%FFd%A7    ?               5?              bin             share
?45?            45              afl_findings    samples

무작위로 생성된 쉘 스크립트가 수행할 수 있는 작업을 제한하고 해당 스크립트가 내가 관심 있는 파일을 잠재적으로 삭제하거나 수정하는 것을 방지하는 올바른 방법은 무엇입니까?

나는 계속해서 시도했다.

$ chown nobody:nogroup afl-findings
$ sudo -u nobody afl-fuzz -i samples -o all_findings ./bin/tcsh -f @@

하지만 이것이 무작위로 생성된 쉘 스크립트가 수행할 수 있는 작업을 제한하는 데 충분한 작업을 수행하는지 확신할 수 없습니다.

관련 정보