Atak na sieć węzłów Bitcoin, cz.3

blockchain
cyberataki
Krzysztof Surgut
17.07.2018 Krzysztof Surgut

W części pierwszej opisałem scenariusz ataku na sieć komunikacyjną węzłów Bitcoin, a w części drugiej przedstawiłem scenariusz ataku, którego celem jest opóźnianie komunikacji węzłów Bitcoin. Czas przedstawić sposoby zabezpieczenia się przed tego typu atakami. Zanim to jednak zrobię, warto przyjrzeć się kilku istniejącym anomaliom sieci Bitcoin.

Temat o tyle istotny, ponieważ choć teoretycznie sieć węzłów Bitcoin jest rozlokowana w całej sieci internet, to praktyka pokazuje, że nie do końca to rozproszenie jest… równomierne.

Analiza adresów IP węzłów Bitcoin wykazała parę istotnych anomalii.

Anomalia 1.

30% węzłów Bitcoin znajduje się w sieciach 13 ISP (co stanowi 0,026% ISP na świecie), a 50% węzłów Bitcoin należy do 50 AS’ów (Autonomous System).

Pewnie zastanawiacie się, czyje to sieci?

Analiza przynależności adresów IP węzłów sieci Bitcoin wykazała, że w zakresie operatorów ISP to m.in. amerykańskie Comcast i Version oraz chiński Chinanet.

W przypadku operatorów rozwiązań chmurowych to m.in. niemiecki Hetzner, francuskie OVH oraz amerykański Amazon.

Dlaczego węzły sieci Bitcoin nie są tak jednolicie rozproszone po internecie?

Przyczyn może być kilka. Na świecie istnieje wiele dużych „kopalni Bitcoina”, które są wyspecjalizowane w tego typu działalności. Statystyki na lipiec 2018 r. pokazują takie rozlokowanie mocy obliczeniowej Bitcoina wśród firm:

Wykres 1. Szacowany rozkład mocy sieci między największymi kopalniami (źródło: blockchain.com)

Z wykresu widać, że ponad 50% mocy obliczeniowej Bitcoin przynależy do 4 firm. I choć największa firma BTC.com jest chińska, a SlushPool prowadzona przez Czecha, to kopalnie Bitcoina nie są rozproszone geograficznie. Większość z nich leży na terenie jednego państwa:

Wykres 2. Geograficzne rozlokowanie „mocy obliczeniowej” Bitcoina. (Źródło: buybitcoinworldwide.com)

Skąd tak duża popularność Chin?

Odpowiedź jest bardzo prosta – w tym kraju cena prądu należy do najniższych na świecie. A koszt prądu do główny udziałowiec kosztów „biznesu kopalnianego” Bitcoina.

Widać zatem, że rozlokowanie fizyczne węzłów sieci Bitcoin w sieci internet jest mocno scentralizowane – zarówno w zakresie właścicielskim, jak i geograficznym. Konsekwencją tej anomalii jest fakt istnienia kolejnej anomalii.

Anomalia 2.

60% wszystkich połączeń komunikacyjnych węzłów Bitcoin przechodzi przez sieci trzech operatorów ISP.

Znając adresy IP węzłów sieci Bitcoin można przeanalizować, jak w globalnej sieci rozchodzą się ścieżki pozwalające na komunikowanie się tych węzłów między sobą. Z uwagi na dużą centralizację geograficzną mocy obliczeniowej, także rozpływ ruchu pakietów IP pomiędzy węzłami Bitcoin jest mocno zaburzony.

Analiza ścieżek komunikacji wykazała, że 60% komunikacji przechodzi przez sieci tylko 3 operatorów ISP.

Pewnie zastanawiasz się, którzy to operatorzy?

Proszę, oto odpowiedź: Hurricane Electric, Level3 i Telianet. Co istotne, 32% ruchu zamyka się w sieci Hurricane Electric.

Anomalia 3.

93% wszystkich prefiksów adresów IP, które wykorzystywane są przez węzły Bitcoin, należy do prefiksów krótszych niż /24.

Dla przypomnienia, prefiks /24 to najmniejszy prefiks, wykorzystywany przez globalnych operatorów ISP w zarządzaniu rozpływem ruchu IP w ich sieciach – a to oznacza, że operatorzy globalni nie skupiają się na bardziej szczegółowej analizie rozpływu ruchu IP w swoich sieciach.

Jaki jest z tego wniosek?

Adresacja wykorzystywana przez 93% węzłów Bitcoin jest bardzo podatna na ataki BGP hijacking. Nawet pozostałe 7% węzłów, które używają prefiksów co najmniej /24, wcale nie jest w 100% odporna na ataki na protokół BGP.

Anomalia 4.

Istnienie powyższych anomalii generuje powstanie kolejnej.

Przechwytując 50% ruchu w sieci Bitcoin i opóźniając komunikację wpływa w praktyce na 63% mocy obliczeniowej światowych zasobów mocy obliczeniowej.

Wbrew pozorom to może być kluczowe zagrożenie dla Bitcoina.

Jeżeli przechwycenie 50% ruchu IP pomiędzy węzłami Bitcoin nie wymaga specjalnie dużych zabiegów (patrz Anomalia 2), to wprowadzenie maksymalnego opóźnienia do komunikacji mocno wpłynie na bitcoinowy biznes.

