Firma Intel informacje o dwóch nowych lukach w CPU Intel, spowodowanych wyciekiem danych z pamięci podręcznej L1D (, L1DES — L1D Eviction Sampling) i rejestrów wektorowych (, VRS — Vector Register Sampling). Luki te należą do klasy (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 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 (Microarchitectural Data Sampling) oraz (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.

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 , 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 metodę ataku RIDL do luki L1DES. Dostępny , 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ół zaktualizowała swój uwzględniając podatność L1DES.
- Badacze z Uniwersytetu Michigan opracowali własną metodę ataku (), umożliwiającą wydobycie poufnych informacji z jądra systemu operacyjnego, maszyn wirtualnych i chronionych enklaw SGX. Metoda opiera się na 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.
Druga podatność VRS (Vector Register Sampling) 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 , 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 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 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 (L1 Terminal Fault) pozwala na zablokowanie wykorzystania luki L1DES z wirtualnych środowisk. Atakowi 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ć , umożliwiające zastosowanie metod ataku 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 , a po zastosowaniu wycieku podczas pracy mechanizmu asynchronicznego przerywania operacji (TAA, TSX Asynchronous Abort) wykonywał podobną operację w czasie , to nowa wersja przeprowadza atak w ciągu 4 sekund.

Źródło: opennet.ru
