Foreshadow, znany również jako L1 Terminal Fault, to kolejny problem z spekulacyjnym wykonaniem w procesorach Intela. Pozwala złośliwemu oprogramowaniu włamać się do bezpiecznych obszarów, w których nawet defekty Spectre i Meltdown nie mogą się zepsuć.
Konkretnie, Foreshadow atakuje funkcję oprogramowania Intel Guard Software Extensions (SGX). Jest on wbudowany w układy Intela, aby umożliwić programom tworzenie bezpiecznych "enklaw", do których nie można uzyskać dostępu, nawet przez inne programy na komputerze. Nawet jeśli złośliwe oprogramowanie znajdowało się na komputerze, nie mogło uzyskać dostępu do teorii bezpiecznej enklawy. Kiedy ogłoszono Spectre i Meltdown, badacze bezpieczeństwa odkryli, że pamięć chroniona SGX była w większości odporna na ataki Spectre i Meltdown.
Istnieją również dwa powiązane ataki, które badacze bezpieczeństwa nazywają "Foreshadow - Next Generation" lub Foreshadow-NG. Umożliwiają one dostęp do informacji w trybie zarządzania systemem (SMM), jądrze systemu operacyjnego lub hiperwizorze maszyny wirtualnej. Teoretycznie kod działający na jednej maszynie wirtualnej w systemie może odczytywać informacje przechowywane w innej maszynie wirtualnej w systemie, nawet jeśli te maszyny wirtualne mają być całkowicie izolowane.
Foreshadow i Foreshadow-NG, podobnie jak Spectre i Meltdown, używają wad w realizacji spekulacyjnej. Nowoczesne procesory odgadują kod, który według nich może działać dalej i zapobiegawczo wykonują go, aby zaoszczędzić czas. Jeśli program spróbuje uruchomić kod, to świetnie - zostało już zrobione, a procesor zna wyniki. Jeśli nie, procesor może odrzucić wyniki.
Jednak to spekulacyjne wykonanie pozostawia pewne informacje. Na przykład, w zależności od tego, ile czasu zajmuje spekulacyjny proces wykonawczy, aby wykonać określone typy żądań, programy mogą określić, jakie dane znajdują się w obszarze pamięci - nawet jeśli nie mogą uzyskać dostępu do tego obszaru pamięci. Ponieważ złośliwe programy mogą wykorzystywać te techniki do odczytywania chronionej pamięci, mogą nawet uzyskać dostęp do danych przechowywanych w pamięci podręcznej L1. Jest to pamięć niskiego poziomu na procesorze, w której przechowywane są bezpieczne klucze kryptograficzne. Dlatego te ataki są również znane jako "L1 Terminal Fault" lub L1TF.
Aby skorzystać z gry Foreshadow, atakujący musi mieć możliwość uruchomienia kodu na swoim komputerze. Kod nie wymaga specjalnych uprawnień - może to być standardowy program użytkownika bez dostępu do systemu niskiego poziomu lub nawet oprogramowanie uruchomione w maszynie wirtualnej.
Od czasu ogłoszenia Spectre i Meltdown, widzieliśmy stały strumień ataków, które nadużywają funkcji spekulacyjnych. Na przykład atak obejścia spekulacyjnego (SSB) dotyczył procesorów Intel i AMD, a także niektórych procesorów ARM. Zostało ogłoszone w maju 2018 roku.
Foreshadow został odkryty przez badaczy bezpieczeństwa. Naukowcy ci mają dowód koncepcji - innymi słowy, atak funkcjonalny - ale w tej chwili go nie wypuszczają. Daje to każdemu czas na tworzenie, wypuszczanie i stosowanie łat w celu ochrony przed atakiem.
Zauważ, że tylko komputery z procesorami Intel są podatne na działanie programu Foreshadow. Chipy AMD nie są podatne na tę wadę.
Większość komputerów z systemem Windows wymaga aktualizacji systemu operacyjnego, aby chronić się przed programem Foreshadow, zgodnie z oficjalnym zaleceniem bezpieczeństwa firmy Microsoft. Po prostu uruchom Windows Update, aby zainstalować najnowsze poprawki. Microsoft twierdzi, że nie zauważyło żadnej utraty wydajności po zainstalowaniu tych poprawek.
Niektóre komputery PC mogą również potrzebować nowego mikrokodu Intel, aby się zabezpieczyć. Intel twierdzi, że są to te same aktualizacje mikrokodu, które zostały wydane na początku tego roku. Możesz pobrać nowe oprogramowanie układowe, jeśli jest dostępne na twoim komputerze, instalując najnowsze aktualizacje UEFI lub BIOS z komputera PC lub producenta płyty głównej. Można również instalować aktualizacje mikrokodu bezpośrednio z firmy Microsoft.
Komputery PC z oprogramowaniem hiperwizora dla maszyn wirtualnych (na przykład Hyper-V) będą również potrzebować aktualizacji tego oprogramowania hipernadzorcy. Na przykład, oprócz aktualizacji Microsoft dla Hyper-V, VMWare wydała aktualizację dla swojego oprogramowania maszyny wirtualnej.
Systemy korzystające z funkcji Hyper-V lub zabezpieczeń opartych na wirtualizacji mogą wymagać bardziej drastycznych zmian. Obejmuje to wyłączenie hiperwątkowości, co spowolni działanie komputera. Większość ludzi nie musi tego robić, ale administratorzy Windows Server, którzy korzystają z Hyper-V na procesorach Intela, będą musieli poważnie rozważyć wyłączenie hiperwątkowości w systemie BIOS, aby zapewnić bezpieczeństwo swoich maszyn wirtualnych.
Dostawcy usług w chmurze, tacy jak Microsoft Azure i Amazon Web Services, również łatają swoje systemy, aby chronić maszyny wirtualne przed atakami z systemów współdzielonych.
Poprawki mogą być również konieczne w przypadku innych systemów operacyjnych. Na przykład, Ubuntu wydało aktualizacje jądra systemu Linux w celu ochrony przed tymi atakami. Apple nie skomentował jeszcze tego ataku.
W szczególności numery CVE, które identyfikują te wady, to CVE-2018-3615 dla ataku na Intel SGX, CVE-2018-3620 dla ataku na system operacyjny i tryb zarządzania systemem oraz CVE-2018-3646 dla ataku na menedżer maszyn wirtualnych.
W poście na blogu Intel powiedział, że pracuje nad lepszymi rozwiązaniami poprawiającymi wydajność, blokując exploity oparte na L1TF. To rozwiązanie zastosuje ochronę tylko w razie potrzeby, zwiększając wydajność. Intel twierdzi, że już wcześniej dostarczył mikroprocesorowi procesora procesorowi przedpremierowemu tę funkcję niektórym partnerom i ocenia, czy ją zwolnić.
Wreszcie, Intel zauważa, że "L1TF jest również adresowany przez zmiany, które wprowadzamy na poziomie sprzętowym." Innymi słowy, przyszłe procesory Intela będą zawierać ulepszenia sprzętowe, aby lepiej chronić przed Spectre, Meltdown, Foreshadow i innymi spekulacyjnymi atakami mniej utraty wydajności.
Image Credit: Robson90 / Shutterstock.com, Foreshadow.