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