Livepatchがサイバー攻撃を防ぐ仕組み

by Canonical on 1 September 2025

Canonical Livepatchはセキュリティパッチの適用を自動化するツールであり、再起動なしにLinuxカーネルのセキュリティを更新します。また、セキュリティと運用上の利便性をバランス良く備えています。Livepatchは、次回のパッケージアップグレードと再起動までの間、インメモリパッチを使用して、重要度の高いCVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)を修正します。システム管理者は、セキュリティが最重要視されるミッションクリティカルなUbuntuサーバーのセキュリティ確保にLivepatchを活用しています。

Linuxカーネルはシステムの稼働に不可欠なコンポーネントであり、障害が発生するとマシン全体が停止します。Canonicalのライブカーネルパッチ機能は、以下の2つのセキュリティ対策で悪意あるコードの挿入を防ぎます。

  1. セキュアブート:実行するカーネルの信頼性を確認
  2. モジュールの署名検証:実行時にカーネルにロードするコードの信頼性を確認

セキュアブートは、署名を検証することでバイナリの信頼性を確保します。署名は信頼できるソースによって署名されている必要があります。セキュアブートは、ユーザー空間プログラムが信頼できないブートローダーやバイナリをインストールするのを防ぐことで、Ubuntuマシンを保護します。セキュアブートの検証では、実行時にコードを挿入する際にモジュールの署名が厳しく確認されます。

Linuxカーネルに安全にLivepatchを適用する

Livepatchを安全に実行できるよう、複数の保護対策があります。

まず、Livepatchクライアントは、自己更新型のsnapアプリケーションとしてパッケージ化され、配布されます。snapパッケージは、GPG署名され圧縮された読み取り専用のファイルシステムであり、改ざんできません。snapパッケージの自己更新機能は、アップグレードが失敗した場合、以前のバージョンにロールバックします。snapはサンドボックス環境で実行され、システムへのアクセスはデフォルトで拒否されます。Livepatch snapアプリケーションは完全に隔離されており、機能に不可欠なシステム領域に限り、定義済みのsnapインターフェイスを通じてアクセスできます。

次にCanonicalは、Livepatchの更新を発行したのが悪意のある第三者ではなく信頼できる者であることを、証明書に基づくトラストモデルで保証しています。

実行時のコード挿入における証明書ベースのトラストモデル

Livepatchは証明書を使用したトラストチェーンを採用し、すべてのパッチはCanonicalによって暗号化署名されている必要があります。証明書はCanonicalがビルドしたすべてのLinuxカーネルに組み込まれています。そしてLivepatchの更新は、この組み込まれた証明書に照らして確認した上で、実行時に適用されます。また、ブートローダーパッケージにはCA証明書が保存されていてセキュアブート中にカーネルの署名を検証しますが、これはLivepatchモジュールの検証とは別の検証システムです。

このシステムを長期にわたって運用するには、2つの証明書を定期的に更新する必要があります。Canonicalのサーバーからコンテンツに正常にアクセスするためには、クライアント認証証明書を更新する必要があります。また、Livepatchクライアントの証明書は、カーネルに組み込まれたモジュールの署名証明書と一致する必要があります。Launchpadは、Ubuntuの開発、パッケージ化、メンテナンスにおいて重要な役割を果たしています。Launchpadのビルドファームは、ソースコードを.debパッケージにコンパイルし、Livepatchの有効な証明書を維持するためのCI/CDプロセスをホストします。

Livepatchのエンジニアリングチームとカーネルのエンジニアリングチームは、カーネルとLivepatchクライアントが適切な証明書を使用するよう協力しています。またLaunchpadのチームとも協力し、ビルドの署名が適切であることを確認しています。Canonicalのカーネルのエンジニアは、Livepatchクライアントが配布する更新をパッケージ化します。すべてのLivepatchの更新には、公式カーネルビルドと同じ方法でテストと検証が行われます。すべてのLivepatchの更新は署名済みのカーネルモジュールとして配布されます。そしてカーネルは、パッチを適用する前にカーネルモジュールの署名とカーネルに組み込まれた証明書を照合します。

