Čo je útok Eclipse?
Domov
Články
Čo je útok Eclipse?

Čo je útok Eclipse?

Rozšírené
Zverejnené Jan 19, 2020Aktualizované Dec 11, 2023
6m

Úvod

Útok Eclipse je relatívne jednoduchý útok, ktorý môže zlomyseľný aktér použiť na zasahovanie do uzlov v sieti. Cieľom útoku je zatieniť účastníkovi pohľad na sieť typu peer to peer, aby spôsobil všeobecné narušenie, prípadne aby si pripravil pôdu na sofistikovanejšie útoky.

Útoky Eclipse môžu navonok vyzerať podobne ako útoky Sybil. Aj keď sa v niečom podobajú (zákerný hráč zaplaví sieť falošnými rovesníkmi), ich konečný cieľ je v konečnom dôsledku iný. Útok Eclipse sa zameriava na jeden uzol (dôvody sú vysvetlené nižšie), zatiaľ čo útok Sybil je celosieťový útok navrhnutý tak, aby ohrozoval systém reputácie protokolu.

Tento koncept je podrobne preskúmaný v dokumente Eclipse Attacks on Bitcoin's Peer-to-Peer Network (útoky Eclipse na sieť typu peer to peer bitcoinu) z roku 2015, v ktorom výskumníci z Bostonskej univerzity a Hebrejskej univerzity informujú o zisteniach zo svojich experimentov s útokmi Eclipse, ako aj o možných protiopatreniach na boj proti nim.


Ako funguje útok Eclipse

Ťažiari bitcoinu potrebujú špecializované vybavenie na generovanie nových blokov, ale neťažobné (úplné) uzly sa dajú ľahko používať s minimálnym výpočtovým výkonom. To pomáha s decentralizáciou siete Bitcoin, pretože ktokoľvek môže spustiť uzol na zariadení s nízkou špecifikáciou. Softvér udržiava databázu transakcií, ktorú synchronizuje so svojimi bezprostrednými partnermi, aby bola aktualizovaná s verziou v sieti.

Limitujúcim faktorom pre mnohé uzly je šírka pásma. Hoci softvér používa obrovské množstvo zariadení, priemerné zariadenie sa k mnohým z nich nedokáže pripojiť priamo kvôli obmedzeniam stanoveným v softvéri Bitcoin (ktorý povoľuje maximálne 125 pripojení).

Pri útoku Eclipse sa zlomyseľný hráč postará o to, aby sa všetky spojenia cieľa nadviazali na uzly ovládané útočníkom. Subjekt najskôr zaplaví cieľ svojimi vlastnými IP adresami, ku ktorým sa obeť po reštarte svojho softvéru pravdepodobne pripojí. Reštart môže byť buď vynútený (t. j. použitím útoku DDoS na cieľ), prípadne môže útočník jednoducho počkať, kým k nemu dôjde. 

Akonáhle k tomu dôjde, nič netušiaca obeť je vydaná na milosť a nemilosť zlomyseľných uzlov – so širšiou sieťou nikde na dohľad im môže útočník poskytnúť nesprávne údaje.


Dôsledky útoku Eclipse

Ak útočník vynakladá prostriedky na odtrhnutie partnera od siete, pravdepodobne má na to motív. Existuje niekoľko po sebe idúcich útokov, ktoré možno po odtrhnutí uzla ľahšie realizovať.


Dvojité výdavky s nulovým potvrdením

Ak jednotlivec prijme transakciu bez potvrdení, hrozí mu riziko dvojitých výdavkov. Transakcia mohla byť odoslaná, ale kým nebude zahrnutá do bloku (a teda zahrnutá do blockchainu), odosielateľ môže ľahko vytvoriť novú transakciu, ktorá minie rovnaké prostriedky niekde inde. Ak má nová transakcia vyšší poplatok, ťažiar ju pravdepodobne zahrnie pred pôvodnú, čím zruší platnosť predchádzajúcej transakcie. 

Niektoré firmy a jednotlivci akceptujú tieto transakcie s nulovým potvrdením. Predstavte si obchodníka Boba, ktorý predáva luxusné vozidlá. Nie je si vedomý toho, že Alica zatienila jeho uzol. Keď si Alica objedná luxusné športové auto, nemá žiadne tušenie. Alica vytvorí transakciu, ktorú potom Bob odošle do siete. Spokojný, že platba je na ceste, si pomädlí ruky a odovzdá kľúče od auta. Alica nasadne, naštartuje a už jej niet.

Transakcia, samozrejme, nebola odoslaná do siete. Bob ju iba odovzdal škodlivým uzlom Alice, ktoré ju neposunú ďalej čestným uzlom. Zatiaľ čo táto transakcia visí vo vzduchoprázdne, Alica prevedie rovnaké množstvo prostriedkov v (skutočnej) sieti, či už inej strane alebo na adresu, ktorú vlastní. Aj keď Bob bude vidieť prvotnú transakciu, táto bude odmietnutá, pretože kryptomeny už boli minuté.


