AktualnościKryptoNiezałatane aplikacje Lightning oparte na LDK ryzykują utratę bitcoinów poprzez złośliwe ponowne połączenie peera

Niezałatane aplikacje Lightning oparte na LDK ryzykują utratę bitcoinów poprzez złośliwe ponowne połączenie peera

Autor: CoinLineup·

Najważniejsze informacje

  • •Złośliwy peer kanału Lightning może wykorzystać niezałatane aplikacje oparte na LDK poprzez ponowne połączenie i przesłanie fałszywych danych o stanie kanału, które oprogramowanie może uznać za autentyczne.
  • •Luka znajduje się w konkretnej implementacji oprogramowania, a nie w samym Bitcoinie ani w podstawowej konstrukcji protokołu Lightning.
  • •Brak publicznie udokumentowanych dowodów na aktywne wykorzystanie luki, ale użytkownicy niezałatanych wersji pozostają narażeni na potencjalne ataki.
  • •Eclair, oddzielna implementacja Lightning, załatał wcześniej w tym roku odrębny błąd, który mógł przekierować salda kanałów do górników zamiast do zamierzonych odbiorców.
  • •Użytkownicy powinni zainstalować załatane wersje, powstrzymać się od otwierania kanałów i routowania płatności w niezałatanych aplikacjach oraz sprawdzić oficjalne informacje o wersji lub biuletyny bezpieczeństwa rust-lightning, aby potwierdzić status poprawki.
Niezałatane aplikacje Lightning oparte na LDK ryzykują utratę bitcoinów poprzez złośliwe ponowne połączenie peera

Luka bezpieczeństwa w niezałatanych aplikacjach sieci Lightning Bitcoin mogłaby pozwolić złośliwemu peerowi kanału na kradzież środków poprzez samo ponowne połączenie i przesłanie fałszywych informacji o stanie kanału. Zagrożeni są użytkownicy korzystający z przestarzałego oprogramowania Lightning opartego na Lightning Dev Kit (LDK), a luka dotyczy szeroko wykorzystywanego zestawu narzędzi open source, od którego zależy wielu twórców portfeli. Ponieważ LDK stanowi podstawę wielu portfeli konsumenckich, pojedynczy błąd implementacji może dotknąć wiele aplikacji jednocześnie, a wielu użytkowników końcowych ma niewielki wgląd w to, jaki zestaw narzędzi kryje się pod ich aplikacją portfela.

Dlaczego niezałatane aplikacje Lightning są narażone na utratę bitcoinów

Sieć Lightning Bitcoin to system płatności zbudowany na szczycie Bitcoina. Pozwala dwóm stronom otworzyć wspólny kanał płatniczy i szybko oraz tanio przesyłać bitcoiny w obie strony, bez rejestrowania każdej transakcji na głównym łańcuchu bloków Bitcoina.

Każdy kanał przechowuje saldo, a obie strony prowadzą lokalny zapis tego, ile bitcoinów kontroluje każda z nich. Te lokalne zapisy stanowią podstawę wzajemnego zaufania, gdy płatności są wznawiane po rozłączeniu. Luka dotyczy aplikacji korzystających z LDK, szeroko przyjętego zestawu narzędzi open source do budowania portfeli i usług opartych na Lightning.

W niezałatanej aplikacji LDK złośliwy peer może skłamać na temat historii salda kanału po ponownym połączeniu. Podatna aplikacja może przyjąć to fałszywe twierdzenie i niepoprawnie zaktualizować własne zapisy, co potencjalnie pozwala atakującemu na przejęcie większej liczby bitcoinów, niż faktycznie posiada w kanale.

Ta luka nie jest słabością samego Bitcoina ani podstawowej konstrukcji protokołu Lightning. To błąd w konkretnej implementacji oprogramowania, porównywalny z usterką oprogramowania w platformie internetowej banku, odrębną od rzeczywistych zasad finansowych banku. Aplikacje oparte na LDK, które nie zostały zaktualizowane, pozostają narażone.

To nie jest pierwszy raz, gdy implementacja Lightning wymagała pilnej poprawki bezpieczeństwa Wcześniej w tym roku Eclair, inna implementacja Lightning, załatał odrębny błąd, który mógł przekierować salda kanałów do górników zamiast do zamierzonych odbiorców. Oprogramowanie Lightning jest utrzymywane jako kilka niezależnych implementacji, każda z własną bazą kodu i harmonogramem poprawek, więc błąd w jednym projekcie nie oznacza wady protokołu jako takiego; ciężar spoczywa natomiast na opiekunach projektów oraz na twórcach portfeli dystrybuujących ich kod, aby przekazywać poprawki użytkownikom.

