Beveiligingsonderzoekers van de Radboud Universiteit van Nijmegen hebben diverse kwetsbaarheden in verschillende self-encrypting-ssd's van Samsung en Crucial aangetroffen. Ze verwachten dat veel meer ssd's kwetsbaar zijn.
De onderzoekers van de Radboud Universiteit van Nijmegen, Carlo Meijer en Bernard van Gastel, kochten verschillende ssd's van Crucial en Samsung om de implementatie van de beveiliging die self-encrypting drives moeten bieden, te onderzoeken. Daarbij extraheerden ze de firmware en kregen ze inzicht in de beveiliging door deze te reverse engineeren.
"De encryptie van ssd's is niet op orde", stelt Bernard van Gastel tegenover Tweakers. Hij en zijn collega ontdekten onder andere dat de cryptografische sleutel bij de onderzochte ssd's niet afhankelijk is van het wachtwoord. "Het wachtwoord voegt niets toe. Als je de beschikking over de ssd hebt, is dat voldoende. We wisten de check eruit te halen zodat elk wachtwoord goedgekeurd werd."
Deze kwetsbaarheid, met aanduiding CVE-2018-12037, deed zich voor bij de Crucial MX100, MX200 en MX300, de externe Samsung T3- en T5-ssd's en de Samsung 840 Evo en 850 Evo. De onderzoekers wisten de juiste ingang tot de beveiliging onder andere te vinden via bufferoverflows en de debuginterface JTAG, die fabrikanten soms op drives aanwezig laten. Er zijn volgens Van Gastel ook andere manieren om het uitvoeren van code op de controller mogelijk te maken, zoals via power glitching.
Een andere kwetsbaarheid, CVE-2018-12038, heeft te maken met wear levelling bij de chip waarop de sleutel is opgeslagen. Vanuit de fabriek worden de ssd's zonder wachtwoord geleverd, al wordt standaard wel alles versleuteld waarbij de sleutel onbeschermd is opgeslagen. Bij het veranderen van een wachtwoord wordt er alsnog een beschermde sleutel weggeschreven, maar door wear levelling kan de onbeschermde nog op andere sectoren staan. De sleutel zonder wachtwoord kan zo op die andere locatie uitgelezen worden, al is die logisch gezien niet te onttrekken. Dit bleek bij de Samsung 840 Evo het geval.
Meijer en Van Gastel hebben bijna twee jaar over hun onderzoek gedaan, waarbij ze onder andere de ssd's moesten openschroeven en moesten solderen voor de eerste resultaten. Volgens Van Gastel is de methode makkelijk te automatiseren en leert de ervaring dat er binnen afzienbare tijd programma's verschijnen die helpen om toegang tot encrypted drives te krijgen. Er is wel fysieke toegang tot de ssd nodig om de beveiliging te omzeilen.
Fabrikanten van opslagmedia hebben een standaard voor de hardwarematige encryptie van opslagmedia ontwikkeld: TGC Opal. Dat het standaardiseren geen soelaas biedt, komt volgens de onderzoeker doordat de implementatie te complex is en te veel eisen stelt. "De standaard vertelt fabrikanten niet hoe ze de beveiliging moeten implementeren. Als er al een referentie-implementatie is, dan is die niet openbaar, maar wij vermoeden dat die er helemaal niet is."
Voor doorsnee gebruikers is de impact volgens hem laag, omdat die waarschijnlijk toch geen gebruik maken van hardwarematige encryptie. "Maar gevorderde gebruikers die het hebben aanstaan om gevoelige gegevens te beschermen, moeten uitkijken. Ook voor organisaties is het een probleem, die zetten niet alles even om. Daarom hebben we die twee weken geleden al gewaarschuwd", volgens Van Gastel.
De kwetsbaarheden zijn niet eenvoudig te verhelpen met firmware-updates, als gebruikers die al massaal zouden doorvoeren. De onderzoekers adviseren daarom om niet exclusief te vertrouwen op hardwarematige encryptie en gebruik te maken van softwarematige encryptie, zoals VeraCrypt.
Ook waarschuwen ze dat BitLocker van Windows automatisch voor hardwarematige encryptie kan kiezen als een drive met TCG Opal-ondersteuning aanwezig is. Alleen een geheel nieuwe installatie, met opnieuw formatteren van de schijf, dwingt dan software-encryptie af. "Het commando om te kijken of Windows de encryptie uitbesteedt aan de schijf is 'manage-bde -status' in de Command Prompt of PowerShell. Als 'Hardware Encryption' achter 'Encryption Method' staat, wordt de encryptie uitbesteed aan de ssd's", aldus Van Gastel.
Voor de externe ssd's T1, T3 en T5 heeft Samsung nieuwe firmware vrijgegeven. Voor de interne ssd's verwijst ook Samsung door naar encryptiesoftware. Crucial, een dochtermerk van Micron, lijkt nog geen mededeling over de kwetsbaarheid gepubliceerd te hebben.
De onderzoekers hebben hun bevindingen in een voorlopige rapportage met als titel Self-encrypting deception: weaknesses in the encryption of solid state drives gepubliceerd. Ze hebben voor de publicatie de beginselen van responsible disclosure gevolgd, en Samsung en Crucial zes maanden geleden ingelicht. Er is ook een advisory voor organisaties beschikbaar.