.
Załóż konto
EnglishDeutschРусскийFrançaisEspañol中国

Meltdown i Spectre - Wszystko o lukach w procesorach Intel i AMD

Sebastian Oktaba | 10-01-2018 16:00 |

Meltdown i Spectre Wszystko o lukach w procesorach Intel AMDPoczątek roku musiał solidnie wstrząsnąć Intelem, którego z letargu wyrwało obwieszczenie grupy Project Zero powołanej przez Google, głoszące iż niemalże wszystkie procesory tego producenta posiadają sprzętowe luki umożliwiające wykradanie informacji. Dziurom nadano nazwy Meltdown i Spectre. Przyczyną istnienia obydwu okazuje się konstrukcja współczesnych mikroarchitektur procesorów, dlatego występują one powszechnie oraz dotykają układów potrafiących wykonywać określone (bardzo podstawowe) funkcje. Świat na chwilę wstrzymał oddech, czarnowidze wieszczyli koniec epoki Niebieskich, widmo zagłady zawisło nad Coffee Lake i poprzednikami. Clickbajtowe tytuły stały się chlebem powszednim serwisów technologicznych... tylko czy zwykły użytkownik musi się obawiać Meltdown i Spectre?

Meltdown i Spectre Wszystko o lukach w procesorach Intel AMD [1]

Na ataki Meltdown podatne są procesory Intela począwszy od wspomnianego wcześniej Pentium Pro, poprzez Sandy Bridge i Haswelle, skończywszy na Coffee Lake, wyłączając określone modele z rodziny Atom.

Meltdown, znany również jako CVE-2017-5754, to zagrożenie typu rogue data cache load (złośliwe ładowanie danych z bufora), pozwalające na odczytywanie informacji zapisanych w pamięci podręcznej. Żeby lepiej zrozumieć o czym właściwie rozmawiamy, potrzebna będzie szczypta uproszczonej teorii działania procesorów. Otóż, jednostki obliczeniowe posiadają mechanizmy umożliwiające wykonywanie pewnych rozkazów poza kolejnością tzw. przewidywanie skoków warunkowych i bezwarunkowych, co zostało wprowadzone jeszcze w czasach Intel Pentium Pro. Spekulatywne (warunkowe) wykonanie instrukcji, polega na realizowaniu dalszych operacji, zanim będzie pewność czy przewidywanie faktycznie było poprawne. Meltdown wykorzystuje powyższy mechanizm do odczytania danych, które zostały przekazane do pamięci podręcznej - nawet jeżeli zgadywanie okazało się błędne i finalnie zostało zastąpione właściwym, informacje zostają w buforze gotowe do poskładania bajt po bajcie.

Na ataki Meltdown podatne są procesory Intela począwszy od wspomnianego wcześniej Pentium Pro, poprzez Sandy Bridge i Haswelle, skończywszy na Coffee Lake, wyłączając określone modele z rodziny Atom, które możliwości przewidywania rozkazów po prosu nie posiadają. Zgadza się - powyższa luka w architekturach Intela istnieje od 1995 roku. Również jednostki Cortex A-75, A-72 oraz A-15 dotyka Meltdown, chociaż stopień zagrożenia zależy od konkretnej serii. Jeśli natomiast chodzi o procesory AMD, problem nie występuje ze względu na odmienną mikroarchitekturę. Dlatego przyjmujemy, że Meltodown jest głównie zmorą Intela. Pytania brzmią - jakie faktyczne zagrożenia niesie i jak przeciwdziałać temu zjawisku? Chociaż jest to luka sprzętowa, rozwiązanie problemu okazuje się stosunkowo proste - wystarczy przenieść pamięć kernela do osobnej przestrzeni pamięci wirtualnej. Zabieg nazwano kernel page-table isolation (KPTI), oznacza to jednak dodatkowe obciążenie dla procesora.

I wówczas rozpętała się burza, ponieważ użytkowników straszono spadkami wydajności sięgającymi 60% na Intel Core i7-6700 po zaaplikowaniu stosownych aktualizacji niwelujących zagrożenie atakiem Meltdown. A wiedzieć trzeba, że procesory Skylake miały rzekomo stracić najmniej! Potem prognozy nieco złagodzono, operując wartościami w przedziale 10-20%, ostatecznie schodząc do skromnych 5% przy typowo casualowych zastosowaniach (m.in.: grach komputerowych). Zdecydowanie gorzej sytuacja może wyglądać w przypadku operowania na dużych bazach danych albo usługach chmurowych, co poniekąd potwierdził Amazon w pośpiechu aktualizując EC2. Diagnoza jest, a teraz leczenie - Windows 10 otrzymał już łatkę KB4056892, macOS 10.13.2 został zaktualizowany w grudniu, aktualizację do wersji 4.15 dostał też Linux (dla procesorów AMD jest nawet łatka dezaktywująca zmiany: X86_VENDOR_AMD). Co jeszcze można zrobić? Firefoksa zaktualizować do wersji 57, Chrome włączyć Strict Site Isolation, natomiast Internet Explorer oraz Edge poczęstować aktualizacją KB4056890.

