Mit jelent az eclipse támadás?
Kezdőlap
Cikkek
Mit jelent az eclipse támadás?

Mit jelent az eclipse támadás?

Haladó
Közzétéve Jan 19, 2020Frissítve Dec 11, 2023
6m

Bevezetés

Az eclipse támadás egy viszonylag egyszerű támadás, amelyet egy rosszindulatú szereplő alkalmazhat a hálózat csomópontjainak megzavarására. Ahogy a neve is sugallja, a támadás célja, hogy elsötétítse a résztvevők rálátását a peer-to-peer hálózatra, hogy általános zavart okozzon, vagy felkészüljön a kifinomultabb támadásokra.

Az eclipse támadások első ránézésre hasonlónak tűnhetnek a Sybil-támadásokhoz. Bár vannak bizonyos hasonlóságaik - a rosszindulatú szereplő hamis peerekkel árasztja el a hálózatot -, a célja végső soron más. Az eclipse támadás egyetlen csomópontot vesz célba (a későbbiekben kifejtett okok miatt), míg a Sybil támadás az egész hálózatra kiterjedő támadás, amelynek célja a protokoll reputációs rendszerének kijátszása.

A koncepciót hosszasan tárgyalja a 2015-ös Eclipse Attacks on Bitcoin's Peer-to-Peer Network című tanulmány, amelyben a Bostoni Egyetem és a Héber Egyetem kutatói beszámolnak az eclipse támadásokkal kapcsolatos kísérleteik eredményeiről, valamint a lehetséges ellenintézkedésekről.


Hogyan működik az eclipse támadás?

A Bitcoin-bányászoknak speciális felszerelésre van szükségük az új blokkok létrehozásához, de a nem bányász (vagy teljes) csomópontok könnyen működtethetők minimális számítási teljesítménnyel. Ez elősegíti a Bitcoin decentralizációját, mivel bárki létrehozhat egy csomópontot egy kis sebességű eszközön. A szoftver egy adatbázist vezet a tranzakciókról, amelyet szinkronizál a közvetlen társaival, hogy lépést tarthasson a hálózattal.

Sok csomópont számára korlátozó tényező a sávszélesség. Bár a szoftvert futtató eszközök száma nagy, az átlagos eszköz sokukhoz nem tud közvetlenül csatlakozni a Bitcoin szoftverben meghatározott korlátozások miatt (amely csak legfeljebb 125 kapcsolatot engedélyez).

Egy eclipse támadás során a rosszindulatú szereplő gondoskodik arról, hogy a célpont összes kapcsolata a támadó által ellenőrzött csomópontokhoz vezessen. A szervezet először elárasztja a célpontot saját IP-címeivel, amelyekhez az áldozat valószínűleg a szoftver újraindításakor csatlakozik. Az újraindítás vagy kikényszeríthető (pl. a célpont elleni DDoS-támadással), vagy a támadó egyszerűen kivárja, hogy megtörténjen. 

Ha ez megtörtént, a gyanútlan áldozat ki van szolgáltatva a rosszindulatú csomópontoknak – mivel nincs rálátása a tágabb hálózatra, a támadó hamis adatokkal táplálhatja azt.


Az eclipse támadás következményei

Ha egy támadó energiát fordít arra, hogy elidegenítsen egy peert a hálózatról, akkor valószínűleg megvan rá indítéka. Bizonyos egymást követő támadások könnyebben indíthatók, ha egy csomópontot elfojtottak.


0-visszaigazolásos dupla költés

Ha valaki megerősítés nélkül fogad el egy tranzakciót, akkor fennáll a dupla költés kockázata. Lehet, hogy a tranzakciót továbbították, de amíg az nem került be egy blokkba (és így nem került be a blokkláncba), a feladó könnyen létrehozhat egy új tranzakciót, amely ugyanazt a pénzt máshol költi el. Ha az új tranzakciónak magasabb a díja, akkor a bányász valószínűleg az eredeti tranzakció elé teszi, érvénytelenítve a korábbi tranzakciót. 

Egyes vállalkozások és magánszemélyek elfogadják ezeket a 0 megerősítéses tranzakciókat. Vegyünk egy Robi nevű kereskedőt, aki csúcskategóriás járműveket értékesít. Nem tudja, hogy Alíz elsötétítette a csomópontját, és semmit sem sejt, amikor megrendel egy luxus sportautót. Alíz létrehoz egy tranzakciót, amelyet Robi továbbít a hálózatnak. Megelégedve azzal, hogy a fizetés úton van, átadja a kocsikulcsot, és Alíz elszáguld az autóval.

