Cuprins
Cum funcționează un atac de eclipsă
Urmarea unui atac de eclipsă
„Dubla cheltuială” fără confirmare
„Cheltuieli duble” care necesită N ori de confirmare
Reduceți concurența între mineri
Încetiniți impactul atacului eclipsei de soare
Rezuma
Un atac de eclipsă este un atac de bază relativ simplu prin care un atacator ar putea interfera cu nodurile dintr-o rețea. După cum sugerează și numele, acest atac poate împiedica nodul atacat din rețeaua peer-to-peer să obțină informații eficiente, provocând astfel întreruperi ale rețelei sau pregătindu-se pentru atacuri mai complexe.
La suprafață, Eclipse Attack este similar cu Sybil Attack. Deși au unele asemănări (un atacator perturbă rețeaua atacând nodurile), obiectivele lor finale ale atacului sunt diferite. Atacurile Eclipse vizează un singur nod (din motive explicate mai jos), în timp ce atacurile Sybil vizează întreaga rețea și urmăresc să modifice reputația protocoalelor de rețea.
Conceptul este discutat pe larg în lucrarea din 2015 „Eclipse Attacks on the Bitcoin Peer-to-Peer Network”, în care cercetătorii de la Universitatea din Boston și Universitatea Ebraică și-au raportat experimentele care au efectuat atacuri de eclipsă și măsurile preventive pentru combaterea acestora.
Cum funcționează un atac de eclipsă
Minerii Bitcoin au nevoie de echipamente specializate pentru a genera și verifica blocuri noi, dar nodurile care nu sunt miniere (sau complete) necesită o putere de calcul foarte mică pentru a funcționa. În acest fel, oricine poate opera un nod pe echipamente ieftine, ceea ce contribuie și la descentralizarea Bitcoin. Programul software menține o bază de date de tranzacții care este sincronizată cu colegii pentru a rămâne sincronizată cu rețeaua.
Factorul limitator pentru conectarea unui număr mare de noduri este lățimea de bandă. Prin urmare, deși există un număr mare de dispozitive care pot rula programul, există o limită a numărului de conexiuni setate în rețeaua Bitcoin (maximum 125 de conexiuni), iar dispozitivele obișnuite nu se pot interconecta direct cu alte dispozitive.
Într-un atac de eclipsă, atacatorul se asigură că toate conexiunile la țintă sunt realizate pe noduri controlate de atacator. Atacatorul va trimite mai întâi un flux de la propria sa adresă IP la adresa țintă, iar victima se poate conecta la adresa IP a atacatorului atunci când programul repornește. Puteți forța o repornire (adică să efectuați un atac DDoS asupra țintei) sau doar așteptați ca programul să se repornească automat.
Dacă se întâmplă acest lucru, victimele nebănuitoare sunt la cheremul nodurilor rău intenționate, iar atacatorul le furnizează date false pe care nu le pot obține din rețeaua reală.
Consecințele unui atac de eclipsă de soare
Atacatorii au un stimulent să efectueze astfel de atacuri dacă pot detașa un nod de rețea din rețea consumând resursele acesteia. Dacă un nod este izolat, un atacator poate efectua mai multe atacuri consecutive.
„Dubla cheltuială” fără confirmare
Dacă un nod independent acceptă o tranzacție neconfirmată, atunci apare riscul de „cheltuire dublă”. Dacă tranzacția care a avut loc poate să fi fost difuzată înainte de a intra în bloc (trimiterea la blockchain), atunci expeditorul poate face cu ușurință o nouă tranzacție în altă parte și poate cheltui aceeași sumă ca și tranzacția anterioară. Dacă taxa de tranzacție nou generată este mare, minerii vor prioritiza tranzacția și vor considera că este prima tranzacție, ceea ce face ca prima tranzacție să fie invalidă.
Unii comercianți și persoane fizice acceptă aceste 0 tranzacții de confirmare. Luați în considerare Bob, un om de afaceri care vinde mașini de ultimă generație. Nu știa că Alice a lansat un atac de eclipsă asupra nodului său și nu avea nicio bănuială după ce a văzut comanda ei pentru o mașină sport de lux. Alice creează tranzacția, iar Bob o transmite în rețea. După ce a văzut că plata era pe cale să fie confirmată, s-a simțit foarte mulțumit și i-a înmânat Alicei cheile mașinii, care a plecat cu viteză.
De fapt, tranzacția nu a fost transmisă în rețea. Prin urmare, tranzacția va fi considerată invalidă. În acest moment, Alice plătește aceeași sumă pe rețeaua (reală), fie pentru ea însăși, fie pentru altcineva. Chiar dacă tranzacția inițială cu Bob este văzută în sfârșit pe rețeaua reală, tranzacția nu poate fi verificată deoarece fondurile din contul lui Alice au fost epuizate.
„Cheltuieli duble” care necesită N ori de confirmare
„Cheltuirea dublă” care necesită N confirmări este similară cu „cheltuirea dublă” care nu necesită confirmare, dar implică mai multă muncă de pregătire. Mulți comercianți preferă să aștepte un anumit număr de confirmări înainte ca o plată să fie marcată ca validă. Pentru a rezolva problema, un atacator ar trebui să supună atât nodurile miner, cât și ale comerciantului unui atac de eclipsă. Dacă un atacator stabilește o comandă cu un comerciant, acesta transmite tranzacția către mineri. Comercianții pot vedea tranzacțiile confirmate în rețeaua blockchain, dar pentru că rețelele în care se află minerii și comercianții sunt izolate, blockchain-ul nu este martor la majoritatea nodurilor reale.
Atacatorul a trimis comerciantului informațiile false ale rețelei blockchain, iar după ce comerciantul a văzut că tranzacția a fost confirmată, a predat bunurile. Când aceste noduri care au suferit un atac de eclipsă se reunesc în rețeaua reală, rețeaua blockchain reală va considera aceste noduri ca fiind invalide și va izola aceste noduri (acest lucru este similar cu un atac de 51%).
Reduceți concurența între mineri
Nodurile afectate de un atac de eclipsă vor continua să funcționeze și nu vor fi afectate de a fi izolate de rețea. Minerii vor continua să verifice blocurile în conformitate cu regulile specificate de protocol, dar blocurile adăugate vor fi eliminate în procesul de trecere prin nodurile rețelei reale.
În teorie, un atac masiv de eclipsă asupra unei mari părți a minerilor ar putea fi folosit pentru a facilita un atac de 51%. Așa cum stau lucrurile, costul chiar și pentru cel mai ingenios atacator de a prelua cea mai mare parte a puterii de calcul a Bitcoin (aproximativ 80TH/s) este prea mare, iar atacatorul ar trebui să încerce cel puțin cu mai mult de 40TH/s.
Presupunând că această putere de calcul este distribuită între 10 participanți (fiecare participant are aproximativ 8TH/s), un atacator poate reduce foarte mult cerințele unui atac de 51% izolând acești participanți de rețea. Dacă 5 dintre noduri suferă un atac de eclipsă, atacatorul poate reduce puterea de calcul cu 40TH/s pentru a găsi următorul bloc, iar atacatorul trebuie acum să mărească puterea de calcul cu 20TH/s pentru a atinge obiectivul de a ataca nodul. . Control.
Alte activități distructive care pot fi realizate prin efectuarea unui atac de eclipsă asupra unei ținte includ manipularea nodurilor pentru a desfășura activități miniere ilegale sau exploatarea concurenței de putere de calcul dintre mineri pentru a obține următorul bloc.
Încetiniți impactul atacurilor eclipselor de soare
Cu suficiente adrese IP, un atacator poate efectua un atac eclipse pe orice nod. Cea mai directă modalitate de a preveni acest lucru este de a bloca accesul neautorizat al nodurilor și de a stabili doar conexiuni de ieșire către anumite noduri (cum ar fi IP-urile care au fost incluse în lista albă de alte noduri din rețeaua peer-to-peer). Cu toate acestea, după cum subliniază lucrarea de cercetare, aceasta nu este o soluție care poate fi implementată la scară și, dacă toți participanții iau aceste măsuri, noile noduri nu se vor putea alătura rețelei.
Autorul a propus unele ajustări ale programului Bitcoin, iar unele dintre ele au fost integrate în programul Bitcoin după ce a fost lansată cartea albă. Făcând mici modificări ale codului, cum ar fi selectarea aleatorie de noi conexiuni și creșterea stocării adreselor, aceste măsuri fac ca atacurile Eclipse să fie din ce în ce mai costisitoare.
Rezuma
Atacurile Eclipse sunt efectuate pe o rețea peer-to-peer. Ca implementare de atac de sine stătătoare, acestea pot fi enervante. Scopul real al efectuării unui atac eclipse este de fapt acela de a implementa alte atacuri care pot avea un impact mai mare sau de a oferi atacatorului un avantaj în minerit.
În general, atacurile eclipse nu au avut încă un impact serios și, în ciuda măsurilor de protecție implementate în rețelele blockchain, amenințarea încă există. Atacurile Eclipse, la fel ca majoritatea atacurilor cu care se confruntă Bitcoin și majoritatea celorlalte criptomonede, cea mai bună apărare este să îl faceți neprofitabil pentru atacatorii rău intenționați.