Co wiadomo o lukach Meltdown oraz Spectre w CPU Intela i AMD

Meltdown i Spectre Wszystko o lukach w procesorach Intel AMD [2]

Trzeba wiedzieć, że atakami Spectre zagrożone są procesory Intela, AMD* i ARM, system operacyjny jest tutaj kompletnie bez znaczenia. Programowe załatwienie tego problemu jest najprawdopodobniej niemożliwe.

Spectre to trochę bardziej skomplikowany temat, ponieważ w ramach tego zagrożenia otrzymujemy kombinację CVE-2017-575 (bounds check bypass) oraz CVE-2017-5715 (branch target injection). Podobnie jak w przypadku Meltdown, przyczyny istnienia Spectre należy upatrywać na poziomie sprzętowym, wynika bowiem ze spekulatywnego wykonywania rozkazów w całej rozciągłości działania tego mechanizmu. Przykładowo - jeśli napastnik atakujący nasz komputer uruchomi proces posiadając uprawnienia użytkownika, może odczytywać informacje nie tylko ze swojego, ale również z innych procesów. W konsekwencji istnieje zagrożenie odczytania ciasteczek (danych logowania) poprzez JavaScrip w przeglądarkach internetowych. Co najgorsze, programowe załatwienie tego problemu jest najprawdopodobniej niemożliwe, natomiast gdyby ktoś chciał tego jednak dokonać, musiałby dezaktywować wykonywanie spekulatywne dla aplikacji. Oznaczałoby to drastyczne spadki wydajności na wszystkich platformach. Trzeba bowiem wiedzieć, że atakami Spectre zagrożone są procesory Intela, ARM i AMD (*producent podaje zagrożenie "bliskie zeru" przy niestandardowej konfiguracji, domyślne ustawienia powinny je całkowicie wykluczyć), a system operacyjny jest tutaj bez znaczenia.

Brzmi groźnie, dlatego trochę pocieszająca będzie informacja, że wykorzystanie Meltdown i Spectre nie jest wcale proste, a wykonanie kodu wymaga bezpośredniego dostępu do maszyny, ewentualnie przejęcia kontroli nad komputem. Poza tym, obydwie luki pozwalają informacje uzyskiwać, jednak nie pozwalają na aktywowanie złośliwego kodu tzn.: atakujący może wykraść nasze dane (np.: hasła), ale większych strat raczej nie narobi. Zresztą, żyjemy w czasach firmowych backdoorów, sprzętowych luk w oprogramowaniu oraz telemetrii stosowanej przez producentów najpopularniejszych systemów operacyjnych, więc szczerze powiedziawszy Meltdown i Spectre poprzeczki jakoś specjalnie nie podnoszą. Najbardziej dotkliwą konsekwencją tego zamieszania mogą być spadki wydajności procesorów Intela, niemniej ze wstępnych obserwacji przeprowadzonych w redakcji wynika, że przynajmniej Kaby Lake i Coffee Lake zachowują swoje pozycje w programach i grach komputerowych stosowanych w procedurach. Mogę chyba zdradzić, że testy procesorów jakie niebawem zaczynam, będą zrobione według nowej metodyki oraz uwzględnią aktualizację KB4056892 dla Windows 10.

Poruszenie wśród gawiedzi próbuje wykorzystać także Microsoft, który czując podmuch wiatru w żaglach oznajmił, że największe spadki wydajności odczują posiadacze procesorów wyprodukowanych przed 2015 rokiem i oczywiście systemów Windows 7/8 lub starszych. W najlepszej sytuacji są rzecz jasna użytkownicy Windows 10 oraz procesorów Skylake albo późniejszych, które Microsoft serdecznie poleca. Google broni natomiast swojego systemu na smartfony twierdząc, że problem Spectre rozwiązało poprzez zablokowanie dostępu do precyzyjnych timerów, czyniąc to również dla przeglądarki Chrome 63 oraz Chromebooków. Według ekspertów jest to jednak tylko chwilowe utrudnienie dla agresorów, które zagrożenia nie niweluje. Potencjalne aktualizacje mikrokodu dla samych procesorów także nazywane są protezą. Cóż... Prawdopodobnie dopiero kolejne generacje CPU będą bezpieczne... chociaż niewykluczone, że otrzymają jakieś inne dziury, które ujrzą światło dzienne po latach.

Źródło: PurePC
Twoja ocena publikacji:
47
Sebastian Oktaba
Liczba komentarzy: 150

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.