L1DES (CacheOut) i VRS – nowe luki w mikroarchitekturach procesorów Intel

Firma Intel ujawniła informacje o dwóch nowych lukach w CPU Intel, spowodowanych wyciekiem danych z pamięci podręcznej L1D (CVE-2020-0549, L1DES — L1D Eviction Sampling) i rejestrów wektorowych (CVE-2020-0548, VRS — Vector Register Sampling). Luki te należą do klasy MDS (Microarchitectural Data Sampling) i opierają się na zastosowaniu metod analizy przez kanały boczne do danych w mikroarchitekturze. Procesory AMD, ARM i inne nie są na nie narażone.

Największe zagrożenie stwarza luka L1DES, która pozwala na osiedlanie bloków danych z pamięci podręcznej (cache line), wypraszanych z pamięci podręcznej pierwszego poziomu (L1D), w buforze wypełniającym (Fill Buffer), który w danym momencie powinien być pusty. Aby zidentyfikować dane osiedlone w buforze wypełniającym, można zastosować metody analizy przez kanały boczne, wcześniej proponowane w atakach MDS (Microarchitectural Data Sampling) oraz TAA (Transactional Asynchronous Abort). Istota wcześniej zrealizowanej ochrony przed
MDS oraz TAA polega na oczyszczaniu mikroarchitektonicznych buforów przed przełączeniem kontekstu, ale okazało się, że w pewnych warunkach dane są spekulacyjnie zrzucane do buforów po operacji oczyszczania, dlatego metody MDS i TAA pozostają zastosowalne.

L1DES (CacheOut) i VRS - nowe luki w strukturach mikroarchitektonicznych procesorów Intel

W rezultacie atakujący może uzyskać możliwość określenia danych wypychanych z pamięci podręcznej pierwszego poziomu, które zostały zmienione w trakcie wykonywania aplikacji, wcześniej zajmującej rdzeń CPU, lub aplikacji równolegle wykonujących się w innych wątkach logicznych (hyperthread) na tym samym rdzeniu CPU (wyłączenie HyperThreading niweczy skuteczność ataku). W przeciwieństwie do ataku L1TF, L1DES nie pozwala na wybór konkretnych adresów fizycznych do weryfikacji, ale umożliwia pasywne śledzenie aktywności w innych wątkach logicznych związanej z wczytywaniem lub zapisywaniem do pamięci wartości.

Na podstawie L1DES różne zespoły badaczy opracowały kilka wariantów ataków, które potencjalnie pozwalają na wyciągnięcie poufnych informacji z innych procesów, systemu operacyjnego, maszyn wirtualnych i chronionych enklaw SGX.

  • Zespół VUSec dostosował metodę ataku RIDL do luki L1DES. Dostępny prototyp exploita, który m.in. omija proponowaną przez Intel metodę ochrony przed MDS, opartą na użyciu instrukcji VERW do czyszczenia zawartości buforów mikroarchitektury w momencie powrotu z jądra do przestrzeni użytkownika lub przy przekazywaniu kontroli systemowi gościnnemu (badacze pierwotnie podkreślali, że VERW (czyszczenie buforów mikroarchitektury) nie jest wystarczającą ochroną i konieczne jest pełne zresetowanie pamięci podręcznej L1 przy każdym przełączaniu kontekstu).
  • Zespół ZombieLoad zaktualizowała swój metodę ataku uwzględniając podatność L1DES.
  • Badacze z Uniwersytetu Michigan opracowali własną metodę ataku CacheOut (PDF), umożliwiającą wydobycie poufnych informacji z jądra systemu operacyjnego, maszyn wirtualnych i chronionych enklaw SGX. Metoda opiera się na manipulacjach z mechanizmem asynchronicznego przerywania operacji (TAA, TSX Asynchronous Abort) w celu określenia zawartości bufora wypełniającego po wycieku danych z pamięci podręcznej L1D.

    L1DES (CacheOut) i VRS - nowe luki w strukturach mikroarchitektonicznych procesorów Intel

Druga podatność VRS (Vector Register Sampling) jest związana z wyciekiem do bufora pamięci (Store Buffer) wyników operacji odczytu z rejestrów wektorowych, zmienionych podczas wykonywania instrukcji wektorowych (SSE, AVX, AVX-512) na tym samym rdzeniu CPU. Wyciek występuje w dość rzadkim przypadku i jest spowodowany tym, że spekulacyjnie wykonywana operacja, która prowadzi do odzwierciedlenia stanu rejestrów wektorowych w buforze pamięci, opóźnia się i kończy po wyczyszczeniu bufora, a nie przed nim. Podobnie jak w przypadku podatności L1DES, zawartość bufora pamięci może być następnie określona za pomocą metod ataków MDS i TAA.

Badacze z grupy VUSec przygotowali prototyp exploita, umożliwiającą określenie wartości rejestrów wektorowych uzyskanych w wyniku obliczeń w innym wątku logicznym tego samego rdzenia CPU. Firma Intel oceniła podatność VRS jako zbyt skomplikowaną do przeprowadzenia rzeczywistych ataków i przypisała jej minimalny poziom zagrożenia (2.8 CVSS).

Informacje o problemach zostały przekazane do Intela w maju 2019 roku przez zespół Zombieload z Uniwersytetu Technicznego w Grazu (Austria) oraz grupę VUSec z Uniwersytetu Wolnego w Amsterdamie, a następnie, po analizie innych wektorów zastosowania ataku MDS, luki zostały potwierdzone przez innych badaczy. W pierwszym raporcie MDS informacje o problemach L1DES i VRS nie zostały uwzględnione z powodu braku poprawek. Poprawka nie jest obecnie dostępna, ale uzgodnione terminy poufności wygasły.
Jako metody obejścia ochrony zaleca się wyłączenie HyperThreadingu. Aby zablokować lukę po stronie jądra, proponuje się zerowanie pamięci cache L1 przy każdym przełączaniu kontekstu (bit MSR MSR_IA32_FLUSH_CMD) oraz wyłączenie rozszerzenia TSX (bity MSR MSR_IA32_TSX_CTRL i MSR_TSX_FORCE_ABORT).

Intel obiecuje wydać aktualizację mikrokodu z implementacją mechanizmów blokujących problemy w najbliższym czasie. Intel zauważa również, że zastosowanie metod ochrony przed atakiem zaproponowanych w 2018 roku L1TF (L1 Terminal Fault) pozwala na zablokowanie wykorzystania luki L1DES z wirtualnych środowisk. Atakowi są narażone procesory Intel Core, począwszy od szóstej generacji (Sky, Kaby, Coffee, Whiskey, Amber Lake itp.), a także niektóre modele Intel Xeon i Xeon Scalable.

Dodatkowo można zaznaczyć udoskonalenie eksploita, umożliwiające zastosowanie metod ataku RIDL do określenia zawartości hasha hasła root z /etc/shadow przy okresowych próbach autoryzacji. Jeśli początkowo zaproponowany exploit określał hash hasła w czasie 24 godziny, a po zastosowaniu wycieku podczas pracy mechanizmu asynchronicznego przerywania operacji (TAA, TSX Asynchronous Abort) wykonywał podobną operację w czasie 36 sekund, to nowa wersja przeprowadza atak w ciągu 4 sekund.

Odtwarzaj wideo

Ź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