Dvojité výdavky s N potvrdeniami

Dvojité výdavky s N potvrdeniami je podobný model ako s 0 potvrdeniami, vyžaduje si však viac prípravy. Mnoho podnikov uprednostňuje taktiku, že počká na určitý počet potvrdení, kým platbu označí za platnú. Aby to útočník obišiel, musí zatieniť ťažiarov aj obchodníka. Keď útočník zadá objednávku u obchodníka, odošle transakciu (zatieneným) ťažiarom. Transakcia sa potvrdí a zahrnie do blockchainu – tento blockchain však nie je reťazec, ktorý väčšina siete pozoruje, pretože ťažiar je odrezaný.

Od tohto momentu útočník odovzdá túto verziu blockchainu obchodníkovi, ktorý uvoľní tovar v presvedčení, že transakcia bola potvrdená. Akonáhle sa zatienené uzly znovu pripoja k skutočnej sieti, blockchain, o ktorom sa mylne domnievajú, že je platný, je osirelý tým, ktorý používal zvyšok siete (toto má určitú podobnosť s útokom 51 %).


Oslabenie konkurenčných ťažiarov

Zatienený uzol bude pokračovať v prevádzke bez ohľadu na skutočnosť, že bol oddelený od siete. Ťažiari budú pokračovať v ťažbe blokov v rámci pravidiel stanovených protokolom, pridané bloky však pri synchronizácii s čestnými blokmi budú vyradené. 

Teoreticky by sa na uľahčenie útoku 51 % mohol použiť rozsiahly útok Eclipse na veľkých ťažiarov. V súčasnosti sú náklady na prevzatie väčšiny hašovacej sily bitcoinu jednoducho príliš vysoké aj pre útočníkov, ktorí majú k dispozícii veľké množstvo prostriedkov. Aby sa subjekt pokúsil o takýto manéver, pri ~80 TH/s by potreboval viac ako 40 TH/s. 

V hypotetickom scenári, kde sa táto hašovacia sila rozdelí medzi 10 strán (tak, že každá vlastní 8 TH/s), môže útočník výrazne znížiť požiadavky na útok 51 % tým, že tieto strany odpojí od siete. Ak sa zatieni päť, 40 TH/s sa odstráni z pretekov o nájdenie ďalšieho bloku. Aby útočník prevzal kontrolu, teraz mu stačí získať o niečo viac ako 20 TH/s.

Medzi ďalšie sabotáže, ktoré možno dosiahnuť zatienením cieľov, patrí manipulácia s uzlami pre sebeckú ťažbu alebo vytváranie pretekov medzi ťažiarmi s cieľom nájsť ďalší blok.


Zmiernenie

Pri dostatočnom počte IP adries môže útočník zatieniť akýkoľvek uzol. Najjednoduchším spôsobom, ako tomu zabrániť, je, že operátor zablokuje prichádzajúce spojenia a vytvorí odchádzajúce spojenia iba s konkrétnymi uzlami (ako sú tie, ktoré boli zaradené na zoznam povolených inými partnermi). Ako však poukazuje výskumný dokument, toto nie je prístup, ktorý funguje vo veľkom meradle. Ak všetci účastníci prijmú tieto opatrenia, nové uzly sa nebudú môcť pripojiť k sieti.

Autori navrhujú niekoľko vylepšení softvéru siete Bitcoin. Od uverejnenia článku boli niektoré z nich integrované. Tie spôsobujú, že útoky Eclipse sú nákladnejšie prostredníctvom menších úprav kódu, ako je náhodný výber nových spojení a väčšia kapacita na ukladanie adries.


Záverečné myšlienky

Útoky Eclipse sa vykonávajú na úrovni siete typu peer to peer. Ak sú nasadené ako samostatný útok, môžu byť obťažujúce. Ich skutočná účinnosť spočíva v zosilnení iných útokov, ktoré majú finančný dopad na ciele alebo poskytujú útočníkovi výhodu na fronte ťažby.

Zatiaľ sa nevyskytli vážne následky útoku Eclipse, napriek protiopatreniam integrovaným do siete však hrozba stále existuje. Rovnako ako u väčšiny vektorov útokov, ktoré ohrozujú bitcoin a ostatné kryptomeny, platí, že najsilnejšou obranou je tá, ktorá z finančného hľadiska znemožňuje zlomyseľným hráčom, aby sa o ne vôbec pokúsili.

Zdieľať príspevky
Zaregistrujte si účet
Ešte dnes využite svoje znalosti v praxi otvorením účtu Binance.