Kodåteranvändning attacker fortsätter att utvecklas och förblir ett allvarligt hot mot modern programvara. Den senaste forskningen har föreslagit en mängd olika försvar med olika säkerhets-, effektivitets- och praktiska egenskaper. Medan majoriteten av dessa lösningar fokuserar på specifika kodåteranvända attackvarianter som returorienterad programmering (ROP), har andra attackvarianter som återanvänder hela funktioner, såsom den klassiska retur-in-libc, fått mycket mindre uppmärksamhet. Att begränsa återanvändning av funktions-nivåkod är mycket utmanande eftersom man måste skilja ett legitimt samtal till en funktion från en illegitim. I själva verket, den senaste förfalskade objektorienterad programmering (COOP) attack visade att majoriteten av code-reuse försvar kan kringgås genom återanvändning dynamiskt bundna funktioner, dvs. funktioner som nås genom globala offset tabeller respektive virtuella funktionstabeller, respektive. I detta dokument förbättrar och förenklar vi i första hand COOP-attacken avsevärt. Baserat på en stark kontradiktorisk modell presenterar vi sedan designen och implementeringen av ett omfattande kodåteranvändningsförsvar som är motståndskraftigt mot återanvändning av dynamiskt bundna funktioner. I synnerhet introducerar vi två nya försvarstekniker: (i) en praktisk teknik för att randomisera layouten av tabeller som innehåller kodpekare motståndskraftig mot minnesutlämning och (ii) bröstfälla insättning för att minska hotet om brute-force attacker itererar över de randomiserade tabeller. Booby fällor tjänar det dubbla syftet att förhindra felanalys sidokanaler och se till att varje tabell har tillräckligt många möjliga permutationer. Vår detaljerade utvärdering visar att vår strategi är säker, effektiv och praktisk. Vi förhindrar realistiska, COOP-liknande attacker mot webbläsaren Chromium och rapporterar en genomsnittlig overhead på 1,1% på SPEC CPU2006 riktmärken.
Stephen REF presenterade en programvara sätt som förbättrar och förenklar COOP attack och använda tabell randomisering för att motstå Code-reuse attacker.
It's a TRaP: Table Randomization and Protection against Function-Reuse Attacks
{'venue': "CCS '15", 'journal': None, 'mag_field_of_study': ['Computer Science']}