Intel
Atak jest niebezpieczny jedynie w kontekście manipulacji obliczeniami w enklawach SGX, ponieważ do jego przeprowadzenia wymagane są uprawnienia roota w systemie. W najprostszym przypadku atakujący może osiągnąć zniekształcenie informacji przetwarzanych w enklawie, jednak w bardziej skomplikowanych scenariuszach możliwość odtworzenia przechowywanych w enklawie kluczy prywatnych służących do szyfrowania przy użyciu algorytmów RSA-CRT i AES-NI nie jest możliwa. wyłączony. Technikę tę można również zastosować do generowania błędów w początkowo poprawnych algorytmach, aby wywołać podatności podczas pracy z pamięcią, na przykład w celu zorganizowania dostępu do obszaru poza granicami przydzielonego bufora.
Prototypowy kod do przeprowadzenia ataku
Istotą metody jest stworzenie warunków wystąpienia nieoczekiwanych uszkodzeń danych podczas obliczeń w SGX, przed którymi nie chroni stosowanie szyfrowania i uwierzytelniania pamięci w enklawie. Aby wprowadzić zniekształcenia, okazało się, że można zastosować standardowe interfejsy programowe do sterowania częstotliwością i napięciem, zwykle stosowane w celu zmniejszenia zużycia energii w czasie bezczynności systemu i aktywowania maksymalnej wydajności podczas intensywnej pracy. Charakterystyka częstotliwości i napięcia obejmuje cały układ, w tym wpływ obliczeń w izolowanej enklawie.
Zmieniając napięcie, można stworzyć warunki, w których ładunek nie wystarczy do zregenerowania komórki pamięci wewnątrz procesora i zmienia się jego wartość. Kluczowa różnica w stosunku do ataku
Jeśli ta zmodyfikowana wartość zostanie użyta w procesie mnożenia w procesie szyfrowania, wynik zostanie odrzucony z nieprawidłowym tekstem zaszyfrowanym. Mając możliwość skontaktowania się z handlerem w SGX w celu zaszyfrowania jego danych, atakujący może, powodując awarie, zgromadzić statystyki dotyczące zmian w wyjściowym zaszyfrowanym tekście i w ciągu kilku minut przywrócić wartość klucza przechowywanego w enklawie. Znany jest oryginalny tekst wejściowy i poprawny wyjściowy szyfrogram, klucz się nie zmienia, a wynik nieprawidłowego tekstu zaszyfrowanego wskazuje, że jakiś bit został zniekształcony do wartości przeciwnej.
Po przeanalizowaniu par wartości poprawnych i uszkodzonych szyfrogramów zgromadzonych podczas różnych awarii, wykorzystując metody różnicowej analizy uszkodzeń (DFA,
Problem dotyczy różnych modeli procesorów Intel, w tym procesorów Intel Core z wersją 6
10. generacja, a także piąta i szósta generacja Xeon E3, pierwsza i druga generacja Intel Xeon Scalable, Xeon D,
Xeon W i Xeon E.
Przypomnijmy, że technologia SGX (
Źródło: opennet.ru