Obsah

  • Jak funguje útok zatmění

  • Následky útoku zatmění

    • "Dvojí útrata" bez potvrzení

    • „Dvojnásobná útrata“, která vyžaduje Nkrát potvrzení

    • Snížit konkurenci mezi těžaři

  • Zpomalte dopad útoku zatmění Slunce

  • Shrnout


Útok Eclipse je relativně jednoduchý základní útok, jehož prostřednictvím může útočník zasahovat do uzlů v síti. Jak název napovídá, tento útok může napadenému uzlu v peer-to-peer síti zabránit v získávání efektivních informací, a tím způsobit přerušení sítě nebo přípravu na složitější útoky.

Na povrchu je Eclipse Attack podobný útoku Sybil. Ačkoli sdílejí některé podobnosti (útočník narušuje síť útokem na uzly), jejich konečné cíle útoku jsou odlišné. Útoky Eclipse se zaměřují na jeden uzel (z důvodů vysvětlených níže), zatímco útoky Sybil se zaměřují na celou síť a jejich cílem je narušit pověst síťových protokolů.

Tento koncept je podrobně diskutován v dokumentu z roku 2015 „Eclipse Attacks on the Bitcoin Peer-to-Peer Network“, ve kterém vědci z Bostonské univerzity a Hebrejské univerzity informovali o svých experimentech s výsledky útoků zatmění a preventivních opatřeních k boji proti nim.


Jak funguje útok zatmění

Těžaři bitcoinů vyžadují specializované vybavení pro generování a ověřování nových bloků, ale netěžící (nebo plné) uzly vyžadují ke svému provozu velmi malý výpočetní výkon. Tímto způsobem může kdokoli provozovat uzel na levném zařízení, což také přispívá k decentralizaci bitcoinu. Softwarový program udržuje databázi transakcí, která je synchronizována s partnery, aby zůstala v synchronizaci se sítí.

Limitujícím faktorem pro připojení velkého počtu uzlů je šířka pásma. Přestože tedy existuje velké množství zařízení, na kterých lze program spustit, v bitcoinové síti je nastaven limit na počet připojení (maximálně 125 připojení) a běžná zařízení se nemohou přímo propojit s jinými zařízeními.

Při útoku zatmění útočník zajistí, aby všechna spojení s cílem byla vytvořena na uzlech ovládaných útočníkem. Útočník nejprve odešle záplavu ze své vlastní IP adresy na cílovou adresu a oběť se může po restartu programu připojit k útočníkově IP adrese. Můžete vynutit restart (tedy provést DDoS útok na cíl), nebo jen počkat, až se program automaticky restartuje.

Pokud se tak stane, nic netušící oběti jsou vydány na milost a nemilost škodlivých uzlů a útočník je krmí falešnými daty, které nemohou získat ze skutečné sítě.


Následky útoku zatmění Slunce

Útočníci jsou motivováni k provádění takových útoků, pokud mohou odpojit síťový uzel od sítě spotřebováním jeho zdrojů. Pokud je uzel izolovaný, útočník může provést několik po sobě jdoucích útoků.


"Dvojí útrata" bez potvrzení

Pokud nezávislý uzel přijme nepotvrzenou transakci, pak nastává riziko „dvojího utrácení“. Pokud transakce, ke které došlo, mohla být odvysílána před vstupem do bloku (odesláním do blockchainu), pak může odesílatel snadno provést novou transakci jinde a utratit stejnou částku jako předchozí transakce. Pokud je nově vygenerovaný transakční poplatek vyšší, těžaři upřednostní transakci a budou ji považovat za první transakci, což způsobí, že první transakce bude neplatná.

Někteří obchodníci a jednotlivci přijímají tyto 0 potvrzovací transakce. Vezměme si Boba, obchodníka, který prodává špičková auta. Nevěděl, že Alice zahájila útok zatmění na jeho uzel, a neměl žádné podezření poté, co viděl její objednávku na luxusní sportovní vůz. Alice vytvoří transakci a Bob ji odešle do sítě. Poté, co viděl, že zpráva o platbě má být potvrzena, byl velmi spokojen a předal klíčky od auta Alici, která rychle odjela.

Ve skutečnosti nebyla transakce vysílána do sítě Bob pouze předal transakci Alicinu škodlivému uzlu a škodlivý uzel ovládaný Alicí nepředal transakci skutečnému uzlu. Transakce tedy bude považována za neplatnou V tuto chvíli platí Alice stejnou částku na (skutečné) síti, ať už sobě nebo někomu jinému. I když je počáteční transakce s Bobem konečně vidět ve skutečné síti, transakci nelze ověřit, protože prostředky na Alicině účtu byly vyčerpány.


