Beveiligingsonderzoek

Onderzoek naar de kwetsbaarheid van Ledger-Donjon en de ontwikkeling van de ELLIPAL Titan

Ledger-Donjon Vulnerability Study and The Development of The ELLIPAL Titan - ELLIPAL

 

ELLIPAL lanceerde zijn eerste cold wallet in 2018 en werd direct toonaangevend in de nieuwe generatie hardwarewalletcategorie. Dankzij het unieke beveiligingsmodel en het gebruiksgemak van ELLIPAL trok het veel aandacht van zowel gebruikers als andere fabrikanten van hardware wallets. Momenteel is ELLIPAL’s tweede model, de ELLIPAL Titan, maakt naam als de beste mobiele en airgapped coldwalletoplossing.

 

Na de release van ons oorspronkelijke model — de ELLIPAL EC01 trok de aandacht van Ledger, dat geïnteresseerd was in het beveiligingsmodel van ELLIPAL. Ledger voerde een beveiligingstest op de ELLIPAL EC01 en activeerde de bountyclausule van ELLIPAL, waarbij we hen beloonden voor het vinden van de kwetsbaarheid. Ledger presenteerde het resultaat tijdens de Bitcoinconventie van 2019. Een samenvatting van het onderzoek en ELLIPAL’s reactie op de bevindingen is te zien in de onderstaande tabel. Houd er rekening mee dat Ledger geen seeds uit de ELLIPAL EC01 heeft geëxtraheerd.




Bevindingen van Ledger

 


Hardwarebeveiliging

De meest voorkomende zwakte van bijna alle hardware wallets, zo niet alle, zijn fysieke aanvallen. Bij een fysieke aanval krijgt een hacker fysieke toegang tot je apparaat en plant hij een aanval. Dit kan aanvallen omvatten zoals supplychainaanvallen (bijvoorbeeld malware die vóór verzending naar de eindgebruiker wordt geïnstalleerd) of evil-maid-aanvallen (bijvoorbeeld het fysiek hacken van het apparaat wanneer de eigenaar niet aanwezig is). Dit onderzoek onthult de kwetsbaarheid van de ELLIPAL EC01 voor dergelijke aanvallen.

 

1) De UART-interface vinden

UART staat voor Universal Asynchronous Receiver/Transmitter. Het is een interface waarmee elektronische apparaten met elkaar kunnen communiceren en komt in vrijwel alle elektronische apparaten voor. In dit geval had Ledger een UART-poort op de ELLIPAL geïdentificeerd en kon het uitgangssignalen ontvangen. In het rapport worden deze signalen “nuttig voor een aanvaller” genoemd, bijvoorbeeld voor een reverse-engineeringaanval (uitgelegd in het volgende deel).

Van daaruit kreeg Ledger toegang tot de fabrieksherstart van het ELLIPAL EC01-apparaat en kon het via de software de wifi-mogelijkheden van het moederbord lokaliseren. In de fabrieksmodus kon de wifi-component verbinding maken met het toegangspunt wanneer een externe antenne was aangesloten. Ledger controleerde echter niet verder of het sterk aangepaste Android-systeem van de ELLIPAL wifi ondersteunt.

 

2) USB-interface

De USB-poort van de ELLIPAL is uitsluitend bedoeld om op te laden. Er is geen verbinding tussen de USB-poort en de hoofdprocessor. De datasignalen van de USB-poort kunnen echter op het moederbord worden gesoldeerd, zodat deze met de processor kan communiceren en er een aangepaste USB-poort ontstaat. Deze nieuwe USB-poort vormt een verbinding tussen de ELLIPAL en de buitenwereld. De firmware van ELLIPAL zou reverse-engineered kunnen worden en naar de ELLIPAL EC01 kunnen worden gedumpt om seeds te extraheren. Dit punt is echter theoretisch en is niet getest.