Jak złośliwy peer kanału ponawia połączenie

W sieci Lightning dwie strony muszą być online i połączone, aby wysyłać płatności przez wspólny kanał. Gdy jedna ze strony przechodzi w tryb offline i wraca, obie wymieniają komunikaty w celu potwierdzenia aktualnego stanu kanału, w tym historii salda, przed wznowieniem działalności. Takie ponowne połączenia są rutynową częścią działania Lightning, ponieważ węzły regularnie tracą łączność i muszą się ponownie zsynchronizować z peerami.

To właśnie w uzgodnieniu ponownego połączenia kryje się luka. Nieuczciwy peer może wysłać zmanipulowany komunikat podczas ponownego łączenia, twierdząc stan kanału korzystny dla siebie. Niezałatana aplikacja może przetworzyć fałszywy komunikat, nie wykrywając niespójności, jak doniósł CryptoSlate.

To rozróżnienie ma znaczenie: luka opisuje zgłoszone ryzyko, a nie potwierdzoną serię kradzieży. Nie ma jeszcze publicznie udokumentowanych dowodów na to, że luka była aktywnie wykorzystywana. Jednak znana, niezałatana luka oznacza, że okno na potencjalne wykorzystanie pozostaje otwarte dla każdego użytkownika, który nie przeszedł na załataną wersję. Odzwierciedla to również strukturalną rzeczywistość peer-to-peerowych systemów płatniczych: partnerzy kanałów to często obce osoby z zaangażowanymi środkami, a oprogramowanie po każdej stronie musi weryfikować to, co zgłasza druga strona. W tym przypadku ryzyko wynikło z braku tej weryfikacji, a nie z konstrukcji sieci.

Incydentów bezpieczeństwa związanych z kryptowalutowymi portfelami nie trzeba udowadniać. Pojedyncze naruszenie bezpieczeństwa portfela może skutkować całkowitą utratą środków, a luki w oprogramowaniu płatniczym należą do najczęściej atakowanych powierzchni w branży.

Co powinni teraz zrobić użytkownicy Lightning

Każdy korzystający z portfela lub aplikacji Lightning Bitcoin powinien najpierw sprawdzić, czy aplikacja została niedawno zaktualizowana, przed otwarciem lub używaniem kanałów płatniczych. Od twórców budujących na LDK oczekuje się wydania załatanych wersji; użytkownicy końcowi powinni zainstalować aktualizację tym samym kanałem, jakim korzystają z innych aktualizacji oprogramowania, czy to przez sklep z aplikacjami, czy bezpośrednie pobieranie.

Użytkownicy powinni unikać otwierania nowych kanałów Lightning oraz routowania płatności przez istniejące kanały w niezałatanej aplikacji. Każdy, kto nie jest pewien, czy jego aplikacja jest dotknięta, powinien bezpośrednio sprawdzić oficjalne informacje o wersji lub ogłoszenia bezpieczeństwa dewelopera i potwierdzić załataną wersję przed wznowieniem normalnej aktywności w kanałach.

D osób prowadzących własny węzeł Lightning biuletyny bezpieczeństwa rust-lightning potwierdzają, które wersje zostały załatane; użytkownicy powinni postępować zgodnie ze ścieżką aktualizacji zalecaną przez opiekunów. Następnym sygnałem do obserwacji jest tempo wydawania załatanych wersji i ogłoszeń aktualizacyjnych od dostawców portfeli opartych na LDK, co zadecyduje o tym, kiedy zwykli użytkownicy mogą bezpiecznie wznowić aktywność w kanałach. Taka sama uwaga dotycząca aktualizacji odnosi się do każdej aplikacji zarządzającej kluczami prywatnymi lub środkami kanałów, ponieważ nawet łańcuchy luk w aplikacjach mobilnych mogą ujawnić zaszyfrowane dane i prywatne informacje na urządzeniach uznawanych przez użytkowników za bezpieczne.

Zastrzeżenie: Niniejszy artykuł ma wyłącznie charakter informacyjny i nie stanowi porady finansowej ani inwestycyjnej. Rynki kryptowalut i aktywów cyfrowych wiążą się ze znacznym ryzykiem. Zawsze konsultuj się z oficjalnymi źródłami i wykwalifikowanymi doradcami przed podjęciem decyzji.