SQUIP, nowy atak, który atakuje procesory AMD i prowadzi do wycieku danych

grupa jaNaukowcy z Politechniki w Grazu (Austria), dawniej znana z opracowywania ataków MDS, NetSpectre, Throwhammer i ZombieLoad, ujawnił nowy atak z kanału bocznego (CVE-2021-46778) w kolejce harmonogramu procesora AMD używanej do planowania wykonywania instrukcji w różnych jednostkach wykonawczych procesora.

Atak zwany SQUIP, pozwala określić dane użyte w obliczeniach w innym procesie lub maszynę wirtualną lub zorganizować ukryty kanał komunikacji między procesami lub maszynami wirtualnymi, który umożliwia wymianę danych bez przechodzenia przez mechanizmy kontroli dostępu do systemu.

Te Procesory AMD oparte na pierwszej, drugiej i trzeciej mikroarchitekturze Zen generacji (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Są dotknięte gdy używana jest technologia jednoczesnego wielowątkowości (SMT).

Nowoczesne procesory wykorzystują konstrukcję superskalarną, w której wiele instrukcji jest wykonywanych jednocześnie, aby zmaksymalizować wydajność. Te procesory przetwarzają instrukcje w potoku w kilku etapach: (1) pobieranie, (2) dekodowanie, (3) programowanie/wykonywanie i (4) pobieranie.

Atak opiera się na ocenie poziomu występowania sporu (poziomu rywalizacji) w różnych kolejkach harmonogramu i odbywa się poprzez pomiar opóźnień podczas uruchamiania operacji sprawdzania wykonywanych w innym wątku SMT na tym samym fizycznym procesorze. Do analizy treści wykorzystano metodę Prime+Probe, która polega na wypełnieniu kolejki zestawem wartości referencyjnych i określeniu zmian poprzez pomiar czasu dostępu do nich w momencie przeładowania.

Etap programu/wykonania może przetwarzać instrukcje w kolejności, aby zmaksymalizować równoległość poziomu instrukcji. Krótko opisujemy każdy z tych etapów:

-Szukaj. Procesor szuka następnej instrukcji do wykonania z pamięci podręcznej L1i. 
-Rozszyfrować. Aby umożliwić wydajne wykonanie, otrzymane instrukcje (makrooperacje) są dekodowane na jedną lub więcej prostszych mikrooperacji (µops) i umieszczane w kolejce µop. Te µops są przesyłane do backendu, gdzie są planowane i wykonywane.
-Zaplanuj/Uruchom. Harmonogram(y) śledzą, które µops są gotowe do wykonania (mają dostępne wejścia) i dynamicznie planują je (w kolejności) do dostępnych jednostek wykonawczych. Rdzeń jednostki centralnej ma wiele jednostek wykonawczych i może mieć wiele jednostek arytmetycznych i logicznych (ALU), rozgałęzione jednostki wykonawcze (BRU), jednostki generowania adresów (AGU).

Podczas eksperymentu badaczom udało się całkowicie odtworzyć 4096-bitowy prywatny klucz RSA służy do tworzenia podpisów cyfrowych za pomocą biblioteki kryptograficznej mbedTLS 3.0, która wykorzystuje algorytm Montgomery do podniesienia liczby do modułu mocy. Do ustalenia klucza potrzeba było 50.500 XNUMX śladów.

Całkowity czas ataku zajął 38 minut. Przedstawiono warianty ataków, które zapewniają przeciek między różnymi procesami i maszynami wirtualnymi kontrolowanymi przez hipernadzorcę KVM. Pokazano również, że metoda może być wykorzystywana do organizowania ukrytego transferu danych między maszynami wirtualnymi z szybkością 0,89 Mb/s oraz między procesami z szybkością 2,70 Mb/s ze współczynnikiem błędów mniejszym niż 0,8%.

Rdzeń procesora jest podzielony na wiele rdzeni logicznych lub wątków, wykonujących niezależne strumienie instrukcji, ale współdzielących zasoby, takie jak pamięć podręczna L1i. µops tych wątków również dynamicznie współdzielą jednostki wykonawcze, aby umożliwić większe całkowite wykorzystanie. Podział na różne części jądra.
Odbywa się to poprzez konkurencyjną wymianę. Architektury AMD Zen pozwalają na dwa wątki
na rdzeń. Te wątki mogą pochodzić z jednego programu lub z różnych programów zarządzanych przez system operacyjny.

Procesory Intel nie są podatne atakują, ponieważ używają pojedynczej kolejki planowania, podczas gdy podatne procesory AMD używają oddzielnych kolejek dla każdej jednostki wykonawczej.

Jako rozwiązanie blokujące wyciek informacji, Zalecane przez AMD że programiści używać algorytmów, które zawsze wykonują obliczenia matematyczne w stałym czasie, bez względu na charakter przetwarzanych danych, a także zapobiegają forsowaniu na podstawie danych niejawnych.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w Link.


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.