Hardwarebeveiliging: nieuwste ontwikkelingen

Welke combinatie van beschrijvingen van retpoline en IBRS is juist, tegenmaatregelen tegen de variant van Spectre die de voorspelling van indirecte sprongen misbruikt (branch target injection)?

  1. ARetpoline bouwt de schakelingen van de CPU opnieuw om de voorspeller te verwijderen, en IBRS is een tegenmaatregel waarbij de compiler instructies voor indirecte sprongen herschrijft tot een andere reeks instructies
  2. BRetpoline is een softwarematige tegenmaatregel die indirecte sprongen vervangt door instructiereeksen die niet op de voorspeller steunen, en IBRS is een functie van de CPU die de voorspelling van indirecte sprongen beperkt
  3. CZowel retpoline als IBRS stopt de speculatieve uitvoering van de CPU zelf, dus met elk van beide gaat de prestatiewinst door speculatieve uitvoering verloren
Antwoord en toelichting tonen

Antwoord: B. Retpoline is een softwarematige tegenmaatregel die indirecte sprongen vervangt door instructiereeksen die niet op de voorspeller steunen, en IBRS is een functie van de CPU die de voorspelling van indirecte sprongen beperkt

Bij retpoline vervangt de compiler instructies voor indirecte sprongen door een reeks die call en ret combineert, zodat de CPU de voorspelling van het retouradres gebruikt in plaats van de misbruikbare voorspeller van indirecte sprongen, en speculatief uitgevoerde instructies onschadelijk in een lus ronddraaien. IBRS is een besturingsfunctie van de CPU, toegevoegd via onder meer microcode-updates, die bijvoorbeeld de voorspelling van indirecte sprongen in de kernel zo beperkt dat die niet volgt wat gebruikersprogramma's hebben getraind. Op oudere CPU's kostte het omschakelen van IBRS veel tijd, dus werd retpoline veel gebruikt, terwijl nieuwere CPU's een verbeterde versie hebben die permanent aan kan blijven (eIBRS). Sommige CPU's steunen echter ook voor de voorspelling van het retouradres op een andere voorspeller, en onder meer Retbleed, gepubliceerd in 2022, liet gevallen zien waarin retpoline alleen onvoldoende is.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeveiliging: nieuwste ontwikkelingen

  1. Een taak duurde vóór het toepassen van tegenmaatregelen tegen speculatieve uitvoering 10 seconden en deed in die tijd 5 miljoen systeemaanroepen. Neem aan dat de tegenmaatregelen de verwerkingstijd per systeemaanroep verhogen van 0,4 µs naar 0,6 µs en de tijd van al het andere niet veranderen. Met welk aandeel neemt de totale tijd van de taak toe?
  2. Bij op roosters gebaseerde post-kwantumcryptografie worden vaak polynomen van graad n = 256 met elkaar vermenigvuldigd. Als de naïeve methode, waarbij alle paren coëfficiënten met elkaar worden vermenigvuldigd, ongeveer n² vermenigvuldigingen nodig heeft en de methode met de getaltheoretische transformatie (NTT) ongeveer n log₂ n, welke waarde ligt dan het dichtst bij de factor waarmee de NTT het aantal vermenigvuldigingen vermindert?
  3. De publieke sleutel van ML-KEM-768 is 1184 bytes en de cijfertekst 1088 bytes, terwijl de publieke waarde van X25519, een sleuteluitwisseling op elliptische krommen, 32 bytes is. Hoeveel keer zo groot als de publieke waarde van X25519 is de publieke sleutel van ML-KEM-768?
  4. Bij de decapsulatie van ML-KEM wordt uit het resultaat van het ontsleutelen van de ontvangen cijfertekst met de privésleutel opnieuw een cijfertekst opgebouwd en vergeleken met de ontvangen cijfertekst. Welke voorzorg bij de implementatie van dit deel is juist?
  5. U ontwerpt een SoC voor een embedded apparaat dat meer dan 10 jaar wordt gebruikt. Welk hardware- en firmwareontwerp is passend als voorbereiding op een toekomstige migratie van cryptografie (zoals de overstap op post-kwantumcryptografie)?