Ledger łata lukę w podpisywaniu transakcji Ethereum, zanim badacze zdążą ją ujawnić
Najważniejsze informacje
- •Luka dotyczyła przepływu podpisywania między podłączonym dApp-em a aplikacją Ethereum Ledgera.
- •Złośliwa aplikacja z dostępem przez WebHID mogła podmienić kontekst transakcji, gdy przegląd był nadal otwarty.
- •Ledger twierdzi, że wersja 1.22.2 zapobiega konkurencyjnym poleceniom podpisywania i zachowuje powiązanie między wyświetlaniem na ekranie a końcowym podpisem.
- •TestMachine ujawniła problem 21 sierpnia po odtworzeniu go na sprzęcie Ledgera, natomiast Ledger twierdzi, że jego zespół Donjon naprawił go już wcześniej.
- •Użytkownicy korzystający z aktualnego firmware'u i aplikacji Ethereum w wersji 1.22.2 są chronieni przed luką.

Ledger załatał lukę w swojej aplikacji Ethereum dla portfeli sprzętowych, która mogła pozwolić złośliwemu dApp-owi na podmianę transakcji podczas procesu zatwierdzania, podczas gdy urządzenie nadal wyświetlało transakcję pierwotnie zweryfikowaną przez użytkownika.
Weryfikacja transakcji na ekranie urządzenia to fundament modelu bezpieczeństwa portfela sprzętowego: klucze prywatne pozostają odizolowane na urządzeniu, a transakcja pokazana na jego ekranie powinna być dokładnie tą, która zostaje podpisana — nawet wtedy, gdy podłączony komputer lub przeglądarka zostały skompromitowane.
Firma bezpieczeństwa TestMachine ujawniła lukę polegającą na podmianie podpisu 21 sierpnia po odtworzeniu jej na sprzęcie Ledgera (wpis na X). Ledger wydał już 12 sierpnia aplikację Ethereum w wersji 1.22.2, a historia wydań wymienia poprawki bezpieczeństwa dla tej aktualizacji (lista zmian).
Złośliwy dApp mógł zmienić transakcję przed podpisaniem
Luka dotyczyła przepływu poleceń między podłączonym dApp-em a aplikacją Ethereum Ledgera. Złośliwa aplikacja mająca bezpośredni dostęp do urządzenia przez WebHID mogła ingerować, gdy przegląd transakcji był nadal otwarty, zastępując kontekst podpisywania przed jego zatwierdzeniem przez użytkownika. WebHID to interfejs przeglądarki pozwalający stronom internetowym komunikować się bezpośrednio z urządzeniami sprzętowymi — i właśnie w ten sposób aplikacja działająca w przeglądarce mogła uzyskać dostęp do portfela.
Urządzenie mogło więc nadal wyświetlać pierwotną transakcję, jednocześnie przygotowując inną transakcję do ostatecznego podpisania. TestMachineZademonstrowała problem, wykorzystując niegroźny przelew ETH, który mógł zostać podmieniony na zatwierdzenie tokenów — typ transakcji mogący nadać innemu adresowi lub kontraktowi uprawnienie do wydawania tokenów użytkownika — co otwierało drogę do autoryzacji czegoś innego niż transakcja pokazana na ekranie urządzenia.
Wersja 1.22.2 blokuje konkurencyjne polecenia podpisywania, gdy przegląd transakcji jest w toku, oraz uszczelnia sposób, w jaki aplikacja utrzymuje stan podpisywania podczas procesu zatwierdzania. Poprawka zachowuje powiązanie między transakcją wyświetlaną na bezpiecznym ekranie a transakcją ostatecznie podpisaną przez urządzenie.
Ledger twierdzi, że Donjon znalazł błąd przed ujawnieniem
CTO Ledgera Charles Guillemet oświadczył, że zespół bezpieczeństwa Donjon należący do firmy zidentyfikował i naprawił błąd już około dwa tygodnie przed opublikowaniem wyników przez TestMachine, korzystając podczas przeglądu z narzędzi bezpieczeństwa wspomaganych przez AI (wpis na X).
Guillemet skrytykował również proces ujawniania, mówiąc, że TestMachine skontaktowała się z programem bug bounty Ledgera dopiero po wydaniu poprawki, a następnie opublikowała swoje ustalenia bez dopełnienia normalnego procesu odpowiedzialnego ujawniania (responsible disclosure). W modelu skoordynowanego ujawniania badacze zgłaszają luki prywatnie i dają producentom czas na wydanie poprawki, zanim szczegóły trafią do publicznej wiadomości — i właśnie ta kolejność leży u podstaw sporu.
Użytkownicy korzystający z aktualnego firmware'u urządzenia i aplikacji Ethereum w wersji 1.22.2 są chronieni przed luką.
To odkrycie to kolejny przykład wejścia AI w dziedzinę przeglądów bezpieczeństwa portfeli. Niedawny audyt Bitcoin Red Team wykorzystał analizę wspomaganą przez AI wspólnie z ludzkimi badaczami, aby zidentyfikować tysiące potencjalnych problemów bezpieczeństwa w portfelach Bitcoin i infrastrukturze.
Producenci portfeli sprzętowych publikują aktualizacje bezpieczeństwa
Poprawka Ledgera trafia niecały tydzień po tym, jak BitBox wydał firmware 9.26.5, łatający dwie poważne luki, w tym błąd uszkodzenia pamięci, który w określonych warunkach mógł pozwolić na wykonanie dowolnego kodu.
Bezpieczeństwo portfeli sprzętowych jest poddawane ostrzejszej kontroli od czasu awarii generatora seedów Coldcarda, która ujawniła portfele tworzone z niewystarczającą losowością. Ponieważ fraza seedowa portfela wyprowadza jego klucze prywatne, słaba losowość może sprawić, że klucze te będą możliwe do odtworzenia przez inne osoby. Wynikające z tego kradzieże Bitcoinów oszacowano na nawet 132 miliony dolarów, gdy liczni atakujący ścigali się w wyszukiwaniu podatnych adresów.
Aplikacja Ethereum Ledgera 1.22.2, wydana 12 sierpnia, to załatana wersja obejmująca nowo ujawnioną lukę w podpisywaniu; wcześniejsze wersje aplikacji nie zawierają poprawki.