Ontwikkelaars van het Google Cloud-team kwetsbaarheid (CVE-2019-9836) in de implementatie van AMD SEV (Secure Encrypted Virtualization), die toegang kan geven tot gegevens die door deze technologie worden beveiligd. AMD SEV biedt op hardware-niveau transparante encryptie van het geheugen van virtuele machines, waarbij alleen het huidige gastbesturingssysteem toegang heeft tot de ontsleutelde gegevens, en andere virtuele machines en de hypervisor bij toegangspogingen tot dit geheugen een versleutelde set gegevens ontvangen.
Het vastgestelde probleem maakt het mogelijk om de volledige inhoud van de gesloten PDH-sleutel te herstellen, die wordt verwerkt op het niveau van een afzonderlijke beveiligde processor PSP (AMD Security Processor), die niet toegankelijk is voor het hoofd-OS.
Met de PDH-sleutel kan de aanvaller vervolgens de sessiesleutel en de geheime reeks die is vastgesteld bij het maken van de virtuele machine, herstellen en toegang krijgen tot de versleutelde gegevens.
De kwetsbaarheid wordt veroorzaakt door tekortkomingen in de implementatie van elliptische krommen (ECC), die worden gebruikt voor encryptie, die het mogelijk maken om uit te voeren om de parameters van de kromme te herstellen. Tijdens de uitvoering van het opstartcommando van de beveiligde virtuele machine kan de aanvaller parameters van de kromme verzenden die niet overeenkomen met de parameters die door NIST worden aanbevolen, wat zal leiden tot het gebruik van waarden van laagwaardige punten in vermenigvuldigingsoperaties met gegevens van de gesloten sleutel.
De beveiliging van het ECDH-protocol hangt rechtstreeks van van het gegenereerde startpunt van de kromme, waarvan het discrete logaritmering een zeer complexe taak is. Tijdens een van de stappen van de initialisatie van de AMD SEV-omgeving worden parameters die van de gebruiker zijn verkregen gebruikt in berekeningen met de gesloten sleutel. Eigenlijk wordt een vermenigvuldigingsoperatie van twee punten uitgevoerd, waarvan ƩƩn overeenkomt met de gesloten sleutel. Als het tweede punt betrekking heeft op eenvoudige getallen van lage orde, kan de aanvaller de parameters van het eerste punt (bits van de modulus die in de exponentiering modulo wordt gebruikt) bepalen door alle mogelijke waarden te doorlopen. Voor het bepalen van de gesloten sleutel kunnen de geselecteerde fragmenten van eenvoudige getallen vervolgens worden samengevoegd met behulp van .
De probleem is van invloed op serverplatforms AMD EPYC die SEV-firmware gebruiken tot en met versie 0.17 build 11. AMD heeft al Een firmware-update waarin de blokkering van het gebruik van punten die niet voldoen aan de NIST-curve is toegevoegd. Tegelijkertijd blijven eerder gegenereerde certificaten voor PDH-sleutels geldig, wat een aanvaller in staat stelt om een aanval uit te voeren door virtuele machines te migreren van omgevingen die beschermd zijn tegen kwetsbaarheden naar omgevingen die aan het probleem zijn blootgesteld. Er wordt ook gesproken over de mogelijkheid om een aanval uit te voeren door de firmwareversie terug te draaien naar een oude kwetsbare uitgave, maar deze mogelijkheid is nog niet bevestigd.
Bron: opennet.ru
