Downfall, luka, która wpływa na procesory Intel i umożliwia dostęp do twoich informacji w celu kradzieży danych

upadek

Luka wynika z funkcji optymalizacji pamięci w procesorach Intela.

Znowu wykryto lukę w systemie wykonywania instrukcji spekulatywnych procesorów Intela, tym razem badacz Google, ogłosił, że zidentyfikował nową lukę (skatalogowaną już pod CVE-2022-40982), zwany „Upadkiem”

Downfall, to luka umożliwiająca określenie zawartości XMM, YMM i rejestry wektorowe ZMM, wcześniej używane przez inne procesy podczas wykonywania instrukcji AVX na tym samym rdzeniu procesora.

O upadku

Jeśli chodzi o podatność na zagrożenia, wspomina się o tym nieuprzywilejowany napastnik z możliwością uruchomienia własnego kodu w systemie, może wykorzystać tę lukę do wycieku danych z innych procesów użytkownika, jądro systemu, izolowane enklawy Intel SGX i maszyny wirtualne.

Filtrowalne rejestry wektorowe są szeroko stosowane w szyfrowaniu, funkcjach kopiowania pamięci i przetwarzaniu ciągów znaków, na przykład rejestry te są używane między innymi w bibliotece Glibc w funkcjach memcpy, strcmp i strlen. Z praktycznego punktu widzenia luka może zostać wykorzystana do ustalenia, jakie dane są przetwarzane w instrukcjach AES-NI lub REP-MOVS (wykorzystywanych w funkcji memcpy) w innych procesach, co może spowodować wyciek kluczy szyfrujących, wrażliwych danych i haseł użytkowników.

Luka objawia się w procesorach Intela które obsługują rozszerzone zestawy instrukcji AVX2 i AVX-512 (co oznacza, że ​​wpływa na procesory od 6 do 11 generacji), podczas gdy procesory Intela oparte na mikroarchitekturach Alder Lake, Raptor Lake i Sapphire Rapids nie wydają się być dotknięte.

Podobnie jak w przypadku niedawno wykrytej luki w zabezpieczeniach Zenbleed, która ma wpływ na procesory AMD Zen2, w Downfall przyczyną luki jest wyciek danych z plików dziennika, które są wykorzystywane do udostępniania zawartości dziennika wszystkim zadaniom aplikacji na tym samym rdzeniu procesora.

Wyciek jest spowodowany spekulacyjnym transferem danych podczas wykonywania instrukcji GATHER, dostępny w rozszerzeniach AVX2 i AVX-512 i zaprojektowany w celu zapewnienia szybkiego dostępu do różnych danych w pamięci. Podczas wykonywania instrukcji GATHER stare dane w pliku rejestru są wykorzystywane do spekulacyjnego wykonywania instrukcji zależnych. Te dane nie są bezpośrednio odzwierciedlone w dziennikach oprogramowania, ale można je określić za pomocą technik ataku typu side-channel zaprojektowanych do ataków Meltdown, takich jak analizowanie resztek danych w pamięci podręcznej procesora.

Aby wykorzystać Upadek, opracowano technikę ataku o nazwie Gather Data Sampling (GDS) i dla których opublikowano prototypy exploitów do wydobywania kluczy kryptograficznych z procesu innego użytkownika, wycieku danych po ich skopiowaniu do jądra Linuksa przez funkcję memcpy oraz przechwytywania znaków drukowanych pozostawionych w rejestrach wektorowych po działaniu innych procesów. Pokazuje na przykład możliwość definiowania kluczy AES, które służą do szyfrowania danych w procesie innego użytkownika za pomocą biblioteki OpenSSL.

Metoda wykazała wysoką skuteczność: przeprowadzając eksperyment ze 100 różnymi kluczami, określono 100% kluczy AES-128 i 86% kluczy AES-256, przy czym czas trwania każdej próby ustalenia nie był dłuższy niż 10 sekund. W systemach chmurowych atak może posłużyć do ustalenia, jakie dane są przetwarzane na innych maszynach wirtualnych. Możliwe, że luka może zostać wykorzystana poprzez wykonanie kodu JavaScript w przeglądarce internetowej.

Nadmienić należy, że Intel dowiedział się o problemie w zeszłym roku (dokładnie w miesiącu sierpniu) oraz że luka została upubliczniona dopiero w tym roku na konferencji BlackHat USA. a poprawki chroniące przed luką są już zawarte w różnych aktualizacjach jądra Linuksa, począwszy od wersji 6.4.9 6.1.44 do 4.14.321.

Oprócz tego, wśród możliwych działań mających na celu uniknięcie negatywnego wpływu ochrony przed podatnością Downfall na wydajność, wymienia się dokonanie zmian w kompilatorach w celu wyłączenia użycia instrukcji GATHER lub dodanie instrukcji bezpośrednio po GATHER LFENCE, co wyłącza zapobiegawcze wykonywanie kolejnych instrukcji przed zakończeniem wszystkich poprzednich zatwierdzeń.

Dla systemów, w których nie są dostępne poprawki firmware'u, wyłączona została obsługa wszystkich rozszerzeń AVX, natomiast dla części aktualizacji mikrokodu Intela przewidziano również możliwość wykorzystania interfejsu MSR do selektywnego wyłączania ochrony firmware'u w kontekście poszczególnych procesów.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.


Dodaj jako preferowane źródło w Google