Hvad er et eclipse-angreb?
Hjem
Artikler
Hvad er et eclipse-angreb?

Hvad er et eclipse-angreb?

Avanceret
Offentliggjort Jan 19, 2020Opdateret Dec 11, 2023
6m

Introduktion

Et eclipse-angreb er et relativt simpelt angreb, som en ondsindet akt√łr kan bruge til at forstyrre noder p√• et netv√¶rk. Som navnet antyder, har angrebet til form√•l at skjule en deltagers visning af peer-to-peer-netv√¶rket for at for√•rsage generel forstyrrelse eller for at forberede mere sofistikerede angreb.

Eclipse-angreb kan p√• overfladen lyde som Sybil-angreb. Selvom de har visse ligheder ‚Äď den ondsindede akt√łr vil oversv√łmme netv√¶rket med falske peers ‚Äď er deres endelige m√•l i sidste ende forskelligt. Et eclipse-angreb er rettet mod en enkelt node (af grunde, der forklares i et senere afsnit), mens et Sybil-angreb er et angreb, der omfatter hele netv√¶rket, og som er designet til at spille p√• protokollens omd√łmmesystem.

Konceptet gennemg√•s udf√łrligt i artiklen¬†Eclipse Attacks on Bitcoin's Peer-to-Peer Network fra 2015, hvor forskere fra Boston University og Hebrew University rapporterer deres resultater fra deres eksperimenter med at lave eclipse-angreb samt mulige modforanstaltninger til at bek√¶mpe dem.


Sådan fungerer eclipse-angreb

Bitcoin-minere kr√¶ver specialudstyr for at kunne generere nye blokke, men ikke-minende (eller fulde) noder kan sagtens k√łre p√• minimal computerkraft. Det fremmer decentraliseringen af Bitcoin, da alle kan starte en node p√• en enhed med lav specifikation. Softwaren vedligeholder en database over transaktioner, som den synkroniserer med sine n√¶rmeste peers, s√• den forbliver i takt med netv√¶rket.

En begr√¶nsende faktor for mange noder er b√•ndbredde. Selvom der er et enormt antal enheder, der k√łrer softwaren, er den gennemsnitlige enhed ikke i stand til at oprette direkte forbindelse til mange af dem p√• grund af begr√¶nsninger i Bitcoin-softwaren (som kun tillader maksimalt 125 forbindelser).

I et eclipse-angreb vil den ondsindede akt√łr s√łrge for, at alle m√•lets forbindelser g√•r til angriberkontrollerede noder. Enheden vil f√łrst oversv√łmme m√•let med sine egne IP-adresser, som offeret sandsynligvis vil oprette forbindelse til ved genstart af sin software. En genstart kan enten fremtvinges (f.eks. med et DDoS-angreb p√• m√•let), eller angriberen kan bare vente p√•, at det sker.¬†

N√•r dette er sket, er det intetanende offer prisgivet de ondsindede noder ‚Ästuden overblik over det st√łrre netv√¶rk kan de blive fodret med forkerte data af angriberen.


Konsekvenser af et eclipse-angreb

Hvis en angriber bruger ressourcer p√• at st√łde en peer fra netv√¶rket, har denne sandsynligvis et motiv til at g√łre det. Der er en r√¶kke p√• hinanden f√łlgende angreb, som lettere kan s√¶ttes i gang, n√•r en node er blevet kvalt.


0-bekræftelse af dobbeltforbrug

Hvis en person accepterer en transaktion uden bekr√¶ftelser, risikerer denne et dobbeltforbrug. Transaktionen kan v√¶re blevet udsendt, men indtil den er blevet inkluderet i en blok (og dermed forpligtet til blockchainen), kan afsenderen nemt lave en ny transaktion, der bruger de samme midler et andet sted. Hvis den nye transaktion har et h√łjere gebyr, vil en miner sandsynligvis inkludere den f√łr den oprindelige og ugyldigg√łre den tidligere.¬†

Nogle virksomheder og enkeltpersoner accepterer disse 0-bekr√¶ftelsestransaktioner. T√¶nk p√• en forhandler, Bob, som s√¶lger eksklusive k√łret√łjer. Han er ikke klar over, at Alice har angrebet hans node, og aner ikke ur√•d, da hun bestiller en luksussportsvogn. Hun opretter en transaktion, som Bob derefter sender ud til netv√¶rket. Tilfreds med, at betalingen er p√• vej, overr√¶kker han n√łglerne til bilen, og Alice k√łrer af sted.

Selvf√łlgelig blev transaktionen¬†ikke¬†sendt til netv√¶rket ‚Äď Bob har blot videresendt den til Alices ondsindede noder, som ikke vil videresende den til √¶rlige noder. Mens denne transaktion er i limbo, bruger Alice de samme midler p√• det (rigtige) netv√¶rk, enten til en anden part eller til en adresse, hun ejer. Selv hvis den oprindelige transaktion til Bob bliver set, vil den blive afvist, da coinsene allerede er blevet brugt.


