Veiligheidslek of bug? Fout in Bitcoin wallets misleidt gebruikers over saldo

De wallet fabrikanten Ledger Live, BRD en Edge zijn gewaarschuwd voor een fout in hun software. Hackers kunnen namelijk met een slimme truc de gebruikers om de tuin leiden. De truc: ze laten de gebruikers denken dat ze al Bitcoin hebben ontvangen. Terwijl dat in de praktijk (nog) niet zo is. Dat blijkt uit een rapport van ZenGo, ook een wallet service.

Bitcoin betaling onbevestigd

De drie bedrijven achter de wallets waren al een tijdje op de hoogte van dit risico. Ze hebben het echter 90 dagen geheim gehouden als onderdeel van een disclosure met ZenGo.

Koop gemakkelijk en snel Bitcoin bij Bitvavo. Ga aan de slag en betaal geen handelskosten voor je eerste aankoop tot €1.000 !

Deze periode verstreek op 1 juli, en dus is het nieuws nu publiekelijk gemaakt.

In technische termen: de aanval heet ‘double spend vulnerability‘ en het probleem ontstaat door de Replace-by-Fee functie in Bitcoin.

Dit is simpel gezegd een optie, waarbij een gebruiker achter een transactie (die nog in de mempool staat en nog moet worden bevestigd) een extra betaling aan stuurt. Deze krijgt een hogere transactie fee mee.

Dit kan helpen zodra een transactie vastzit in de mempool en de bevestiging van de betaling daardoor lang op zich laat wachten. Deze extra (en hogere) transactiekosten is voor miners een prikkel om beide betalingen sneller te bevestigen.

Risico

Maar juist deze methode leidt tot een risico, aldus ZenGo.

Aanvallers konden namelijk deze Replace-by-Fee optie misbruiken om een slachtoffer te misleiden. Terwijl een handelaar of winkelier zijn goederen of diensten al aan jou heeft aangeboden, is de transactie nog te annuleren.

Hackers kunnen dit herhaaldelijk doen. Daardoor noemt het team van ZenGo deze veiligheidslek “BigSpender”.

Het is geen fout van Bitcoin zelf, maar een niet goed uitgevoerde implementatie van het Replace-by-Fee mechanisme.

Bitcoin transactie

Over het algemeen wordt een Bitcoin transactie pas definitief beschouwd als deze een aantal blokken in de blockchain ‘diep’ zit. Doorgaans zijn dat 6 confirmaties op de blockchain.

Het probleem dat ZenGo ontdekte heeft voornamelijk te maken met de gebruikersinterface. De kwetsbare wallets maken het de gebruiker niet duidelijk of een transactie nog in behandeling is of dat deze is geannuleerd.

In plaats daarvan laten de wallets automatisch het ‘nieuwe’ saldo al zien, dat dus ten onrechte voortijdig wordt bijwerkt.

Toen ze eenmaal op de hoogte waren van de “BigSpenders”, besloot het team te kijken of dit probleem ook in andere wallets aanwezig was. Ze stelden vast dat de Request-by-Fee optie in ieder geval bij Ledger Live, BRD en Edge “niet correct” was geïmplementeerd.

‘Simpele bug’

Charles Guillemet, de CTO van Ledger, noemt aan The Block dat het probleem ‘slechts een simpele bug in de UX’. De CEO van Edge is van mening dat zijn wallet “heel duidelijk” moet maken dat een transactie van een gebruiker nog in behandeling is.

BRD heeft de bug inmiddels opgelost. Ledger heeft ook een update uitgestuurd waardoor er gewaarschuwd wordt bij ‘pending’ transacties.

Het probleem bij Edge was iets minder erg. Met de ‘resync’ functie was het probleem opgelost. CEO Puey heeft laten weten dat ze het ook duidelijker gaan aangeven.

Heb je vragen over Bitcoin? Kom dan eens langs in onze Telegram chat en praat mee over het nieuws!

Lees meer over:
Bitcoin nieuwsBTC

    Door: Arend Hubach

    Arend is al jaren een autoriteit in de bitcoin space en heeft kennis van zaken in onderwerpen die variëren van technische ontwikkelingen, de adoptie van bitcoin als betaalmiddel in de hele wereld, nieuwe regulering en verwante onderwerpen.