CyberbezpieczeństwoRynek
Nieusuwalna luka bezpieczeństwa w procesorach Apple z serii M
Nowo odkryta luka w zabezpieczeniach układów Apple z serii M pozwala atakującym na wyodrębnienie tajnych kluczy end-to-end z komputerów Mac podczas wykonywania implementacji powszechnie używanych protokołów kryptograficznych – ujawnił zespół amerykańskich badaczy akademickich.
Wspomniana luka bezpieczeństwa nie może być łatana bezpośrednio – wynika bowiem z mikroarchitektonicznej konstrukcji samego krzemu. Jak wskazali badacze, można ją złagodzić jedynie poprzez wbudowanie zabezpieczeń w oprogramowanie kryptograficzne innych firm. Ale to z kolei może wyraźnie obniżyć wydajność procesorów serii M podczas wykonywania operacji kryptograficznych, szczególnie we wcześniejszych generacjach M1 i M2. Nieusuwalna luka może zostać wykorzystana, gdy docelowa operacja kryptograficzna oraz złośliwa aplikacja z normalnymi uprawnieniami systemowymi użytkownika, działają na tym samym klastrze procesorów.
Jak ustalili amerykańscy akademicy, zagrożenie tkwi w prefetcherze zależnym od pamięci danych chipów, optymalizacji sprzętowej, która przewiduje adresy pamięci danych, do których uruchomiony kod prawdopodobnie uzyska dostęp w najbliższej przyszłości. Poprzez ładowanie zawartości do pamięci podręcznej procesora, zanim będzie ona faktycznie potrzebna, DMP, jak w skrócie nazywa się tę funkcję, zmniejsza opóźnienia między pamięcią główną a procesorem, co jest częstym wąskim gardłem w nowoczesnych komputerach. DMP to stosunkowo nowe zjawisko, które można znaleźć tylko w układach z serii M i mikroarchitekturze Raptor Lake 13. generacji Intela, chociaż starsze formy prefetcherów są powszechne od lat.
Eksperci ds. bezpieczeństwa od dawna wiedzą, że klasyczne prefetchery otwierają kanał boczny, który złośliwe procesy mogą sondować w celu uzyskania tajnego materiału klucza z operacji kryptograficznych. Podatność ta wynika z faktu, że prefetchery dokonują przewidywań w oparciu o poprzednie wzorce dostępu, co może powodować zmiany stanu, które atakujący mogą wykorzystać do wycieku informacji. W odpowiedzi na tę podatność inżynierowie kryptografii opracowali programowanie w czasie stałym, podejście, które zapewnia, że wszystkie operacje trwają tyle samo czasu, niezależnie od ich operandów. Odbywa się to poprzez utrzymywanie kodu wolnego od tajnych dostępów do pamięci lub struktur.
Przełomowy charakter nowych badań polega na tym, że ujawniają one przeoczone wcześniej zachowanie DMP w krzemie Apple – czasami mylą one zawartość pamięci, taką jak materiał klucza, z wartością wskaźnika, która jest używana do ładowania innych danych. W rezultacie DMP często odczytuje dane i próbuje traktować je jako adres w celu uzyskania dostępu do pamięci. To odczytywanie danych i przeciekanie ich przez kanał boczny jest rażącym naruszeniem paradygmatu stałego czasu, wskazują badacze.
Atak GoFetch
Atak, nazwany przez badaczy GoFetch, wykorzystuje aplikację, która nie wymaga dostępu roota, a jedynie tych samych uprawnień użytkownika, których potrzebuje większość aplikacji innych firm zainstalowanych w systemie macOS. Chipy z serii M podzielone są na tak zwane klastry – przykładowo M1 ma dwa klastry: jeden zawierający cztery rdzenie wydajnościowe, a drugi cztery rdzenie wydajnościowe. Dopóki aplikacja GoFetch i docelowa aplikacja kryptograficzna działają na tym samym klastrze wydajności – nawet jeśli na oddzielnych rdzeniach w tym klastrze – GoFetch może spowodować, aby wyciekł tajny klucz.
GoFetch działa zarówno przeciwko klasycznym algorytmom szyfrowania, jak i szyfrowaniu nowszej generacji, które zostało wzmocnione, aby wytrzymać przewidywane ataki komputerów kwantowych.
Aplikacja GoFetch łączy się z docelową aplikacją i przekazuje jej dane wejściowe, które podpisuje lub odszyfrowuje. Robiąc to, wyodrębnia tajny klucz aplikacji, którego używa do wykonywania tych operacji kryptograficznych. Mechanizm ten oznacza, że docelowa aplikacja nie musi samodzielnie wykonywać żadnych operacji kryptograficznych w okresie zbierania danych.
W skład wspomnianego zespołu badaczy wchodzą: Boru Chen (University of Illinois Urbana-Champaign), Yingchen Wang, (University of Texas at Austin), Pradyumna Shome (Georgia Institute of Technology), Christopher W. Fletcher (University of California, Berkeley), David Kohlbrenner (University of Washington), Riccardo Paccagnella (Uniwersytet Carnegie Mellon), Daniel Genkin (Georgia Institute of Technology).
Warto również dodać, że nie jest to pierwszy raz, kiedy badacze zidentyfikowali zagrożenia czające się w DMP Apple. Optymalizacja została po raz pierwszy udokumentowana w badaniach z 2022 roku, które odkryły nieznany wcześniej “pointer-chasing DMP” zarówno w M1, jak i chipie Apple A14 Bionic dla iPhone’ów.