Trots de många förebyggande och skyddsmekanismer som har införts i moderna operativsystem utgör utnyttjandet av sårbarheter för minneskorruption fortfarande ett allvarligt hot mot säkerheten i programvarusystem och -nätverk. En ny exploateringsteknik, kallad Return-orienterad programmering (ROP), har på senare tid rönt stor uppmärksamhet från den akademiska världen. Tidigare forskning om ämnet har främst fokuserat på att förfina den ursprungliga attacktekniken, eller på att föreslå partiella lösningar som endast riktar sig till vissa varianter av attacken. I detta dokument presenterar vi G-Free, ett kompilatorbaserat tillvägagångssätt som utgör den första praktiska lösningen mot alla möjliga former av ROP. Vår lösning kan eliminera alla ojusterade fria gren instruktioner inuti en binär körbar, och skydda anpassade fri gren instruktioner för att förhindra dem från att missbrukas av en angripare. Vi utvecklade en prototyp baserad på vårt tillvägagångssätt och utvärderade den genom att sammanställa GNU libc och ett antal verkliga applikationer. Resultaten av experimenten visar att vår lösning kan förhindra alla former av returorienterad programmering.
Senast, Onarlioglu et al. REF föreslår G-Free, som är en kompilatorbaserad metod för att eliminera alla ojusterade fri-branch-instruktioner inuti en binär körbar och förhindra att anpassade fri-branch-instruktioner missbrukas.
G-Free: defeating return-oriented programming through gadget-less binaries
{'venue': "ACSAC '10", 'journal': None, 'mag_field_of_study': ['Computer Science']}