Electrum wydał wersję 4.8.3, aby naprawić poważną lukę w zabezpieczeniach portfela Bitcoin, którą złośliwe serwery wykorzystywały do przekierowywania płatności użytkowników, a deweloperzy potwierdzili co najmniej jeden przypadek kradzieży środków.
Podsumowanie
- Electrum wydał wersję 4.8.3 po potwierdzeniu, że złośliwe serwery wykorzystywały poważną lukę w zabezpieczeniach.
- Atakujący zastępowali oczekujące płatności Bitcoin oszukańczymi transakcjami, które użytkownicy mogli omyłkowo autoryzować poprzez podwyższenie opłaty.
- Dwóch użytkowników zgłosiło incydenty, w tym jeden, który stracił Bitcoin po zwiększeniu opłaty transakcyjnej.
- Luka dotyczyła każdej wersji Electrum przed 4.8.3; deweloperzy nie ujawnili łącznych strat.
- Poprawka bezpieczeństwa weryfikuje podpisy niepotwierdzonych transakcji wydających monety kontrolowane przez portfel.
Zgodnie z biuletynem bezpieczeństwa portfela z 24 października advisory, atakujący wykorzystali sposób, w jaki Electrum obsługiwał niepotwierdzone transakcje Bitcoin, zastępując legalne płatności wychodzące oszukańczymi, które użytkownicy mogli przypadkowo autoryzować podczas zwiększania opłat transakcyjnych.
Electrum to lekki portfel Bitcoin, który łączy się z zewnętrznymi serwerami w celu uzyskania historii transakcji, rozgłaszania i innych informacji sieciowych. W przeciwieństwie do pełnego węzła Bitcoin, oprogramowanie nie przetwarza niezależnie każdego aspektu aktywności blockchain.
Jego dokumentacja wyjaśnia, że Electrum weryfikuje potwierdzone transakcje poprzez prostą weryfikację płatności, ale historycznie ufało swojemu głównemu serwerowi podczas wyświetlania oczekujących transakcji.
Atakujący wykorzystali to rozróżnienie, przechwytując transakcje przesłane przez złośliwe serwery, zanim dotarły do sieci Bitcoin.
Po uniemożliwieniu rozgłoszenia legalnej transakcji atakujący mógł wysłać do portfela transakcję zastępczą, która zmieniała adres odbiorcy na kontrolowany przez atakującego.
Chociaż transakcja zastępcza zawierała nieprawidłowe podpisy, podatne wersje Electrum nie sprawdzały ich przed wyświetleniem transakcji w historii portfela.
Oszustwo stawało się niebezpieczne, gdy użytkownicy próbowali zwiększyć opłatę transakcyjną poprzez Replace-by-Fee, czyli RBF, funkcję Bitcoina, która pozwala zastąpić niepotwierdzoną płatność inną, płacącą wyższą opłatę.
Zatwierdzając korektę opłaty, użytkownicy mogli nieświadomie podpisać ważną transakcję płacącą atakującemu.
Electrum potwierdza rzeczywiste wykorzystanie i straty Bitcoin
Deweloperzy ujawnili dwa prywatnie zgłoszone incydenty, ustalając, że luka wykroczyła poza atak teoretyczny.
11 października użytkownik zidentyfikowany jako dannydeezy zgłosił, że transakcja wyświetlona w historii Electrum nie odpowiadała pierwotnie przesłanej płatności.
Zgodnie z biuletynem, oba incydenty dotyczyły adresów odbiorczych kontrolowanych przez atakującego, zaprojektowanych tak, aby pasowały do ostatnich czterech znaków adresu Bitcoin zamierzonego odbiorcy.
W drugim przypadku oszukańcza transakcja miała zerową opłatę, co według podejrzeń deweloperów miało zachęcić ofiarę do zainicjowania podwyższenia opłaty.
Pierwsze zgłoszenie dotyczyło portfela multisignature dwa-z-trzech wykorzystującego dwa urządzenia Trezor. Jego legalna transakcja zawierała 31 wejść i jedno wyjście.
Śledczy ustalili, że wszystkie 62 podpisy były ważne dla pierwotnej płatności, ale nieważne dla transakcji zastępczej. Fałszywa transakcja przekierowała prawie cały Bitcoin na łudząco podobny adres i zwróciła niewielką kwotę do portfela.
Pierwotna transakcja pozostała ważna, ale nigdy nie dotarła do publicznej sieci Bitcoin.
Electrum przyznał, że niektóre serwery przeprowadzały atak w rzeczywistym środowisku. Deweloperzy nie ujawnili jednak, ile serwerów wzięło udział, ile skradziono ani czy zidentyfikowano dodatkowe ofiary.
Electrum 4.8.3 blokuje złośliwe transakcje z podwyższeniem opłaty
Poprawka została włączona do wersji 4.8.3 w dniu 23 października, a pliki binarne do pobrania udostępniono 24 października.
Poprzez commit 90fe308 deweloperzy wprowadzili weryfikację podpisów dla niepotwierdzonych transakcji wydających dane wejściowe należące do portfela użytkownika.
Electrum sprawdza teraz te podpisy przed zaakceptowaniem transakcji do swojej lokalnej historii, zapobiegając pojawianiu się oszukańczych płatności wychodzących opisanych w biuletynie jako legalne transakcje.
Aktualizacja nie czyni Electrum pełnym węzłem Bitcoin. Deweloperzy wyjaśnili, że przychodzące niepotwierdzone transakcje pozostają poza nowymi kontrolami podpisów, podczas gdy potwierdzone płatności nadal przechodzą istniejące procedury weryfikacji.
Użytkownicy korzystający z wersji starszych niż 4.8.3 zostali wezwani do pobrania aktualizacji z oficjalnej strony internetowej Electrum.
Dla wszystkich, którzy nie mogą natychmiast zaktualizować, deweloperzy zalecają sprawdzenie pełnych adresów odbiorczych i kwot przed podpisaniem transakcji, w tym zamian opłat.
Według biuletynu użytkownicy łączący się wyłącznie z zaufanymi serwerami, w tym własnymi, nie są narażeni na ten konkretny atak złośliwego serwera.
Poprzednie ataki na Electrum ujawniają powracające ryzyko związane z serwerami
Incydent następuje po wcześniejszych próbach wykorzystania zależności Electrum od zewnętrznych serwerów.
W grudniu 2018 r. crypto.news poinformował, że złośliwe serwery wyświetlały użytkownikom oszukańcze instrukcje aktualizacji oprogramowania. Ówczesne raporty szacowały straty zbliżające się do 1 miliona dolarów.
Kolejna kampania złośliwych serwerów w 2019 r. wykorzystywała fałszywe aktualizacje portfela i działania typu denial-of-service, aby przekierować użytkowników w stronę zainfekowanego oprogramowania.
Te ataki opierały się na zwodniczych pobraniach, podczas gdy nowo załatana luka manipulowała informacjami o oczekujących transakcjach wewnątrz w innym wypadku legalnego portfela.
Wywiad na temat serwerów Electrum opublikowany w 2020 r. analizował kompromisy lekkich portfeli, w tym ich zależność od zewnętrznej infrastruktury dla historii transakcji.
Dokumentacja Electrum stwierdza, że jego klient zazwyczaj łączy się z około 10 serwerami, ale wybiera jeden główny serwer do pobierania historii portfela i rozgłaszania transakcji. Dokumentacja stwierdza, że ten główny serwer jest zaufany w odniesieniu do niepotwierdzonych transakcji.






