Fuzzing är en automatiserad metod för sårbarhetsdetektering. För genetisk algoritmbaserad fuzzing kan det mutera de fröfiler som tillhandahålls av användare för att få ett antal ingångar, som sedan används för att testa den objektiva applikationen för att utlösa potentiella krascher. Som framgår av befintlig litteratur är urvalet av utsädesfiler avgörande för effektiviteten i fuzzing. Nuvarande strategier för val av utsäde verkar dock inte vara bättre än att slumpmässigt välja ut utsädesfiler. Därför föreslår vi i detta dokument ett nytt och generiskt system, SmartSeed, för att generera fröfiler mot effektiv fuzzing. Speciellt, SmartSeed är utformad baserat på en maskininlärning modell för att lära sig och generera högt värde binära frön. Vi utvärderar SmartSeed tillsammans med American Fuzzy Lop (AFL) på 12 öppen källkod program med inmatningsformat mp3, bmp eller flv. Vi kombinerar också SmartSeed med olika fuzzing verktyg för att undersöka dess kompatibilitet. Från omfattande experiment finner vi att SmartSeed har följande fördelar: För det första tar det bara tiotals sekunder att generera tillräckligt högvärdiga frön. För det andra kan det generera frön med flera typer av inmatningsformat och avsevärt förbättra fuzzing prestanda för de flesta program med samma inmatningsformat. För det tredje är SmartSeed kompatibel med olika fuzzing verktyg. Totalt upptäcker vårt system mer än två gånger unika krascher och 5,040 extra unika vägar än den befintliga bästa strategin för utsädesval för de utvärderade 12 applikationerna. Från de krascher som SmartSeed hittat upptäcker vi 16 nya sårbarheter och har fått sina CVE-ID.
Mer nyligen, Lv et al. REF använder maskininlärning för att generera högt värderade binära utsädesfiler.
SmartSeed: Smart Seed Generation for Efficient Fuzzing
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}