Niebezpieczna nadgorliwość komputera

Niebezpieczna nadgorliwość komputera
Rok 2018 w branży komputerowej to zgodnie z receptą Hitchcocka na pomysł na dobry film - zacząć od trzęsienia ziemi. Słyszeliśmy, że hakerzy mogą wykradać dane, wykorzystując wady konstrukcyjne komputerowych procesorów. A krytyczne wady ma większość dostępnych na rynku chipów.

Jedyne, co może w tej sytuacji zrobić zwykły użytkownik, to dopilnować aktualizacji oprogramowania w komputerze. Powinien też zainstalować program typu uBlock Origin do ochrony przed malwarem czającym się w reklamach i zdolnym do wykorzystywania ukrytych w procesorach luk.

Na czym polega problem z mikroprocesorami? Głównie na tym, że zostały zaprojektowane przede wszystkim pod kątem wydajności, a w mniejszym stopniu z troską o bezpieczeństwo. Stosują one m.in. specyficzny trick, polegający na swoistej nadgorliwości w przewidywaniu, co użytkownik za chwilę zrobi i inicjowaniu tej operacji, zanim on sam ją zacznie – np. pobieraniu danych z pamięci zanim wprowadzona zostanie komenda użytkownika. Oczywiście użytkownik może zrezygnować z operacji i wówczas procesor ją porzuca, ale jego aktywność w przewidywaniu działań potencjalnie wiele zdradza amatorom nielegalnie zdobywanych danych.

Przypuszcza się, że kod przewidujący kolejne operacje nie jest poddawany testom bezpieczeństwa, takim jak normalne instrukcje. Podatność taką da się wykorzystać choćby w ten sposób, by kierować na procesor szereg spreparowanych instrukcji, których celem jest wywołanie odpowiedniej "przewidującej" instrukcji, jaka nie zostałaby wykonana w sposób bezpośredni.

Powagę sytuacji wzmaga fakt, że chodzi o wady sprzętowe obecne w milionach już działających urządzeń. Nie da się ani szybko, ani łatwo, ani tanio wymienić setek milionów pracujących na świecie chipów. W procesorach Intela błąd ten prawdopodobnie dotyczy wszystkich egzemplarzy produkowanych w ostatniej dekadzie, a więc również systemu macOS używanego na komputerach firmy Apple. Za grupę największego ryzyka uważa się użytkowników maszyn wirtualnych, gdyż pomiędzy nimi mogą nastąpić wycieki pamięci. Ustalono, że błąd może pozwalać dowolnemu oprogramowaniu (od silnika bazy danych do prostego skryptu JavaScript uruchamianego w przeglądarce) na dostęp do struktury lub zawartości chronionych obszarów pamięci jądra systemu. To zaś może być używane do przechowywania różnego rodzaju danych, do których nie powinny mieć dostępu procesy użytkownika – np. haseł czy kluczy szyfrowania. Potencjalne skutki są trudne do określenia.

 

Być może luka jest niebezpieczna tylko w wypadku kierowanego ataku, ale w najgorszym scenariuszu zagrożeniem może okazać się nawet zwykłe wejście na stronę internetową, prowadzące do utraty chronionych informacji. Zarówno firma Intel, jak i Microsoft najprawdopodobniej pracują już od kilku miesięcy nad środkami naprawczymi, jednak obie zachowują się w tej sprawie nad wyraz dyskretnie. O ich poczynaniach wiemy głównie dzięki społeczności Linuksa, która zauważyła zmiany w jądrze oraz nałożenie dodatkowej warstwy ochronnej, tzw. KPTI (Kernel Page-Table Isolation).

Użytkownicy dostrzegli, że nakładane przez Intela łatki powodują zmniejszenie wydajności procesorów nawet do ok. 30%. Według nieoficjalnych informacji, chipów AMD problem ten nie dotyczy. Jednak - przynajmniej jeśli chodzi o Linuksa - łatki zabezpieczające zmniejszają ich wydajność tak samo jak procesorów intelowych, co należałoby uznać za nie fair.