ニュース

簡単にGPUメモリの内容を盗めてしまう「LeftoverLocals」脆弱性、セキュリティ研究者が警鐘

Apple、AMD、Qualcomm、Imaginationなどに影響、各社対策を表明

同社のセキュリティ情報

 米国のセキュリティ会社Trail of Bitsは1月16日(現地時間)、広範なGPUに影響を与える情報漏洩の脆弱性「LeftoverLocals」(CVE-2023-4969)を公表した。AMD、Apple、Qualcomm、ImaginationのGPUが「LeftoverLocals」に対して脆弱であることがわかっているという。

 OSはプログラムを起動するとそれをメモリに読み込み(ロード)、CPUで実行できるようにする。プログラムに割り当てられたメモリは「プロセス」単位で管理されるが、通常、プロセスは他のプロセスのメモリを読みとったり(情報漏洩)、書き込んだり(改竄)することはできない。

 しかし、「LeftoverLocals」と呼ばれる手法を用いると、初期化されていないローカルメモリをダンプするGPUカーネルを書くだけで、他のプロセスがGPUローカルメモリに残したデータを読み取ることができるという。攻撃コードは10行以下のコードで済むため、アマチュアプログラマーでも容易に再現できる。

 「LeftoverLocals」は同居型エクスプロイト、つまり共有マシン上の別のアプリケーション、アプリ、またはユーザーとして実装できる。攻撃者が必要とするのは「OpenCL」や「Vulkan」、「Metal」といったGPU計算を利用するアプリケーションを実行する能力だけだ。そのため、すべてのGPUアプリが攻撃対象となる可能性があるが、なかでも機械学習(ML)モデルや大規模言語モデル(LLM)での影響が懸念されている。

 実際に、同社はプロセスやコンテナの境界を越えて他のユーザーのインタラクティブなLLMセッション(たとえば「llama.cpp」)を盗聴できる実証コード(PoC)を構築し、それが可能であることを示した。しかし、アプリケーションがGPUローカルメモリを利用しているかどうかは低レベルのGPUソースコードを検査しない限りわからず、ユーザーレベルでは緩和策の実施が困難だ。そのため、同社はドライバーなどの低レベル層で対処すべきとしている。

 「LeftoverLocals」脆弱性は公表3カ月前の2023年9月に関係するベンダーへ通知され、協調した対応が図られた。しかし、通知に対するAppleの返答がかなり遅くなったため、公表が遅くなったようだ。

  • Apple:2024年1月13日になって回答。ただし、「A12」プロセッサー搭載の「Apple iPad Air」第3世代など、一部のデバイスでは対応されているようだ。また、「A17」「M3」では対策済みで、「iPhone 15」などの最新デバイスは影響を受けない
  • AMD:2024年3月からドライバーアップデートを通じて緩和オプションを展開する予定
  • Qualcomm:対策パッチがリリース済みだが、影響のあるデバイスが残されている可能性がある
  • Imagination:2023年12月に提供開始の最新DDKv23.3で修正
  • NVIDIA:影響を受けるデバイスなし
  • ARM:影響を受けるデバイスなし

 なお、「WebGPU」などのWebブラウザーGPUフレームワークは、GPUカーネルにダイナミックメモリチェックを挿入しているため、現時点では影響を受けないとのこと。

 GPUはパフォーマンスが重視され、ハードウェアとソフトウェアスタックはアーキテクチャーやプログラミングモデルを頻繁に、大きく変更しながら急速に発展してきた。そのためシステムスタックが複雑になり、CPUの命令セット(ISA)に比べ仕様が曖昧になる傾向があるという。このことが「LeftoverLocals」に代表される問題を引き起こしているとTrail of Bitsの研究者は指摘し、警鐘を鳴らしている。