Abstract-Den breda antagandet av icke-verkställbara sidskydd i de senaste versionerna av populära operativsystem har gett upphov till attacker som använder returorienterad programmering (ROP) för att uppnå godtycklig kod exekvering utan injektion av någon kod. Befintliga försvar mot ROP utnyttjar antingen kräver källkod eller symbolisk felsökning information, eller införa en betydande körning overhead, som begränsar deras tillämplighet för skydd av tredje part program. I detta papper presenterar vi på plats kod randomisering, en praktisk begränsning teknik mot ROP attacker som kan tillämpas direkt på tredje part programvara. Vår metod använder olika smala-scope kodomvandlingar som kan tillämpas statiskt, utan att ändra placeringen av grundläggande block, vilket möjliggör säker randomisering av avskalade binärer även med partiell demontering täckning. Dessa omvandlingar eliminerar effektivt ca 10%, och probabilistiskt bryta ca 80% av de användbara instruktionssekvenser som finns i en stor uppsättning PE-filer. Eftersom ingen ytterligare kod infogas, på plats kod randomisering inte medföra någon mätbar körtid overhead, vilket gör det möjligt att enkelt användas tillsammans med befintliga utnyttja begränsningar såsom adressrymd layout randomisering. Vår utvärdering med hjälp av offentligt tillgängliga ROP-exploateringar och två ROP-kodgenereringsverktyg visar att vår teknik förhindrar utnyttjandet av de testade sårbara Windows 7-tillämpningarna, inklusive Adobe Reader, samt den automatiska konstruktionen av alternativa ROP-laster som syftar till att kringgå in-place-kod randomisering med enbart alla återstående opåverkade instruktionssekvenser.
I motsats, på plats kod randomisering REF, kan tillämpas på avskalade binärer även med partiell demontering täckning.
Smashing the Gadgets: Hindering Return-Oriented Programming Using In-place Code Randomization
{'venue': '2012 IEEE Symposium on Security and Privacy', 'journal': '2012 IEEE Symposium on Security and Privacy', 'mag_field_of_study': ['Computer Science']}