カーネルがLivepatchの更新を継続的に受信するには、公開証明書と秘密証明書のペアが一致している必要があります。Canonicalはすべてのカーネルを秘密証明書で署名し、対応する公開証明書はビルド時にカーネルに組み込まれます。Livepatchによって配布されるパッチを含め、すべてのカーネルモジュールは適切な秘密鍵で署名されています。Livepatchが更新を適用する際は、Livepatchクライアントとカーネルの両方が、組み込まれた公開証明書を使用して署名を検証します。モジュールの署名検証のためにカーネルに組み込まれた公開証明書と秘密証明書が一致しない場合、Livepatchモジュールは適用されません。無効なLivepatchの更新は、実行時の署名検証でカーネルによって拒否されます。

結び

セキュアブートを通じて確立されるトラストチェーン(最終的に署名済みのカーネルモジュールが必要)は、攻撃者によってLivepatchが悪用されるのを防ぎます。有効期限付きの証明書がトラストチェーンの完全性を維持し、パッチの受け取りに常に認証が実行されます。カーネルの脆弱性が報告された後、極めて重大または重大な脆弱性については、あらゆる規模の組織や個人がLivepatchを利用し、Ubuntuインスタンスが侵害される可能性を縮小しています。

ニュースレターのサインアップ

Ubuntuニュースレターの配信登録

お客様が購読登録を行われる場合、以下の条件に同意されたことになります。Canonicalのプライバシーに関するお知らせ個人情報保護ポリシー

関連記事

バックポートでパッケージのサポート終了を回避

2025年7月、Gitは危険度の高い脆弱性「CVE-2025-48384」の報告を受けました。攻撃者がこの脆弱性を悪用すれば、リポジトリのクローンを作成する際に任意のコードを実行できます。米国のサイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)は、この脆弱性の実際の悪用事例を確認後、Known Exploited Vulnerabilities(KEV、悪用が確認されている脆弱性)のカタログに追加しました。 この脆弱性の公開時に標準サポート終了を過ぎていたユーザーにとって、選択肢は2つでした。Ubuntu Proのサブスクリプションでセキュリティパッチを入手するか、開発者の作業環境やCI/CDインフラに既知のリモートコード実行(RCE)脆弱性を抱えたまま […]

Canonical、Ubuntu Pro for WSLを発表

Windows環境におけるUbuntu 24.04 LTSのWSLインスタンスにセキュリティメンテナンスとエンタープライズサポートを一括して提供。包括的なシステム管理機能も利用できるサブスクリプションサービス。 Canonicalは本日、Ubuntu Pro for WSLの一般提供を発表しました。Microsoftストアからインストール、ソースコードとベータ版はGitHubからダウンロード可能です。 「CanonicalとMicrosoftは、緊密なパートナーシップを通じてWSLの各種機能を構築しています。この取り組みは、WSLを利用して実運用向けのLinuxソリューションを構築する企業の開発者に有益です。」 Microsoft、WSLプロダクトマネージャー、Craig […]

Canonical、FIPS対応のKubernetesを公開

FIPS 140-3暗号化とDISA-STIGハードニングを備えた、FedRAMP対応のKubernetesクラスターとアプリケーションスイートを導入しましょう。 本日、KubeConにおいて、Ubuntuを提供するCanonicalは同社のKubernetesディストリビューションでFIPSモードを有効化するためのサポートを公開しました。これにより、高いセキュリティの導入や連邦政府向けの導入に適したスケーラブルなクラスターの構築と管理に必要なすべての要素を提供します。バージョン1.34以降、Canonical Kubernetesは認証済みの暗号モジュールを使用した内蔵FIPS 140-3機能とともに使用できます。このFIPS機能を備えた導入により、snapパッケージと […]