Een gehackte voorkant kan genoeg zijn om een correcte
Ethereum-transactie leeg te trekken. Daarom financiert de
Ethereum Foundation WEBCAT, een opensourcetool die wallets moet laten controleren of de code van een dApp echt is.
De subsidie komt uit het
Trillion Dollar Security-programma en gaat naar de Freedom of the Press Foundation. Die organisatie bouwt WEBCAT, voluit web-based code assurance and transparency.
Wallets krijgen controle op dApp-code
WEBCAT controleert of de code van een website overeenkomt met de versie die ontwikkelaars hebben gepubliceerd. Daarvoor gebruikt de tool een ondertekend manifest.
Zo’n manifest is simpel gezegd een digitale paklijst. Daarin staat welke bestanden bij een officiële release horen.
Als een website andere bestanden aanbiedt, kan WEBCAT ingrijpen. De huidige alpha voor Firefox blokkeert de pagina en toont een waarschuwing.
Dat moet nu richting
Ethereum-wallets gaan. De subsidie betaalt onder meer voor een verificatiebibliotheek die walletontwikkelaars direct kunnen verwerken.
Daardoor hoeft een gebruiker straks niet per se een aparte browserextensie te installeren.
HTTPS lost dit probleem niet op
De zwakke plek zit niet altijd in het protocol. Een
blockchain kan correct draaien terwijl de website erboven is aangepast.
HTTPS helpt daar maar beperkt tegen. Het bewijst dat je met een bepaalde website verbonden bent en versleutelt het verkeer. Het bewijst niet dat de geladen code dezelfde is als de code die de ontwikkelaar heeft vrijgegeven.
Voor cryptogebruikers is dat verschil hard. Een aangepaste interface kan een ander ontvangstadres tonen. Of een gebruiker laten tekenen voor iets anders dan wat op het scherm lijkt te staan.
Een
cryptowallet ziet dan vaak alleen de transactie. Niet altijd of de website die transactie eerlijk heeft opgebouwd.
dApps blijven een zichtbare aanvalslijn
Bij
dApps kijken gebruikers naar een interface. Daar klikken ze op knoppen, lezen ze bedragen en keuren ze transacties goed.
Precies daar ontstaat ruimte voor misleiding. Niet omdat het
smart contract per se fout is, maar omdat de laag erboven is vervangen.
Dat raakt vooral handel, lending en
DeFi. Wie denkt een normale swap of claim te tekenen, kan in werkelijkheid toestemming geven voor een schadelijke transactie.
WEBCAT probeert dat punt eerder te pakken. Niet pas bij de handtekening, maar zodra de website afwijkende code serveert.
De aanval hoeft niet on-chain te beginnen. Soms begint hij gewoon in de pagina die de gebruiker vertrouwt.
Chrome, audits en een ERC-standaard
De subsidie blijft niet beperkt tot Firefox. De Ethereum Foundation schrijft dat het geld ook onderzoek financiert naar ondersteuning voor Chrome en andere Chromium-browsers.
Daarnaast komt er hulp voor teams die WEBCAT willen toevoegen aan hun apps. Ook staat een onafhankelijke beveiligingsaudit op de planning.
Een ERC-standaard moet wallet- en dApp-teams later een vaste werkwijze geven. Zo’n standaard is nodig als meerdere partijen dezelfde controle op dezelfde manier willen toepassen.
WEBCAT sluit ook aan op
Clear Signing, een ander 1TS-project. Clear Signing moet gebruikers beter laten zien wat zij goedkeuren. WEBCAT kijkt naar de vraag of de interface zelf te vertrouwen is.
Dat zijn twee verschillende problemen. Een duidelijke transactie helpt weinig als de pagina die haar toont al is aangepast.
Nog geen knop voor gebruikers
De subsidie levert niet direct een nieuwe beveiligingsknop op in grote wallets. Eerst moeten walletbouwers de bibliotheek verwerken. dApp-teams moeten hun domeinen aanmelden en bij iedere release een ondertekend manifest publiceren.
Daar zit meteen de echte test. WEBCAT werkt alleen breed als wallets én apps meedoen.
Toch is de richting duidelijk. De Ethereum Foundation kijkt niet meer alleen naar protocolcode en contractaudits. Ze richt zich nu ook op de webpagina waar gebruikers hun handtekening zetten.
Dat is laat, maar logisch. De meeste mensen verliezen geen geld omdat zij bytecode lezen. Ze verliezen geld omdat hun scherm betrouwbaar lijkt.