Természetesen a tranzakciót nem továbbították a hálózatnak - Robi csupán Alíz rosszindulatú csomópontjainak küldte el azt, amelyek nem fogják továbbítani a becsületes csomópontoknak. Amíg ez a tranzakció függőben van, Alíz ugyanazt a pénzt elkölti a (valódi) hálózaton, akár egy másik félnek küldi el, akár a saját címére. Még ha a Robinak küldött első tranzakciót végül meg is látják, az elutasításra kerül, mivel az érméket már elköltötték.


N-megerősítéses dupla költések

Az N-megerősítéses dupla költés hasonló a 0-megerősítéseshez, de több előkészületet igényel. Sok vállalkozás inkább megvár egy bizonyos számú visszaigazolást, mielőtt a fizetést érvényesnek jelölné meg. Ahhoz, hogy ezt megkerülje, a támadónak eclipse támadást kell végrehajtania mind a bányászok, mind a kereskedő ellen. Miután a támadó létrehozta a megbízást a kereskedővel, tranzakciót küld a (megtámadott) bányászoknak. A tranzakciót megerősítik, és bekerül a blokkláncba - de ez a blokklánc nem az a lánc, amelyet a hálózat többsége figyel, mivel a bányász le van választva.

Innen a támadó továbbítja a blokklánc ezen verzióját a kereskedőnek, aki abban a hitben adja ki az árut, hogy a tranzakciót megerősítették. Amint a megtámadott csomópontok újra csatlakoznak a tényleges hálózathoz, az általuk tévesen érvényesnek hitt blokkláncot leváltja a blokklánc, amelyen a hálózat többi része dolgozott (némi hasonlóságot mutat az 51%-os támadással).


Konkurens bányászok gyengítése

Egy elsötétített csomópont továbbra is működik, és nem vesz tudomást arról a tényről, hogy elkülönítették a hálózattól. A bányászok továbbra is a protokoll által meghatározott szabályok szerint bányásszák a blokkokat, de a hozzáadott blokkokat a becsületes csomópontokkal való szinkronizálás során elvetik. 

Elméletileg a nagy bányászok elleni nagyszabású eclipse támadást fel lehetne használni egy 51%-os támadás megkönnyítésére. Jelenleg a Bitcoin hash teljesítményének többségét átvenni túlságosan költséges lenne, még a legügyesebb támadók számára is. Például, 80TH/s hashráta esetében egy ilyen manőver megkísérléséhez a támadónak több mint 40TH/s teljesítményre lenne szüksége. 

Egy hipotetikus forgatókönyvben, ahol ez a hash teljesítmény 10 fél között oszlik meg (úgy, hogy mindegyikük 8TH/s-ot birtokol), a támadó jelentősen csökkentheti az 51%-os támadás követelményeit azáltal, hogy ezeket a feleket leválasztja a hálózatról. Az ötödik sikeres támadás után 40TH/s kiesik a következő blokk megtalálásáért folytatott versenyből, és a támadónak már csak alig több mint 20TH/s-t kell megszereznie ahhoz, hogy átvegye az irányítást.

Az eclipse támadásokkal megvalósítható egyéb szabotázsok közé tartozik a csomópontok manipulálása öncélú bányászat céljából, vagy a bányászok közötti versenyek manipulálása a következő blokk megtalálásáért.


Enyhítés

Elegendő IP-címmel egy támadó bármelyik csomópontot elsötétítheti. Ennek megakadályozására a legegyszerűbb módszer az, ha az üzemeltető blokkolja a bejövő kapcsolatokat, és csak bizonyos csomópontokkal (például a más peerek által engedélyezési listára tett csomópontokkal) létesít kimenő kapcsolatot. Amint arra a kutatás rámutat, ez a megközelítés azonban nem működik nagyobb léptékben - ha minden résztvevő elfogadja ezeket az intézkedéseket, nem tudnak majd új csomópontok csatlakozni a hálózathoz.

A szerzők javasoltak néhány változtatást a Bitcoin szoftverét illetően, amelyek közül néhányat a kutatás megjelenése óta már bevezettek. Ezek költségesebbé teszik az eclipse támadásokat a kód kisebb módosításai révén, mint például az új kapcsolatok véletlenszerű kiválasztása és a címtárolás nagyobb kapacitása révén.


Záró gondolatok

Az eclipse támadásokat a peer-to-peer hálózati szinten hajtják végre. Önálló támadásként bevetve némi kellemetlenséget okozhatnak. Valódi hatékonyságuk viszont abban rejlik, hogy más támadásokat tesznek lehetővé, amelyek pénzügyileg érintik a célpontokat, vagy előnyt biztosítanak bányászati fronton a támadónak.

Eddig még nem volt komoly következménye az eclipse támadásoknak, de a fenyegetés a hálózatba integrált ellenintézkedések ellenére is fennáll. Ahogyan a Bitcoin és más kriptovaluták esetében fennálló legtöbb támadási lehetőségnél, a legerősebb védelem az lesz, amely anyagilag megfizethetetlenné teszi a rosszindulatú felek számára a kísérletet.