Vulnerability TPM-Fail, which allows recovery of keys stored in TPM modules

Grupa badawcza z Worcester Polytechnic Institute, Uniwersytetu w Lubece oraz Uniwersytetu Kalifornijskiego w San Diego opracował metoda ataku z kanałów bocznych, która umożliwia odzyskanie wartości tajnych kluczy przechowywanych w TPM (Trusted Platform Module). Atak otrzymał kryptonim TPM-Fail i dotyczy fTPM (programowa implementacja oparta na firmware, działająca na zaszytym procesorze wewnątrz CPU) firmy Intel (CVE-2019-11090) oraz sprzętowe TPM w chipach STMicroelectronics ST33 (CVE-2019-16863).

Badacze opublikowali stworzyli prototyp narzędzia do przeprowadzania ataku i zademonstrowali możliwość odzyskania 256-bitowego klucza prywatnego, używanego do generowania podpisów cyfrowych z wykorzystaniem algorytmów opartych na krzywych eliptycznych ECDSA oraz EC-Schnorr. W zależności od uprawnień całkowity czas ataku na systemy Intel fTPM wynosi od 4 do 20 minut i wymaga analizy od 1 do 15 tysięcy operacji. Atak na systemy z chipem ST33 wymaga około 80 minut i analizy około 40 tysięcy operacji generowania podpisu cyfrowego.

Badacze również zademonstrowali możliwość przeprowadzenia zdalnego ataku w sieciach o dużej prędkości, co pozwoliło w lokalnej sieci o przepustowości 1 GB w warunkach laboratoryjnych na odzyskanie klucza prywatnego w ciągu pięciu godzin, po zmierzeniu czasu odpowiedzi dla 45 tysięcy sesji autoryzacji z serwerem VPN opartym na oprogramowaniu strongSwan, przechowującym swoje klucze w narażonym na podatność TPM.

Metoda ataku opiera się na analizie różnic w czasie wykonywania operacji podczas generowania podpisu cyfrowego. Ocena opóźnienia podczas wykonywania obliczeń pozwala określić informacje o poszczególnych bitach w czasie mnożenia przez skalar podczas operacji na krzywej eliptycznej. Dla ECDSA wystarczy określenie nawet kilku bitów z informacją o wektorze inicjalizacyjnym (nonce), aby przeprowadzić atak na sekwencyjne odzyskanie całego klucza prywatnego. Do skutecznego przeprowadzenia ataku konieczna jest analiza czasu generowania kilku tysięcy podpisów cyfrowych, stworzonych na podstawie danych znanych atakującemu.

Luka naprawiono firma STMicroelectronics w nowej wersji chipów, w których implementacja algorytmu ECDSA została uwolniona od korelacji z czasem wykonywania operacji. Interesujące jest to, że chipy STMicroelectronics dotknięte problemem są również wykorzystywane w sprzęcie spełniającym standard bezpieczeństwa CommonCriteria (CC) EAL 4+. Badacze sprawdzili również chipy TPM firm Infineon i Nuvoton, ale nie stwierdzono w nich wycieku na podstawie zmiany czasu obliczeń.

W procesorach Intel problem pojawia się od wypuszczenia rodziny Haswell w 2013 roku. Zauważono, że problem dotyczy szerokiego zakresu laptopów, komputerów PC i serwerów produkowanych przez różne firmy, w tym Dell, Lenovo i HP.

Firma Intel włączyła poprawkę w listopadowym aktualizacji oprogramowania układowego, w której poza rozważanym problemem usunięto znaleziono jeszcze 24 inne podatności, z których dziewięć przypisano do wysokiego poziomu niebezpieczeństwa, a jedna do krytycznego. W odniesieniu do podanych problemów dostępne są jedynie ogólne informacje, na przykład, zaznaczone, że krytyczna podatność (CVE-2019-0169) związana jest z możliwością wywołania przepełnienia bufora w środowiskach Intel CSME (Converged Security and Management Engine) i Intel TXE (Trusted Execution Engine), co pozwala atakującemu podnieść swoje uprawnienia i uzyskać dostęp do poufnych danych.

Można również zauważyć ujawnianie wyników audytu różnych SDK do rozwoju aplikacji, które współdziałają z kodem wykonywanym w izolowanych enklawach. W celu identyfikacji problematycznych funkcji, które mogą być wykorzystywane do przeprowadzania ataków, zbadano osiem SDK: Intel SGX-SDK, SGX-LKL, Microsoft OpenEnclave, Graphene,
Rust-EDP i Google Asylo dla Intel SGX, Keystone dla RISC-V i Sancus dla Sancus TEE. W trakcie audytu zidentyfikowano ujawniono 35 podatności, na podstawie których opracowano kilka scenariuszy ataków, umożliwiających wydobycie kluczy AES z enklawy lub zorganizowanie wykonania własnego kodu poprzez stworzenie warunków do uszkodzenia zawartości pamięci.

Vulnerability TPM-Fail, which allows recovery of keys stored in TPM modules

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster