Procesory Intela podatne na Meltdown od 20 lat

Fot. Geralt
Zespół bezpieczeństwa Google zaprezentował dwie luki pod nazwami Meltdown i Spectre. Błędy pozwalają zwiększyć uprawnienia aplikacji i wykradać hasła. Na ataki podatne są praktycznie wszystkie procesory Intela, a także niektóre procesory AMD oraz ARM wykorzystujące predykcję rozgałęzień kodu programu.

Luki bezpieczeństwa wykryte przez projekt Zero uderzają w jeden z mechanizmów, które pozwoliły Intelowi przez lata wypracować przewagę na rynku procesorów. Chodzi o metodę przewidywania rozgałęzień instrukcji warunkowych, którą Intel rozwija od 1995 roku. AMD dopiero od zeszłego roku stosuje podobne techniki przyspieszające obliczenia oparte na sieciach neuronowych, czego efektem jest marketingowy sukces procesorów z serii Ryzen. Jednak procesory AMD są również podatne w pewnym stopniu na ataki, choć ich wykonanie jest zdecydowanie trudniejsze.

Eksperci Google pokazali między innymi kod JavaScript, który wykrada hasła omijając zabezpieczenia systemu operacyjnego. Luka Meltdown dotknęła jedynie procesory Intela i została bardzo szybko naprawiona przez producentów systemów operacyjnych. Niestety, odbiło się to na wydajności aplikacji, które wymagają dostępu do funkcji jądra systemowego. W codziennych zastosowaniach spowolnienie nie powinno być widoczne. Najbardziej ucierpią aplikacje bazodanowe i usługi w chmurze. Poprawki bezpieczeństwa mogą pobrać użytkownicy Windowsa, Linuxa, a także MacOS.

Google wykorzystało instrukcje procesora do zwiększenia uprawnień systemowych (fot. Golftheman)

Dużo większym problemem w niedalekiej przyszłości będzie zdecydowanie bardziej wyrafinowana technika ataku nazwana Spectre. Do jej działania wymagany jest program, który ma przyznane uprawnienia wyższego poziomu. Jednak potencjalny atak jest równie groźny co w przypadku Meltdown. Jednocześnie bardzo trudno go ominąć z poziomu systemu operacyjnego. Co gorsza, na atak z użyciem Spectre narażeni są nie tylko właściciele sprzętu z procesorami Intela, ale również AMD, czy układów ARM powszechnie stosowanych w urządzeniach mobilnych. Z tymi ostatnimi jest problem nie od dziś. Producentom smartfonów zazwyczaj bardzo dużo czasu zajmuje wprowadzanie aktualizacji Androida. Nawet jeśli chodzi o poważne poprawki bezpieczeństwa wydawane przez Google.

Procesory aby przyspieszyć działanie zgadują wynik instrukcji warunkowych jeszcze przed ich obliczeniem (graf. Google)

Współczesne procesory wykonują bardzo dużo operacji. Producenci wykorzystują ten fakt i stosują sztuczki programistyczne, dzięki którym mogą zwiększyć szybkość wykonywania operacji. Procesory na podstawie analizy już przetworzonych danych są w stanie z dużym prawdopodobieństwem przewidzieć kiedy w instrukcjach warunkowych if-then-else wystąpi konkretne rozgałęzienie. W ten prosty sposób procesor działa szybciej unikając obliczania kosztownych operacji, które po prostu w wielu wypadkach pomija.

Obecne problemy dobitnie pokazują, że bezpieczeństwo systemów informatycznych zależy w bardzo dużym stopniu od najsłabszego ogniwa. Wystarczy jeden producent podzespołów lub oprogramowania, który nie zachowa roztropności, aby wrażliwe dane stały się dostępne dla przestępców. Opisane luki są obecne w procesorach Intela od ponad 20 lat i bardzo trudno stwierdzić, czy zostały kiedykolwiek wykorzystane. | CHIP