Badania nad bezpieczeństwem

Analiza podatności Ledger-Donjon i rozwój ELLIPAL Titan

Ledger-Donjon Vulnerability Study and The Development of The ELLIPAL Titan - ELLIPAL

 

ELLIPAL wprowadził na rynek swój pierwszy zimny portfel w 2018 roku i natychmiast stał się liderem nowej generacji portfeli sprzętowych. Dzięki unikalnemu modelowi bezpieczeństwa ELLIPAL i łatwości obsługi przyciągnął dużą uwagę użytkowników oraz innych producentów portfeli sprzętowych. Obecnie drugim modelem ELLIPAL jest ELLIPAL Titan, zaznacza swoją pozycję jako najlepsze rozwiązanie mobilnego i odizolowanego od sieci zimnego portfela.

 

Po wprowadzeniu na rynek naszego pierwszego modelu — ELLIPAL EC01 zwrócił uwagę firmy Ledger, która zainteresowała się modelem bezpieczeństwa ELLIPAL. Ledger przeprowadził testu bezpieczeństwa dotyczące ELLIPAL EC01 i uruchomił klauzulę dotyczącą nagrody ELLIPAL, w ramach której wynagrodziliśmy ich za znalezienie podatności. Ledger zaprezentował wyniki podczas Konferencja 2019 Breaking BitcoinPodsumowanie badania i odpowiedź ELLIPAL na ustalenia przedstawiono w poniższej tabeli. Należy pamiętać, że Ledger nie wyodrębnił żadnych zalążków z ELLIPAL EC01.




Ustalenia firmy Ledger

 


Bezpieczeństwo sprzętowe

Najczęstszą słabością niemal wszystkich, jeśli nie wszystkich, portfeli sprzętowych są ataki fizyczne. Atak fizyczny ma miejsce, gdy haker uzyskuje fizyczny dostęp do urządzenia i planuje atak. Może to obejmować ataki na łańcuch dostaw (np. złośliwe oprogramowanie zainstalowane przed wysyłką do użytkownika końcowego) lub ataki typu evil maid (np. fizyczne zaatakowanie urządzenia podczas nieobecności właściciela). Badanie to ujawnia podatność ELLIPAL EC01 na tego rodzaju ataki.

 

1) Znalezienie interfejsu UART

UART oznacza Universal Asynchronous Receiver/Transmitter (uniwersalny asynchroniczny odbiornik/nadajnik). Jest to interfejs umożliwiający urządzeniom elektronicznym komunikowanie się ze sobą i jest bardzo powszechny we wszystkich urządzeniach elektronicznych. W tym przypadku Ledger zidentyfikował port UART w urządzeniu ELLIPAL i był w stanie odbierać sygnały wyjściowe. W raporcie stwierdzono, że sygnały te są „przydatne dla atakującego”, na przykład podczas ataku z wykorzystaniem inżynierii wstecznej (opisanego w następnej części).

Następnie Ledger uzyskał dostęp do fabrycznego trybu ponownego uruchamiania urządzenia ELLIPAL EC01 i za pomocą oprogramowania zlokalizował funkcje Wi-Fi płyty głównej. W trybie fabrycznym moduł Wi-Fi mógł połączyć się z punktem dostępu po podłączeniu zewnętrznej anteny. Ledger nie sprawdził jednak dokładniej, czy silnie zmodyfikowany system Android urządzenia ELLIPAL obsługuje Wi-Fi.

 

2) Interfejs USB

Port USB urządzenia ELLIPAL służy wyłącznie do ładowania. Port USB nie jest połączony z głównym procesorem. Sygnały danych portu USB można jednak przylutować do głównej płyty głównej, aby umożliwić komunikację z procesorem, tworząc zmodyfikowany port USB. Ten nowy port USB staje się połączeniem urządzenia ELLIPAL ze światem zewnętrznym. Oprogramowanie układowe ELLIPAL można poddać inżynierii wstecznej i wgrać do ELLIPAL EC01 w celu wyodrębnienia zalążków. Niemniej jest to jedynie teoria i nie została przetestowana.

