4 Podatności sieci Bitcoin Lightning, które nie zostały wykorzystane (jeszcze)

Posted by: admin - Posted on:

Biegnący dowcip (a może przyznanie się) w kręgach Bitcoin’a twierdzi, że najbardziej zagorzali zwolennicy Bitcoin’a są również jego najbardziej okropnymi krytykami, szczególnie tymi z kręgu jego twórców. Wiedzą oni, jak powstaje kiełbasa, że tak powiem, i widzą niesmaczną stronę tego, jak bity i bajty są przetwarzane dla każdej nowej aktualizacji.

Nie chodzi o to, że ci deweloperzy są negatywnie nastawieni do Bitcoina; są po prostu realistami.

To z pewnością można powiedzieć o Antoine Riard. Programista Chaincode Labs napisał w tym roku wiele artykułów na temat wektorów ataku sieciowego Lightning. Wspomina o tych (i innych) lukach w nowym wpisie na blogu „Why We May Fail Lightning“ jako trzeźwe przypomnienie, że pomimo szumu, drugorzędna sieć Bitcoin’a dla szybszych, tańszych płatności nadal wymaga pracy zanim będzie mógł wspierać masowe wdrażanie.

I nie jest on jedynym twórcą Błyskawicy, który ma taki pogląd.

Jak mówi niezależny twórca Pioruna Joost Jager, u podstaw tych wektorów ataku leżą projektowe kompromisy, które ujawniają „równowagę pomiędzy funkcjonalnością budynku a zapewnieniem bezpieczeństwa [Piorunowi]“. Niektóre funkcje, takie jak na przykład Neutrino, które otworzyły drzwi do bardziej niezawodnych i przyjaznych dla użytkownika mobilnych portfeli Lighting, otworzyły również nowe rodzaje ataków.

Z każdą aktualizacją pojawia się możliwość zarówno udoskonalenia protokołu, jak i wykorzystania nowych problemów, które powstały w wyniku nowych rozwiązań.

„Lightning jest świetny, ale nie można powiedzieć, że jest testowany bojowo. Jeśli dzieci ze skryptów byłyby zainteresowane, mogłyby zdjąć te błyszczące nowe 5 kanałów wumbo Bitcoin Era przy znikomym koszcie i bez żadnego wysiłku“, niedawno tweetował Joost Jager, inżynier sieci Lightning, który wcześniej pracował w Lightning Labs.

Poniżej znajduje się lista niektórych z bardziej niepokojących ataków, które mogą być uruchomione na Bitcoin’s Lightning sieci.

Podatność na ataki: Griefing

Wątek Jagera wyszczególnia tzw. „żałobny“ atak, który jest możliwy od początku istnienia Błyskawicy i wpływa na normalne i nowo wprowadzone kanały wumbo.

Piorunowe kanały realizują płatności w sieci za pomocą kryptograficznej funkcji zwanej hash-time-lock contracts (HTLCs). Piorunowe kanały mogą pomieścić tylko kilkaset HTLCs. Po przekroczeniu tego limitu kanał nie może już przetwarzać płatności – środki zostaną zablokowane i kanał musi zostać zamknięty.

Jak żałoba może powodować problemy
Zasadniczo, napastnik może zamrozić bitcoin zdeponowane w piorunowym kanale płatności poprzez spamowanie tego kanału z mikropłatnościami. Chociaż atak nie może być wykorzystany do kradzieży środków innego użytkownika, może być wykorzystany przez przeciwnika do sabotowania zdolności konkurenta do kierowania płatności, powiedział Jager.

Konsekwencje: Minimalny:
W porównaniu z innymi słabościami Lightning Network, żałoba jest niewielka w skali zagrożenia, ponieważ może jedynie zamrozić fundusze, a nie je ukraść. Teoretycznie jednak atak może zostać wykorzystany przez dostawców usług wiertniczych (LSP), firmy bazujące na Piorunach, które zarządzają większością płynności sieci, do sabotowania działalności konkurenta.

