Key points are not available for this paper at this time.
Grey-Box-Fuzzing ist ein praktisch effektiver Ansatz, um reale Programme zu testen. Allerdings fehlt den meisten bestehenden Grey-Box-Fuzzern die Zielgerichtetheit, d.h. die Fähigkeit, auf benutzerspezifizierte Zielorte im Programm auszuführen. Um die bestehenden Herausforderungen im gezielten Fuzzing zu betonen, schlagen wir Hawkeye vor, um vier gewünschte Eigenschaften von zielgerichteten Grey-Box-Fuzzern zu bieten. Durch eine neuartige statische Analyse des zu testenden Programms und der Zielorte sammelt Hawkeye präzise Informationen wie das Aufrufdiagramm, die Entfernungen auf Funktions- und Basisblockebene zu den Zielen. Während des Fuzzings bewertet Hawkeye die verwendeten Seeds basierend sowohl auf statischen Informationen als auch auf den Ausführungsspuren, um die dynamischen Metriken zu erzeugen, die dann zur Priorisierung von Seeds, Leistungsplanung und adaptivem Mutieren verwendet werden. Diese Strategien helfen Hawkeye, eine bessere Zielgerichtetheit zu erreichen und sich auf die Zielorte zuzubewegen. Wir haben Hawkeye als eine Fuzzing-Plattform implementiert und auf verschiedenen realen Programmen unter unterschiedlichen Szenarien evaluiert. Die experimentellen Ergebnisse zeigten, dass Hawkeye die Zielorte viel schneller erreichen und die Abstürze reproduzieren kann als herkömmliche Grey-Box-Fuzzer wie AFL und AFLGo. Besonders kann Hawkeye die Zeit bis zur Entdeckung bestimmter Schwachstellen von etwa 3,5 Stunden auf 0,5 Stunden reduzieren. Bis jetzt hat Hawkeye mehr als 41 zuvor unbekannte Abstürze in Projekten wie Oniguruma, MJS mit den von Schwachstellenvorhersagetools bereitgestellten Zielorten entdeckt; all diese Abstürze sind bestätigt und 15 von ihnen wurden mit CVE-IDs versehen.
Chen et al. (Mon,) haben diese Frage untersucht.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: