Abstract-Use-efter-fri sårbarheter har blivit en viktig klass av säkerhetsproblem på grund av förekomsten av begränsning som skyddar mot andra typer av sårbarheter. Effekterna av deras utnyttjande kan vara lika förödande som att utnyttja ett buffertspill, vilket kan resultera i full kodutförande inom det sårbara programmet. Få skydd finns mot dessa typer av sårbarheter och de är särskilt svåra att upptäcka genom manuell kodkontroll. I detta dokument presenterar vi FreeSentry: en begränsning som skyddar mot användning-efter-fri sårbarheter genom att infoga dynamiska körtid kontroller som upphäver pekare när tillhörande minne släpps. Om en sådan ogiltig pekare nås, kommer programmet senare krascha, förhindra en angripare från att utnyttja sårbarheten. Vid kontroll av dynamiskt tilldelat minne, har vår strategi en måttlig prestanda overhead på SPEC CPU-riktmärken: körs med en geometrisk genomsnittlig prestandapåverkan på cirka 25%. Den har inga overhead när den används på allmänt använda server-side-demoner som OpenSSH eller Apache HTTP-demonen. FreeSentry upptäckte också en tidigare okänd användning-efter-fri sårbarhet i ett av programmen i SPEC CPU2000 riktmärken: perlbmk. Denna sårbarhet tycks ha missats av andra åtgärder.
Referensreferensreferensen inför dynamiska körtidskontroller för att skydda mot UAF-sårbarheter.
FreeSentry: Protecting Against Use-After-Free Vulnerabilities Due to Dangling Pointers
{'venue': 'NDSS', 'journal': None, 'mag_field_of_study': ['Computer Science']}