BHI: nowa luka klasy Spectre wpływająca na Intel i ARM

Naukowcy z Wolnego Uniwersytetu w Amsterdamie ujawnione ostatnio znaleziony? nowa podatność będąca rozszerzoną wersją podatności Spectre-v2 na procesorach Intel i ARM.

Ta nowa luka, na którą ochrzcili się jako BHI (Wstrzyknięcie historii oddziału, CVE-2022-0001), BHB (Bufor historii oddziału, CVE-2022-0002) i Spectre-BHB (CVE-2022-23960), charakteryzuje się możliwością obchodzenia mechanizmów ochronnych eIBRS i CSV2 dodanych do procesorów.

Luka jest opisana w różnych przejawach tego samego problemu, ponieważ BHI to atak, który wpływa na różne poziomy uprawnień, na przykład proces użytkownika i jądro, podczas gdy BHB to atak na tym samym poziomie uprawnień, na przykład eBPF JIT i jądro.

O podatności

Koncepcyjnie BHI to rozszerzony wariant ataku Spectre-v2, w którym można ominąć dodatkową ochronę (Intel eIBRS i Arm CSV2) i zaaranżować wyciek danych, zastępując wartości w buforze globalną historią rozgałęzień (Branch History Buffer), która jest używana w procesorze w celu poprawy dokładności przewidywania rozgałęzień biorąc pod uwagę historię przeszłych przemian.

W trakcie ataku poprzez manipulacje historią przejść, tworzone są warunki dla nieprawidłowego przewidywania przejścia i spekulatywnej egzekucji niezbędnych instrukcji, których wynik jest deponowany w pamięci podręcznej.

Z wyjątkiem użycia bufora historii wersji zamiast bufora wersji docelowej, nowy atak jest identyczny z Spectre-v2. Zadaniem atakującego jest stworzenie takich warunków, aby adres, przy wykonywaniu operacji spekulacyjnej pobierana jest z obszaru wyznaczanych danych.

Po wykonaniu spekulatywnego skoku pośredniego odczytany z pamięci adres skoku pozostaje w pamięci podręcznej, po czym jedną z metod określania zawartości pamięci podręcznej można wykorzystać do jej pobrania na podstawie analizy zmiany czasu dostępu do pamięci podręcznej i niebuforowanej dane.

Badacze zademonstrowali funkcjonalny exploit, który pozwala przestrzeni użytkownika na wyodrębnianie dowolnych danych z pamięci jądra.

Pokazuje na przykład, jak za pomocą przygotowanego exploita można wydobyć z buforów jądra napis z hashem hasła użytkownika root, ładowany z pliku /etc/shadow.

Exploit demonstruje możliwość wykorzystania luki w zabezpieczeniach na jednym poziomie uprawnień (atak z jądra do jądra) przy użyciu programu eBPF załadowanego przez użytkownika. Nie wyklucza się również możliwości wykorzystania istniejących gadżetów Spectre w kodzie jądra, skryptów prowadzących do spekulatywnego wykonania instrukcji.

Słaby punkt pojawia się na większości obecnych procesorów Intel, z wyjątkiem rodziny procesorów Atom i kilku procesorów ARM.

Według badań luka nie dotyczy procesorów AMD. Aby rozwiązać ten problem, zaproponowano kilka metod. oprogramowanie blokujące podatność, które można wykorzystać przed pojawieniem się ochrony sprzętowej w przyszłych modelach procesorów.

Aby zablokować ataki za pośrednictwem podsystemu eBPF, sZaleca się domyślnie wyłączyć możliwość ładowania programów eBPF przez nieuprzywilejowanych użytkowników, wpisując 1 do pliku „/proc/sys/kernel/unprivileged_bpf_disabled” lub uruchamiając polecenie „sysctl -w kernel .unprivileged_bpf_disabled=1”.

Aby zablokować ataki za pomocą gadżetów, zaleca się stosowanie instrukcji LFENCE w sekcjach kodu, które potencjalnie prowadzą do wykonania spekulacyjnego. Warto zauważyć, że domyślna konfiguracja większości dystrybucji Linuksa zawiera już niezbędne zabezpieczenia wystarczające do zablokowania zademonstrowanego przez badaczy ataku eBPF.

Zalecenia Intela, aby wyłączyć nieuprzywilejowany dostęp do eBPF, mają również zastosowanie domyślnie począwszy od jądra Linux 5.16 i zostaną przeniesione do wcześniejszych gałęzi.

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


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.