Hardware wallets worden beschouwd als de meest betrouwbare cryptovaluta wallet. Niets is echter 100% veilig, en ook deze kunnen aangetast worden. Op het 35e Chaos Communication Congress lieten veiligheidsonderzoekers Thomas Roth, Dmitry Nedospasov, en Josh Datko verschillende manieren zien hoe dit kan. Maar voor we gaan hacken, een beetje achtergrond over wat een hardware eigenlijk is en hoe het werkt.
Wat is een cryptocurrency wallet?
Allereerst gaan we het hebben over wat een cryptocurrency wallet in het algemeen is. Simpel gezegd is een wallet een cryptovaluta account. Deze ‘account’ bestaat uit cryptografische sleutels, een is openbaar en de ander privé. Deze twee sleutels lijken op een set van login en wachtwoord: De openbare sleutel wordt gebruikt als een wallet-adres, en de privésleutel als toegang tot de munten – dat betekent het signeren van uitgaande transacties.
Een ander belangrijk punt is hoe meervoudige sets openbare-privésleutels worden gegenereerd in cryptovalutasystemen voor meervoudige wallets die tot één persoon behoren. Het kan ongunstig zijn om meerdere compleet onafhankelijk gegenereerde sleutelsets op te slaan. En wat cryptovaluta systemen daadwerkelijk doen is het genereren van één groot nummer, een cryptografische kiem genaamd, en meerdere openbare-privé sleutelsets worden daaruit afgeleid op een voorspelbare manier voor meervoudige wallets.
Dit ene grote nummer – de cryptografische kiem – is wat een gebruiker van een cryptovaluta systeem daadwerkelijk opslaat.
In tegenstelling tot traditionele financiële systemen, hebben cryptovaluta normaalgesproken geen centrale autoriteit, geen registratiemechanismen, niets als schadevergoedingen en geen functies voor een accountherstel. Iedereen die de cryptografische kiem en daarmee ook de sleutels die eruit afgeleid worden, heeft de bijbehorende cryptovaluta wallets in handen. En als deze kiem wordt gestolen of kwijtraakt, dan geldt dit ook voor de munten in de wallet.
Trouwens, formeelgezien is een wallet een set van openbare-privésleutel, maar meestal worden manieren om die sleutels op te slaan ook wallets genoemd. In andere woorden is een hardware wallet een apparaat dat cryptovaluta wallets opslaat. Makkelijk, toch?
Waarom zou iemand een hardware cryptovaluta wallet willen?
Je kunt je voorstellen dat het belangrijk is om die kiem Zo Veilig Mogelijk te houden. Er zijn tal van manieren om die kiem op te slaan, met de bijbehorende voor- en nadelen. De meest voordehand liggende methode is de kiem opslaan op je computer of smartphone, of handiger zelfs, online. Helaas komt malware die jaagt naar cryptovaluta wallets veel voor. Voor de online walletservices geldt dat deze gehackt kunnen worden of zelfs failliet kunnen gaan, waarbij grote hoeveelheden munten in rook opgaan.
Daarbovenop komen andere problemen, zoals phishing, neppe betaalinformatie, het verlies van wallets door hardware-problemen, etc. – zoveel dat op een bepaald moment mensen een oplossing zochten in de creatie van hardware cryptovaluta wallets, toegewijd aan de veilige en betrouwbare opslag van cryptografische kiemen.
Hoe hardware cryptocurrency wallets te werk gaan
De hoofdgedachte achter hardware cryptocurrency wallets is de opslag van de cryptografische kiem zodat die nooit het apparaat verlaat. Al het cryptosigneren wordt ook in de wallet gedaan, niet op een computer die eraan verbonden is. Mocht je computer aangevallen worden, dan kunnen de indringers jouw sleutels niet stelen.
Het is goed om daarnaast ook toegangsbeveiliging in te stellen – zoals het apparaat voorzien van een PIN-code. En natuurlijk is het handig voor gebruikers van hardware wallet om de transactie te kunnen verifiëren op het apparaat om de keuze te hebben om deze te bevestigen of te annuleren.
Al deze overwegingen zorgen voor het meest geschikte ontwerp: Normaalgesproken is een cryptovaluta wallet een relatief kleine USB-hanger met een scherm en knopjes voor het invoeren van de PIN-code en het bevestigen van transacties.
De werking van de apparaten kan echter variëren. De twee hoofdproducenten van hardware wallets – Trezor en Ledger – vertegenwoordigen twee verschillende benaderingen van het hardware-ontwerp.
Ledger’s approach: De cryptografische kiem zit opgeslagen in de Secure Element chip
De apparaten van Ledger – met name Ledger Nano S en Ledger Blue – hebben twee hoofdchips. Een ervan is Secure Element, een microcontroller ontworpen om zeer gevoelige cryptografische data op te slaan. In het bijzonder worden deze chips gebruikt in Simkaarten, in chip- en PIN-bankpassen en in Samsung Pay – en Apple Pay – compatibele smartphones.
De tweede chip is een microcontroller voor algemeen gebruik die zijtaken uitvoert: USB-poortenbehoud, controle van display en knoppen, etc. Inderdaad, deze microcontroller is een soort bemiddelaar tussen Secure Element en al het andere, inclusief de gebruiker. Bijvoorbeeld, iedere keer dat een gebruiker een transactie moet bevestigen, moeten ze door deze microcontroller voor algemeen gebruik, niet de Secure Element chip.
Toch zijn de apparaten van Ledger met de opslag van de cryptografische kiem in een beveiligde chip niet volledig afgesloten. Ten eerste, ondanks dat het heel moeilijk is om een Secure Element te hacken en een cryptografische kiem te stelen, is het binnendringen van de microcontroller voor algemeen gebruik relatief makkelijk en dit kan worden ingezet om bijvoorbeeld een hardware wallet een transactie van een buitenstaander te bevestigen.
Onderzoekers hebben de Ledger Nano S firmware onderzocht en vonden dat er een re-flash gedaan kan worden met een gesaboteerde versie als een bepaalde waarde wordt gestuurd naar een bepaald geheugenadres. Dit geheugenadres staat op de zwarte lijst om ervoor te zorgen dat deze niet overschreven. Maar de microcontroller van het apparaat ondersteunt re-mapping van het geheugen, waardoor het adres toegankelijk wordt. Onderzoekers hebben gekeken naar deze functie en hebben aangepaste firmware geüpload naar de Nano S. Als demonstratie bevatte deze firmware een Snake spelletje. Deze aangepaste firmware zou echter een kwaadaardige module kunnen bevatten die wallet-adressen kan veranderen in uitgaande transacties.
Een alternatief voor het aantasten van een hardware wallet is het gebruik van een hardware implantaat. Josh Dafko kreeg het voor elkaar om in een Ledger Nano S een goedkope RF-gestuurde implantaat te zetten dat de bevestigingsknop indrukt na het ontvangen van een kwaadaardige radiocommando. Dezelfde methode werkt waarschijnlijk voor iedere hardware wallet; de onderzoeker koos voor Ledger Nano S, omdat het een van de kleinste is, en daarom de meest uitdagende voor dit soort fysieke aanvallen.
Een ander apparaat van dezelfde fabrikant, de Ledger Blue, bleek vatbaar te zijn voor zijkanaalaanvallen. Ledger Blue is een hardware wallet met een groot display en een grote batterij. Het heeft een fout in het ontwerp van de printplaat dat waarneembare RF-signalen lekt als een gebruiker een PIN-code invoert. Onderzoekers namen de signalen op en trainden a automatisch algoritme om deze de herkennen met 90% accuraatheid.
Trezor’s benadering: De cryptografische kiem is opgeslagen in het flashgeheugen van de microcontroller voor algemeen gebruik
Apparaten van Trezor werken net iets anders. Ze maken geen gebruik van een Secure Element, waardoor alles in het apparaat wordt gecontroleerd door één chip, een microcontroller voor algemeen gebruik gebaseerd op ARM-architectuur. Deze chip is verantwoordelijk voor zowel de opslag van cryptografische dataopslag en verwerking als voor het managen van de USB-poorten, scherm, knoppen, etc.
In theorie kan dit ontwerp het hacken van de firmware makkelijker maken en daarmee toegang krijgen tot de cryptografische kiem die is opgeslagen in het flashgeheugen van de microcontroller. Maar zoals de onderzoekers zeiden heeft Trezor goed werk geleverd met het versterken van de firmware, waardoor de onderzoekers de hardware moesten hacken, wat een succes opleverde.
Met de hackerstechniek voltage glitching (het toepassen van een verlaagd voltage op een microcontroller, wat gekke effecten in de chip veroorzaakt) kon de Trezor One chip omgezet worden van ‘geen toegang’ naar ‘gedeeltelijke toegang’, wat toegang bood tot de RAM van de chip, maar niet tot het flashgeheugen. Daarna ontdekten ze dat wanneer de firmware upgrade eenmaal in gang was, de cryptografische kiem in de RAM wordt geplaatst voor behoud na het overschrijven van het flashgeheugen. Op deze manier kregen ze toegang tot alle geheugeninhoud. Het vinden van de cryptografische kiem in dit zootje bleek geen enkel probleem te zijn; het was zonder encryptie opgeslagen in de RAM, in de vorm van een mnemonische zin (een echte zin in plaats van willekeurige nummers) waardoor het goed zichtbaar was.
Conclusies
Ik moet benoemen dat de meeste hacks beschreven door Thomas Roth, Dmitry Nedospasov, en Josh Datko nogal ingewikkeld zijn – en ze vereisen fysieke toegang tot het apparaat. Dus zet je Ledger of Trezor niet te snel bij het oud vuil. Zolang niemand toegang heeft tot het apparaat, zouden jouw bitcoins veilig moeten zijn (hooguit een beetje afgeschreven).
Desalniettemin is het een goed idee om te onthouden dat aanvallen via de toeleveringsketen bestaan. Knoeien met hardware wallets is relatief makkelijk en dit kan zelfs al voor de aankoop hebben plaatsgevonden. Natuurlijk geldt hetzelfde voor de meeste laptops en smartphones. Hackers kunnen echter nooit met zekerheid weten of een bepaalde laptop gebruikt zal worden voor cryptovaluta opslag. Hardware wallets zijn in dit opzicht veilig.
Fabrikanten van hardware wallets proberen het probleem aan te kaarten, door middel van bijvoorbeeld veiligheidsstickers op verpakkingen van apparaten en het maken van websites waar gebruikers online veiligheidstests voor hun wallets kunnen uitvoeren. Deze maatregelen zijn echter niet genoeg en kunnen soms zelfs verwarrend zijn.
Hoe dan ook zijn de apparaten van Ledger en Trezor, in tegenstelling tot sommige andere hardware wallets, ontworpen om veilig te zijn. Vertrouw echter niet blindelings op een 100% veilige en niet-hackbare situatie. Neem een aantal extra veiligheidsmaatregelen voor jouw cryptofortuin:
- Koop hard hardware cryptovaluta wallets alleen van betrouwbare leveranciers.
- Check bij aankoop of er geknoeid is met de hardware.
- Controleer voor extra zekerheid of er geen extra elementen zijn toegevoegd aan de printplaat.
- Berg je cryptowallet op op een veilige plaats, en geef onbetrouwbare personen geen toegang tot het apparaat.
- Beveilig het apparaat dat je gebruikt voor cryptovaluta met <KSC PLACEHOLDER>betrouwbare veiligheidssoftware</KSC PLACEHOLDER>. Een groot deel van de bovengenoemde hacks vereisen malware op de computer die verbonden is aan de hardware wallet.
Extra tips voor Trezor:
- Trezor is een open-bron flatform, zowel software als hardware. Dus als je vaardig genoeg bent met electronica, dan kun je je eigen hardware wallet in elkaar zetten met losse onderdelen. Op deze manier kun je er 100% zeker van zijn dat niemand met je hardware wallet geknoeid heeft.
- Apparaten van Trezor zijn extra beveiligd met een wachtwoordzin om te beschermen tegen hacks die de kiem onttrekken (het idee van deze modus is dat de opgeslagen kiem niet compleet is zonder de wachtwoordzin). Overweeg het gebruik van deze modus.
Zie hier de oorspronkelijke presentatie. Neem een kijkje – het is zowel vermakelijk als zinvol voor gebruikers van hardware wallets.