Bij fysieke toegang bij het ELLIPAL-apparaat is een scenario met een aanval in de toeleveringsketen of een zogenaamde evil-maid-aanval mogelijk. Een hacker zou de wifi op het apparaat opnieuw kunnen activeren en verbinding kunnen maken met internet. Vervolgens zou de hacker kunnen proberen de firmware van ELLIPAL te reverse-engineeren en de nepfirmware op het apparaat te zetten. Door deze twee acties te combineren, kan de hacker de firmware de seed laten uitlezen en deze via wifi naar de hacker laten sturen. Als je ELLIPAL verloren of gestolen is, kan deze kwetsbaarheid zich voordoen.

 


Softwarebeveiliging

Ledger voerde een korte test van de softwarebeveiliging uit en vond geen kwetsbaarheden.

 

3) Updateproces

Het updatebestand van ELLIPAL is versleuteld, zodat alleen echte updatebestanden naar de ELLIPAL kunnen worden gekopieerd. In dit onderzoek identificeerde Ledger het ECB-versleutelingsmechanisme dat ELLIPAL gebruikt als “geen goede praktijk”. Het lukte Ledger echter niet om aangepaste firmware via het updateproces te uploaden. ELLIPAL gebruikt versleuteling in meerdere lagen en is niet zwak, zoals werd beweerd. Gebruikers kunnen de opensource-tool voor het verifiëren van updatebestanden op Github bekijken.

Belangrijkste punten

Uit onderzoek naar de ELLIPAL EC01-hardwarewallet bleek dat er kwetsbaarheden in de hardware van de wallet aanwezig waren, waardoor misbruik van de UART- en wifi-componenten mogelijk is. Een mogelijke aanval bestaat uit het uitvoeren van een dumpaanval om via de aangepaste USB-poort nepfirmware te installeren. De nepfirmware kan zo worden geprogrammeerd dat deze de privésleutel steelt en naar de aanvaller terugstuurt wanneer het apparaat via wifi verbinding maakt met internet.

Het is niet mogelijk om nepfirmware via het updateproces te installeren, zoals Ledger heeft aangetoond. De enige manier om de ELLIPAL EC01 uit te buiten, is fysieke toegang hebben en genoeg tijd om het volgende te doen:

1) Pas de UART- en USB-poort aan.

2) Installeer nepfirmware via de aangepaste poort.

3) Open de fabrieksresetmodus en activeer wifi.

4) Bevestig een antenne om het wifi-signaal te ontvangen.

5) Zet alles weer in elkaar zonder dat de gebruiker iets vermoedt.

 

Reactie van ELLIPAL


Voordat Ledger het onderzoek publiceerde, had ELLIPAL al een uitgebreide beveiligingsupgrade voorbereid om het beveiligingslek te verhelpen. Na de publicatie bracht ELLIPAL firmware v.2.0 uit, die ervoor zorgde dat een dumpaanval niet mogelijk was en elke wijziging voorkwam. We zijn er echter van overtuigd dat dit niet genoeg is voor ons of voor de community, die beveiliging als topprioriteit beschouwt. Deze toewijding aan betere beveiliging leidde tot het vernieuwde ontwerp van de ELLIPAL-hardwarewallet.

ELLIPAL Titan

In september 2019 bracht ELLIPAL zijn nieuwste model hardwarewallet uit: de ELLIPAL Titan-hardwarewallet. De ELLIPAL Titan is ontwikkeld op basis van de kwetsbaarheden van het eerdere EC01-model en is zowel beveiligd tegen aanvallen op afstand als fysieke aanvallen.

Hardwareverbeteringen

