Abstract-Fuzz testning har visat sig framgångsrik i att hitta säkerhetssårbarheter i stora program. Men traditionella fuzz testverktyg har en välkänd gemensam nackdel: de är ineffektiva om de flesta genererade missbildade ingångar avvisas i det tidiga skedet av program körs, särskilt när målprogram använder checksum mekanismer för att verifiera integriteten av indata. I detta dokument presenterar vi TaintScope, ett automatiskt fuzzing system med hjälp av dynamisk fläckanalys och symboliska utförande tekniker, för att ta itu med ovanstående problem. TaintScope har flera nya bidrag: 1) TaintScope är den första checksum-medveten fuzzing verktyg så vitt vi vet. Det kan identifiera kontrollsummor i indatafall, korrekt lokalisera kontrollsummor baserade integritetskontroller genom att använda profileringstekniker för filialer, och kringgå sådana kontroller genom kontrollflödesförändring. 2) TaintScope är ett riktat fuzzing verktyg som arbetar på X86 binär nivå (på både Linux och Windows). Baserat på finkornig dynamisk föroreningsspårning identifierar TaintScope vilka bytes i en välformad ingång som används i säkerhetskänsliga operationer (t.ex. invoking system/library calls) och fokuserar sedan på att modifiera sådana bytes. Därför är det mer sannolikt att genererade indata utlöser potentiella sårbarheter. 3) TaintScope är helt automatisk, från att upptäcka checksum, riktad fuzzing, till reparera kraschade prover. Det kan fastställa kontrollsummor i genererade ingångar med hjälp av kombinerade konkreta och symboliska utförande tekniker. Vi utvärderar TaintScope på ett antal stora verkliga applikationer. Experimentella resultat visar att TaintScope exakt kan lokalisera kontroller i program och dramatiskt förbättra effektiviteten av fuzz testning. TaintScope har redan hittat 27 tidigare okända sårbarheter i flera allmänt använda program, inklusive Adobe Acrobat, Google Picasa, Microsoft Paint och ImageMagick. De flesta av dessa allvarliga sårbarheter har bekräftats av Secunia och oCERT, och tilldelade CVE-identifierare (såsom CVE-2009-1882, CVE-2009-2688. Motsvarande patchar från leverantörer släpps eller pågår baserat på våra rapporter.
TaintScopre rättar kontrollsummor i de genererade indata med hjälp av symbolisk körning REF.
TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection
{'venue': '2010 IEEE Symposium on Security and Privacy', 'journal': '2010 IEEE Symposium on Security and Privacy', 'mag_field_of_study': ['Computer Science']}