Replay-aanvallen uitgelegd
Een replay-aanval is wanneer een kwaadwillende partij een geldige gegevensoverdracht op een netwerk onderschept en dupliceert. Met deze aanval kunnen beveiligingsmaatregelen worden omzeild en kan toegang worden verkregen tot informatie op beschermde netwerken. Blockchain-ledgers zijn bijzonder vatbaar voor dit soort aanvallen. Gelukkig zijn er betrouwbare oplossingen om replay-aanvallen te voorkomen, zoals sterke replay-bescherming en opt-in replay-bescherming. Met deze methoden kunnen aanvallers na een hard fork geen transacties repliceren, wat een robuuste verdediging tegen replay-aanvallen biedt.
Basisprincipes
Het onderscheppen en herhalen van een geldige gegevensoverdracht op een netwerk staat bekend als een replay-aanval of playback-aanval. Bij dit type cyberaanval onderschept een kwaadwillende partij de originele gegevens, die vaak door een geautoriseerde gebruiker zijn verzonden, en dupliceert deze. De beveiligingsprotocollen van het netwerk behandelen de gedupliceerde gegevensoverdracht vervolgens als een legitieme transactie vanwege de echtheid ervan. Op deze manier kunnen aanvallers onderschepte berichten opnieuw gebruiken zonder ze te ontcijferen, omdat ze letterlijk worden herhaald.
Het gebruik van de playback-aanval
Hackers kunnen replay-aanvallen gebruiken om beveiligingsmaatregelen te omzeilen en met schijnbaar geldige referenties toegang te krijgen tot informatie op een beschermd netwerk. Daarnaast kunnen aanvallers financiële instellingen misleiden om transacties te dupliceren, waardoor ze rechtstreeks geld van de rekeningen van doelwitten kunnen opnemen. Bij een cut-and-paste-aanval combineren hackers delen van versleutelde berichten en sturen ze de resulterende ciphertext naar het netwerk om bruikbare informatie te verkrijgen.
Ondanks de gevaren hebben replay-aanvallen hun beperkingen. Aanvallers kunnen de verzonden gegevens niet aanpassen, omdat dat ertoe zou leiden dat het netwerk ze weigert. De aanval beperkt zich daarom tot het herhalen van eerdere handelingen. Replay-aanvallen zijn relatief eenvoudig te bestrijden. Een tijdstempel toegevoegd aan de gegevensoverdracht kan helpen tegen eenvoudige replay-pogingen. Servers kunnen ook het aantal herhaalde berichten beperken door ze te cachen en de toegang af te snijden na een bepaald aantal pogingen.
Replay-aanvallen in crypto
Hoewel replay-aanvallen niet exclusief zijn voor crypto, zijn ze vooral relevant voor cryptovalutatransacties en blockchain-ledgers. Blockchain-ledgers ondergaan protocolwijzigingen of upgrades die bekendstaan als hard forks, waardoor het bestaande grootboek in tweeën splitst. De ene draait de legacyversie van de software, terwijl de andere de bijgewerkte versie draait. Sommige hard forks upgraden het grootboek, terwijl andere nieuwe cryptocurrencies creëren. Bitcoin Cash, dat op 1 augustus 2017 van de hoofd-Bitcoin-blockchain afsplitste, is een bekend voorbeeld van het laatste.
Na een hard fork kunnen aanvallers replay-aanvallen tegen blockchain-ledgers gebruiken. Transacties die op het ene grootboek met een geldige wallet vóór de hard fork zijn verwerkt, zijn ook geldig op het andere grootboek. Dit stelt een aanvaller in staat de transactie te repliceren en frauduleus hetzelfde aantal cryptomunteenheden een tweede keer naar zijn rekening over te maken. Gebruikers die pas na een hard fork de blockchain betreden, zijn echter niet kwetsbaar voor deze aanvallen omdat hun wallets geen deel uitmaken van de gedeelde geschiedenis van de grootboeken.
Bescherming van blockchains tegen replay-aanvallen
Er bestaan maatregelen om replay-aanvallen op geforkte blockchain-ledgers te voorkomen, die in twee typen bescherming kunnen worden onderverdeeld: sterke replay-bescherming en opt-in replay-bescherming. Sterke replay-bescherming houdt in dat er na de hard fork automatisch een speciaal merkteken aan het nieuwe grootboek wordt toegevoegd om ervoor te zorgen dat transacties niet geldig zijn op het legacy-grootboek, en omgekeerd. Deze methode werd gebruikt toen Bitcoin Cash zich afsplitste van Bitcoin.
Opt-in replay-bescherming vereist dat gebruikers handmatig hun transacties aanpassen om replay te voorkomen. Dit kan nuttig zijn bij upgrades van het hoofdgrootboek van een cryptocurrency in plaats van volledige splitsingen.
Individuele gebruikers kunnen zichzelf ook beschermen tegen replay-aanvallen door munten te vergrendelen zodat ze niet kunnen worden overgedragen totdat het grootboek een bepaald aantal blocks heeft bereikt. Deze methode voorkomt dat een replay-aanval die die munteenheden betreft door het netwerk wordt gevalideerd. Deze functie is echter niet beschikbaar in alle wallets of grootboeken.
Conclusie
Wat netwerkbeveiliging betreft vormen replay-aanvallen een formidabele bedreiging. Ze kunnen encryptieprotocollen omzeilen en zijn daardoor zeer effectief, zelfs tegen de meest veilige systemen. Daarom zijn blockchain-ledgers, die hard forks ondergaan voor upgrades of splitsingen, bijzonder vatbaar voor dit type aanval. Gelukkig zijn er betrouwbare oplossingen voor dit probleem. De implementatie van sterke replay-bescherming, waarbij een speciaal merkteken wordt toegevoegd aan het nieuwe grootboek na een hard fork, zorgt ervoor dat transacties die op het nieuwe grootboek zijn uitgevoerd niet geldig zijn op het legacy-grootboek, en andersom. Met dit type bescherming kunnen aanvallers na de hard fork geen transacties repliceren, wat een robuuste verdediging tegen replay-aanvallen biedt.