De ELLIPAL Titan is opnieuw ontworpen om ervoor te zorgen dat hackers niet in het moederbord van ELLIPAL kunnen komen en de UART kunnen aanpassen om toegang te krijgen tot een fabrieksreset. Oorspronkelijk bevatte de ELLIPAL EC01 het moederbord in een plastic behuizing die kon worden geopend door de schroeven los te draaien. Bij de ELLIPAL Titan bevindt het moederbord zich in een sterk verzegelde metalen behuizing die zo is ontworpen dat deze nooit wordt geopend. De afdichting is zo sterk dat de behuizing stof- en waterdicht is volgens IP65. De metalen behuizing is ook sterk genoeg om te voorkomen dat deze beschadigd raakt wanneer er een auto overheen rijdt. Door de stevigheid van de hardware is het zeer moeilijk om het apparaat geforceerd te openen, en dit zal blijvende schade veroorzaken, waardoor de gebruiker wordt gewaarschuwd.

Daarnaast bevat de ELLIPAL Titan een antiknoeimechanisme dat helpt je gevoelige gegevens te beschermen. Wanneer het ELLIPAL Titan-apparaat een inbreuk op de hardware detecteert, verwijdert het systeem zichzelf automatisch, waardoor het apparaat onbruikbaar wordt en je gegevens ontoegankelijk worden.

 

Verbeteringen aan “Air-gapped”

We hebben verdere maatregelen genomen om ervoor te zorgen dat de ELLIPAL Titan 100% Air-gapped is en niet kan worden aangepast. We hebben ervoor gezorgd dat de ELLIPAL Titan geen componenten of poorten heeft waarmee verbinding kan worden gemaakt met internet of een ander apparaat.

We hebben de volledige chipset vervangen om ervoor te zorgen dat verbinding maken onmogelijk is. De nieuwe chipset (Allwinner A64) ondersteunt geen enkele netwerkverbinding, zoals 4G, Bluetooth en wifi. We hebben ook de USB-poort verwijderd en vervangen door een contactlaadpoort. De ELLIPAL Titan kan nu gegarandeerd nooit verbinding maken met een ander apparaat om informatie te exporteren of importeren.

 

Aanvullende informatie

Er is veel discussie over het idee dat een wallet (of alles wat met blockchain te maken heeft) open source moet zijn. Open-sourcecode is code die door het publiek kan worden gecontroleerd. Als er iets verdachts of een fout is, kan het publiek dit rechtstreeks melden aan het bedrijf dat eigenaar is van de code. Veel mensen zien dit als een beveiligingsvoordeel, omdat open-sourcecode kan aantonen dat het bedrijf geen kwaadaardige bedoelingen heeft tegenover de gebruiker en transparant is.

Aan de andere kant kan open source er gemakkelijk toe leiden dat de code wordt gekopieerd, gereproduceerd en aangepast tot een kwaadaardige versie. Met fysieke toegang kan er bij een hardwarewallet met open source een dumpaanval plaatsvinden. Een bepaalde hardwarewallet met open source heeft al een dergelijke aanval meegemaakt.

Om verschillende veiligheidsredenen kiest ELLIPAL ervoor om de broncode gesloten te houden, maar de belangrijkste onderdelen open source te maken, zodat gebruikers onze beveiliging kunnen controleren. Allereerst heeft ELLIPAL te maken gehad met enkele beweringen over ons QR-codegeneratiesysteem en de vraag of het privésleutels kan lekken. Het eenvoudige antwoord is nee, en dat kan worden bewezen.

 