„Dvojnásobná útrata“, která vyžaduje Nkrát potvrzení

„Dvojí útrata“, která vyžaduje N potvrzení, je podobná „dvojité útratě“, která nevyžaduje potvrzení, ale vyžaduje více přípravné práce. Mnoho obchodníků raději čeká na určitý počet potvrzení, než bude platba označena jako platná. K vyřešení problému by útočník musel podrobit těžařské i obchodní uzly útoku zatmění. Pokud útočník uzavře objednávku s obchodníkem, odešle transakci těžařům. Obchodníci mohou vidět transakce potvrzené v blockchainové síti, ale protože sítě, kde se nacházejí těžaři a obchodníci, jsou izolované, blockchain není svědkem většiny skutečných uzlů.

Útočník poslal obchodníkovi falešné informace o blockchainové síti a poté, co obchodník viděl, že transakce byla potvrzena, zboží předal. Když se tyto uzly, které utrpěly útok zatmění, znovu připojí ke skutečné síti, skutečná blockchainová síť bude považovat tyto uzly za neplatné a izoluje tyto uzly (toto je podobné 51% útoku).


Snížit konkurenci mezi těžaři

Uzly zasažené útokem Eclipse budou nadále fungovat a nebudou ovlivněny izolací od sítě. Těžaři budou nadále ověřovat bloky v rámci pravidel stanovených protokolem, ale přidané bloky budou vyřazeny v procesu průchodu skutečnými uzly sítě.

Teoreticky by masivní útok zatmění na velkou část těžařů mohl být použit k usnadnění 51% útoku. V současné době je cena i pro toho nejvynalézavějšího útočníka na převzetí většiny bitcoinového výpočetního výkonu (přibližně 80 TH/s) příliš vysoká a útočník by se musel alespoň pokusit o více než 40 TH/s.

Za předpokladu, že tento výpočetní výkon je rozdělen mezi 10 účastníků (každý účastník má přibližně 8TH/s), může útočník výrazně snížit požadavky na 51% útok tím, že tyto účastníky izoluje od sítě. Pokud 5 uzlů utrpí útok zatmění, může útočník snížit výpočetní výkon o 40 TH/s, aby našel další blok, a útočníkovi nyní stačí zvýšit výpočetní výkon o 20 TH/s, aby dosáhl cíle útoku na uzel. .

Mezi další destruktivní činnosti, kterých lze dosáhnout provedením útoku zatmění na cíl, patří manipulace uzlů k provádění nelegálních těžebních činností nebo využití konkurenčního boje o výpočetní sílu mezi těžaři k získání dalšího bloku.


Zpomalte dopad útoků zatmění Slunce

S dostatkem IP adres může útočník provést útok Eclipse na jakýkoli uzel. Nejpřímějším způsobem, jak tomu zabránit, je blokovat neoprávněný přístup uzlů a navazovat odchozí připojení pouze ke konkrétním uzlům (jako jsou adresy IP, které byly přidány na seznam povolených uzlů v síti peer-to-peer). Jak však zdůrazňuje výzkumný dokument, nejedná se o řešení, které lze implementovat ve velkém měřítku, a pokud tato opatření přijmou všichni účastníci, nové uzly se nebudou moci připojit k síti.

Autor navrhl některé úpravy bitcoinového programu a některé z nich byly integrovány do bitcoinového programu po zveřejnění bílé knihy. Díky malým změnám v kódu, jako je náhodný výběr nových připojení a posílení úložiště adres, tato opatření zvyšují náklady na útoky Eclipse.


Shrnout

Útoky Eclipse se provádějí v síti peer-to-peer. Jako samostatné nasazení útoku mohou být nepříjemné. Skutečným účelem provedení útoku zatmění je ve skutečnosti implementovat další útoky, které mohou mít větší dopad, nebo poskytnout útočníkovi výhodu při těžbě.

Obecně lze říci, že útoky Eclipse dosud neměly vážný dopad a i přes ochranná opatření nasazená v blockchainových sítích hrozba stále existuje. Útoky Eclipse, stejně jako většina útoků, kterým čelí bitcoin a většina ostatních kryptoměn, je nejlepší obranou, aby byly pro škodlivé útočníky nerentabilní.