Atak SgxSpectre może naruszać wrażliwe dane przechowywane w enklawach Intel SGX

Najnowszy atak Spectre nazwany SgxSpectre może narazić wrażliwe dane przechowywane w enklawach SGX

SgxSpectre - kolejny atak Spectre, który stanowi zagrożenie dla wrażliwych danych

Błąd procesora Spectre-Meltdown[1] wykryte na początku 2018 r. stanowią większe wyzwanie, niż oczekiwali Microsoft, Intel i inni giganci technologiczni. Nie tylko udało mu się rozszerzyć z chipów Intela i AMD na chipy Skylake, Kaby Lake, Coffee Lake; umożliwiło to hakerom zainicjowanie wielu kampanii dystrybucji złośliwego oprogramowania[2] i ataki programowe.

Na początku marca 2018 roku grupa sześciu informatyków z Ohio State University wykryła nowy wariant ataku Spectre nazwany jako SgxSpectre, który może być używany do łamania enklaw Intel Software Guard Extensions (SGX) odpowiedzialnych za izolację wrażliwych składniki. W rzeczywistości dane chronione przez te enklawy są prawdopodobnie najbardziej wrażliwe ze wszystkich, ponieważ komponenty systemu operacyjnego nie mogą wchodzić w interakcje z danymi chronionymi przez enklawę.

Caroline Trippel i Daniel Lustig, badacze z Princeton University, oraz Margaret Martonosi od Nvidii przewidział możliwość takich ataków i nakreślił scenariusz w pracy naukowej nazywa

„MeltdownPrime i SpectrePrime: wykorzystanie automatycznie zsyntetyzowanych ataków. Protokoły spójności oparte na unieważnieniu”.[3] Są to najnowsze luki w zabezpieczeniach Meltdown i Spectre, które mogą skończyć się atakiem na poufne dane.

Poprzednie luki Meltdown i Spectre nie miały dostępu do poufnych danych chronionych przez SGX

Rozszerzenia Software Guard (SGX) firmy Intel to stosunkowo nowa funkcja, dostępna w nowoczesnych procesorach Intela. Umożliwia tworzenie tzw. enklaw ochrony oprogramowania, które zajmuje się niezwykle wrażliwymi danymi i kodowaniem informacji.

Skutki poprzednich ataków Spectre i Meltdown na SGX nie były jasne. Niemniej jednak odporność enklaw SGX od samego początku budziła wiele pytań. Okazało się, że żadna z tych luk nie wykazuje cech pozwalających na złamanie ochrony SGX, ale najwyraźniej hakerzy atakują dane wewnątrz enklaw. Właśnie dlatego ewoluowało SgxSpectre.

Według badaczy podatności SgxSpectre,[4] luka pozwala na wykorzystanie „warunki wyścigu między wstrzykniętymi, spekulatywnie wykonanymi odniesieniami do pamięci, które prowadzą do obserwowalnych śladów pamięci podręcznej w kanale bocznym, a opóźnieniem rozdzielczości gałęzi”. Obecnie luka może dotyczyć Intel SGX, SDK, Rust-SGX i Graphene-SDX.
Na system może mieć wpływ włączenie określonego wzorca kodu w bibliotekach oprogramowania. Atakujący, który celuje w informacje przechowywane w enklawach, wykorzystuje wykonanie spekulacyjne i przewiduje kod enklawy, szukając niewielkich zmian rozmiaru pamięci podręcznej. Jak wyjaśnili badacze,

Jednostki przewidywania rozgałęzień używane w trybie enklawy do przewidywania celów rozgałęzień nie są dokładnie czyszczone po wejściu do enklawy. Dlatego kod poza docelową enklawą (działający w niezabezpieczonym regionie pamięci lub w innej enklawie) może manipulować celami przewidywania rozgałęzień wewnątrz docelowej enklawy.

Firma Intel wydała narzędzie do skanowania luk

Cała procedura może wydawać się trudna dla osób, które nie są uwikłane w świat IT. Krótko mówiąc, z pomocą luk Meltdown i Spectre hakerzy znaleźli sposób na wykorzystanie słabości wzorców kodu SDX. Te luki w zabezpieczeniach umożliwiają następnie hakerom modyfikowanie bibliotek wykonawczych SDK i atakowanie dowolnego systemu opracowanego z oficjalnym SDK Intela SGX.

Intel i Microsoft natychmiast zareagowały na wykrytą lukę Meltdown i Spectre i rozpoczęły wydawanie łat. Niestety nie wszystkie z nich działają, więc koniecznie trzeba śledzić wiadomości o tej luce.

Indirect Branch Restricted Speculation (IBRS) to jedna z poprawek reprezentowanych przez firmę Intel. Zajmuje się wariantem Spectre, dostarczając dostosowany mikrokod. Jednak ta poprawka nie jest zorientowana na lukę w SGX SDK.
Ostateczny termin wydania poprawki SgxSpectre upływa 16 marca 2018 r. Twórcy aplikacji będą musieli zmienić starszą wersję SDK na tę, którą Intel zamierza wydać w aplikacjach opartych na SGX.

Ci, którzy chcą sprawdzić, czy ich komputery PC zawierają wrażliwe kody, specjaliści stworzyli narzędzie do skanowania podatności,[5] który weryfikuje programy enklawy i sprawdza wzór kodu. W przypadku wykrycia exploitów SgxPectre użytkownik zostanie ostrzeżony i poproszony o zainstalowanie zestawu narzędzi opracowanego przez firmę Intel wraz z przestarzałym zestawem narzędzi do tworzenia oprogramowania dla dostawców aplikacji SGX.