BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース LeftoverLocalsがApple、Qualcomm、AMDのGPUに関するLLMの回答をリークする可能性

LeftoverLocalsがApple、Qualcomm、AMDのGPUに関するLLMの回答をリークする可能性

原文リンク(2024-01-25)

セキュリティ企業Trail of Bitsは、Apple、Qualcomm、AMD、Imagination GPUのGPUローカルメモリから悪意ある行為者がデータを復元できる脆弱性を公表した。LeftoverLocalsと名付けられたこの脆弱性は、大規模言語モデル(LLM)や機械学習(ML)モデルなど、GPUを使用するあらゆるアプリケーションに影響を及ぼす。

Trail of Bitsの研究者は、攻撃者がプロセスやコンテナの境界を越えて、キャッシュとして機能する最適化されたGPUメモリ領域であるGPUローカルメモリを回復できる方法の概念実証を構築した。以下のビデオは、攻撃者がインタラクティブなLLMチャット・セッションを盗聴し、ほぼ即座にLLMレスポンスにアクセスする様子を示している。

LeftoverLocalsは、AMD Radeon RX 7900 XTのGPU呼び出しごとに~5.5MBリークする可能性があり、llama.cppで7Bモデルを実行すると、LLMクエリごとに~181MBになる。これは、LLM応答を高精度で再構築するのに十分な情報です。

この脆弱性を悪用するには、攻撃者はターゲットとなるLLMと同じマシン上でGPU計算プログラムを実行できる必要がある。このためには、ターゲットマシンに何らかの形でアクセスする必要があり、おそらくは明確な脆弱性を悪用するか、ユーザーのシステムに悪意のあるアプリをインストールさせる必要がある。これにより、脆弱性の重大度が大幅に軽減される。

我々のコードが示すように、これらの攻撃プログラムは10行以下のコードで済む。したがって、これらの攻撃を実装することは難しくなく、(少なくとも盗まれたデータを入手することにおいては)アマチュアプログラマーでもアクセス可能である。

例えば、OpenCL、Vulkan、Metalのようなフレームワークを使えば、攻撃者は、初期化されていないローカルメモリをダンプするGPUカーネルを書くことで、GPUローカルメモリに残されたデータにアクセスができる。WebGPUのようなブラウザGPUフレームワークは、GPUカーネルにダイナミックメモリチェックを挿入しているため、この方法では使用できない。

Trail of Bitsの研究者は、GPUアプリがローカルメモリーを使用しているかどうかをユーザーが判断するのはかなり複雑だと指摘する。これは、外部依存関係を含むソースコードを検査し、GPUコードを探す必要があるからだ。同様に、ユーザーによる唯一の緩和策は、ローカルメモリを使用するすべてのGPUカーネルのソースコードを修正し、ローカルメモリの内容を0にリセットしてクリアすることである。これは、コンパイラがこれらの命令を最適化してしまう可能性があるため、さらに複雑になる。

影響を受けたベンダーのうち、QualcommImaginationは一部のデバイスでLeftoverLocalsに対処するパッチを適用したファームウェアをリリースした。同様に、一部のApple製デバイス、すなわちApple iPad Air 3rd G (A12)やiPhone 15にはパッチが適用されているようだが、他のデバイス、例えばApple MacBook Air (M2)にはまだ脆弱性が残っているようだ。

Appleは、A17とM3シリーズのプロセッサーに修正パッチが含まれていることを確認しているが、デバイス全体に展開された具体的なパッチについては知らされていない。

AMDはTrail of Bitsに対し、「潜在的な緩和策を引き続き調査している」と確認している。

一方、NVIDIAとARM GPUは、自社のGPUが現在この脆弱性の影響を受けていないことを確認している。

LeftoverLocalsがどのように機能するかという低レベルの詳細や、それがLLMのセキュリティにどのような影響を与えるか、GPUベンダーはGPUコンピュートデバイスのセキュリティ全般にどのように対処すべきかといった広範な議論に興味のある方は、元の記事をお見逃しなく

作者について

この記事に星をつける

おすすめ度
スタイル

BT