Przy fizycznym dostępie w przypadku urządzenia ELLIPAL możliwy jest scenariusz ataku na łańcuch dostaw lub ataku „złej pokojówki”. Haker mógłby ponownie aktywować Wi-Fi w urządzeniu i połączyć je z internetem. Następnie mógłby spróbować przeprowadzić inżynierię wsteczną oprogramowania układowego ELLIPAL i wgrać fałszywe oprogramowanie układowe do urządzenia. Dzięki połączeniu tych dwóch działań haker mógłby sprawić, aby oprogramowanie układowe wyodrębniło ziarno i przesłało je przez Wi-Fi hakerowi. Jeśli Twój ELLIPAL zostanie zgubiony lub skradziony, ta luka może zostać wykorzystana.

 


Bezpieczeństwo oprogramowania

Firma Ledger przeprowadziła krótki test bezpieczeństwa oprogramowania i nie wykryła żadnych luk.

 

3) Mechanizm aktualizacji

Plik aktualizacji ELLIPAL jest zaszyfrowany, aby mieć pewność, że do urządzenia ELLIPAL można skopiować wyłącznie autentyczne pliki aktualizacji. W ramach tego badania firma Ledger zidentyfikowała używany przez ELLIPAL mechanizm szyfrowania ECB jako „niewłaściwą praktykę”, jednak nie udało jej się przesłać zmodyfikowanego oprogramowania układowego za pomocą mechanizmu aktualizacji. ELLIPAL wykorzystuje wielowarstwowe szyfrowanie i nie jest słaby, jak twierdzono. Użytkownicy mogą sprawdzić narzędzie weryfikacji plików aktualizacji typu open source w serwisie Github.

Najważniejsze wnioski

Po zbadaniu portfela ELLIPAL EC01 wykryto luki w sprzętowej części urządzenia, umożliwiające wykorzystanie komponentów UART i Wi-Fi. Możliwy atak obejmuje przeprowadzenie ataku polegającego na zrzucie pamięci w celu zainstalowania fałszywego oprogramowania układowego przez zmodyfikowany port USB. Fałszywe oprogramowanie układowe można zaprogramować tak, aby wykradało klucz prywatny i przesyłało go atakującemu, gdy urządzenie połączy się z internetem przez Wi-Fi.

Nie można zainstalować fałszywego oprogramowania układowego za pomocą mechanizmu aktualizacji, co zostało potwierdzone przez firmę Ledger. Jedynym sposobem wykorzystania ELLIPAL EC01 jest uzyskanie fizycznego dostępu i dysponowanie wystarczającą ilością czasu na wykonanie następujących czynności:

1) Zmodyfikuj port UART i USB.

2) Zainstaluj fałszywe oprogramowanie układowe przez zmodyfikowany port.

3) Uzyskaj dostęp do trybu przywracania ustawień fabrycznych i włącz Wi-Fi.

4) Podłącz antenę, aby odbierać sygnał Wi-Fi.

5) Złóż wszystko z powrotem, tak aby użytkownik niczego nie podejrzewał.

 

Odpowiedź ELLIPAL


Zanim firma Ledger opublikowała badanie, ELLIPAL przygotowała już wystarczającą aktualizację zabezpieczeń, aby przeciwdziałać tej luce. Po publikacji ELLIPAL wydała nasze oprogramowanie układowe w wersji 2.0, które uniemożliwiło przeprowadzenie ataku polegającego na zrzucie pamięci i zapobiegło wszelkim modyfikacjom. Jesteśmy jednak przekonani, że nie wystarczy to ani nam, ani społeczności, dla której bezpieczeństwo jest najwyższym priorytetem. To dążenie do lepszego bezpieczeństwa doprowadziło do przeprojektowania zimnego portfela ELLIPAL.

ELLIPAL Titan

We wrześniu 2019 roku firma ELLIPAL wypuściła swój najnowszy model portfela sprzętowego — zimny portfel ELLIPAL Titan. Opracowany na podstawie luk wykrytych w poprzednim modelu EC01, ELLIPAL Titan zapewnia ochronę zarówno przed zdalnymi, jak i fizycznymi atakami.

Ulepszenia sprzętowe

