BEZPIECZEŃSTWO INFRASTRUKTURA

Nowe exploity luk bezpieczeństwa w procesorach. Intel przecieka coraz bardziej

Przez ostatnie miesiące świat cyberbezpieczeństwa kręcił się w znacznej mierze wokół Meltdown i Spectre, exploitów związanych z poważnymi lukami bezpieczeństwa w części modeli procesorów przede wszystkim Intel, AMD, ARM. Emocje jeszcze nie opadły, zespoły bezpieczeństwa nie uporały się jeszcze do końca z aplikowaniem poprawek bezpieczeństwa, tymczasem mamy do czynienia z doniesieniami o kolejnych wykrywanych lukach w architekturze procesorów, przede wszystkim Intel.

Meltdown i Spectre to dwa exploity wykorzystujące różne warianty błędów tzw. speculative execution oraz branch prediction. Wykryte po raz pierwszy przez zespół Google Project Zero (oraz 3 inne zespoły niezależnie) i ujawnione w lipcu 2017 roku są na chwilę obecną najpoważniejszymi sprzętowymi zagrożeniami zidentyfikowanymi w branży, wbudowanymi w miliardy procesorów na całym świecie, działających w komputerach, urządzeniach przenośnych, serwerach.

Spectre NG

Niemiecki magazyn IT c’t / Heise donosi, że naukowcy odkryli kolejne osiem luk z rodziny Spectre w procesorach Intela, w tym cztery krytyczne. Nie są znane na razie szczegóły techniczne, wiadomo natomiast, że podatności są poważne i zostały zgrupowane pod nazwą Spectre Next Generation (NG). Na chwilę obecną stwierdzono podatnośc procesorów Intela, istnieje możliwość podatności niektórych procesorów ARM. Badania nad podatnością procesorów AMD są nadal prowadzone. Największe zagrożenie ujawnione luki (jak i poprzednie Spectre) stwarzają dla dostawców hostingu – umożliwiają uzyskanie kontroli nad systemem operacyjnym hosta z poziomu maszyny wirtualnej.

Intel bardzo aktywnie pracuje nad poprawkami i planuje wydać je w dwóch turach: w maju i w sierpniu. Jednak na dzień ogłoszenia podatności opinii publicznej firma nie była w stanie dostarczyć pierwszego pakietu łatającego wykryte luki – deklaruje datę 21 maja. Obejmować będzie procesory Core, Xeon i oparte o rdzenie Atom. Poprawki planowane na 14 sierpnia będą skierowane do dostawców chmury. Udostępnieni aktualizacje Windows 10 przez Microsoft jest oczekiwane w tym tygodniu.

BranchScope

Wcześniej naukowcy cyberbezpieczeństwa z czterech uczelni ujawnili nową podatność procesorów Intel o nazwie BranchScope, która wykorzystuje te same mechanizmy co Spectre / Meltdown, ale jest odporna na wprowadzane poprawki. BranchScope został opisany w artykule autorstwa badaczy z College of William and Mary, Carnegie Mellon University, UC Riverside i Binghamton University. Wykorzystuje funkcjonalność spekulacyjnego wykonania (speculative execution) którą znajdujemy obecnie w większości procesorów Intel, AMD czy AMR i może służyć do obchodzenia zabezpieczeń pamięci zaimplementowanych na poziomie sprzętu i/lub systemu operacyjnego.

Różnica między BranchScope i Spectre / Meltdown polega na tym, że oryginalne podatności wymagają manipulowania spekulacyjnym wykonaniem, podczas gdy nowa luka jest pierwszą, która skupia się na wspólnym predyktorze docelowym gałęzi (Branch Prediction Unit – BPU). Wszystkie procesy wykonywane na tym samym rdzeniu fizycznym współdzielą BPU, co jest oczywiście bardzo efektywne z punktu widzenia szybkości, ale otwiera potencjalne możliwości ataku poprzez manipulację stanem współużytkowanego BPU.

Zespół jednoczenie zaproponował kilka podejść do złagodzenia skutków podatności, opisanych w artykule.

SOPHIA

Meltdown i Spectre zostały niezależnie zidentyfikowane przez cztery różne grupy badawcze, z których jedną był zespół naukowców z Graz University of Technology w Austrii, pracujący w ramach projektu SOPHIA wspieranego przez fundusze UE. Wyniki swoich prac naukowcy opisują w artykule opublikowanym na stronach Biblioteki Uniwersyteckiej Cornell. Więcej na ten temat na stronach CORDIS. Choć dopiero niedawno odkryte, podatności te istnieją od połowy lat dziewięćdziesiątych. Jest to dość niepokojące zważywszy, że luki te mogły być potencjalnie wykorzystywane przez dziesięciolecia bez świadomości kogokolwiek.

Speculative Execution: wykonywanie spekulacyjne pozwala procesorowi przewidywać i wykonywać kolejne instrukcje z wyprzedzeniem, pozwalając na dostarczenie rezultatu wykonania ‚w czasie rzeczywistym’, jeśli predykcja okazała się prawidłowa.

Branch Prediction: predykcja gałęzi pomaga procesorowi przewidywać przyszłe ścieżki realizacji instrukcji, które powinny być wykonywane co pozwala na zwiększenie wydajności.