Hardwarebeveiliging: nieuwste ontwikkelingen
Welke uitspraak beschrijft de hardwarematige shadow stack juist, die onder meer in Intel CET (Control-flow Enforcement Technology) wordt gebruikt?
- ADe inhoud van de stack wordt met vaste tussenpozen in niet-vluchtig geheugen opgeslagen, en wanneer een programma abnormaal eindigt, wordt de uitvoering vanaf die inhoud hervat
- BLokale variabelen van functies worden in snel geheugen apart van de normale stack geplaatst, zodat er minder cachemissers zijn en functieaanroepen sneller worden
- CBij het aanroepen van een functie wordt een kopie van het terugkeeradres ook op een aparte stack gezet die met gewone schrijfacties niet kan worden veranderd, en bij het terugkeren worden beide vergeleken
Antwoord en toelichting tonen
Antwoord: C. Bij het aanroepen van een functie wordt een kopie van het terugkeeradres ook op een aparte stack gezet die met gewone schrijfacties niet kan worden veranderd, en bij het terugkeren worden beide vergeleken
Als een terugkeeradres wordt overschreven door bijvoorbeeld een bufferoverloop op de stack, springt de uitvoering bij het terugkeren uit de functie naar een plaats die de aanvaller heeft gekozen. Bij een shadow stack zet de call-instructie het terugkeeradres op zowel de normale stack als de shadow stack, en vergelijkt de ret-instructie beide. Pagina's van de shadow stack zijn een speciaal soort pagina waarnaar gewone store-instructies niet kunnen schrijven, dus een aanvaller die de normale stack heeft overschreven, kan de kopie niet veranderen, en bij een afwijking treedt een exceptie op die de uitvoering stopt.
Verder: nog 9 vragen over Hardwarebeveiliging: nieuwste ontwikkelingen