Dla kanałów wumbo, to jest szczególnie w odniesieniu do rozważenia ataku może kosztować grosze do wykonania podczas obezwładniające kanały z dużą ilością bitcoin zablokowane. Napastnik może również zablokować wiele kanałów z tej techniki, jeśli płatności są kierowane, jak również, Jager powiedział CoinDesk.

Co robią programiści, żeby to naprawić?
Ponieważ ten atak nie jest najpoważniejszy, nigdy nie było dużego nacisku ze strony opiekunów Pioruna, aby go naprawić. Jager opracowuje jednak rozwiązanie zapory sieciowej o nazwie „wyłącznik“, aby operatorzy węzłów mogli ustawić limity na to, ile płatności i kanałów peer może otworzyć swoim węzłem.

Podatność na zagrożenia: Powodzie i łupy

Powodzie i łupy są podobne do żałosnego ataku, o którym mówił Jager, ponieważ wymagają spamowania kanału płatności. W tym przypadku jednak środki są faktycznie zagrożone.

Jak powódź i łupy mogą powodować problemy
Zasadniczo, napastnik otwierałby kanały z jedną ofiarą (lub wieloma ofiarami), a następnie wysyłałby płatności do innego węzła, który kontroluje, nie potwierdzając otrzymania płatności. Każdy z tych kanałów jest zakodowany tak, aby zamknąć go w tym samym czasie.

Kiedy to się dzieje, to nieuniknione, garść z tych transakcji zamknięcia nie powiedzie się, ponieważ istnieje tak wiele jest nadawany w tym samym czasie do Bitcoin blockchain (gdy Błyskawica kanał płatności jest zamknięty, jego środki są wysyłane na adresy Bitcoin w łańcuchu). Podczas gdy niektóre z tych transakcji czekają na potwierdzenie, napastnik może nadawać swoje własne transakcje do łańcucha blokowego z wyższą opłatą, aby odebrać te środki.

Smak tego ataku, odkryty przez Rene Pickhardta, pozwala atakującemu zamrozić saldo kanału w opłatach transakcyjnych i szantażować ofiarę, aby rozwiązać problem.

Konsekwencje: Umiarkowany do poważnego
Powodzie i łupy są poważniejsze niż atak żałobny, ponieważ ofiara może faktycznie stracić fundusze z powodu tej bezbronności. Jest to łatwiejsze do wykonania niż inne słabe punkty w tym artykule, ale nadal wymagałoby doskonałego zrozumienia Błyskawicy, aby z niej skorzystać.

Co robią programiści, aby ją naprawić?
Niedawno przeprowadzona aktualizacja kanałów anchor, która pozwala użytkownikom Pioruna na bardziej dynamiczną zmianę opłat przy zamykaniu kanału, w znacznym stopniu przyczyni się do naprawienia tej luki.

Podatność: Zaćmienie czasowo-dilatacyjne

Są też inne, bardziej złożone ataki, jak atak na czas, który Riard ujawnił z Glebem Naumenko. Wiąże się to z „atakiem Sybilli“ (wykorzystującym wiele tożsamości do przeciążenia sieci) na węzły Bitcoin Lightning. Jest on szczególnie skuteczny przeciwko węzłom obsługującym klientów light (czyli portfelom Lightning działającym z wykorzystaniem minimum danych potrzebnych do działania).

Jak atak zaćmienia może spowodować problemy
Jeśli napastnik ma zamiar obrócić setki węzłów i zatłoczyć wszystkie połączenia Pioruna w taki sposób, że ofiara nie jest już połączona z żadnym uczciwym użytkownikiem, napastnik może odizolować ten węzeł od odbioru prawdziwych danych sieciowych.

Gdy połączenia węzła są „zaćmione“, atakujący może zasilać dane transakcyjne węzła wolniej niż normalnie. Gdy napastnik zamknie swoje kanały Błyskawica z ofiarą, może ukraść fundusze z tego kanału, ponieważ jego węzeł hosta nie będzie widział transakcji zamknięcia kanału na łańcuchu blokowym, ponieważ nie otrzymuje danych wystarczająco szybko.

