Dziś cały dzień aktualizowaliśmy nowe informacje dotyczące poważnej dziury w procesorach różnych producentów (ale przede wszystkim Intela). Informacji było wiele, ale z racji embarga, nie wszystko było wiadomo. Po godzinie 20:00 naszego czasu w sprawie dziury w końcy wypowiedział się Intel, którego akcje zaliczyły spory spadek. Intel zbagatelizował dziurę i Google chyba nie wytrzymało tego PR-u w wykonaniu Intela. Zespół bezpieczeństwa Google, a dokładnie Projekt Zero, postanowił więc złamać embargo i ujawnić szczegóły techniczne błędu i ataku. Słusznie.

Ten artykuł jest de facto 4 aktualizacją do naszego mega-artykułu poświęconego dziurze (a teraz już wiadomo, że dziurom) w procesorach Intela i ARM (a teraz już wiadomo, że także w AMD). Z racji powagi sytuacji i objętości, postanowiliśmy tę 4 aktualizację opublikować jako osobny artykuł. Oryginalny artykuł i pozostałe aktualizację (wraz z tą) znajdziesz tutaj

Google ujawnia szczegóły i powagę dziury

Z bardziej ogólnego wpisu na blogu Google Security dowiadujemy się, że błąd odkryły niezależnie 3 zespoły, w tym badacza Google. Google błędy nazywa “serious security flaws” (teraz ci, którzy nie wierzyli w powagę problemu mogą już przestać śmieszkować). Błędy dotyczą wielu popularnych procesorów, także w AMD, choć trzeba przyznać, że problemy związane z tymi procesorami są mniej poważne niż w przypadku Intela i póki co zostały potwierdzone jedynie w niedomyślnych konfiguracjach pracy procesora (AMD PRO CPU, eBPF JIT włączone).

Badacze opublikowali dedykowaną stronę opisującą ten błąd: https://meltdownattack.com/ — wraz z logo (a jakże!):

Meltdown i Spectre

Google rozbija podatność na 2 ataki: Meltdown i Spectre. Jesteście gotowi na to, co strasznego (i potwierdzonego) za pomocą tych błędów można zrobić? To najpierw usiądźcie.

Meltdown and Spectre exploit critical vulnerabilities in modern processors. These hardware bugs allow programs to steal data which is currently processed on the computer. While programs are typically not permitted to read data from other programs, a malicious program can exploit Meltdown and Spectre to get hold of secrets stored in the memory of other running programs. This might include your passwords stored in a password manager or browser, your personal photos, emails, instant messages and even business-critical documents. Meltdown and Spectre work on personal computers, mobile devices, and in the cloud.

I bardziej technicznie:

The Project Zero researcher, Jann Horn, demonstrated that malicious actors could take advantage of speculative execution to read system memory that should have been inaccessible. For example, an unauthorized party may read sensitive information in the system’s memory such as passwords, encryption keys, or sensitive information open in applications.

Atak pozwala też na wyskakiwanie z wirtualnych maszyn:

Testing also showed that an attack running on one virtual machine was able to access the physical memory of the host machine, and through that, gain read-access to the memory of a different virtual machine on the same host.

Aby przeprowadzić atak na systemie-ofierze atakujący musi mieć możliwość uruchomienia swojego kodu. Są trzy wektory ataku — każdy może być przeprowadzony z uprawnieniami zwykłego użytkownika.

The Project Zero researchers discovered three methods (variants) of attack, which are effective under different conditions. All three attack variants can allow a process with normal user privileges to perform unauthorized reads of memory data, which may contain sensitive information such as passwords, cryptographic key material, etc.

Ale co najstraszniejsze, jednym z wektorów ataku może być złośliwy kod JavaScript umieszczony na stronie internetowej, który uzyska dostęp do danych z innych kart (domen) otwartych w przeglądarce. Można to efektywnie wykorzystać do kradzieży ciastek.

Co robić, jak żyć?

Tutaj znajdziecie listę urządzeń, oprogramowania i usług Google wraz ze wskazaniem czy są podatne, a jeśli tak — co należy zrobić.

Przykładowo, użytkownicy przeglądarki Google Chrome powinni włączyć Site Isolation (osobne przestrzenie adresowe dla każdego z tabów).

Wpisz w pasku adresu: chrome://flags#enable-site-per-process i włącz oraz zrestartuj przeglądarkę

Google twierdzi, że prawie każdy jest podatny na ataki Meltdown i Spectre:

Every Intel processor which implements out-of-order execution is potentially affected, which is effectively every processor since 1995 (except Intel Itanium and Intel Atom before 2013). We successfully tested Meltdown on Intel processor generations released as early as 2011. Currently, we have only verified Meltdown on Intel processors. At the moment, it is unclear whether ARM and AMD processors are also affected by Meltdown.

(…)

Almost every system is affected by Spectre: Desktops, Laptops, Cloud Servers, as well as Smartphones. More specifically, all modern processors capable of keeping many instructions in flight are potentially vulnerable. In particular, we have verified Spectre on Intel, AMD, and ARM processors.

(…)

Cloud providers which use Intel CPUs and Xen PV as virtualization without having patches applied. Furthermore, cloud providers without real hardware virtualization, relying on containers that share one kernel, such as Docker, LXC, or OpenVZ are affected.

Google dodaje, że nie ma szans na to, aby sprawdzić, czy ktoś był/jest ich ofiarą. A że błąd został odkryty niezależnie przez aż 3 zespoły i w przypadku procesorów Intela istnieje od 2010 roku, to można przypuszczać, że od dawna może też być znany i wykorzystywany (bez śladu!) przez inne grupy.

No, to teraz zgodnie z zapowiedzią w poprzednim poście, sugerujemy jak najszybsze wgranie dostępnych patchy, jeśli jeszcze tego nie zrobiliście. Zmierzcie wydajność systemu przed i po zaaplikowaniu patchy — wciąż brakuje wiarygodnych danych o ile faktycznie spada wydajność w zależności od procesora i typu zadań. A potem patrzcie jak świat niebawem zacznie płonąć ;)

Na koniec przypominamy, że informacje o tym gdzie znaleźć patche i inne świeże informacje będziemy umieszczali, jak zwykle, w aktualizacjach tekstu głównego, które znajdziecie tutaj.

Przeczytaj także: