Eclipse-attacker är en sorts cyberattack där en angripare skapar en falsk miljö runt en enda nod eller användare, vilket gör att angriparen kan manipulera noden till att göra en skadlig handling.
Vad kan blockchain-utvecklare lära sig av eclipse-attacker?
Utvecklare kan bekanta sig med sårbarheterna i Bitcoin-noder som kan utnyttjas för att ersätta legitima peer-adresser med sina egna.
Tekniskt sett, när noden väljer IP-adresser från den provade hinken med tidsstämplar, ökar det sannolikheten för att angriparen blir vald. Detta gäller även om angriparen bara äger en liten del av dessa adresser. Chansen att bli utvald kan också ökas genom att öka attacktiden.
När en adresshack är full tas en adress bort slumpmässigt. Om en angripares IP är den som tas bort, kan den så småningom infogas om den upprepade gånger skickas till noden.
Som du kan se kan angripare utnyttja de ovan nämnda sårbarheterna. Men det finns också några sätt att undvika dem:
Val av IP-adress från den testade tabellen kan göras slumpmässigt. Detta skulle minska chanserna för den utvalda kamraten att bli en angripare. Om kamraturval är slumpmässigt kommer angriparen inte att lyckas även efter att ha tillbringat mycket tid i attacken.
Använd ett deterministiskt tillvägagångssätt för att infoga adresser till peers i fasta platser. Detta kommer att minska chanserna att infoga en angripares adress i en annan plats efter att ha blivit vräkt från adressblocket. Ett deterministiskt tillvägagångssätt säkerställer att upprepad infogning av adresser inte tillför ett värde till en attack.
Som vi nämnde har många av sårbarheterna i Bitcoin redan åtgärdats. Attacker mot blockchain kan dock fortfarande utföras när angripare hittar andra sårbarheter. Detta beror på att blockchain-nätverk är offentliga.
Kulturen med öppen källkod som följs av många blockkedjeorganisationer kan också ge vika för ytterligare sårbarheter.
Skillnader mellan eclipse attack vs. Sybil attack
Båda attackerna sker på P2P-nätverksnivå. Så vad är skillnaden?
I en förmörkelsesattack är de flesta kamrater till en riktad användare illvilliga och hindrar därför den riktade användaren från att ansluta till ett legitimt nätverk. En solförmörkelsesattack är särskilt användbar i fall då en avsändare skickar några Bitcoin ( BTC ) till någon och sedan också dubbelt spenderar dessa Bitcoin.
Avsändaren använder sedan attacken för att förhindra målanvändaren från att få reda på de dubbla utgifterna.
I en Sybil-attack försöker en illvillig aktör eller angripare att spamma nätverket med noder under deras kontroll i ett försök att spela nätverkets ryktesystem. Detta inkluderar falsk signalering av stöd med versionsbitar. Sammanfattningsvis, en solförmörkelsesattack riktar sig mot en enskild användare eller ett parti medan en Sybil-attack riktar sig mot ett helt nätverk.
I Bitcoin-sammanhang är Sybil-attacker mindre skadliga eftersom noder fungerar på konsensusregler. Enligt dessa regler kommer varje avvikelse att leda till att samma nod DoS förbjuds.
Hur man dämpar förmörkelsesattacker
Teoretiskt sett kan en angripare överskugga vilken nod som helst så länge de har tillräckligt med IP-adresser.
Operatörer kan minska denna risk genom att blockera inkommande anslutningar. Dessutom bör de bara göra utgående anslutningar till specifika noder som de litar på, till exempel de som finns på en vitlista av andra kamrater i nätverket. Forskare har dock påpekat att om alla deltagare antar dessa åtgärder kanske nya noder inte kan gå med - vilket gör det till ett tillvägagångssätt som inte kan göras i stor skala.
Vad författarna till "Eclipse Attacks on Bitcoin's Peer-to-Peer Network" föreslår är dock att implementera några justeringar av Bitcoin-mjukvaran. Några av dessa justeringar har redan implementerats sedan tidningen släpptes. De arbetar för att göra Eclipse-attacker dyrare genom mindre ändringar i koden.
Vilka är konsekvenserna av en solförmörkelseattack?
När en angripare riktar sig mot ett nätverks användare finns det vanligtvis ett djupare motiv för att göra det. Eclipse-attacker kan vanligtvis fungera som inkörsportar för mer komplexa attacker och störningar.
0-bekräftelse dubbla utgifter
En användare riskerar att betala dubbelt om de accepterar en transaktion utan bekräftelser. I princip, även om transaktionen redan har sänts, kan avsändaren fortfarande skapa en ny transaktion och spendera pengarna någon annanstans. Dubbla utgifter kan förekomma tills en transaktion har inkluderats i ett block och anslutit till blockkedjan.
Nya transaktioner som har en högre avgift kan också inkluderas före ursprungliga transaktioner för att ogiltigförklara tidigare transaktioner. Det som är riskabelt med detta är att vissa individer och företag är i praktiken att acceptera 0-bekräftelsetransaktioner.
N-bekräftelse dubbla utgifter
Dubbla utgifter för N-bekräftelse liknar transaktioner med 0-bekräftelse. De kräver dock mer komplexa förberedelser. Eftersom många företag föredrar att vänta med att markera en betalning som giltig i väntan på ett visst antal bekräftelser, kan de vara sårbara för attacker.
I det här scenariot förmörkar angripare både gruvarbetare och handlare. De klarar det genom att upprätta en beställning med handlaren och sända transaktionen till förmörkade gruvarbetare. Detta leder till att transaktionen bekräftas och inkluderas i blockkedjan. Denna specifika kedja är dock inte den rätta eftersom gruvarbetaren har blivit avskuren från nätverket tidigare.
Angriparen vidarebefordrar sedan denna blockchain-version till handlaren, som sedan släpper varor och/eller tjänster i tron att transaktionen redan har bekräftats.
Försvagar konkurrerande gruvarbetare
Eclipsed noder fortsätter att fungera eftersom målanvändaren ofta är omedveten om att de har isolerats från det legitima nätverket. Som ett resultat kommer gruvarbetare att fortsätta att bryta block som vanligt. Block som läggs till kommer sedan att kasseras vid synkronisering med sina ärliga kamrater.
Storskaliga förmörkelsesattacker som utförs på stora gruvarbetare används vanligtvis för att utföra en attack på 51 %. Men på grund av den otroligt höga kostnaden för att ta över Bitcoins hashkraftmajoritet är chanserna för detta fortfarande ganska små. Vid ~80TH/s skulle en angripare teoretiskt behöva mer än 40TH/s för att lyckas med ett sådant försök.
Hur fungerar en solförmörkelseattack?
Angripare använder vanligtvis ett botnät eller fantomnätverk för att kompromissa med en nod och stänga av den.
Kryptoförmörkelsesattacker kan utföras eftersom noderna i ett decentraliserat nätverk inte samtidigt kan ansluta till andra noder på grund av bandbreddsbegränsningar. Som sådan ansluter noder till en begränsad uppsättning angränsande noder istället.
Därför arbetar en illvillig aktör för att äventyra målanvändarens anslutning till den begränsade uppsättning noder som den ansluter till. En angripare använder ett fantomnätverk eller botnät för att äventyra en nod. Detta nätverk skapas från värdnoder och används för att översvämma en målnod med IP-adresser (Internet Protocol). Målet kan sedan synkroniseras med det när det återansluter till blockchain-nätverket.
Angriparen väntar sedan på att målet återansluter till skadliga noder eller använder en DDoS-attack (Distributed Denial of Service) så att målet tvingas återansluta till nätverket.
Det värsta är att när en målnod väl har äventyrats kan angriparen mata den med falsk data. Vanligtvis är offret omedvetet om att noden redan har komprometterats. Några av konsekvenserna av förmörkelsesattacker i kryptoprojekt är:
Angriparen kan sedan öka sin hashhastighet inom nätverket. Eftersom en eclipsed gruvarbetare är frånkopplad från det legitima nätverket, kan angripare sedan starta attacker på flera gruvarbetare och starta en attack på 51 % på nätverket .
Vad är en förmörkelsesattack i blockchain?
I en förmörkelsesattack isolerar en illvillig aktör en specifik användare eller nod inom ett peer-to-peer-nätverk (P2P).
Angriparens mål är att skymma en användares syn på P2P-nätverket som förberedelse för mer komplexa attacker eller för att orsaka allmänna störningar. Eclipse-attacker delar likheter med Sybil-attacker, men deras slutmål är olika.
De liknar varandra i den meningen att ett visst nätverk svämmar över av falska kamrater. Skillnaden är dock att i en solförmörkelsesattack angrips en enda nod. Vid en Sybil-attack attackeras hela nätverket.
Dessutom kan angripare starta en solförmörkelsesattack genom att konstruera många till synes oberoende överlagringsnoder via en Sybil-attack. Angripare kan använda överläggsunderhållsmekanismen för att montera ett solförmörkelseangrepp; därför förhindrar inte skydd mot Sybil-attacker förmörkelseattacker.
Eclipse-attacker diskuteras utförligt i 2015-artikeln författad av forskare från Boston University och Hebrew University med titeln "Eclipse Attacks on Bitcoin's Peer-to-Peer Network." I den nämnda uppsatsen diskuterade författarna sina fynd från att lansera förmörkelsesattacker, såväl som möjliga motåtgärder.
I en solförmörkelsesattack försöker en angripare att omdirigera målnätverksdeltagarens inkommande och utgående anslutningar från legitima noder till angriparens noder. Genom att göra det avspärras målet från det faktiska nätverket.
Eftersom målet är bortkopplat från blockchain-reskontran kan den isolerade noden sedan manipuleras av angriparen. En solförmörkelsesattack kan leda till blockerade gruvstörningar såväl som illegitima transaktionsbekräftelser.
Hur lätt blockkedjeattacker kan utföras beror på målblockkedjenätverkets underliggande struktur.