N-bekræftelse af dobbeltforbrug

N-bekr√¶ftelse af dobbeltforbrug minder om 0-bekr√¶ftelsen, men involverer mere forberedelse. Mange virksomheder foretr√¶kker at vente p√• et vist antal bekr√¶ftelser, f√łr de markerer en betaling som gyldig. For at omg√• dette skal angriberen angribe b√•de minere og forhandleren. N√•r angriberen har oprettet ordren hos forhandleren, sender denne en transaktion til de (angrebne) minere. Transaktionen bekr√¶ftes og inkluderes i blockchainen ‚Äď men denne blockchain er ikke den k√¶de, som st√łrstedelen af netv√¶rket observerer, da mineren er afsk√•ret.

Derfra videresender angriberen denne version af blockchainen til forhandleren, som frigiver varerne i den tro, at transaktionen er blevet bekr√¶ftet. N√•r de angrebne noder vender tilbage til det faktiske netv√¶rk, bliver den blockchain, de fejlagtigt tror er gyldig, gjort for√¶ldrel√łs af den, som resten af netv√¶rket har arbejdet p√• (dette har visse ligheder med et 51 %-angreb).


Svækkelse af konkurrerende minere

En angrebet node vil forts√¶tte med at fungere, uvidende om at den er blevet adskilt fra netv√¶rket. Minere vil forts√¶tte med at mine blokke inden for protokollens regler, men de tilf√łjede blokke vil blive kasseret, n√•r de synkroniseres med √¶rlige peers.¬†

Teoretisk set kunne et storstilet eclipse-angreb p√• store minere bruges til at lette et 51 %-angreb. Som det ser ud nu, er omkostningerne ved at overtage st√łrstedelen af Bitcoins hashkraft simpelthen for h√łje for selv de mest ressourcest√¶rke angribere ‚Äď ved ~80 TH/s ville enheden have brug for mere end 40 TH/s for at fors√łge en s√•dan man√łvre.¬†

I et hypotetisk scenarie, hvor denne hashkraft er fordelt mellem 10 parter (s√•ledes at hver ejer 8 TH/s), kan angriberen s√¶nke kravene til et 51 %-angreb betydeligt ved at afsk√¶re disse parter fra netv√¶rket. Hvis fem bliver angrebet, fjernes 40 TH/s fra kapl√łbet om at finde den n√¶ste blok, og angriberen beh√łver nu kun at opn√• lidt over 20 TH/s for at overtage kontrollen.

Anden sabotage, der kan opn√•s ved at foretage eclipse-angreb, omfatter manipulation af noder til egoistisk mining eller planl√¶gning af kapl√łb mellem minere for at finde den n√¶ste blok.


Afhjælpning

Med nok IP-adresser kan en angriber angribe enhver node. Den mest enkle metode til at forhindre dette er, at en operat√łr blokerer indg√•ende forbindelser og kun opretter udg√•ende forbindelser til bestemte noder (f.eks. dem, der er blevet angivet p√• positivlisten af andre peers). Som forskningsartiklen p√•peger, er dette dog ikke en tilgang, der fungerer i stor skala ‚Äď hvis alle deltagere implementerer disse foranstaltninger, vil nye noder ikke v√¶re i stand til at slutte sig til netv√¶rket.

Forfatterne foresl√•r en h√•ndfuld justeringer af Bitcoin-softwaren, hvoraf nogle er blevet integreret siden udgivelsen af artiklen. Disse g√łr eclipse-angreb mere kostbare gennem mindre √¶ndringer i koden, s√•som tilf√¶ldig udv√¶lgelse af nye forbindelser og st√łrre kapacitet til lagring af adresser.


Sammenfatning

Eclipse-angreb udf√łres p√• peer-to-peer-netv√¶rksniveau. De kan v√¶re noget af en pestilens, n√•r de bruges som et enkeltst√•ende angreb. Deres sande effektivitet ligger i at forst√¶rke andre angreb, der p√•virker m√•lene √łkonomisk eller giver angriberen en fordel p√• miningfronten.

I praksis har der endnu ikke v√¶ret alvorlige konsekvenser som f√łlge af et eclipse-angreb, men truslen eksisterer stadig p√• trods af de modforanstaltninger, der er integreret i netv√¶rket. Som med de fleste af de angrebsvektorer, der findes for bitcoin og andre kryptovalutaer, vil det st√¶rkeste forsvar v√¶re det, der g√łr det √łkonomisk uoverkommeligt for ondsindede parter at fors√łge dem.