Проблема GoFetch угрожает процессорам Apple серии M, а патчи повлияют на производительность - «Новости» » Интернет технологии
sitename
Как заработать денег, не выходя из дома, мы вам поможем с этим разобраться » Новости » Проблема GoFetch угрожает процессорам Apple серии M, а патчи повлияют на производительность - «Новости»

Группа ученых опубликовала информацию о side-channel атаке под названием GoFetch. Проблема связана с серьезной уязвимостью в процессорах Apple M1, M2 и M3, и позволяет похитить криптографическую информацию из кеша процессора, когда на процессорах Apple выполняются имплементации широко распространенных криптографических протоколов. В это время атакующее приложение может воссоздать криптографический ключ из украденных данных.


GoFetch может быть использована, если целевая криптографическая операция и вредоносное приложение с обычными пользовательскими привилегиями, которые доступны большинству приложений, выполняются в одном кластере CPU.


Атака GoFetch эксплуатирует уязвимость в процессорах Apple, связанную с DMP (data memory-dependent prefetcher). Этот префетчер нового поколения используется только в процессорах Apple и Intel Raptor Lake, загружая содержимое памяти в кеш до того, как оно понадобится. Такая аппаратная оптимизация предсказывает адреса данных в памяти, к которым возможно обращение в ближайшее время.


Уязвимость связана с тем, что префетчер может загружать данные в кеш процессора с указателем, который используется для загрузки других данных. Фактически DMP иногда путает содержимое памяти и загружает в кеш процессора неправильные данные.


Корень проблемы заключается в том, что уязвимость полностью нейтрализует эффект constant-time защиты, которая представляет собой защиту от side-channel и процессорных атак, связанных с кешем. Такая защита гарантирует, что все операции занимают одинаковое количество времени, независимо от их операндов. Но, в результате уязвимости, приложения, эксплуатирующие GoFetch, могут поместить конфиденциальные данные в кеш, а вредоносное приложение получит возможность их похитить.


«Главная идея заключается в том, что, хотя DMP только разыменовывает указатели, злоумышленник может подготовить входные данные программы таким образом, чтобы при смешении этих данных с криптографическими секретами полученное промежуточное состояние могло выглядеть как указатель, но только если секрет удовлетворяет выбранному злоумышленником предикату, — пишут эксперты. — Например, представьте, что программа имеет секрет s, принимает x в качестве входных данных, вычисляет, а затем сохраняет y = s ⊕ x в своей программной памяти. Злоумышленник может создавать различные x и получить частичную (или даже полную) информацию о s, наблюдая за тем, может ли DMP разыменовать y».


Стоит отметить, что процессоры серии M разделены на так называемые кластеры. Например, M1 имеет два кластера: один содержит четыре ядра низкого энергопотребления (они же Icestorm), а другой — четыре высокопроизводительных (они же Firestorm). Пока приложение GoFetch и целевое криптографическое приложение работают в одном кластере (даже на разных ядрах внутри этого кластера) GoFetch может добыть достаточно секретов для похищения секретного ключа.


Уязвимость затрагивает все виды алгоритмов шифрования, начиная от классических и заканчивая алгоритмами нового поколения, которые должны противостоять будущим атакам с использованием квантовых компьютеров.


Так, GoFetch требуется менее часа, чтобы извлечь 2048-битный ключ RSA, и чуть более двух часов, чтобы извлечь 2048-битный ключ Diffie-Hellman. Атака на извлечение материала, необходимого для сборки ключа Kyber-512, занимает 54 минуты. И около 10 часов потребуется для ключа Dilithium-2, не считая времени, необходимого для обработки исходных данных в автономном режиме.





«К сожалению, чтобы оценить, является ли конкретная имплементация уязвимой, требуется криптоанализ и проверка кода, чтобы понять, когда и как промежуточные значения можно сделать похожими на указатели для утечки секретов. Этот процесс выполняется вручную, очень медленно и не исключает других подходов к атаке», — пишут авторы GoFetch.


Хуже того, исправить эту уязвимость в самих процессорах невозможно. Единственный выход — программные средства защиты и встраивание патчей в стороннее криптографическое ПО, что замедлит производительность шифрования и дешифрования на M1, M2 и M3, а также усложнит жизнь разработчикам. Еще один возможный способ защиты — запускать криптографические процессы на ранее упомянутых ядрах Icestorm, которые не имеют DMP. Но такая защита тоже вряд ли будет идеальна и так же повлияет на производительность.


Единственным исключением является процессор M3, который, как обнаружили исследователи, оснащен специальным «переключателем», с помощью которого разработчики могут отключить DMP. Однако пока неясно, насколько снизится производительность при отключении этой функциональности.


При этом подчеркивается, что падение производительности будет ощущаться только в том случае, если затронутое ПО выполняет определенные криптографические операции. То есть при работе в браузерах и многих других типах приложений изменения могут быть незаметны вовсе.


Стоит отметить, что архитектура Intel Raptor Lake (к которой относятся процессоры 13-го и 14-го поколений) не подвержена описанной уязвимости, несмотря на использование того же префетчера, что и в процессорах Apple серии M.


