Mocht je veel cryptocurrencies in bezit hebben, zou het kunnen dat je die codes niet online op wil slaan. Denk maar aan de recente problemen met Mt Gox, of alle andere hacks, waarbij miljoenen dollars aan virtuele valuta gestolen zijn. Het offline bewaren van je bitcoin, ethereum of andere virtuele munten lijkt veiliger. Het Franse bedrijf Ledger maakte daarvoor speciale hardware, die niet te hacken zou zijn. Maar de werkelijkheid ligt anders.

Vandaag blijkt dat de vijftienjarige Saleem Rashid een achterdeurtje in de code van de Ledger Nano S gevonden heeft. Daarmee kon hij alsnog toegang krijgen tot de hardware-portemonnee, die volgens het bedrijf aan miljoenen mensen wereldwijd verkocht is. Volgens Rashid had hij een stukje code van slechts 300 bytes nodig.

Hoe het werkt

Saleem Rachid richtte zich met zijn hack op de micro-controllers van de Ledger Nano S. Een van die controllers slaat de sleutel op en de ander werkt als een proxy. Daar staan onder meer functies en een USB-interface. Dat laatste werkt niet heel veilig en kan het verschil tussen daadwerkelijke firmware en code van een hacker niet zien.

Zodoende kan een portemonnee nepwachtwoorden genereren voor nieuwe eigenaren. Maar een aanvaller kan er ook voor zorgen dat data ergens anders wordt opgeslagen, zodat dit voor hackers makkelijker toegankelijk is. Ledgers CEO Eric Larchevêque stelt in een reactie op Reddit dat de problemen wel meevallen en stelt dat Rashid “overdrijft”.

Wie heeft gelijk?

Matt Green, een analist in dienst van Johns Hopkins University, die zich specialiseert in versleutelingsbeveiliging, kiest de kant van Rashid. “Ledger moet een fundamenteel ingewikkeld probleem oplossen. Ze moeten de firmware die op een processor draait controleren. Maar hun veilige chip kan die code niet inzien. Dus ze vragen de processor om zijn eigen code te leveren. Dat is een catch-22, omdat de processor wellicht geen eerlijke code draait. Het is een beetje alsof je iemand die mogelijk crimineel is, vraagt om je hun strafblad te geven. Het draait om eer,” vertelt hij aan Ars Technica.

Gelukkig valt het probleem relatief mee. Om de kwetsbaarheid uit te buiten, is fysieke toegang tot de Ledger Nano S nodig.