Abstract:
W niniejszej pracy zaprezentowany został fuzzer YAFuzz, mający na celu
wspomaganie odnajdywania błędów bezpieczeństwa w programach stworzonych
w języku C, ze szczególnym uwzględnieniem podatności opartych na
niewłaściwym zarządzaniu stertą. Do jego działania nie jest wymagany dostęp
do kodu źródłowego badanej aplikacji, co wyróżnia go spośród wielu
istniejących fuzzerów.
YAFuzz wykorzystuje technologię Intel Processor Trace, za pomocą której
śledzona jest ścieżka wykonania uruchamianego programu. Pozwala to na
generowanie danych wejściowych w sposób mutacyjny, co umożliwia zwiększenie
pokrycia testowanego kodu.
Skuteczność fuzzera YAFuzz została sprawdzona na narzędziu NConvert,
w którym udało się odnaleźć około dziesięciu unikalnych błędów różnego
typu, które spowodowały wystąpienie 115 awarii oraz wykrytych nieprawidłowych
zachowań powiązanech ze stertą w trakcie testów.