В процесорите M1, M2 и M3 на Apple е открита сериозна уязвимост, която не може да бъде напълно отстранена
Изследователи са открили сериозна уязвимост в сигурността на собствените процесори M1, M2 и M3 на Apple.
Уязвимостта, наречена „GoFetch“, краде криптографска информация от кеша на процесора, което позволява на атакуваща програма да изгради криптографски ключ от откраднатите данни, позволявайки на приложението да получи достъп до чувствителни криптирани данни.
GoFetch се възползва от пренебрегната грешка в сигурността на процесорите на Apple, свързани с най-съвременния „prefetcher“ (DMP), зависещ от паметта за данни. Това е „prefetcher“ от следващо поколение, който се среща само в процесорите на Apple и в архитектурите Raptor Lake на Intel. Той който зарежда съдържанието на паметта в кеша, преди да е необходимо. Уязвимостта е свързана с пренебрегвано поведение на prefetcher-а, при което той ще зареди ключов материал в кеша на процесора, включващ стойност на указател, която се използва за зареждане на други данни. DMP понякога ще обърка съдържанието на паметта и ще зареди неподходящи данни в кеша на процесора.
Проблемът с тази уязвимост е, че тя напълно неутрализира ефекта върху сигурността на програмирането в постоянно време. Това от своя страна е алгоритъм за криптиране за смекчаване на страничните канали, използван за преодоляване на свързаните с prefetcher-a атаки по странични канали, свързани с кеша на процесора. В резултат на това приложенията, използващи GoFetch могат да измамят софтуера за криптиране да постави чувствителни данни в кеша, които атакуващото приложение да открадне.

Това е сериозна уязвимост, която засяга всички видове алгоритми за криптиране. Включително 2048-битовите ключове, които са подсилени, за да отблъскват атаки от квантови компютри.
За съжаление няма начин уязвимостта да бъде „закърпена“ в хардуера. Единственият път напред е софтуерно базирано смекчаване, което ще забави производителността на криптирането и декриптирането на M1, M2 и M3. Технически разработчиците могат да принудят софтуера си за криптиране да работи само за Е-ядрата, които нямат този prefetcher. Това обаче е свързано и с очевидна цена за производителността.
Единственото изключение е M3 на Apple, за който се твърди, че разполага със специален „превключвател“, който разработчиците могат да включат, за да деактивират зависимия от паметта за данни prefetcher на чипа. Все още обаче никой не знае колко от производителността на чипа ще бъде загубена, ако тази специална оптимизация бъде изключена. Доколкото знаем, тя може да възпрепятства производителността точно толкова, колкото и софтуерното смекчаване.
Интересна подробност е, че процесорната архитектура Raptor Lake на Intel (която включва процесори от 13-о и 14-о поколение) няма тази уязвимост, въпреки че споделя същия prefetcher като чиповете от M серията на Apple. Не знаем защо е така, но това показва, че тази уязвимост може да бъде поправена в хардуера. Това обаче ще се случи само в бъдещите архитектури от серията M на Apple (M4), когато инженерите препроектират архитектурата на процесора, за да отстранят тази уязвимост.
Apple все още не е публикувала дати за пускане на официална поправка. Поради уязвимостта, която този проблем представлява се предполага, че поправката ще се появи в рамките на тази година.