Компания Apple пока никак не прокомментировала информацию о GoFetch.


Группа ученых опубликовала информацию о side-channel атаке под названием GoFetch. Проблема связана с серьезной уязвимостью в процессорах Apple M1, M2 и M3, и позволяет похитить криптографическую информацию из кеша процессора, когда на процессорах Apple выполняются имплементации широко распространенных криптографических протоколов. В это время атакующее приложение может воссоздать криптографический ключ из украденных данных. GoFetch может быть использована, если целевая криптографическая операция и вредоносное приложение с обычными пользовательскими привилегиями, которые доступны большинству приложений, выполняются в одном кластере CPU. Атака GoFetch эксплуатирует уязвимость в процессорах Apple, связанную с DMP (data memory-dependent prefetcher). Этот префетчер нового поколения используется только в процессорах Apple и Intel Raptor Lake, загружая содержимое памяти в кеш до того, как оно понадобится. Такая аппаратная оптимизация предсказывает адреса данных в памяти, к которым возможно обращение в ближайшее время. Уязвимость связана с тем, что префетчер может загружать данные в кеш процессора с указателем, который используется для загрузки других данных. Фактически DMP иногда путает содержимое памяти и загружает в кеш процессора неправильные данные. Корень проблемы заключается в том, что уязвимость полностью нейтрализует эффект constant-time защиты, которая представляет собой защиту от side-channel и процессорных атак, связанных с кешем. Такая защита гарантирует, что все операции занимают одинаковое количество времени, независимо от их операндов. Но, в результате уязвимости, приложения, эксплуатирующие GoFetch, могут поместить конфиденциальные данные в кеш, а вредоносное приложение получит возможность их похитить. «Главная идея заключается в том, что, хотя DMP только разыменовывает указатели, злоумышленник может подготовить входные данные программы таким образом, чтобы при смешении этих данных с криптографическими секретами полученное промежуточное состояние могло выглядеть как указатель, но только если секрет удовлетворяет выбранному злоумышленником предикату, — пишут эксперты. — Например, представьте, что программа имеет секрет s, принимает x в качестве входных данных, вычисляет, а затем сохраняет y = s ⊕ x в своей программной памяти. Злоумышленник может создавать различные x и получить частичную (или даже полную) информацию о s, наблюдая за тем, может ли DMP разыменовать y». Стоит отметить, что процессоры серии M разделены на так называемые кластеры. Например, M1 имеет два кластера: один содержит четыре ядра низкого энергопотребления (они же Icestorm), а другой — четыре высокопроизводительных (они же Firestorm). Пока приложение GoFetch и целевое криптографическое приложение работают в одном кластере (даже на разных ядрах внутри этого кластера) GoFetch может добыть достаточно секретов для похищения секретного ключа. Уязвимость затрагивает все виды алгоритмов шифрования, начиная от классических и заканчивая алгоритмами нового поколения, которые должны противостоять будущим атакам с использованием квантовых компьютеров. Так, GoFetch требуется менее часа, чтобы извлечь 2048-битный ключ RSA, и чуть более двух часов, чтобы извлечь 2048-битный ключ Diffie-Hellman. Атака на извлечение материала, необходимого для сборки ключа Kyber-512, занимает 54 минуты. И около 10 часов потребуется для ключа Dilithium-2, не считая времени, необходимого для обработки исходных данных в автономном режиме. «К сожалению, чтобы оценить, является ли конкретная имплементация уязвимой, требуется криптоанализ и проверка кода, чтобы понять, когда и как промежуточные значения можно сделать похожими на указатели для утечки секретов. Этот процесс выполняется вручную, очень медленно и не исключает других подходов к атаке», — пишут авторы GoFetch. Хуже того, исправить эту уязвимость в самих процессорах невозможно. Единственный выход — программные средства защиты и встраивание патчей в стороннее криптографическое ПО, что замедлит производительность шифрования и дешифрования на M1, M2 и M3, а также усложнит жизнь разработчикам. Еще один возможный способ защиты — запускать криптографические процессы на ранее упомянутых ядрах Icestorm, которые не имеют DMP. Но такая защита тоже вряд ли будет идеальна и так же повлияет на производительность. Единственным исключением является процессор M3, который, как обнаружили исследователи, оснащен специальным «переключателем», с помощью которого разработчики могут отключить DMP. Однако пока неясно, насколько снизится производительность при отключении этой функциональности. При этом подчеркивается, что падение производительности будет ощущаться только в том случае, если затронутое ПО выполняет определенные криптографические операции. То есть при работе в браузерах и многих других типах приложений изменения могут быть незаметны вовсе. Стоит отметить, что архитектура Intel Raptor Lake (к которой относятся процессоры 13-го и 14-го поколений) не подвержена описанной уязвимости, несмотря на использование того же префетчера, что и в процессорах Apple серии M. Компания Apple пока никак не прокомментировала информацию о GoFetch.
CSS

Смотрите также

А что там на главной? )))



Комментарии )))



Комментарии для сайта Cackle
Войти через:
Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика Яндекс.Метрика