Najważniejszym tech-newsem zeszłego tygodnia była bez wątpienia luka w zabezpieczeniach procesorów Intela, AMD i ARM. Luka, która oprócz niebezpieczeństwa wycieku danych, miała skutkować także znacznym spowolnieniem sprzętu milionów użytkowników na całym świecie.

Po kilku dniach obserwacji problemu, oficjalnych komunikatach największych firm technologicznych w tej sprawie oraz dziesiątkach publikacji wyjaśniających problem, postanowiliśmy zebrać wszystkie dostępne informacje w całość i przedstawić je wam w formie krótkiego konspektu. Staramy się odpowiedzieć na pytanie jak zabezpieczyć się przed niebezpieczeństwem oraz czy nasze komputery rzeczywiście zwolnią.

Przypomnijmy, że chodzi o błąd w architekturze procesorów Intela, AMD i ARM, które powoduje swoistą lukę, pozwalającą na uzyskanie dostępu do innych procesów i kradzież danych. Zagrożone są takie informacje jak przechowywane hasła, wiadomości, prywatne zdjęcia, czy inne poufne dokumenty.

Tuż po nagłośnieniu problemu przez media, googlowski The Project Zero opublikował informacje na temat 3 możliwych ataków, na jakie narażone są urządzenia posiadające te procesory. Mowa tutaj o ataku Meltdown oraz dwóch innych zagrożeniach o zbiorczej nazwie Spectre.

meltdown i spectre

Meltdown – na czym polega atak?

Meltdown to nazwa przyjęta dla zagrożenia CVE-2017-5754, rogue data cache load. Najprościej ujmując, Meltdown przełamuje izolację pomiędzy aplikacjami a systemem operacyjnym. Atak pozwala programowi uzyskać dostęp do pamięci procesora, a tym samym także do danych zapisanych w innych programach i systemie operacyjnym.

Jako, że Meltdown jest luką sprzętową, atak można stosunkowo łatwo wykonać na wszystkich urządzeniach działających na podatnych procesorach, bez względu na wykorzystany system operacyjny. Na szczęście lukę łatwo można także załatać. Odpowiednie aktualizacje w tym celu są w tym momencie wydawane przez większość producentów oprogramowania.

O zabezpieczeniu przed Meltdown piszemy w dalszej części tekstu.

Spectre – czy da się przed nim zabezpieczyć?

Spectre to zbiorcza nazwa dwóch podatności – CVE-2017-575, bounds check bypass, oraz CVE-2017-5715, branch target injection. W tym przypadku izolacja łamana jest także między różnymi aplikacjami. Pozwala atakującemu na uruchomienie własnego procesu z uprawnieniami zwykłego użytkownika oraz wydobycie informacji z innych procesów działających w systemie.

Spectre jest niezwykle trudny do przeprowadzenia, jednak jeszcze trudniejszy do obrony, a przez to bardziej niebezpieczny. Obawy potęguje fakt, że atak ten jest niemal niemożliwy do wykrycia. Luka Spectre jest niesusuwalna. Oznacza to, że bez wymiany procesora na nową generacje nie ma sposobu aby się ustrzec przed atakiem.

Ze strony Google pojawiły się głosy, że exploitowanie Spectre, jest możliwe i stosowne łatki dostępne są w systemie Android oraz w przeglądarce Chrome 63. Sposobem na ochronę przed Spectre byłoby zablokowanie dostępu do timerów potrzebnych do przeprowadzeni ataku. Specjaliści jednak poddają pod wątpliwość skuteczność tej metody i jej praktyczność – wskazując na znaczne obniżenie wydajności oraz niemożliwość przeprowadzenia tej metody wśród wszystkich dostępnych aplikacji.

Wiecej informacji na temat Meltdown i Spectre znajdziemy na specjalnie stworzonej na te potrzeby stronie internetowej meltdownattack.com. Obszerną publikację na ten temat przygotowało także Google na swoim oficjalnym blogu. Osobom zainteresowanym nieco bardziej technicznym podejściem do tematu polecamy także blog The Project Zero.

Meltdown i spectre – jakie urządzenia są podatne na atak?

  • Procesory Intel 
    W najgorszym położeniu znajdują się urządzenia wyposażone w procesory Intel – poza 32-bitowymi Atomami, wszystkie modele od 1995 roku są podatne na ataki Meltdown, Spectre I oraz Spectre II.
  • AMD
    Użytkownicy procesorów AMD nie muszą martwić się o Meltdown. Jak dowiadujemy się z komunikatu bezpieczeństwa, wszystkie modele marki są całkowicie odporne na ten atak, a ich budowa dodatkowo ogranicza ryzyko ataku typu Spectre II.
  • ARM
    W przypadku procesorów ARM, Meltdown zagraża przede wszystkim modelowi Cortex A-75. Modele A-15 i A-72 podatne są na osłabioną wersje ataku. Wszystkie modele od Cortex-A8 do A-75 są podatne na ataki Spectre.

Czy konieczna jest wymiana sprzętu?

Choć wymiana procesora na nowy wydaje się być słusznym krokiem, trudno wyobrazić sobie aby miliony użytkowników na całym świecie było w stanie ponieść teraz taki wydatek. Musimy pamiętać też o tym, że nawet najnowsze procesory nie są wolne od Spectre. Stworzenie skutecznego zabezpieczenia przed tego typu atakiem może potrwać nawet kilka lat.