ELLIPAL Titan został przeprojektowany, aby uniemożliwić hakerom uzyskanie dostępu do płyty głównej ELLIPAL i modyfikowanie interfejsu UART w celu uzyskania dostępu do przywracania ustawień fabrycznych. Początkowo model ELLIPAL EC01 miał płytę główną umieszczoną w plastikowej obudowie, którą można było otworzyć po odkręceniu śrub. W modelu ELLIPAL Titan płyta główna znajduje się w szczelnie zamkniętej metalowej obudowie zaprojektowanej tak, aby nigdy nie można było jej otworzyć. Uszczelnienie jest tak mocne, że obudowa ma klasę ochrony IP65 przed pyłem i wodą. Metalowa obudowa jest również wystarczająco wytrzymała, aby przetrzymać przejazd samochodu bez żadnych uszkodzeń. Ze względu na wytrzymałość konstrukcji otwarcie urządzenia siłą jest bardzo trudne i pozostawi trwałe uszkodzenia, co zaalarmuje użytkownika.

Ponadto ELLIPAL Titan zawiera mechanizm ochrony przed manipulacją, który pomaga chronić poufne dane. Gdy urządzenie ELLIPAL Titan wykryje naruszenie zabezpieczeń sprzętowych, system automatycznie usunie swoje dane, uniemożliwiając korzystanie z urządzenia i zapewniając niedostępność danych.

 

Ulepszenia „Air-gapped”

Podjęliśmy dodatkowe kroki, aby zapewnić, że ELLIPAL Titan jest w 100% Air-gapped i nie można go modyfikować. Upewniliśmy się, że ELLIPAL Titan nie ma żadnych komponentów ani portów umożliwiających połączenie z internetem lub innym urządzeniem.

Wymieniliśmy cały chipset, aby zagwarantować brak możliwości nawiązania połączenia. Nowy chipset (Allwinner A64) nie obsługuje żadnych połączeń sieciowych, takich jak 4G, Bluetooth ani Wi‑Fi. Usunęliśmy również port USB i zastąpiliśmy go stykowym portem ładowania. ELLIPAL Titan ma teraz gwarantowany brak możliwości połączenia z innym urządzeniem w celu eksportowania lub importowania informacji.

 

Dodatkowe informacje

Wokół idei, zgodnie z którą portfel (lub wszystko, co związane z blockchainem) powinien być open source, toczyło się wiele debat. Kod open source to fragment kodu, który może być analizowany przez opinię publiczną. Jeśli znajdzie się w nim coś podejrzanego lub wystąpi błąd, użytkownicy mogą bezpośrednio zwrócić na to uwagę firmie będącej właścicielem kodu. Wiele osób postrzega to jako zaletę bezpieczeństwa, ponieważ kod open source może dowodzić, że firma nie ma wobec użytkownika żadnych złośliwych zamiarów i działa w sposób przejrzysty.

Z drugiej strony udostępnienie kodu jako open source może łatwo doprowadzić do jego skopiowania, odtworzenia i zmodyfikowania w złośliwą wersję. Przy fizycznym dostępie do urządzenia portfel sprzętowy z oprogramowaniem open source może być podatny na atak polegający na zrzucie pamięci. Pewien portfel sprzętowy typu open source doświadczył już takiego ataku.

Z różnych względów bezpieczeństwa firma ELLIPAL zdecydowała się na zamknięte oprogramowanie, pozostawiając jednak jego najważniejsze elementy jako open source, aby użytkownicy mogli zweryfikować nasze zabezpieczenia. Przede wszystkim ELLIPAL spotkał się z zarzutami dotyczącymi naszego systemu generowania kodów QR — pojawiły się pytania, czy może on ujawniać klucze prywatne. Prosta odpowiedź brzmi: nie, i można to udowodnić.

 