Efekt odczują głównie „górnicy Bitcoina” – ich koszty działalności znacząco wzrosną. Dlaczego?

Skoro moc obliczeniowa nie będzie efektywnie wykorzystana, a zamiast tego 63% procesów obsługi łańcucha Bitcoina będzie musiało jałowo czekać przez 20 minut, to bilans przychodu z opłat za wykonanie autoryzacji transakcji (czy wygenerowania nowego Bitcoina) w stosunku do rachunku za prąd – znacznie się pogorszy. W efekcie opłaty za moc obliczeniową do obsługi Bitcoina drastycznie wzrosną.

Jak się przed tym zabezpieczyć?

Skoro do zaburzenia poprawnego działania komunikacji węzłów Bitcoin wymaga się zaburzenia rozpływu ruchu IP w sieci internet, to działania zapobiegawcze powinny w pierwszej kolejności skupić się na tym elemencie. Co można zrobić?

Na przykład, odizolować komunikację od globalnego ruchu IP, a tym samym sprawić, że nie będzie ona podatna na ataki na protokół BGP. Prostym rozwiązaniem jest zbudowanie sieci CDN, czyli zbudowanie dedykowanej sieci logicznej (wirtualnej), do której dostęp wymaga autoryzacji. Ponadto administrator takiej sieci CDN może w pełni monitorować zachowania każdego z autoryzowanych użytkowników i w przypadku wykrycia „niesportowych zachowań” wyłączać taki węzeł z komunikacji. Dlaczego nie robi się tego już teraz? Idea CDN jest sprzeczna z ideą sieci blockchain, która z założenia ma być zdecentralizowana i wolna od zarządzania przez jedną instytucję.

Innym rozwiązaniem jest uporządkowanie adresacji IP w taki sposób, aby węzły Bitcoin otrzymywały adresację IP z jednolitych prefiksów /24 – prefiksów dedykowanych do komunikacji w sieciach Bitcoin. W ten sposób za ochronę przed atakami na protokół BGP odpowiedzialni byliby administratorzy sieci operatorów ISP (w końcu i tak to robią, nawet dzisiaj). Dlaczego tego się nie robi? Obecne reguły rozdziału adresacji IP nie przewidują aż tak ścisłej kategoryzacji. Jednocześnie operatorzy ISP nie są zainteresowani, aby swoje zasoby adresacji IP (zwłaszcza IPv4) dodatkowo blokować dla potrzeb wydzielenia jakiejś specjalnej kategorii usługodawców (np. węzłów Bitcoin).

Skoro zabezpieczenie „dróg komunikacji” węzłów Bitcoin w praktyce nie jest takie proste, to czy można zrobić coś jeszcze?

Pewnym antidotum na ataki powodujące opóźnienie w komunikacji byłoby szyfrowanie takiej komunikacji oraz dodanie „stempla czasowego” każdej wiadomości. W ten sposób węzeł odbierający komunikaty mógłby zweryfikować, czy nie nastąpiło naruszenie integralności komunikatu oraz sprawdzić jaki był czas nadania wiadomości. W przypadku stwierdzenia, że wiadomości z danego węzła są „zbyt stare”, np. statystycznie mają więcej niż 5-10 minut – następowałoby zerwanie komunikacji z takim węzłem i rozpoczęta komunikacja z innym węzłem Bitcoin. Dlaczego tego się nie robi?

Takie „usprawnienie” komunikacji w sieci Bitcoin znacząco dokłada zapotrzebowania na moc obliczeniową każdego z węzła, co w efekcie obniża „sprawność biznesową” obecnych koparek. Efektem byłoby zwiększenie kosztów obsługi każdej transakcji. A tym nie jest zainteresowana żadna ze stron biznesu Bitcoina.

Skoro więc dotychczasowe ataki na sieć Bitcoin nie zaburzały znacząco logiki jej działania, a tym samym nie obniżały zaufania użytkowników internetu do tej waluty, to po co cokolwiek zmieniać?

Pewnie przez najbliższy czas nikt nie będzie niczego robił, aż nie pojawią się rzeczywiste ataki, np. według opisanych przeze mnie scenariuszy. Wtedy dopiero kolejna grupa interdyscyplinarna będzie zastanawiać się nad modyfikację specyfikacji protokołu Bitcoin, aby załatać to o czym dzisiaj już wiadomo. Kiedy to nastąpi? Czas pokaże.  

Krzysztof Surgut
Krzysztof Surgut krzysztof.surgut@dataspace.pl Przez ostatnie 15 lat współrealizował zaawansowane, ogólnopolskie projekty telekomunikacyjne i informatyczne (m.in. w Dialog, HAWE). Ekspert z zakresu systemów transmisji danych, VoIP, IPTV, systemów bezpieczeństwa oraz systemów radiowych. Współtwórca pierwszego w Polsce Scrubbing Center.
Infrastruktura IT
Disaster Recovery Plan (DRP) i Business Continuity Plan (BCP) dla infrastruktury IT
Infrastruktura IT
5 zasad optymalizacji kosztów storage
   /   Bezpieczeństwo IT   /   Atak na sieć węzłów Bitcoin, cz.3