W obecnej sytuacji warto skupić się raczej na zabezpieczeniu swojego sprzętu przed Meltdown i pogodzenie się z chwilową utratą wydajności, spowodowaną aktualizacjami zabezpieczającymi. Przy wyborze nowego sprzętu jednak warto uważnie rozważyć wybór procesora.

O jakim spadku wydajności mowa? Już teraz wiadomo, że początkowe obawy jakoby sprzęt miał zwolnić nawet o 63% są mocno przesadzone. Użytkownicy domowych komputerów nie powinni odczuć spowolnienia ich działania.

Oto faktyczny spadek wydajności urządzeń przed i po instalacji aktualizacji Windows 10 (test portalu ComputerBase):

Test computerbase

W nieco gorszej sytuacji wydają się być gracze i osoby wykorzystujące do pracy nieco cięższe oprogramowanie. Jednak nawet w tym przypadku podczas tych samych testów nie zanotowano dotąd spadku wydajności przekraczającego kilka procent.

Test computerbase gry

Jak duże jest zagrożenie?

Biorąc pod uwagę skalę problemu, przede wszystkim ilości urządzeń jakich on dotyczy, trudno nie docenić ryzyka zagrożenia. Z drugiej strony nie brakuje także głosów bagatelizujących sprawę. Z oficjalnego oświadczenia prasowego Intela dowiadujemy się m.in. czynienia z błędem, ale z software’ową metodą badawczą, którą pozwala „jedynie” na odczytanie z pamięci wrażliwe danych, haseł i kluczy, bez obawy o ich skasowanie czy modyfikowanie. 

Oczywiście nikogo nie dziwi takie podejście firmy do prawy. Wykryta usterka to największy kryzys PR-owy z jakim Intel musi mierzyć się od początku powstania. Wartość akcji firmy spada w zastraszającym tempie, a doniesienia jakoby prezes spółki Brian Krzanich pozbył się swojej części akcji tuż przed nagłośnieniem wpadki, z pewnością nie pomagają jej PR-owi. 

Jednak nie tylko Intel stara się uspokajać użytkowników. Zauważa się także, że o ile Meltdown jest stosunkowo łatwym do przeprowadzenia atakiem, a więc ryzyko jego wystąpienia jest dość wysokie, o tyle stosunkowo łatwo się przed nim ustrzec – jak to zrobić tłumaczymy w kolejnej części wpisu.

Dużo większym problemem wydaje się Spectre – jeszcze bardziej niebezpieczny, niemal niemożliwy do wykrycia i póki co niemożliwy do zabezpieczenia przed. Warto jednak pamiętać o tym, że Spectre jest także znacznie trudniejszy do przeprowadzenia i wymaga znacznych zasobów technologicznych. Raczej mało prawdopodobne aby organizacja posiadająca takie zasoby użyła ich do ataku na prywatne komputery czy smarfony – najbardziej zagrożone są dużo większe instytucje, takie jak służby wywiadowcze, czy banki.

To, że przeciętny Kowalski nie musi się go obawiać ataku Spectre na swoje urządzenia, nie oznacza oczywiście, że nie stanie się jego ofiarą. Skutecznie przeprowadzony atak na serwery instytucji rządowych czy finansowych może przynieść niewyobrażalne skutki. Aby temu przeciwdziałać, już teraz opracowywane są nowe sposoby zabezpieczenia, z przeprojektowaniem mikroarchitektury procesorów włącznie. Odkrycie luki w architekturze procesorów paradoksalnie może podnieść poziom cyberbezpieczeństwa. Aby się to jednak stało, będziemy musieli poczekać nawet kilka lat.

Jak zabezpieczyć swój komputer przed Meltdown?

Najskuteczniejszym zabezpieczeniem przed Meltdown jest przeniesienie pamięci kernela w oddzielną przestrzeń pamięci wirtualnej (tzw. Kernel Page Table Isolation – KPTI). To właśnie ta czynność miała spowodować duże obciążenie pracy systemu skutkujące jego spowolnieniem, czego wszyscy się obawiali. Wiodący producenci oprogramowania już rozpoczęli procedurę aktualizacji swoich produktów o taką izolację. W przypadku Windows 10 pożądana aktualizacja znajduje się w paczce KB4056892, iOS – w aktualizacji z numerem 10.13.2. Osobne aktualizacje dla swoich produktów zostały przygotowane także przez Firefox oraz Google.

Jeśli jesteśmy użytkownikami Windows 10, Windows 7 SP1 lub Windows 8.1, możemy w dość łatwy sposób sprawdzić, czy nasz komputer jest już chroniony. Wystarczy w tym celu uruchomić okolicznościowy skrypt PowerShell. Szczegółową instrukcję jak to zrobić oraz jak interpretować wyniki opisują DobreProgramy.pl.

Podstawową czynnością, jaką powinien wykonać każdy użytkownik, jest upewnienie się, czy system operacyjny, przeglądarka i inne użytkowane programy zostały zaktualizowane do najnowszej wersji. Warto zadbać także o aktualizacje wszystkich sterowników, programów wspomagających i rozszerzeń. Dodatkowo użytkownicy Chrome 64 mogą włączyć funkcję izolowania na poziomie witryny, poprzez włączenie flagi Site Isolation (chrome://flags/#enable-site-per-process). Dokładną instrukcję znajdziemy tutaj.