Bezpiecznie w sieci

"Meltdown" i "Spectre" - dwa ataki, które wstrząsnęły procesorami

Dwa błędy wykryte niezależnie przez 3 zespoły eksperckie pozwalają na kradzież w czasie rzeczywistym takich danych jak: hasła, loginy, dane wrażliwe, profile, zdjęcia, wiadomości z zabezpieczonego komunikatora, klucze publiczne i prywatne, dokumenty niezależnie od formatu. Jest to efektem błędu w mikrokodzie procesorów. Obejmuje on procesory Intela i ARM, w znacznie mniejszym stopniu AMD.

Odkrycie obu błędów początkowo postrzeganych jako jeden, nastąpiło już w czerwcu przy okazji badań nad podatnością i atakiem KAISER, omijającym mechanizm ALSR, zabezpieczający procesor, co umożliwiało odczytanie go już z poziomu użytkownika. ALSR jest bowiem mechanizmem randomizującym ułożenie fragmentów kodu w pamięci. Przed 2010 rokiem w przypadku znalezienia błędu i możliwości dostania się do pamięci, każdy atakujący wiedział pod jakim adresem znajdują się interesujące dane; ALSR przydzielając losowo znacznie utrudniał działania atakujących, stąd ominięcie go znacznie ułatwiało ataki.

Reklama

Na początku rozważano tą możliwość jako czysto teoretyczną, potem jednak na letniej konferencji 34C4 okazało się, że atak taki jest praktycznie możliwy do przeprowadzenia i całkiem udany, zaś jego sekret polega na odczytaniu mierzonego czasu pracy procesora , czego można dowiedzieć się, co przetwarza. Na początku stycznia portal The Register, zajmujący się teleinformatyka, opublikował informację iż chodzi o błąd na poziomie mikrokodu, którego nie można zaadresować, obecny we wszystkich procesorach Intela x86-64, a zatem także i tych obsługujących "dużą" architekturę serwerową, a nawet chmurową jak Xeony.

Błąd dotyczył przy tym wszystkich procesorów, jakie miały być produkowane po 2010 roku, czyli wszystkich najnowszych linii produktowych Intela z i7 Skylark włącznie. Ten sam błąd został ujawniony także w procesorach ARM, a zatem w niemal wszystkich urządzeniach Internetu Rzeczy i smartfonach. Wykryto też bardzo podobną podatność w procesorach AMD, jednak - jak się okazało - ten producent miał szczęście bowiem, jego podatności okazały się specyficzne.

W środę 3 stycznia, prezes Intela, Brian Krzanich, atakowany przez media ekonomiczne za potwierdzony fakt sprzedaży pakietu swoich akcji Intela, odniósł się do kwestii podatności w wywiadzie dla CNBC. - Smartfony, telefony, PC - wszystko jakimś stopniu jest podatne, ale jest to zależne od typu urządzenia - zauważył. Prawdopodobnie to lekceważenie problemu przyczyniło się do ujawnienia całego mechanizmu ataku, przez zespół Project Zero, z należącego do Google Alphabet Inc. Okazało się, że Project Zero jest jednym z trzech zespołów, które odkryły ten błąd i tak naprawdę chodzi o dwa typy ataku: Spectre i Meltdown. Drogi prowadzenia tych ataków są różne, ale efekty zawsze te same - wyciek i kradzież danych przetwarzanych przez procesor. Zabezpieczonych danych w tym momencie nie ma: ukraść można zabezpieczone hasła, kody dostępu, loginy dane dotyczące stron, kont bankowych i całe dane tożsamościowe oraz dokumenty w tym dokumenty wrażliwe, niezależnie od ich miejsca składowania i formatu. Wyciec mogą też zdjęcia, wiadomości nawet nadawane poprzez zabezpieczony komunikator, wiadomości z kont na Facebooku. Spectre przy tym umożliwia, przy ataku na wirtualną maszynę, dostęp do fizycznego hosta czyli rzeczywistego procesora. Błędy dotyczą najbardziej procesorów Intela, który jest wrażliwy zarówno na Meltdown jak i Spectre, ARM, który jest wrażliwy na Meldown, w mniejszym stopniu Spectre oraz AMD, ale w tym przypadku nie występuje podatność na Meltdown, zaś na Spectre tylko w niedomyślnych trybach pracy procesora, ustawianych ręcznie - używanych np. przy pracy z dużą ilością grafiki. Procesory AMD są więc stosunkowo bezpieczne. Na obecną chwilę nie ma oświadczenia Apple - koncern milczy od momentu odkrycia obu podatności, ale nieoficjalne informacje wskazują na to iż montowane na nich procesory Intela są tak samo podatne jak używane w komputerach PC.

