Čo je Replay Attack?
Replay Attack je situácia, keď niekto zachytí platnú kryptoprácu a pošle ju znova, aby sieť ju považovala za čerstvú. Podpis je legitímny, časovanie je starostlivo zvolené. Predstavte si to ako niekto znovu použije váš podpísaný šek na inom pulte, ktorý stále dodržiava rovnaké pravidlá.
Replay Attack znamená, že vaše súkromné kľúče boli ukradnuté. Nie celkom. Útočník môže opätovne použiť vašu už podpísanú správu, ak dva miesta ju akceptujú rovnakým spôsobom, aj bez poznania vášho kľúča.
Ako Replay Attack funguje
Rýchly prehľad, aby to udržalo:
- Krok 1: Vysielate podpísanú transakciu.
- Krok 2: Útočník skopíruje presne tie údaje podpísané.
- Krok 3: Znovu pošlú na mieste, kde to stále platí, napríklad po hard fork alebo na reťazci, ktorý akceptuje rovnaké pravidlá podpisu.
- Krok 4: Sieť vidí platný podpis a spracuje ho znovu, takže hodnota sa presunie dvakrát.
- Krok 5: Len anti replay kontroly to zastavia, ako sú identifikátory reťazí, nonce alebo jednorazové povolenia na úrovni aplikácie.
To je celý trik. obtiažne a veľmi prediatené.
Prečo Replay Attack Matter/Je dôležitá
Prečo by ste sa mali zaujímať o Replay Attack? Pretože môže duplikovať skutočnú akciu, ktorú ste mysleli urobiť len raz, a zmeniť ju na dvakrát.
- Prínos: Poznaním rizika ušetríte peniaze a stres tým, že si vytvoríte bezpečnejšie postupy.
- Perspektíva: Život na viacerých reťazcoch je teraz bežný, takže duplikované správy, ktoré dopadnú na nesprávne miesto, sa vyskytujú viac, než si ľudia myslia.
- Relevantnosť: Túto terminológiu uvidíte pri prevode prostriedkov cez blockchain sieť, počas rozdelení reťazcov alebo pri podpisovaní správ mimo reťazca pre aplikácie.
Použite peňaženku, ktorá jasne zobrazuje aktívny reťazec a správne nastavuje identifikátory reťazcov. V prípade neistoty pošlite najprv malý test, potom zvyšok.
Kľúčové charakteristiky Replay Attack
Rýchlo identifikujte vzor s týmito signálmi:
- Kópia: Opätovne používa presne rovnakú podpísanú správu, bajt po bajte.
- Platnosť: Podpis je skutočný, takže uzly ho prijímajú, pokiaľ nie sú prítomné opatrenia proti replay.
- Časovanie: Najčastejšie v časoch rozdelení reťazcov, mostov alebo keď aplikácie vynechávajú kontroly nonce.
Variácie
Ten istý postup, iné arény:
- Fork: Replay cez dva reťazce, ktoré sa rozdelili a stále dodržiavajú rovnaké podpisy.
- Crosschain: Replay medzi reťazcami, ktoré zdieľajú parametre alebo akceptujú rovnaké formáty správ.
- Contract: Replay podpísaných oprávnení alebo meta transakcií v aplikáciách, ktoré zabudli na jednorazový nonce.
Po veľkých upgradoch alebo rozdeleniach skontrolujte vašu históriu transakcií na oboch reťazcoch. Ak niečo vyzerá ako duplicita, pozastavte sa pred zaslaním ďalších prostriedkov.
Príklad
Po rozdelení DAO boli niektoré výbery podpísané na Ethereu akceptované znovu na Ethereum Classic, až kým nebol zavedený silnejší replay protection.
Zábavný fakt
Ethereum zverejnil identifikátory reťazcov v roku 2016 prostredníctvom EIP155 presne na zastavenie trikov Replay Attack a tento dizajn ovplyvnil to, ako moderné peňaženky vyžadujú, aby ste si reťazec vybrali na začiatku.
Zhrnutie
Replay Attack jednou vetou: skutočný podpis, znovu použitý tam, kde by sa nemal používať. Považujte to za dvojité poplatky a rýchlejšie to rozpoznáte.