0% нашли этот документ полезным (0 голосов)
37 просмотров3 страницы

LeftOverLocals (RU)

По иронии судьбы, та самая технология, которая поддерживает наши модели искусственного интеллекта и машинного обучения, теперь стала объектом новой уязвимости, получившей название "LeftoverLocals". Как сообщает Trail of Bits, этот недостаток безопасности позволяет восстанавливать данные из локальной памяти графического процессора, созданные другим процессом, и влияет на графические процессоры Apple, Qualcomm, AMD и Imagination ------- В документ приводится подробный анализ уязвимости "LeftoverLo
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
37 просмотров3 страницы

LeftOverLocals (RU)

По иронии судьбы, та самая технология, которая поддерживает наши модели искусственного интеллекта и машинного обучения, теперь стала объектом новой уязвимости, получившей название "LeftoverLocals". Как сообщает Trail of Bits, этот недостаток безопасности позволяет восстанавливать данные из локальной памяти графического процессора, созданные другим процессом, и влияет на графические процессоры Apple, Qualcomm, AMD и Imagination ------- В документ приводится подробный анализ уязвимости "LeftoverLo
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd

Больше материалов: Boosty | Sponsr | TG

• Облачные провайдеры: облачные провайдеры


часто предлагают своим клиентам ресурсы
графического процессора, которые используются
совместно несколькими пользователями. В таких
средах LeftoverLocals может быть использована при
наличии доступа к тому же физическому
графическому процессору, что и жертва. Это может
позволить злоумышленнику восстановить данные
из локальной памяти графического процессора,
которые были созданы другим процессом, что
приведёт к значительной утечке данных. Это
особенно актуально для приложений,
использующих LLM и ML для обработки данных.
• Мобильные приложения: Мобильные устройства,
использующие уязвимые графические процессоры,
также подвержены риску. Например, Apple
признала, что такие устройства, как iPhone 12 и M2
MacBook Air, подвержены уязвимости
LeftoverLocals..
• Удалённые атаки: LeftoverLocals потенциально
можно использовать удалённо, когда
злоумышленник скомпрометировал систему и
получил возможность запуска пользовательского
Аннотация – в документ приводится подробный анализ кода, либо в средах, где пользователи могут
уязвимости "LeftoverLocals" CVE-2023–4969, которая имеет запускать пользовательские GPU вычислительных
значительные последствия для целостности приложений с приложений.
графическим процессором, особенно для больших языковых
моделях (LLM) и машинного обучения (ML), выполняемых на III. LEFTOVERLOCALS В СРАВНЕНИИ С ДРУГИМИ
затронутых платформах с графическим процессором, УЯЗВИМОСТЯМИ
включая платформы Apple, Qualcomm, AMD и Imagination.
A. leftoverlocals и другие GPU-уязвимости
Этот документ предоставляет ценную информацию для Уязвимость LeftoverLocals отличается от других
специалистов по кибербезопасности, команд DevOps, ИТ- уязвимостей GPU прежде всего методом утечки данных
специалистов и заинтересованных сторон в различных через локальную память GPU. В отличие от многих
отраслях. Анализ призван углубить понимание проблем уязвимостей, которые используют определённые
безопасности графических процессоров и помочь в разработке программные или аппаратные ошибки, LeftoverLocals
эффективных стратегий защиты конфиденциальных данных основана на неспособности графических процессоров
от аналогичных угроз в будущем. полностью изолировать память между процессами. Это
позволяет злоумышленнику запускать вычислительное
I. ВВЕДЕНИЕ приложение на графическом процессоре для чтения
Компания Trail of Bits раскрыла уязвимость под данных, оставленных в локальной памяти графического
LeftoverLocals, которая позволяет восстанавливать данные процессора другим пользователем.
из локальной памяти графического процессора, созданные
другим процессом. Эта уязвимость затрагивает Другие же уязвимости графического процессора могут
графические процессоры Apple, Qualcomm, AMD и быть нацелены на различные аспекты архитектуры или
Imagination и имеет значительные последствия для программного обеспечения графического процессора, такие
безопасности приложений на графических процессорах, как переполнение буфера, или эксплойты на уровне
особенно больших языковых моделях (LLM) и машинного драйверов. Эти уязвимости часто требуют выполнения
обучения (ML), работающих на затронутых платформах. определённых условий или зависят от сложного
взаимодействия программного и аппаратного обеспечения.
Уязвимость позволяет злоумышленнику прослушивать
интерактивный сеанс LLM другого пользователя несмотря Утечка данных может быть достаточно существенной
на разграничения процессов и контейнеров., особенно в для восстановления моделей или ответов, что представляет
контексте LLMS и моделей ML, поскольку может привести значительный риск для конфиденциальности
к утечке конфиденциальных данных, участвующих в обрабатываемой информации.
обучении этих моделей. Факторы критичности уязвимости LeftoverLocals:
II. УЯЗВИМАЯ СРЕДА • Широкое воздействие: Уязвимость затрагивает
широкий спектр графических процессоров крупных
Уязвимость LeftoverLocals может использоваться в
производителей, таких как AMD, Apple, Qualcomm
различных средах, включая облачных провайдеров, и Imagination Technologies.
мобильные приложения и даже при удалённых атаках.
Больше материалов: Boosty | Sponsr | TG
• Утечка данных: Например, на графическом C. Сходство признаков уязвимостей
процессоре AMD Radeon RX 7900 XT может LeftoverLocals имеет некоторое сходство с Spectre и
произойти утечка около 5,5 МБ данных за один Meltdown с точки зрения их последствий для безопасности:
вызов графического процессора, что может
составлять около 181 МБ для каждого LLM-запроса. • Утечка данных: как LeftoverLocals, так и Spectre /
Этого достаточно для восстановления отклика LLM Meltdown допускают несанкционированный доступ
с высокой точностью. к конфиденциальным данным. LeftoverLocals
позволяет восстанавливать данные из локальной
• Простота использования: уязвимостью можно памяти графического процессора, в то время как
воспользоваться, просто запустив приложение для Spectre и Meltdown используют спекулятивное
вычислений на графическом процессоре для чтения выполнение ЦП для доступа к защищённой памяти.
данных, оставленных в локальной памяти
графического процессора другим пользователем. • Использование аппаратных возможностей: Оба
набора уязвимостей используют аппаратные
• Проблемы с устранением уязвимости: возможности, предназначенные для оптимизации
Устранение уязвимости может оказаться трудным производительности.
для многих пользователей. Одним из предлагаемых
решений является изменение исходного кода всех • Нарушение разграничения процессов: оба
ядер GPU, использующих локальную память, для механизмы обходят механизмы изоляции процесса
сохранения 0 в любых ячейках локальной памяти, для считывания данных на графических и
которые использовались в ядре до его завершения. центральных процессорах соответственно.
Однако это может повлиять на производительность.
• Влияние на нескольких поставщиков: Обе
• Раскрытие конфиденциальных данных: уязвимости влияют на продукты нескольких
Уязвимость актуальна в контексте ИИ и машинного поставщиков. LeftoverLocals влияет на графические
обучения, где конфиденциальные данные часто процессоры Apple, Qualcomm, AMD и Imagination
используются при обучении моделей. Technologies, в то время как Spectre и Meltdown
влияют на процессоры Intel, AMD и ARM.
B. leftoverlocals и другие CPU-уязвимости
Spectre и Meltdown являются уязвимостями ЦП, • Смягчение последствий: Устранение обеих
использующими атаки по "побочным каналам", которые уязвимостей является нетривиальным.
включают извлечение информации из физической LeftoverLocals может потребовать внесения
реализации компьютерных систем, а не программных изменений в код ядра GPU, в то время как Spectre и
Meltdown потребовали сочетания обновлений
ошибок. Spectre позволяет другим приложениям получать
микрокода, исправлений операционной системы и, в
доступ к произвольным местоположениям в их памяти. некоторых случаях, редизайна оборудования.
Meltdown, с другой стороны, нарушает фундаментальную
изоляцию между пользовательскими приложениями и • Скрытый характер атак: Атаки, использующие
операционной системой, позволяя приложению получать эти уязвимости, трудно обнаружить, поскольку они
доступ ко всей системной памяти, включая память, не оставляют традиционных следов в файлах
выделенную для ядра. журналов, что затрудняет определение того,
использовались ли они в реальных атаках.
Все три уязвимости серьёзны, поскольку могут привести
к несанкционированному доступу к конфиденциальным IV. ТРЕБОВАНИЯ К ЭКСПЛУАТАЦИИ LEFTOVERLOCALS
данным. Однако они различаются по своему охвату и
характеру данных, которые они могут раскрывать. A. Общий доступ к графическому процессору
LeftoverLocals в первую очередь влияет на приложения с Для использования LeftoverLocals требуется общий
графическим процессором и может привести к утечке доступ к графическому процессору, что является обычным
данных из LLM и ML-моделей. Spectre и Meltdown, с другой сценарием в многопользовательских средах, где несколько
стороны, потенциально могут раскрыть любые данные, пользователей или приложений могут использовать одни и
обрабатываемые CPU, включая пароли, ключи шифрования те же физические ресурсы графического процессора.
и другую конфиденциальную информацию. Например, на платформах облачных вычислений, в общих
центрах обработки данных или в любой системе, где GPU-
Потенциальные последствия уязвимостей: ресурсы динамически распределяются между различными
• Они затрагивают почти все процессоры, пользователями или задачами. В таких средах локальная
выпущенные с 1995 года, что делает их влияние память графического процессора не всегда очищается
чрезвычайно распространённым. между различными исполнениями ядра или между
использованием разными процессами.
• Они потенциально могут раскрыть любые данные,
обрабатываемые центральным процессором, B. Модель "Listener-Writer"
включая пароли, ключи шифрования и другую Модель Listener-Writer — это метод, используемый для
конфиденциальную информацию. эксплуатации уязвимости LeftoverLocals. Эти программы
• Их трудно обнаружить, поскольку эксплуатация не взаимодействуют с локальной памятью графического
оставляет никаких следов в традиционных файлах процессора, чтобы продемонстрировать уязвимость.
журналов.
Больше материалов: Boosty | Sponsr | TG
Writer служит для преднамеренного сохранения C. Прослушивание выходных данных LLM
определённых canary-значений в локальной памяти После получения признаков модели злоумышленник
графического процессора. Эти значения уникальны и может начать прослушивание выходных данных LLM. Это
идентифицируемы, они служат маркерами, которые могут включает в себя повторный запуск GPU-ядра, которое
быть обнаружены позже. Программа Writer не удаляет эти считывает данные из неинициализированной локальной
значения из локальной памяти после завершения своего памяти на графическом процессоре. Далее сканируется
выполнения. локальная память в поисках определённых значений,
Listener служит для чтения неинициализированной оставленных LLM. Их обнаружение указывает на то, что
локальной памяти на графическом процессоре. Она локальная память не была должным образом очищена
сканирует локальную память в поисках значений canary, между выполнением различных программ. Это позволяет
которые оставила программа записи. Если обнаруживает восстановить данные из вычислений LLM.
эти значения, это указывает на то, что локальная память не D. PoC
была должным образом очищена между выполнением
разных программ. PoC разработан с использованием фреймворка-OpenCL,
фреймворка для выполнения на разнородных платформах
C. Доступ к устройствам для демонстрации ключевых особенностей:
Доступ к устройствам подразумевает определённый • Получение признаков модели: PoC включает в
уровень доступа к ОС на целевом устройстве, чтобы себя идентификацию конкретной используемой
воспользоваться уязвимостью. Этот доступ не обязательно LLM путём наблюдения за шаблонами
должны быть root или администратор; это может быть использования GPU-памяти. Разные LLM имеют
любой уровень доступа, что позволяет злоумышленнику разные схемы использования памяти, по которым
выполнить GPU-приложения. можно определить, какой LLM используется.
В случае устройств Apple компания признала, что такие • Прослушивание выходных данных LLM: PoC
устройства, как iPhone 12 и M2 MacBook Air, подвержены включает повторный запуск GPU-ядра, которое
уязвимости LeftoverLocals. Несмотря на то, что Apple считывает данные из неинициализированной
выпустила исправления для своего новейшего локальной памяти на графическом процессоре.
оборудования, миллионы существующих устройств, Злоумышленник сканирует локальную память в
использующих кремний Apple предыдущих поколений, поисках определённых значений, оставленных
остаются потенциально уязвимыми. LLM. Если эти значения обнаружены, это указывает
на то, что локальная память не была должным
Qualcomm и AMD также подтвердили влияние образом очищена между выполнением различных
уязвимости на свои графические процессоры и программ, что позволяет злоумышленнику
предприняли шаги по ее устранению. Qualcomm выпустила восстановить данные из вычислений LLM.
исправления для прошивки, а AMD имеет подробные планы
по предоставлению дополнительных улучшений • Утечка данных: обнаружено что LeftoverLocals
приводит к утечке ~5,5 МБ за каждый GPU-вызов на
V. ТЕХНОЛОГИЧЕСКИЙ ПРОЦЕСС И POC AMD Radeon RX 7900 XT, что при запуске модели
7B составляет около 181 МБ за каждый запрос LLM.
A. Модификация Этой информации достаточно для восстановления
Первым шагом является изменение кода ядра ответа LLM с высокой точностью.
графического процессора для чтения и записи в локальную • Обход механизмов изоляции процессов и
память графического процессора, что позволяет создать контейнеров: PoC демонстрирует, что
PoC для прослушивания интерактивного сеанса LLM злоумышленник может прослушивать
другого пользователя. интерактивный сеанс LLM другого пользователя в
обход изоляции процесса или контейнера. Это
B. Получение признаков LLM показывает, что уязвимость может быть
Получение признаков модели включает идентификацию использована в многопользовательских средах,
конкретной используемой LLM путём наблюдения за таких как платформы облачных вычислений, где
шаблонами использования памяти графического несколько пользователей используют один и тот же
процессора LLM. Разные LLM будут иметь разные схемы физический графический процессор.
использования памяти, и, наблюдая за этими шаблонами, • Доступ к устройствам: PoC требует, чтобы
злоумышленник может определить, какая LLM злоумышленник имел доступ к целевому
используется. Информация может быть использована для устройству. Это может быть любой уровень
адаптации атаки к конкретному LLM, повышая шансы на доступа, позволяющий злоумышленнику выполнять
успешное использование уязвимости. свои собственные вычислительные приложения на
графическом процессоре.

Вам также может понравиться