Kontroll-Flow Hijacking attacker är den dominerande attack vektorn för att kompromissa system. Control-Flow Integrity (CFI) lösningar lindra dessa attacker på framkanten, dvs indirekta samtal genom funktionspekare och virtuella samtal. Skydda den bakre kanten lämnas att stapla kanariefåglar, som lätt kringgås genom information läckor. Shadow Stacks är en helt exakt mekanism för att skydda bakåtkanter, och bör användas med CFI-reducerande åtgärder. Vi presenterar en omfattande analys av alla möjliga skugg stack mekanismer längs tre axlar: prestanda, kompatibilitet och säkerhet. Baserat på vår studie, föreslår vi en ny skugg stack design som kallas Shadesmar som utnyttjar en dedikerad register, vilket resulterar i låg prestanda overhead, och minimal minne overhead. Vi presenterar fallstudier av Shadesmar på Phoronix och Apache för att visa genomförbarheten av att överlämna ett allmänt register till en säkerhetsövervakare på moderna arkitekturer, och Shadesmars utplaceringsbarhet. Isolering av skugg stacken är avgörande för säkerheten, och kräver i processen isolering av ett segment av den virtuella adressutrymmet. Vi uppnår denna isolering genom att återställa två nya Intel x86-tillägg för minnesskydd (MPX) och sidtabellsstyrning (MPK). Med utgångspunkt i våra isoleringsinsatser med MPX och MPK presenterar vi designkraven för en dedikerad maskinvarumekanism för att stödja intra-process-minnesisolering, och visar hur en sådan mekanism kan ge nästa våg av mycket exakta programvarusäkerhetsbegränsande åtgärder som bygger på delvis isolerad information i en process.
Burow och Al. REF utnyttjar både MPK- och minnesskyddsförlängning (MPX) för att effektivt isolera skuggstacken.
Shining Light On Shadow Stacks
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}