En ny binär programvara randomisering och Control-Flow Integrity (CFI) verkställighetssystem presenteras, som är den första att effektivt motstå code-use attacker lanseras av informerade motståndare som har full kunskap om minneskod layout av offerprogram. Försvaret lindrar en ny våg av genomförande avslöjande attacker, genom vilken motståndare kan exfiltrera in-minne kod detaljer för att förbereda kod-återanvändning attacker (t.ex., Return-oriented Programmering (ROP) attacker) som förbigå finkorniga randomisering försvar. Sådana implementation-medvetna attacker besegra traditionella finkornig randomisering genom att undergräva sitt antagande att de randomiserade platserna för missbrukbara kod prylar förblir hemliga. Ogenomskinlig CFI (O-CFI) övervinner denna svaghet genom en ny kombination av finkornig kodrandomisering och grovkornig kontrollflödesintegritetskontroll. Den döljer grafen av kapbara kontroll-flöde kanter även från angripare som kan se hela stacken, högen, och binär kod för offret processen. För maximal effektivitet, integritetskontroller genomförs med hjälp av instruktioner som snart kommer att hårdvaruaccelereras på råvaror x86-x64 processorer. Metoden är mycket praktisk eftersom den inte kräver en modifierad kompilator och kan skydda äldre binärer utan tillgång till källkod. Experiment som använder vår fullt fungerande prototypimplementering visar att O-CFI ger ett betydande probabilistiskt skydd mot ROP-attacker som lanseras av motståndare med fullständig kunskap om kodlayout, och uppvisar endast 4,7% genomsnittlig prestanda overhead på aktuell hårdvara (med ytterligare overhead-reduceringar för att följa på kommande Intel-processorer).
Ogenomskinlig kontrollflödesintegritet (O-CFI) REF skyddar kontrollflödesintegriteten genom att begränsa indirekta filialmål inom en adress som är bunden.
Opaque Control-Flow Integrity
{'venue': 'NDSS', 'journal': None, 'mag_field_of_study': ['Computer Science']}