Konsekwencje: Poważne
Atak ten jest szczególnie groźny dla klientów light, ponieważ te portfele Lightning otrzymują dane blockchain tylko jeden blok na raz, w przeciwieństwie do pełnego klienta Lightning, który zawsze ma kopię historii transakcji blockchain.

Klienci Light obejmują większość konsumenckich portfeli Lightning Network od kilku dostawców, takich jak Lightning Labs, Phoenix, Blue Wallet i innych dostawców usług Lightning. Riard i Naumenko oszacowali, że w czerwcu 2020 r., kiedy byli autorami tego dokumentu, udany atak na dużą skalę mógł zaćmić 47% nowo wdrożonych klientów Lightning.

Atak jest poważny w tym sensie, że ofiara może stracić fundusze. Atak wymaga jednak, aby złośliwy podmiot działał – i koordynował – setki węzłów, aby skutecznie zaćmić ofiarę. Z pewnością można to osiągnąć, ale potrzebny byłby bardzo sprawny haker z gwiezdnym Bitcoinem i oświetleniem sieciowym.

Co robią programiści, aby to naprawić?
Ten atak jest podstępniejszy od innych w pewnym sensie, ponieważ nie ma jednego rozwiązania, które można wdrożyć na protokole Lightning; ponieważ atak ten opiera się również na manipulowaniu danymi w łańcuchu, wymaga koordynacji z rozwojem na Bitcoin’owym łańcuchu blokowym, jak również, aby znaleźć trwałe rozwiązanie.

Podatność na zagrożenia: Pinning

Kolejny atak, który wymaga nieścisłych danych o transakcjach, jest znany jako „atak z zaskoczenia“.

Jak przypinanie może powodować problemy
Aby wykorzystać tę lukę, wyrafinowany napastnik blokuje transakcję zamknięcia kanału poprzez nadawanie sprzecznych transakcji do oddzielnych węzłów z różnymi mempoolami. (Pamiętaj: Nie ma jednolitej puli dla oczekujących transakcji w sieci Bitcoin’a; niektóre węzły odbierają transakcje, inne nie opierają się na dystrybucji połączeń sieci peer-to-peer, więc każda pula mempool jest inna).

Używając różnych technik, z których jedna polega na ustaleniu wystarczająco niskiej opłaty za transakcję zamykającą, aby upewnić się, że nie zostanie ona potwierdzona przed wygaśnięciem blokady czasowej kanału, napastnik może oszukać ofiarę w celu niewłaściwego zamknięcia jej kanałów, a tym samym ukraść pojedyncze transakcje.

Konsekwencje: Umiarkowany
Za pomocą tego ataku można kraść środki finansowe, ale ponieważ zaćmienie, powódź i łup, wymaga to również imponującej wiedzy technicznej w imieniu atakującego.

Co robią deweloperzy, aby to naprawić?
Częściowo, aktualizacja anchor outputs pomoże złagodzić ten wektor ataku. Ale tak jak w przypadku ataku zaćmienia, atak ten opiera się na koordynacji z łańcuchem blokowym Bitcoina, więc rozwiązanie będzie musiało uwzględniać obie sieci.

Nie tak straszne – jeszcze
Niektóre z tych słabości są bardziej wykonalne (i kosztowne) niż inne, ale dobra wiadomość jest taka, że nikt nigdy ich nie wykorzystał. Porozmawiamy o tym, dlaczego jest to druga część tej serii, a także przedstawimy niektóre z poprawek, które są w pracach.

Dodatkowo, Riard i Jager podzielą się swoimi przemyśleniami na temat przyszłości Lightning Network i trudnego balansu, jaki deweloperzy muszą osiągnąć pomiędzy doświadczeniem użytkownika a bezpieczeństwem podczas budowania protokołu.