Исследователи обнаружили серьезную уязвимость безопасности в чипах Apple M1, M2 и M3. Уязвимость, получившая название GoFetch, крадет криптографическую информацию из кэша ЦП, позволяя атакующей программе построить криптографический ключ, что дает приложению доступ к чувствительным зашифрованным данным.
GoFetch использует незамеченную уязвимость безопасности в кремниевых чипах Apple, связанную с их современным выборщиком на оснве содержимого памяти (DMP). Этот выборщик нового поколения, который встречается только в архитектурах чипов Apple Silicon и Intel Raptor Lake, загружает содержимое памяти в кэш до того, как оно понадобится. Уязвимость связана с незамеченным поведением выборщика, при котором он будет загружать ключевой материал в кэш ЦП, содержащий значение указателя, используемое для загрузки других данных. DMP иногда путает содержимое памяти и загружает неподходящие данные в кэш ЦП.
Проблема с этой уязвимостью заключается в том, что она полностью нейтрализует эффекты безопасности от программирования с постоянным временем (constant-time programming) — алгоритмом шифрования для снижения побочных каналов, используемым для противодействия атакам, связанным с выборщиком и кэшем ЦП. В результате приложения, использующие GoFetch, могут обмануть ПО, заставив его поместить конфиденциальные данные в кеш для кражи атакующим приложением.
Это серьезная уязвимость, которая затрагивает все виды алгоритмов шифрования, включая 2048-битные ключи, которые усилены для защиты от атак квантовых компьютеров. К сожалению, нет способа исправить эту уязвимость на уровне железа. Единственный вариант — это программные меры по снижению рисков, которые замедлят производительность шифрования и дешифрования M1, M2 и M3. Технически разработчики могут заставить свои шифровальщики работать только на E-ядрах, которые не имеют этого выборщика, однако это также очевидно связано с потерей производительности.
Единственным исключением стал Apple M3, который якобы имеет специальный "переключатель", который разработчики могут включить для отключения выборщика с зависимостью от содержимого памяти. Однако пока никто не знает, насколько снизится производительность, если эта специальная оптимизация будет отключена. Насколько известно, это может помешать производительности так же сильно, как и программное снижение рисков.
Интересно, что архитектура ЦП Intel Raptor Lake (которая включает как 13-е, так и 14-е поколение ЦП) не имеет этой уязвимости, несмотря на использование того же выборщика, что и чипы серии M от Apple. Похоже, это означает возможность исправления на уровне кремния. Однако это произойдет только в будущих архитектурах серии M от Apple (то есть M4), когда у инженеров Apple будет время переработать архитектуру своего ЦП с учетом недавно обнаруженных недостатков.
Apple еще не опубликовала дату выпуска официального исправления.
Источник новости: shazoo.ru