De in New York gevestigde ondernemer en crypto-investeerder Dan Reich slaakte een zucht van verlichting nadat een white hat hacker hem had geholpen om meer dan $2 miljoen aan ‘verloren’ cryptocurrencies terug te krijgen die vast zaten in zijn Trezor One-hardwareportemonnee.
De verloren cryptocurrency
Zoals gemeld door The Verge, hebben Reich en zijn vriend begin 2018 $50.000 in Bitcoin uitgegeven om een batch Theta Network-tokens (THETA) te kopen, die destijds ongeveer $0,21 waard waren. Aanvankelijk werden de fondsen vastgehouden op een in China gevestigde crypto-beurs, echter werden deze later verplaatst naar een Trezor One-hardwareportemonnee.
Tegen het einde van 2018, toen de prijs van het token bijna verviervoudigde, besloten de twee vrienden hun investering te verzilveren. Ze realiseerden zich echter dat ze het wachtwoord van de portemonnee met de tokens waren vergeten.
Na 12 mislukte pogingen om de pincode te raden, gaven ze het op omdat de portemonnee zichzelf zou wissen na 16 mislukte pogingen, todat de munt echter verder steeg naar een totale waarde van meer dan $3 miljoen.
De kraak van de Trezor One
Om toch toegang te verkrijgen tot de portemonnee, hebben de mannen besloten om via verschillende wegen contact op te nemen met Joe Grand, een hardware-hacker uit Portland, die er uiteindelijk in slaagde de pincode te herstellen.
Zoals Grand uitlegde in zijn YouTube-video (klik hier om de video te bekijken), verplaatsen Trezor One-portefeuilles normaal gesproken de pincode en sleutel naar het RAM-geheugen tijdens een firmware-update. Zodra de update is voltooid, wordt de informatie teruggezet naar Flash.
Dit was niet het geval met Reich’s portemonnee – ondanks het feit dat Trezor de pincode en sleutel verwijderde die tijdens het opstarten naar het RAM werden gekopieerd, verschenen de pincode en sleutel in latere stadia in het RAM van het apparaat. Dit betekende dat als Grand per ongeluk het RAM-geheugen zou wissen, voordat hij de gegevens kon lezen, hij de pincode niet zou kunnen herstellen.
Om het probleem op te lossen, gebruikte Grand een zogenaamde foutinjectie-aanval – een fysieke aanval op het apparaat die de hoeveelheid spanning die naar de chip gaat, verandert. Hierdoor kon hij de beveiliging van de microcontrollers van de portemonnee omzeilen die was ingesteld om te voorkomen dat hackers het RAM-geheugen konden lezen.
Eenmaal omzeild, voerde Grand een geautomatiseerd script uit om de verloren pincode te verkrijgen. Hij zei het volgende hierover:
“Ik zat hier naar het computerscherm te kijken en zag dat ik in staat was om de beveiliging, de privé-informatie, de recovery seed en de pincode die ik zocht op het scherm te krijgen.”
Trezor reageert op gekraakte portemonnee
Het is vermeldenswaard dat SatoshiLabs, de in Praag gevestigde fabrikant van Trezor-portefeuilles, het beveiligingsprobleem in Reich’s apparaat enige tijd geleden heeft opgelost, en alle nieuwe apparaten worden geleverd met een vaste bootloader. Het bedrijf reageerde als volgt op het nieuws op Twitter:
“We willen er alleen aan toevoegen dat dit een verouderde exploit is die geen zorg is voor huidige gebruikers en die we in 2017 hebben opgelost direct na een melding die we hebben ontvangen via ons programma voor verantwoorde openbaarmaking.”
Het belangrijkste probleem met de chip die een foutinjectie-aanval mogelijk maakt, blijft echter bestaan en kan worden opgelost door de chipmaker of door over te schakelen naar een veiligere chip. Zoals echter benadrukt door Trezor, vereist dit soort aanvallen volledige fysieke toegang tot het apparaat en is er nog geen melding naar buiten gekomen dat er geld is gecompromitteerd.