Hardwarebeveiliging: nieuwste ontwikkelingen
Welke uitspraak beschrijft de capabilities juist die worden gebruikt in de uitbreiding van de instructieset die CHERI heet?
- APointerwaarden worden met een sleutel in de CPU versleuteld voordat ze in het geheugen worden gezet en bij elk gebruik ontsleuteld, zodat andere programma's en het OS de pointerwaarden niet kunnen lezen
- BDe CPU controleert de digitale handtekening van het uitvoerbare bestand van het programma telkens wanneer hij één instructie uitvoert, en voert geen ongetekende instructies uit
- CEen pointer krijgt het bereik waartoe hij toegang mag hebben en zijn rechten mee, en een tag van 1 bit die software in het geheugen niet kan herschrijven, onderscheidt of hij op legitieme wijze is gemaakt
Antwoord en toelichting tonen
Antwoord: C. Een pointer krijgt het bereik waartoe hij toegang mag hebben en zijn rechten mee, en een tag van 1 bit die software in het geheugen niet kan herschrijven, onderscheidt of hij op legitieme wijze is gemaakt
CHERI vervangt pointers die alleen een adres zijn door capabilities die het adres, de onder- en bovengrens van het bereik waarnaar ze mogen wijzen en rechten zoals lezen, schrijven en uitvoeren bundelen (bij adressen van 64 bits worden ze gecomprimeerd tot 128 bits, met daarnaast een tag van 1 bit). De CPU controleert bij elke toegang het bereik en de rechten, zodat fouten in de geheugenveiligheid, zoals lezen of schrijven buiten een array, in hardware kunnen worden gestopt. De tag wordt alleen gezet wanneer een capability met de juiste instructies wordt gemaakt, en verdwijnt wanneer die als gewone gegevens wordt overschreven, dus pointers kunnen niet worden vervalst. Het onderzoek wordt geleid door onder meer de Universiteit van Cambridge, en Arm heeft begin jaren 2020 Morello, een prototypeprocessor met evaluatiebord die erop is gebaseerd, aan onderzoekers beschikbaar gesteld.
Verder: nog 9 vragen over Hardwarebeveiliging: nieuwste ontwikkelingen