Dziury Meltdown i Spectre pozostaną z nami przez lata

| Bezpieczenstwo IT
Ariel Schlesinger

Google poinformowało, że jego badacze pracujący w ramach Project Zero już przed kilku miesiącami odkryli głośne ostatnio dziury w procesorach i poinformowali o nich producentów chipów. Luka Meltdown występuje w układach Intela i ARM, a Spectre jest obecna w kościach wszystkich producentów.

Na atak na Meltdown podatne są wszystkie układy x86 Intela wyprodukowane po 1994 roku, które stosowały technologię wykonywania instrukcji poza kolejnością. Technologii tej nie stosowały jedynie 32-bitowe Atomy, im więc Meltdown nie zagraża. Atak można też przeprowadzić na ARM-y z rdzeniami Cortex-A75, a odmiana Meltdown występuje też w starszych rdzeniach.
Dziura pozwala na wykorzystanie mechanizmu predykcji, który pozwala procesorowi na odgadnięcie kolejnej instrukcji. Jeśli układ jej nie odgadnie, musi się cofnąć i wykonać instrukcję, która została wykonana w programie. Jednak, jak się okazuje, ten mechanizm cofania się nie działa jak powinien, a w buforach pozostają dane. Przez to napastnik ma możliwość podejrzenia takich danych i ten sposób, po kawałku, odtworzyć całą zawartość pamięci jądra.

Atak można przeprowadzić na wszystkie systemy operacyjne. Ich producenci wydali już odpowiednie zabezpieczenia. Windows 10 zabezpieczono poprawką KB4056892, w Linuksie zaktualizowano jądro 4.15, a macOS został zabezpieczony już werji 10.13.2. Problem jednak w tym, że łaty spowalniają pracę systemy nawet o 30%.

Nieco inaczej ma się sprawa z błędem Spectre. To właściciwie dwa błędy. Z jednej strony atak jest trudny do przeprowadzenia, z drugiej – błąd jest niemal niemożliwy do załatania.

Spectre występuje w układach Intela, AMD oraz ARM. Dzięki tej dziurze atakujący, który uruchomił własny proces na prawach użytkownika, może odczytać informacje z innych procesów w systemie. Pozwala nawet na nieuprawnione odczytywanie zawartości kernela z poziomu wirtualnej maszyny. Pojawiły się różne propozycje rozwiązań problemu Spectre, jednak wielu specjalistów zwraca uwagę, że aby poradzić sobie z tą dziurą na poziomie programowym, konieczne byłoby przekompilowanie wszystkich używanych programów. Tak naprawdę jedynym rozwiązaniem jest tutaj... wymiana procesora. Rodzi się jednak pytanie, co w zamian? Czy na rynku jest obecny jakiś nowoczesny procesor bez dziury Meltdown lub Spectre.

Wiele wskazuje na to, że przez najbliższe lata będziemy musieli pogodzić się z faktem, że zarówno nasze komputery, jaki i chmury obliczeniowe czy maszyny z którymi łączymy się za pośrednictwem internetu, działają wolniej. Nawet jeśli w ciągu najbliższych kilkunastu miesięcy na rynek trafią modele procesorów bez występujących w nich dziur Meltdown i Spectre to minie wiele lat, zanim dojdzie do wymiany CPU w większości komputerów na świecie.

Meltdown Spectre procesor dziura luka