Istnieją trzy wektory dla obu ataków, wszystkie mogą nastąpić z poziomu uprawnień zwykłego użytkownika, przy czym najprostszy polega na umieszczeniu zagnieżdżonego na stronie internetowej, złośliwego kodu JavaScript. Kod ten jest wykonywalny dla całej przeglądarki z poziomu jednej otwartej karty (domeny).

Zabezpieczenie przed tym błędem stanowi patch. Wprowadza on Kernel Page Table Isolation (KPTI) czyli pełną separację procesów jądra od użytkownika. Jest to proces czasochłonny, bowiem za każdym razem musi zrzut cache i przeładowanie pamięci. Występuje więc spowolnienie i jest ono tym wyraźniejsze im bardziej zasobożerną aplikacją użytkownik się posługuje. Według GRSecurity po zaimplementowaniu patcha najmniejszy spadek wynosi 5 proc., największy - 63 proc. dla procesora i7Skylake-6700. Jak się wydaje, te największe spadki dotyczą pracy z programami graficznymi - redakcyjne testy laptopa z procesorem Intel i3, 8 GB RAM, systemem operacyjnym Ubuntu 10.04 i programem Blender 2.62 wykazały 68 proc. spadku wydajności (laptop po prostu przestał sobie radzić z aplikacją).

Według Linusa Torvaldsa średni spadek wydajności dla zwykłego użytkownika wyniesie około 5 proc., ale negują to stwierdzenie eksperci zajmujący się bezpieczeństwem; ich zdaniem dotyczy to użytkowników, którzy wykorzystują komputer wyłącznie do pracy biurowej i przeglądania Internetu; jeśli stosują go do obsługi bardziej specjalistycznego oprogramowania (naukowe, graficzne, matematyczno-statystyczne) spadek ten będzie zdecydowanie większy i to niezależnie od tego czy zaimplementowano na nich Windows czy którąś z dystrybucji Linuksa.

Patche wprowadzające KPTI są już udostępnione przez Apple od wersji 10.13.2. Microsoft także udostępnił patche dla Windows 10, 8.1 i 8 (nie jest jasne czy obejmują one także Windows 7 wszystkich wersji). Swoje patche wprowadzili także dystrybutorzy systemów linuksowych jak np. Debian.

Z kolei Google ogłosił, jakie działania zastosować przeciwko poszczególnym typom ataków. I tak jeśli chodzi o atak JS, osoby używające Chrome powinny poprzez chrome://flags#enable-site-per-process właczyć Site Isolation, czyli osobne przestrzenia adresowane dla każdej karty. Dalej Android otrzyma Android 2018-01-05 Security Patch Level (SPL) ale tylko dla urządzeń Google czyli Nexus 5X, Nexus 6P, Pixel C, Pixel/XL, Pixel 2/XL. Patch ten mogą też otrzymać i wprowadzić "partnerzy" czyli zapewne największe firmy jak Lenovo, ale setki milionów urządzeń z Androidem, wykonanym jako embedded czyli nieobsługiwanym, które nie otrzymały już patcha na BlueBorne, nie otrzymają patcha i tym razem. Tymczasem w tych smartfonach i tabletach podatności się gromadzą i każdy z nich staje się swoistą bombą zegarową dla użytkownika.

Poprawki dla urządzeń z Chrome OS, mają być dostępne "wkrótce", czyli w ciągu najbliższych kilku dni. Obecnie pojawił się jedynie spekulatywny exploit Proof of Concept wykorzystujący atak Meltdown, ale pojawienie się prawdziwych exploitów na te podatności, jest już tylko kwestią dni. Chodzi bowiem o rodzaj "św. Graala" dla atakujących - odczytywanie dowolnie wybranego obszaru w pamięci kernela w czasie rzeczywistym.

Marek Meissner

INTERIA.PL
Dowiedz się więcej na temat: haker | IT | komputery
Reklama
Reklama
Reklama
Reklama
Strona główna INTERIA.PL
Polecamy
Finanse / Giełda / Podatki
Bądź na bieżąco!
Odblokuj reklamy i zyskaj nieograniczony dostęp do wszystkich treści w naszym serwisie.
Dzięki wyświetlanym reklamom korzystasz z naszego serwisu całkowicie bezpłatnie, a my możemy spełniać Twoje oczekiwania rozwijając się i poprawiając jakość naszych usług.
Odblokuj biznes.interia.pl lub zobacz instrukcję »
Nie, dziękuję. Wchodzę na Interię »