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

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

연습삼아 OS X에서 테스트하기 위해 American Fuzzy Lop을 사용해 보았지만 tcsh실수로 내 시스템의 유용한 파일을 삭제하고 싶지 않았습니다.

퍼즈 테스트에 대해 아무것도 모르기 때문에 다음을 수행했습니다.

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 @@

그러나 이것이 무작위로 생성된 쉘 스크립트의 기능을 제한하기에 충분한지 확신할 수 없습니다.

관련 정보