BIOSのセキュア ブートとプラットフォーム キーについて
Summary: セキュア ブートと、マルウェアからシステムを保護する上でのセキュア ブートの役割について説明します。BIOSのプラットフォーム キーの概要と、セキュア ブート機能の信頼を確立する方法を理解します。
Symptoms
この記事では、セキュアブートとそれをLinuxに拡張する方法について説明します。RHEL7です。また、Linuxの「信頼できるカーネルブート」と、それがユーザー空間アプリケーションに与える影響についての洞察も提供します。
セキュア ブートは、ルート キットがオプションROMやMBRなどのメカニズムを使用して起動時にメモリーにインストールされ、OSにロードされることを防止するように設計されています。また、ルート キットがシステム制御を乗っ取り、マルウェア対策プログラムから見つかりにくい場所に潜伏することがないよう設計されています。この問題は時間の経過とともに大きくなり、データの損失、破損、盗難に重要な役割を果たしています。マルウェアは、BIOSとOSローダーの途中に侵入する可能性があります。また、OSローダーとOSの間に位置することもあります
Unified Extensible Firmware Interface (UEFI) は、最新のサーバー プラットフォーム向けのハードウェアおよびソフトウェア インターフェイスの新しい標準であり、IHV が従来の BIOS 環境よりも柔軟な起動前環境で連携する UEFI でデバイス ドライバーを開発するための豊富な UI、モジュール性、および標準インターフェイスのセットを備えています。各種のオペレーティング システムとプラットフォームにまたがるUEFIの導入は増え続けており、主要なクライアントおよびサーバーOSバージョンの多くでサポートされています。
Microsoftが主導するUEFI標準化団体は、変更されておらずプラットフォームに認識されているバイナリをロードして実行するメカニズムを使用して、ブート時マルウェアのルートキットがインストールされることを禁止する方法を特定しました。このメカニズムは、セキュア ブートと呼ばれます。Microsoftの情報については、Microsoftセキュア ブートを参照してください。同様に、異なるOSベンダーがセキュア ブートを実現するためにさまざまな方法を組み込んでいます。
セキュリティ保護されたUEFIプラットフォームでは、オプションのROMドライバー、ブート ローダー、OSローダーなど、変更されておらず、プラットフォームによって信頼されているソフトウェア ドライバーのみをロードします。セキュア ブート メカニズムの詳細については、UEFI仕様を参照してください。
UEFIセキュア ブート:
UEFI仕様は、セキュア ブートに必要なインフラストラクチャを定義します。セキュア ブートで使用される用語について簡単に紹介します。より深く理解したいユーザーに役立ちます
セキュア ブートは、実行中のシステムとそのデータは保護しません。セキュア ブートは、起動プロセスで認証されていないコンポーネントがある場合、OSの起動を停止します。これにより、システムが隠れたマルウェアを実行するのを防ぎます。
これらのキーワードは、セキュア ブートの基本です。UEFIの仕様 これらのキーワードについて詳しく教えてください。これらの仕様は、バイナリに署名する方法を詳細に説明しています。セクション28
を参照してください詳細については、
認証された変数:
UEFIは、認証された変数と呼ばれるサービスを提供します。これは、認証されたモジュールまたは認証されたコード モジュールのみが書き込むことができることを意味します。つまり、キー証明書を持つコード モジュールのみが書き込むことができます。しかし、どの当事者もこれらの変数を読み取ることができます
プラットフォーム キー(PK):
プラットフォーム キーは、プラットフォームの所有者と、プラットフォームの製造元によってNVMにインストールされたファームウェアとの間に信頼関係を確立します
キー交換キー(KEK):
キー交換キーは、オペレーティング システムとプラットフォーム ファームウェア間の信頼を確立します。KEKは、OSや、プラットフォーム ファームウェアと通信するサード パーティー製コンポーネントによってプラットフォームにインストールされます
Database (DB):
Authorized プラットフォーム ファームウェアとの対話が許可されているコード モジュールの公開キーと証明書を保持するデータベース。
DBX:
ブラックリストに記載されたデータベース。これらの証明書に一致するコード モジュールは、読み込みを開始できません。
署名:
秘密鍵とハッシュは、署名されるバイナリの署名を生成します
証明書:
イメージの署名に使用される秘密キーに対応する公開キーを含むAuthenticode証明書。
UEFIプラットフォーム ファームウェアは、認証局(CA)(この場合はMicrosoft)によって署名されたサード パーティー製ドライバー、OptionROM、およびOSローダーをロードします。どのハードウェア ベンダーも、UEFI BIOSでドライバーを作成し、UEFIプラットフォームで実行するためにMicrosoftによって署名されるようにすることができます。OEM はキーのパブリック部分をプラットフォーム DB にインストールし、UEFI ローダー プロトコル サービスは、プラットフォームでの実行を許可する前に、承認された DB に対してバイナリの署名を検証します。この認証チェーンは、UEFIからOSローダー、OSへと続きます。
要約すると、UEFIを使用すると、署名され、キーがDBに存在するOSローダーを実行できます。このキー メカニズムにより、OSローダーまたはオプションROMは、許可され、どの当事者によっても変更されていない場合にのみ実行が許可されます。
図1: UEFIプラットフォーム ファームウェア
Cause
Resolution
Additional Information