Dziury Meltdown i Spectre pozostaną z nami przez lata
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.
Komentarze (9)
Przemek Kobel, 5 stycznia 2018, 14:00
O ile dobrze wyczytałem, z Meltdownem problem jest taki, że kod wykonywany w ramach OOO (Out Of Order Execution - wykonywanie kodu poza kolejnością) nie jest poddawany ochronie pamięci. Test jest wykonywany dopiero wtedy, gdy gdy dana gałąź kodu okaże się prawidłowa. Ale jeśli procesor wykona wyjątek zanim będzie mógł określić ważność danej gałęzi, dane dostępne w zrzucie zawierają wyniki operacji wykonywanych na teoretycznie chronionej pamięci. Problem dotyczy przede wszystkim Intela, bo takie zachowanie procesora to po prostu obejście poprawiające wydajność. Konkurencyjne układy są nieco wolniejsze, ale w takich sytuacjach zachowują się bezpieczniej.
Według raportu istnieją przesłanki sugerujące, że w procesorach innych producentów OOO również nie ma pełnej ochrony pamięci, ale z jakiegoś powodu po wywołaniu wyjątku (np. dzielenia przez zero) nie ujawnia się chronionych danych.
fra, 6 stycznia 2018, 17:53
Z artykułu wynika, że groźniejsza jest pierwsza opisana dziura. Nie jesteśmy skazani na poprawki w systemach operacyjnych, spowalniające prace kompa o 30% - wystarczy mieć procesory AMD.
wilk, 6 stycznia 2018, 18:39
Tak, jest zdecydowanie groźniejsza. Ciekawe czy nie okaże się to kiedyś celowym backdoorem. Ponadto łatka nie spowalnia o 30%. To tylko najgorszy możliwy scenariusz zastosowania powtarzany przez nietechniczne media (faktycznie sięga nawet przeszło 60%). Zwykły narzut to ok. 1-5%. Największy narzut jest podczas operacji dyskowych czy bazodanowych. M.in. AMD też jest podatne, choć w mniejszym zakresie i w innych warunkach.
thikim, 6 stycznia 2018, 21:53
To ciekawy problem. Zwłaszcza biznesowo. Firmy produkujące procesory zarobią na tym krocie
I teraz wyobraźcie sobie np. akcje. Informacja o dziurach: akcje powinny spaść
https://stooq.pl/q/?s=intc.us&c=1y&t=l&a=lg&b=0
Ale jakoś spadku nie widać. Widać raczej że jednak akcje to akcje. Ludzie starają się myśleć,
wilk, 7 stycznia 2018, 23:11
Trochę spadku jest. Poza tym łatki oficjalnie jeszcze chyba nie są w autoupdate. Zacznie się, gdy ludzie zaczną się wkurzać. Poza tym od dawna na giełdach nie grają ludzie tylko boty. :>
thikim, 8 stycznia 2018, 17:43
Tego spadku nie liczyłem ponieważ był solidnym odreagowaniem po dużych wzrostach.
A na giełdach dalej ludzie: tylko zachowują się jak boty. To samo na fake kontach
Gość, 8 stycznia 2018, 18:29
Empiria na zbyt małej populacji (sztuk jedna) może prowadzić na manowce.
thikim, 8 stycznia 2018, 18:42
To nie empiria tylko żart, droga Marzeno
Gość, 11 stycznia 2018, 12:00
Dość płaski. Wniósł coś merytorycznego do dyskusji? Sugeruję pójść innym tropem: ludziom pięknie wydaje się, że myślą.