Hardwarebeveiliging: nieuwste ontwikkelingen

Welke uitspraak beschrijft de capabilities juist die worden gebruikt in de uitbreiding van de instructieset die CHERI heet?

  1. 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
  2. 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
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeveiliging: nieuwste ontwikkelingen

  1. Bij Arm MTE (Memory Tagging Extension) krijgt elke 16 bytes geheugen een tag van 4 bits, wordt ook in de hoge bits van de pointer een tag van 4 bits gezet, en controleert de CPU bij elke toegang of beide overeenkomen. Beschouw de fout waarbij via een oude pointer naar een vrijgegeven gebied toegang tot dat gebied wordt verkregen. Als de nieuwe tag bij het opnieuw toewijzen van het gebied uniform willekeurig uit de 16 mogelijkheden wordt gekozen, hoe groot is dan de kans dat de tags toevallig overeenkomen en de fout wordt gemist?
  2. Welke uitspraak beschrijft het mechanisme van Arm-pointerauthenticatie (PAC) juist?
  3. Welke uitspraak beschrijft de hardwarematige shadow stack juist, die onder meer in Intel CET (Control-flow Enforcement Technology) wordt gebruikt?
  4. Welke combinatie is juist voor hardwarefuncties die control-flow-integriteit ondersteunen, namelijk wat het terugkeren uit functies beschermt en wat indirecte aanroepen en sprongen, zoals via functiepointers, beschermt?
  5. Wat is de juiste verklaring waarom wordt gezegd dat Rowhammer gemakkelijker optreedt naarmate DRAM verder wordt verkleind?