AI ワークロードでセキュアブートを有効にする方法
Maciej Strzelczyk
Developer Programs Engineer
Aron Eidelman
Developer Relations Engineer, Security Advocate
※この投稿は米国時間 2025 年 7 月 19 日に、Google Cloud blog に投稿されたものの抄訳です。
組織が強力な GPU アクセラレータによるワークロードのデプロイを急ぐあまり、基本的なステップを見落とすことがあります。それは、システムが起動した瞬間からシステムの完全性を確保することです。
しかし、脅威アクターはこの点を見逃していません。ブートキットなどの高度なマルウェアでブートプロセスを標的とするケースが増えています。ブートキットは、従来のセキュリティ ソフトウェアが読み込まれる前に制御を奪い、最高レベルの権限を取得してデータを盗んだり、最も価値の高い AI モデルを破損させたりします。
重要な理由: サーバーの最も基本的なセキュリティ対策は、電源投入時に整合性を検証することです。セキュアブートと呼ばれるこのプロセスは、システムの主要な防御機能が起動する前にシステムを乗っ取ることができる、深層レベルのマルウェアを阻止するように設計されています。
セキュアブートは、Google Cloud の Shielded VM サービスの一部です。このサービスを使用すると、AI ワークロードを処理する VM を含む、Compute VM インスタンスの整合性を検証できます。初期起動後の変更を、追加のツールやイベント ドリブン ルールを使用せずに、すぐに追跡できるのは、この種の主要なクラウド サービスでは Google Cloud のみです。
結論: 組織はパフォーマンスのためにセキュリティを犠牲にする必要はありません。独自の GPU ドライバに署名するための明確で再現可能なプロセスが用意されているため、AI ワークロードを損なうことなくインフラストラクチャの基盤をロックダウンできます。
セキュアブート機能は追加料金なしで利用でき、GPU アクセラレーテッド マシンで セキュアブートを設定する新しい簡単な方法が追加されました。
ブートキットの危険性を理解する
ブートレベルの脅威からシステムを保護することが重要です。ブートキットは、オペレーティング システムの基盤であるブートプロセスを標的とします。ブートキットは、ブートローダーやその他の初期段階のシステム コンポーネントを侵害することで、オペレーティング システムやそのセキュリティ対策が読み込まれる前にカーネルレベルの制御を獲得できます。マルウェアは、従来のセキュリティ ソフトウェアを回避して、最高権限で動作できるようになります。
この手法は、MITRE ATT&CK フレームワークの永続化と防御回避の戦術に分類されます。ブートキットは、低レベルで動作するため、検出と削除が困難です。システムコールをインターセプトしてデータを操作し、再起動後も存続して、データを盗み、マルウェアをインストールし、セキュリティ機能を無効化することで、身を隠します。
ブートキットとルートキットは、永続的な埋め込み型脅威であり、Google Threat Intelligence グループ、欧州連合サイバーセキュリティ庁(ENISA)、米国サイバーセキュリティ インフラストラクチャ セキュリティ庁(CISA)の現在の脅威アクターの動向の一部として確認されています。Google Cloud は、プロダクトを強化し、お客様がご自身で使用できるツールを提供することで、ソリューションのセキュリティを常に向上させるよう努めています。この記事では、GPU アクセラレータ マシンでセキュアブートをセットアップする、より簡単で新しい方法をご紹介します。
GPU を使用したセキュアブートの制限事項
Shielded VM は、TPM 2.0 準拠の仮想トラステッド プラットフォーム モジュール(vTPM)をルート オブ トラストとして使用し、Titan チップを搭載した Google Cloud の仮想化と分離によって保護されています。セキュアブートは署名付きソフトウェアの実行を強制しますが、メジャード ブートはブート コンポーネントの測定値を vTPM に記録し、リモート認証と整合性検証を行います。
制限は、オペレーティング システムの公式ディストリビューションに含まれていないカーネル モジュールを使用する場合に発生します。これは、ドライバが通常公式ディストリビューションに含まれていない GPU に依存する AI ワークロードでは特に問題となります。セキュアブートが有効なシステムに GPU ドライバを手動でインストールしようとすると、ドライバが適切に署名されていないため、システムはドライバの使用を拒否します。
GPU アクセラレータ マシンでセキュアブートを使用する方法
Google Cloud に署名を信頼するように指示して、GPU ドライバの有効性をセキュアブートで確認する方法は 2 つあります。自動スクリプトを使用する方法と、手動で行う方法です。
セキュアブート対応イメージの準備に役立つスクリプトはオープンソースであり、GitHub リポジトリで入手できます。以下に、その使い方を示します。
スクリプトは、以下で説明する 5 つのステップをそれぞれ実行します。インストール プロセスに時間がかかるため、最長で 30 分ほどかかる場合があります。また、ビルド スクリプトの使用方法については、ドキュメントで詳しく説明しています。
Google Cloud に署名を信頼するよう手動で指示するには、次の 5 つの手順を行います(ドキュメントにも記載されています)。
- ドライバの署名に使用する独自の証明書を生成します。
- 選択した OS で新しい VM を作成します(セキュアブートは無効、GPU は不要)。
- GPU ドライバとオプションの CUDA ツールキットをインストールして署名します。
- 自己署名ドライバを含むマシンに基づいてディスク イメージを作成し、信頼できる証明書のリストに証明書を追加します。
- これで、新しいイメージをセキュアブートが有効な VM で使用できるようになりました。
スクリプトを使用した場合でも、手動でタスクを実行した場合でも、プロセスが機能したことを確認する必要があります。
作成したイメージを使用して、新しい GPU アクセラレーテッド VM を起動する
すべてが正常に機能したことを確認するには、次のコマンドを使用して新しいディスク イメージで新しい VM を作成します(セキュアブート オプションを有効にして、プロセスが機能したことを確認します)。
クリーンアップ
新しいイメージが機能することを確認したら、検証用 VM を保持する必要はありません。次のコマンドで削除できます。
セキュアブートの有効化
GPU ベースのワークロード用のセキュアブート対応ベースイメージが構築されました。これらのイメージを使用する際は、VM インスタンスでセキュアブートを実際に有効にすることを忘れないでください。セキュアブートはデフォルトで無効になっているため、Compute Engine インスタンスで明示的に有効にする必要があります。
新しいインスタンスを作成する場合
Cloud Console を使用して新しいインスタンスを作成する場合、[セキュリティ] タブの [Shielded VM] セクションにある作成ページのチェックボックスでセキュアブートを有効にできます。


gcloud をよく使用するユーザー向けに、gcloud compute instances create コマンドで --shielded-secure-boot フラグを使用できます。
既存のインスタンスの更新
既存のインスタンスでセキュアブートを有効にすることもできますが、互換性のあるシステムが実行されていることを確認してください。これらのマシンにインストールされているドライバが、適切に構成されたキーで署名されていない場合、ドライバは読み込まれません。既存の VM のセキュアブート構成を更新するには、このドキュメント ページで説明されているように、停止、更新、再起動の手順に従う必要があります。
使ってみる
プロセスについて詳しくは、ドキュメント ページをご覧ください。また、他の GPU 自動化に関する最新情報を入手するには、GitHub リポジトリをフォローしてください。
ー デベロッパー プログラム エンジニア Maciej Strzelczyk
ー デベロッパー リレーションズ エンジニア、セキュリティ アドボケイト Aron Eidelman