Hardwarebeveiliging: nieuwste ontwikkelingen
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?
- A1/16 (ongeveer 6,3%)
- B1/4 (25%)
- C15/16 (ongeveer 93,8%)
Antwoord en toelichting tonen
Antwoord: A. 1/16 (ongeveer 6,3%)
Een tag heeft 4 bits en kan dus 2⁴ = 16 waarden aannemen. Als de nieuwe tag uniform uit de 16 waarden wordt gekozen, is de kans dat die toevallig overeenkomt met de tag van de oude pointer 1/16 = 6,25% (ongeveer 6,3%), en in de overige 15/16 van de gevallen wordt de afwijking gedetecteerd. Zelfs één enkele toegang wordt met een kans van ongeveer 94% ontdekt, dus fouten kunnen worden gevonden terwijl het systeem op veel apparaten draait, en aanvallen worden moeilijker. Als bij het toewijzen naburige gebieden altijd verschillende tags krijgen, wordt een overloop naar een naburig gebied altijd gedetecteerd.
Verder: nog 9 vragen over Hardwarebeveiliging: nieuwste ontwikkelingen