Spis treści
Jak działa atak zaćmienia
Następstwa ataku zaćmienia
„Podwójne wydatki” bez potwierdzenia
„Podwójne wydatki”, które wymagają N razy potwierdzenia
Zmniejszenie konkurencji wśród górników
Zwolnij wpływ ataku zaćmienia słońca
Podsumować
Atak na zaćmienie to stosunkowo prosty podstawowy atak, za pomocą którego osoba atakująca może ingerować w węzły w sieci. Jak sama nazwa wskazuje, atak ten może uniemożliwić zaatakowanemu węzłowi w sieci peer-to-peer uzyskanie skutecznych informacji, powodując w ten sposób zakłócenia w sieci lub przygotowując się do bardziej złożonych ataków.
Na pierwszy rzut oka Atak Zaćmienia jest podobny do Ataku Sybil. Chociaż mają pewne podobieństwa (osoba atakująca zakłóca sieć, atakując węzły), ich ostateczne cele ataku są różne. Celem ataków Eclipse jest pojedynczy węzeł (z powodów wyjaśnionych poniżej), natomiast ataki Sybil obejmują całą sieć i mają na celu naruszenie reputacji protokołów sieciowych.
Koncepcja została szczegółowo omówiona w artykule z 2015 r. „Eclipse Attacks on the Bitcoin Peer-to-Peer Network”, w którym badacze z Uniwersytetu Bostońskiego i Uniwersytetu Hebrajskiego opisali swoje eksperymenty przeprowadzające ataki Eclipse oraz środki zapobiegawcze mające na celu ich zwalczanie.
Jak działa atak zaćmienia
Kopacze bitcoinów wymagają specjalistycznego sprzętu do generowania i weryfikacji nowych bloków, ale węzły inne niż górnicze (lub pełne) wymagają do działania bardzo małej mocy obliczeniowej. W ten sposób każdy może obsługiwać węzeł na tanim sprzęcie, co również przyczynia się do decentralizacji Bitcoina. Oprogramowanie utrzymuje bazę danych transakcji, która jest synchronizowana z urządzeniami równorzędnymi, aby zachować synchronizację z siecią.
Czynnikiem ograniczającym łączenie dużej liczby węzłów jest przepustowość. Dlatego też, choć istnieje duża liczba urządzeń, na których można uruchomić program, w sieci Bitcoin obowiązuje ograniczenie liczby połączeń (maksymalnie 125 połączeń), a zwykłe urządzenia nie mogą bezpośrednio łączyć się z innymi urządzeniami.
W ataku na zaćmienie atakujący upewnia się, że wszystkie połączenia z celem są nawiązywane w węzłach kontrolowanych przez atakującego. Osoba atakująca najpierw wyśle powódź ze swojego własnego adresu IP na adres docelowy, a ofiara może połączyć się z adresem IP atakującego po ponownym uruchomieniu programu. Możesz wymusić ponowne uruchomienie (czyli przeprowadzić atak DDoS na cel) lub po prostu poczekać, aż program automatycznie uruchomi się ponownie.
Jeśli tak się stanie, niczego niepodejrzewające ofiary są zdane na łaskę złośliwych węzłów, a osoba atakująca przekazuje im fałszywe dane, których nie mogą uzyskać z prawdziwej sieci.
Konsekwencje ataku zaćmienia słońca
Atakujący mają motywację do przeprowadzania takich ataków, jeśli mogą odłączyć węzeł sieciowy od sieci, zużywając jej zasoby. Jeśli węzeł jest odizolowany, atakujący może przeprowadzić kilka kolejnych ataków.
„Podwójne wydatki” bez potwierdzenia
Jeżeli niezależny węzeł zaakceptuje niepotwierdzoną transakcję, wówczas pojawia się ryzyko „podwójnych wydatków”. Jeżeli transakcja, która miała miejsce, mogła zostać rozgłoszona przed wejściem do bloku (przesłaniem do blockchainu), wówczas nadawca może łatwo dokonać nowej transakcji w innym miejscu i wydać tę samą kwotę, co poprzednia transakcja. Jeśli nowo wygenerowana opłata transakcyjna jest wyższa, górnicy nadadzą transakcji priorytet i uznają ją za pierwszą transakcję, co spowoduje, że pierwsza transakcja będzie nieważna.
Niektórzy sprzedawcy i osoby prywatne akceptują te transakcje z potwierdzeniem 0. Weźmy pod uwagę Boba, biznesmena sprzedającego samochody z najwyższej półki. Nie wiedział, że Alice przeprowadziła atak zaćmienia na jego węzeł i nie miał żadnych podejrzeń po zobaczeniu jej zamówienia na luksusowy samochód sportowy. Alicja tworzy transakcję, a Bob transmituje ją do sieci. Widząc, że wiadomość o płatności zaraz zostanie potwierdzona, poczuł się bardzo usatysfakcjonowany i podał kluczyki do samochodu Alicji, która z dużą prędkością odjechała.
W rzeczywistości transakcja nie została rozgłoszona w sieci. Bob przekazał ją jedynie do złośliwego węzła Alicji, a kontrolowany przez Alicję złośliwy węzeł nie przekazał transakcji do węzła rzeczywistego. Dlatego transakcja zostanie uznana za nieważną. W tym momencie Alicja płaci tę samą kwotę w (prawdziwej) sieci albo sobie, albo komuś innemu. Nawet jeśli początkowa transakcja z Bobem zostanie wreszcie zauważona w prawdziwej sieci, transakcja nie może zostać zweryfikowana, ponieważ środki na koncie Alicji zostały wyczerpane.
„Podwójne wydatki”, które wymagają N razy potwierdzenia
„Podwójne wydatki”, które wymagają N potwierdzeń, są podobne do „podwójnych wydatków”, które nie wymagają potwierdzeń, ale wymagają więcej pracy przygotowawczej. Wielu sprzedawców woli poczekać na określoną liczbę potwierdzeń, zanim płatność zostanie oznaczona jako ważna. Aby rozwiązać ten problem, osoba atakująca musiałaby poddać atakowi zaćmienie zarówno węzły górnicze, jak i handlowe. Jeśli atakujący złoży zamówienie ze sprzedawcą, rozgłasza transakcję górnikom (ofiarowanym atakiem Eclipse). Sprzedawcy widzą transakcje potwierdzone w sieci blockchain, ale ponieważ sieci, w których zlokalizowani są górnicy i handlowcy, są odizolowane, większość rzeczywistych węzłów nie widzi blockchainu.
Atakujący wysłał sprzedawcy fałszywe informacje o sieci blockchain, a gdy sprzedawca zobaczył, że transakcja została potwierdzona, przekazał towar. Kiedy węzły, które doznały ataku zaćmienia, ponownie dołączą do prawdziwej sieci, prawdziwa sieć blockchain uzna te węzły za nieprawidłowe i odizoluje je (jest to podobne do ataku 51%).
Zmniejszenie konkurencji wśród górników
Węzły dotknięte atakiem Eclipse będą nadal działać i nie zostaną dotknięte izolacją od sieci. Górnicy będą nadal weryfikować bloki w ramach zasad określonych przez protokół, ale dodane bloki będą odrzucane w procesie przechodzenia przez rzeczywiste węzły sieci.
Teoretycznie masowy atak zaćmienia na dużą część górników mógłby zostać wykorzystany do ułatwienia ataku 51%. W obecnej sytuacji koszt przejęcia większości mocy obliczeniowej Bitcoina (około 80TH/s) nawet najbardziej zaradnego atakującego jest zbyt wysoki i atakujący musiałby przynajmniej spróbować przejąć prędkość większą niż 40TH/s.
Zakładając, że ta moc obliczeniowa jest rozdzielona pomiędzy 10 uczestników (każdy uczestnik ma około 8TH/s), atakujący może znacznie zmniejszyć wymagania ataku 51%, izolując tych uczestników od sieci. Jeśli 5 węzłów zostanie dotkniętych atakiem zaćmienia, atakujący może zmniejszyć moc obliczeniową o 40TH/s, aby znaleźć następny blok, a atakujący musi teraz jedynie zwiększyć moc obliczeniową o 20TH/s, aby osiągnąć cel, jakim jest zaatakowanie węzła kontrola.
Inne destrukcyjne działania, które można osiągnąć, przeprowadzając atak zaćmienia na cel, obejmują manipulowanie węzłami w celu prowadzenia nielegalnej działalności wydobywczej lub wykorzystywanie konkurencji w mocy obliczeniowej pomiędzy górnikami w celu zdobycia następnego bloku.
Spowolnij wpływ ataków zaćmień słońca
Mając wystarczającą liczbę adresów IP, osoba atakująca może przeprowadzić atak Eclipse na dowolny węzeł. Najbardziej bezpośrednim sposobem zapobiegania temu zjawisku jest blokowanie nieautoryzowanego dostępu węzłów i ustanawianie połączeń wychodzących tylko do określonych węzłów (takich jak adresy IP, które zostały umieszczone na białej liście przez inne węzły w sieci peer-to-peer). Jak jednak wskazuje artykuł badawczy, nie jest to rozwiązanie, które można wdrożyć na dużą skalę i jeśli wszyscy uczestnicy podejmą te działania, nowe węzły nie będą mogły przyłączać się do sieci.
Autor zaproponował pewne zmiany w programie Bitcoin, a część z nich została zintegrowana z programem Bitcoin po opublikowaniu białej księgi. Dokonując niewielkich zmian w kodzie, takich jak losowe wybieranie nowych połączeń i zwiększanie przestrzeni pamięci na adresy, środki te sprawiają, że ataki Eclipse stają się coraz bardziej kosztowne.
Podsumować
Ataki Eclipse przeprowadzane są w sieci peer-to-peer. Jako samodzielny atak mogą być denerwujące. Prawdziwym celem przeprowadzenia ataku Eclipse jest w rzeczywistości wdrożenie innych ataków, które mogą mieć większy wpływ lub zapewnienie atakującemu przewagi w wydobywaniu.
Ogólnie rzecz biorąc, ataki Eclipse nie przyniosły jeszcze poważnych skutków i pomimo zabezpieczeń wdrożonych w sieciach blockchain zagrożenie nadal istnieje. Ataki Eclipse, podobnie jak większość ataków, przed którymi stoi Bitcoin i większość innych kryptowalut, najlepszą obroną jest uczynienie ich nieopłacalnymi dla złośliwych atakujących.