Transmisja danych ELLIPAL ze sprzętu do aplikacji opiera się na kodzie QR w otwartym formacie (https://github.com/ELLIPAL/air-gapped_qrcode_data_format). Skanowanie kodu QR jest również ręcznie kontrolowane przez użytkownika. Wszystkie przesyłane dane całkowicie zależą od skanowania wykonanego przez użytkownika i nie będą zawierać żadnych ukrytych danych. Każdy może zweryfikować dane zawarte w kodzie QR. Udostępniamy bibliotekę Javascript o otwartym kodzie źródłowym (https://github.com/ELLIPAL/js-ellipal). Podpis lub nonce przesłane z portfela sprzętowego można zawsze sprawdzić w kodzie QR.

 

Kolejna obawa dotyczy tworzenia kluczy prywatnych. Często mówi się, że portfele o zamkniętym kodzie źródłowym mogą przekazywać użytkownikom wcześniej wygenerowane klucze prywatne i że użytkownicy nie mają możliwości ich sprawdzenia. ELLIPAL nie ma złych zamiarów wobec swoich użytkowników, ale nie dysponujemy otwartym kodem źródłowym, który mógłby to potwierdzić. Mimo to umożliwiamy użytkownikom importowanie własnych, zaufanych kluczy prywatnych i bezpieczne przechowywanie ich na urządzeniu ELLIPAL. Funkcja importu nie jest dostępna w wielu portfelach, co wyróżnia ELLIPAL. Nie zmuszamy użytkowników do zaufania naszym wygenerowanym kluczom prywatnym. Jeśli nie ufasz ELLIPAL, użyj własnych kluczy prywatnych. Innym, prostszym rozwiązaniem jest użycie hasła dodatkowego i utworzenie unikalnego dla Ciebie zestawu słów mnemonicznych.

Na koniec niektórzy twierdzą, że sprzętowe portfele o zamkniętym kodzie źródłowym mogą przesyłać klucze prywatne użytkowników z powrotem do producenta. W przypadku ELLIPAL jest to niemożliwe, ponieważ urządzenie jest w 100% pozbawione łączności, co oznacza, że klucze nie mogą zostać nigdzie wysłane. Jedynym wyjściem z urządzenia ELLIPAL jest kod QR. Nie stanowi to zagrożenia dla użytkowników, ponieważ ten element kodu ma otwarty format i można go zweryfikować.

Dostępne są również inne elementy kodu, takie jak narzędzie do weryfikacji plików aktualizacji, pod adresem GitHub ELLIPAL.

 

Podsumowanie

Firma Ledger zidentyfikowała wektory podatności w urządzeniu ELLIPAL i umożliwiła nam ich usunięcie, aby chronić nasz ekosystem kryptowalut. Podsumujemy wykryte problemy oraz sposób, w jaki ELLIPAL je naprawił.

 

1) Wykryto interfejs UART umożliwiający dostęp do trybu przywracania ustawień fabrycznych i aktywowanie funkcji Wi-Fi procesora.

Odpowiedź ELLIPAL: 

 

W urządzeniu ELLIPAL Titan zastosowano całkowicie nowy chipset, który nie ma żadnych możliwości łączności.

Zastosowano zarówno funkcję ochrony przed manipulacją, jak i ochronę przed demontażem, aby uniemożliwić hakerom uzyskanie dostępu do procesora.

 

2) Interfejs USB można zmodyfikować w celu przeprowadzenia ataku polegającego na zrzucie danych

Odpowiedź ELLIPAL: 

 

W urządzeniu ELLIPAL Titan port USB do ładowania zastąpiono portem ładowania stykowego. Co ważniejsze, funkcja ochrony przed demontażem uniemożliwia modyfikację portu.

 

Niemal wszystkie portfele sprzętowe są podatne na ataki, gdy napastnik uzyska do nich fizyczny dostęp. ELLIPAL dołożył wszelkich starań, aby temu zapobiec, zapewniając ochronę nawet w przypadku kradzieży lub zgubienia urządzenia ELLIPAL Titan. ELLIPAL Titan jest również w 100% odizolowany od sieci, dzięki czemu klucze prywatne są zawsze bezpiecznie przechowywane i odizolowane wewnątrz ELLIPAL Titan.

 

W razie pytań skontaktuj się z nami pod adresem: cs@ellipal.com

Dlaczego ludzie ufają ELLIPALowi
ZeroNaruszenia bezpieczeństwa zimnych portfeli
1M+Użytkownicy na całym świecie
140+Kraje, do których dotarto
12 mld USDZasoby chronione
ForbesPolecane
8 latAir-gapped od 2018 r.

Posiądź go. Potem go używaj.

Twoje klucze, Twoje kryptowaluty. Przechowuj frazę seed offline, a reszta zrobi się sama.

Poznaj zimne portfele ELLIPAL

Uwaga dotycząca bezpieczeństwa: Ten artykuł ma charakter edukacyjny i nie stanowi porady finansowej. Zachowanie urządzenia, takie jak limity prób, może ulec zmianie wraz z aktualizacjami oprogramowania układowego; zawsze sprawdzaj aktualne informacje w oficjalnym Centrum pomocy ELLIPAL. Wszelkie funkcje wymiany, stakingu lub kupna i sprzedaży wspomniane w innych miejscach są udostępniane przez podmioty trzecie, a ELLIPAL nie kontroluje tych usług.