Cyberzagrożenia

Meltdown i Spectre – wszystko co musisz wiedzieć o lukach w procesorach Intela

Czas czytania: 3 min

Meltdown i Spectre mają pole do popisu. Produkowane od 10 lat procesory Intela z krytyczną luką w zabezpieczeniach.

3 stycznia 2018 badacze bezpieczeństwa Google, Graz University of Technology. kilka instytucji edukacyjnych, ujawnili wiele krytycznych luk. Występowały one w większości nowoczesnych procesorów INTEL, AMD oraz ARM. Najpoważniejsza podatność – Meltdown (CVE-2017-5754) – wydaje się wpływać na procesory wypuszczone w ciągu ostatnich 10 lat. Z drugiej strony patrząc – Spectre (CVE-2017-5715 and CVE-2017-5753) – teoretycznie wpływa na wszystkie typy procesorów. Ponadto w najnowocześniejsze procesory produkowane przez INTEL, AMD, ARM i wiele innych.

Zanim przejdę do szczegółowego omówienia tych luk oraz ich działania, chcę uspokoić klientów WatchGuard’a – podatności nie będą miały na nich wpływu. Mimo tego, ze niektóre z rozwiązań tego producenta korzystają z procesorów dotkniętych problemem, to wpływ na użytkowanie jest niewielki. Produkty WatchGuard są bezpieczne – nie pozwalają same w sobie na wykonanie niepożądanego kodu, który jest niezbędny do wykonania eksploracji (są zablokowane przed wykonywaniem wewnętrznych skryptów).

Architektura CPU 101

Nowoczesne systemy operacyjne opierają się na konkretnych funkcjach bezpieczeństwa. Zapobiegają czytaniu pamięci przez nieuprzywilejowane i uprzywilejowane procesory (np. system kernel). Dla przykładu – aplikacja oparta na przeglądarce internetowej nie powinna mieć możliwości czytania procesorów pamięci, wykorzystywanej przez menadżera haseł.

System operacyjny i CPU pracują wspólnie. Wszystko po to, aby zapobiec nieuprzywilejowanemu dostępowi do pamięci poprzez alokowanie indywidualnych, wirtualnych pól pamięci dla każdego z procesów. Ustawiają odpowiednio sprecyzowany upoważniony dostęp, taki jak możliwość „odczyt/zapis” lub dostęp użytkownika dla każdego mapowania pamięci wirtualnej na fizyczną.

Jeżeli natomiast nieuprzywilejowany proces próbuje dostać się do mapowanej pamięci – do której wstępu mieć nie powinien – procesor uruchamia wyjątek i wykonanie procesu zostaje zablokowane.

Współczesne procesory wykorzystują funkcję zwaną „wykonywanie spekulacyjne”. Jest to forma potokowania, w której wiele instrukcji czy poleceń wykonywanych jest równolegle zamiast sekwencyjnie. Jeśli podczas takiego wykonywania poleceń nie występują żadne problemy, CPU oszczędza czas. Rezultaty są gotowe do wykonania w „razie potrzeby”. Nie trzeba w ten sposób czekać na wykonanie każdego kolejnego polecenia przed przejściem do następnego procesu. Jeśli natomiast wystąpią jakiekolwiek wyjątki podczas wykonywania procesu polecenia, które mają miejsce po wystąpieniu wyjątku są odrzucane.

Meltdown i spectre – podatność Metldown 

Autorzy podatności Meltdown odkryli, że mogą wykorzystać tę spekulatywną funkcję wykonywania w procesach INTEL’a. Robi się to po to, żeby stworzyć atak z kanału bocznego, który jest zdolny do odczytania dowolnych lokalizacji pamięci, używanych przez inne procesy, jak i samo jądro systemu. Naukowcy odkryli, że jeśli procesor poprawnie odrzuca wyniki procesów, które logicznie występują po wykonaniu wyjątku (wykonanym równolegle z instrukcją, która spowodowała wyjątek), procesor nadal buforuje wynik. Osoba atakująca może wtedy użyć ataku z kanału bocznego, takiego jak FLUSZ+RELOAD, aby odczytać wynik z pamięci podręcznej.

Metoda ataku Meldown jest nowatorska i może być wykorzystana przy użyciu języków programowania takich jak C czy JavaScript.

Podsumowanie 

Wykorzystując luki, Metldown umożliwi atakującemu odczytanie poufnych informacji bezpośrednio z pamięci. Idzie za tym wykradnięcie haseł lub kluczy szyfrujących.

Meltdown posiada „siostrę” Spectre, która wykorzystuje podobne metody ataku. Różnica polega na tym, że może odczytywać pamięć użytą przez nieuprzywilejowane procesy. Nie ma jednak dostępu do zasobów wykorzystywanych przez jądro systemu operacyjnego.

Ponadto ataki Spectre muszą być dostosowywane do indywidualnego środowiska programistycznego celu, co sprawia, że trudność wykorzystania jej wzrasta. Natomiast Spectre teoretycznie wpływa na wszystkie procesy wykorzystujące spekulacyjne wykonanie, które obejmuje najpocześniejsze procesory firmy INTEL, AMD i ARM.

Należy pilnie zaopatrzyć się w powstałe łatki udostępnione przez głównych dostawców systemów operacyjnych. Nie zrażać się faktem, że takowe łatki mogą mieć negatywny wpływ na wydajność pracy procesorów, bazujących na technologii INTEL nawet od 5 do 30%. I oczekiwać, że przyszłe poprawki złagodzą ten spadek wydajności, kiedy tylko ta krytyczna podatność zostanie załatana w 100%.

 

Paweł Piskorz – Inżynier Wsparcia Technicznego NetComplex





Dodaj komentarz