Livepatchがサイバー攻撃を防ぐ仕組み
by Canonical on 1 September 2025

Canonical Livepatchはセキュリティパッチの適用を自動化するツールであり、再起動なしにLinuxカーネルのセキュリティを更新します。また、セキュリティと運用上の利便性をバランス良く備えています。Livepatchは、次回のパッケージアップグレードと再起動までの間、インメモリパッチを使用して、重要度の高いCVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)を修正します。システム管理者は、セキュリティが最重要視されるミッションクリティカルなUbuntuサーバーのセキュリティ確保にLivepatchを活用しています。
Linuxカーネルはシステムの稼働に不可欠なコンポーネントであり、障害が発生するとマシン全体が停止します。Canonicalのライブカーネルパッチ機能は、以下の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 ProをNutanixのベアメタルKubernetesで提供
NutanixとCanonicalのパートナーシップ拡大によりコンテナ化されたワークロードの選択肢が増加 Enterprise Kubernetes®は、柔軟性の高いマルチアーキテクチャモデルへと進化しつつあります。AI/MLやデータ集約型のワークロードが膨大なハードウェアスループットを必要とする近年、組織はクラウドプラットフォームの安定性を維持しながら、ベアメタルのパフォーマンスを求めています。 このためNutanixとCanonicalは、このたび発表されたNKP Metalソリューションも含め、ベアメタルで実行するNKP(Nutanix Kubernetes Platform)インスタンスでもUbuntu Proを利用可能にしました。もともと2025年に発表されたパ […]
Ubuntu 26.04 LTSのセキュリティ最新情報
Ubuntu 26.04 LTSは、Canonicalにとって最もセキュリティを重視したLTSリリースです。単に機能を追加しただけでなく、システムのあらゆる層で同時にセキュリティの基準を引き上げ、全体的に強化しました。しかも既存の環境を壊したり、手動での介入が増えたりすることはありません。セキュリティの心臓部、つまりデフォルト設定に注力することで、CanonicalはUbuntuのセキュリティを新しい形で強化しました。この記事では、Ubuntu 26.04 LTSの新しいセキュリティ機能について概説します。 Ubuntu 26.04 LTS は、デスクトップ、サーバー、コンフィデンシャルVM、クラウドイメージ、エッジシステムでLinuxを運用する上で、今後10年間にわたっ […]
JammyからResoluteまで:Ubuntuのツールチェーンの進化
新しいツールチェーンのバージョン、devpack、開発体験を改善するワークフローをご紹介します。 Ubuntuのツールチェーンの進化は、単にGCC、LLVM、Pythonを提供することではありません。明確な目的を持つOpenJDKのバリアント、タスクに特化したdevpack、FIPS適合のツールチェーン、そしてsnap(新しい.NET snapやSnapcraftプラグインなど)の開発も含みます。このような改善により、これまで半日かかっていたセットアップが1〜2個のコマンドで済みます。これは、Ubuntu上でフレームワークやアプリケーションを開発する者にとって、まさに「摩擦のない」開発体験です。 このブログでは、Ubuntuの過去4年間のLTSリリースにおける変更点と今後 […]