Onderzoekers van de Vrije Universiteit Amsterdam hebben een nieuwe zijkanaalaanval bekendgemaakt DICHTSLAAN die kunnen worden misbruikt om gevoelige informatie uit het kernelgeheugen van huidige en toekomstige CPU’s van Intel, AMD en Arm te lekken.
De aanval is een end-to-end exploit voor Spectre, gebaseerd op een nieuwe functie in Intel CPU’s genaamd Linear Address Masking (LAM), evenals zijn analoge tegenhangers van AMD (genaamd Upper Address Ignore of UAI) en Arm (genaamd Top Byte Ignore of TBI).
“SLAM exploiteert ontmaskerde gadgets om een ​​gebruikerslandproces willekeurige ASCII-kernelgegevens te laten lekken”, aldus VUSec-onderzoekers, eraan toevoegend dat het zou kunnen worden gebruikt om de root-wachtwoord-hash binnen enkele minuten uit het kernelgeheugen te lekken.
Hoewel LAM wordt gepresenteerd als een beveiligingsfunctie, bleek uit het onderzoek dat het op ironische wijze de beveiliging verslechtert en het Spectre-aanvalsoppervlak “dramatisch” vergroot, resulterend in een tijdelijke uitvoeringsaanval, waarbij speculatieve uitvoering wordt misbruikt om gevoelige gegevens te extraheren via een verborgen cachekanaal.
“Een tijdelijke uitvoeringsaanval maakt gebruik van de microarchitecturale bijwerkingen van tijdelijke instructies, waardoor een kwaadwillende tegenstander toegang krijgt tot informatie die normaal gesproken zou worden verboden door architecturale toegangscontrolemechanismen”, zegt Intel in zijn terminologiedocumentatie.
SLAM wordt beschreven als de eerste tijdelijke uitvoeringsaanval gericht op toekomstige CPU’s en maakt gebruik van een nieuw geheim kanaal gebaseerd op niet-canonieke adresvertaling dat de praktische exploitatie van generieke Spectre-gadgets vergemakkelijkt om waardevolle informatie te lekken. Het heeft invloed op de volgende CPU’s:
- Bestaande AMD CPU’s zijn kwetsbaar voor CVE-2020-12965
- Toekomstige Intel CPU’s die LAM ondersteunen (zowel paging op 4 als 5 niveaus)
- Toekomstige AMD CPU’s die UAI en paging op 5 niveaus ondersteunen
- Future Arm CPU’s die TBI en paging op 5 niveaus ondersteunen
“Armsystemen verzachten al tegen Spectre v2 en BHB, en het wordt beschouwd als de verantwoordelijkheid van de software om zichzelf te beschermen tegen Spectre v1”, zei Arm in een advies. “De beschreven technieken vergroten alleen maar het aanvalsoppervlak van bestaande kwetsbaarheden zoals Spectre v2 of BHB door het aantal exploiteerbare gadgets te vergroten.”
AMD heeft ook gewezen op de huidige Spectre v2-maatregelen om de SLAM-exploit aan te pakken. Intel is daarentegen van plan softwarerichtlijnen te bieden voorafgaand aan de toekomstige release van Intel-processors die LAM ondersteunen. In de tussentijd hebben Linux-onderhouders patches ontwikkeld om LAM standaard uit te schakelen.
De bevindingen komen bijna twee maanden nadat VUSec licht werpt op Quarantaine, een software-only benadering om tijdelijke uitvoeringsaanvallen te beperken en fysieke domeinisolatie te bereiken door de Last Level Cache (LLC) te partitioneren om elk beveiligingsdomein exclusieve toegang te geven tot een ander deel van de beveiliging. LLC met als doel de geheime kanalen van LLC te elimineren.
“De fysieke domeinisolatie van quarantaine isoleert verschillende beveiligingsdomeinen op afzonderlijke kernen om te voorkomen dat ze corelokale microarchitecturale bronnen delen”, aldus de onderzoekers. “Bovendien wordt de LLC ongedaan gemaakt en wordt deze verdeeld over de beveiligingsdomeinen.”