Naukowcy z Grupy NCC
Przypomnijmy, że technologia ARM TrustZone pozwala na tworzenie izolowanych sprzętowo, chronionych środowisk, które są całkowicie oddzielone od głównego systemu i działają na osobnym wirtualnym procesorze korzystającym z osobnego, wyspecjalizowanego systemu operacyjnego. Głównym celem TrustZone jest zapewnienie izolowanej realizacji procesorów dla kluczy szyfrujących, uwierzytelniania biometrycznego, danych płatniczych i innych poufnych informacji. Interakcja z głównym systemem operacyjnym odbywa się pośrednio poprzez interfejs dyspozytorski. Prywatne klucze szyfrujące są przechowywane w izolowanym sprzętowo magazynie kluczy, który, jeśli zostanie prawidłowo wdrożony, może zapobiec ich wyciekowi w przypadku naruszenia bezpieczeństwa podstawowego systemu.
Podatność wynika z wady implementacji algorytmu przetwarzania krzywej eliptycznej, która doprowadziła do wycieku informacji o postępie przetwarzania danych. Badacze opracowali technikę ataku kanałem bocznym, która umożliwia wykorzystanie istniejących wycieków pośrednich do odzyskania zawartości kluczy prywatnych znajdujących się w izolowanym sprzętowo
Główną przyczyną problemu jest współdzielenie wspólnych komponentów sprzętowych i pamięci podręcznej do obliczeń w TrustZone i w systemie głównym - izolacja odbywa się na poziomie separacji logicznej, ale przy użyciu wspólnych jednostek obliczeniowych i ze śladami obliczeń oraz informacjami o gałęzi adresy są składowane we wspólnej pamięci podręcznej procesora. Stosując metodę Prime+Probe, opartą na ocenie zmian czasu dostępu do informacji buforowanych, można poprzez sprawdzenie obecności określonych wzorców w pamięci podręcznej monitorować przepływy danych i znaki wykonania kodu związane z obliczeniami podpisów cyfrowych w TrustZone z dość dużą dokładnością.
Większość czasu na generowanie podpisu cyfrowego przy użyciu kluczy ECDSA w chipach Qualcomm spędza się na wykonywaniu operacji mnożenia w pętli przy użyciu wektora inicjującego, który jest niezmienny dla każdego podpisu (
W przypadku Qualcomma w algorytmie mnożenia zidentyfikowano dwa miejsca wycieku takich informacji: podczas wykonywania operacji wyszukiwania w tabelach oraz w kodzie warunkowego wyszukiwania danych opartym na wartości ostatniego bitu wektora „nonce”. Pomimo tego, że kod Qualcomm zawiera środki przeciwdziałające wyciekom informacji kanałami stron trzecich, opracowana metoda ataku pozwala ominąć te środki i określić kilka bitów wartości „nonce”, które wystarczą do odzyskania 256-bitowych kluczy ECDSA.
Źródło: opennet.ru