De gegevensoverdracht van ELLIPAL van de hardware naar de app is gebaseerd op een QR-code met een open indeling (https://github.com/ELLIPAL/air-gapped_qrcode_data_format). Het scannen van QR-codes wordt ook handmatig door de gebruiker aangestuurd. Alle verzonden gegevens zijn volledig afhankelijk van het scannen door de gebruiker en er zijn geen verborgen gegevens. Iedereen kan de gegevens in de QR-code verifiëren. We bieden een opensource-JavaScriptbibliotheek (https://github.com/ELLIPAL/js-ellipal). De handtekening of nonce die vanuit de hardware wallet wordt verzonden, kan altijd in de QR-code worden gecontroleerd.

 

Een andere zorg betreft het aanmaken van privésleutels. Mensen zeggen vaak dat wallets met gesloten broncode vooraf gegenereerde privésleutels aan gebruikers kunnen geven en dat gebruikers dit niet kunnen controleren. ELLIPAL heeft geen kwade bedoelingen tegenover onze gebruikers, maar we beschikken niet over open-sourcecode om dit te onderbouwen. Toch staan we gebruikers toe hun eigen vertrouwde privésleutels te importeren en veilig op de ELLIPAL te bewaren. Deze importfunctie is in veel wallets niet beschikbaar en maakt de ELLIPAL uniek. We dwingen onze gebruikers niet om onze gegenereerde privésleutels te vertrouwen. Als je ELLIPAL niet vertrouwt, gebruik dan je eigen privésleutels. Een andere, eenvoudigere oplossing is om een wachtwoordzin te gebruiken en de reeks geheugensteuntjes uniek voor jou te maken.

Tot slot beweren mensen dat hardware wallets met gesloten broncode privésleutels van gebruikers naar de fabrikant kunnen terugsturen. Dit is onmogelijk voor de ELLIPAL, omdat deze al 100% verbindingsvrij is. Je sleutels kunnen dus nergens naartoe worden gestuurd. De enige uitvoermogelijkheid van de ELLIPAL is via de QR-code. Gebruikers hoeven zich hier geen zorgen over te maken, omdat dit deel van de code open is en kan worden geverifieerd.

Er zijn ook andere codevoorbeelden beschikbaar, zoals de tool voor het verifiëren van updatebestanden, op ELLIPAL op Github.

 

Conclusie

Ledger heeft kwetsbaarheden in de ELLIPAL geïdentificeerd en ons in staat gesteld deze te verhelpen om ons crypto-ecosysteem veilig te houden. We vatten de gevonden problemen samen en leggen uit hoe ELLIPAL deze heeft opgelost.

 

1) UART gevonden en in staat om de fabrieksresetmodus te openen en zo de wifi-mogelijkheid van de CPU te activeren.

De reactie van ELLIPAL: 

 

Gebruik een volledig nieuwe chipset voor de ELLIPAL Titan, die geen enkele verbindingsmogelijkheid heeft.

Voeg zowel functies tegen manipulatie als tegen demontage toe om te voorkomen dat hackers toegang krijgen tot de CPU.

 

2) De USB-interface kan worden aangepast om een dumpaanval uit te voeren

De reactie van ELLIPAL: 

 

De ELLIPAL Titan verving een USB-oplaadpoort door een contactoplaadpoort. Belangrijker nog: de functie tegen demontage voorkomt dat de poort überhaupt kan worden aangepast.

 

Bijna alle hardware wallets zijn kwetsbaar wanneer een aanvaller er fysieke toegang toe krijgt. ELLIPAL heeft alles op alles gezet om dat te voorkomen, zodat je beschermd blijft, zelfs als je ELLIPAL Titan wordt gestolen of kwijtraakt. De ELLIPAL Titan is bovendien 100% air-gapped, zodat je privésleutels altijd veilig en geïsoleerd binnenin ELLIPAL Titan.

 

Heb je vragen? Neem dan contact op met: cs@ellipal.com

Waarom mensen ELLIPAL vertrouwen
NulInbreuken op cold wallets
1M+Gebruikers wereldwijd
140+Bereikte landen
$12 mld.Assets beschermd
ForbesAanbevolen
8 jaarAir-gapped sinds 2018

Maak het eigen. Gebruik het daarna.

Jouw sleutels, jouw crypto. Bewaar je seed phrase offline en de rest regelt zichzelf.

Ontdek ELLIPAL-cold wallets

Beveiligingsnotitie: Dit artikel is uitsluitend informatief en vormt geen financieel advies. Apparaatgedrag, zoals limieten voor pogingen, kan veranderen door firmware-updates; controleer actuele details altijd in het officiële ELLIPAL-helpcentrum. Eventuele functies voor swaps, staking of kopen en verkopen waarnaar elders wordt verwezen, worden aangeboden door derden en ELLIPAL heeft geen controle over deze diensten.