研究者らは最近、Microsoftのサードパーティ製UEFI署名証明書を信頼するシステム上でセキュアブートを回避するために攻撃者が悪用できた可能性のある、脆弱でありながら今なお信頼された状態にあったUEFIシムブートローダーを11個発見しました。
UEFI(Unified Extensible Firmware Interface)とは、オペレーティングシステムとハードウェアを接続するマザーボードソフトウェアです。
MicrosoftはESETによる報告を受け、6月にセキュアブート失効リストの更新を通じてこれらの脆弱なブートローダーを失効させました。しかし、パッチが適用されていないシステムでは依然としてこれらのコンポーネントを信頼し続け、ブートレベルの攻撃に晒されたままとなる可能性があります。
古く忘れ去られたシムブートローダー
シムブートローダーとは、セキュアブートが有効なシステム上でUEFI(Unified Extensible Firmware Interface)ファームウェアによって起動される小さなプログラムで、ファームウェアとオペレーティングシステムのブートローダーとの橋渡し役を担います。Linux環境では、シムが信頼された第一段階のブートローダーとして機能し、Linuxのブートプロセスの残りを検証・起動することで、セキュアブートが有効なUEFIシステム上でもLinuxディストリビューションを起動できるようにしています。
ESETが今週のレポートで説明したように、UEFIシムブートローダーとは「Microsoftが一度だけ検証・署名すればよい、小さく最小限の第一段階ブートローダーであり、その後Linuxディストリビューション固有のブートスタック(通常はGRUB 2とLinuxカーネル)の残り部分に対する第二の信頼の起点を作り出すもの」です。シムを使うことで、MicrosoftはすべてのLinuxブートローダーに署名する必要がなくなる一方、セキュアブートの信頼の連鎖の完全性は維持されます。
ESETが発見した11個のシムブートローダーは、いずれもバージョン0.9以前のもので、現行バージョンから見て何世代も前の古いものでした。同社のセキュリティベンダーによると、これらのシムは脆弱な第二段階ブートローダー(既知の欠陥を抱える旧バージョンのGRUB2など)を起動するよう設定されていたか、新しいバージョンに備わっているセキュリティ保護機能を欠いていたか、あるいはセキュアブートの保護機能を回避できる脆弱性を含んでいたとのことです。
こうした問題を抱えていたにもかかわらず、これらのシムブートローダーはセキュアブートの信頼の連鎖において信頼されたコンポーネントであり続けていました。つまり、攻撃者はこれらを悪用してセキュアブートの保護を回避し、起動時に悪意あるコードを実行し、オペレーティングシステムより下位のレベルで永続的なアクセスを確立できた可能性があるということです。ESETによれば、攻撃者はこれらの古いブートローダーのコピーを1つ入手し、セキュアブートの仕組みを理解してさえいれば、安全な起動プロセスを回避できてしまいます。
「これらの古いシムが危険なのは、目新しい脆弱性があるからではありません。UEFIセキュアブートを回避するのに新たな脆弱性など必要ないという点が問題なのです」と、ESETの研究者マルティン・スモラー氏は記しています。「攻撃者に複雑なエクスプロイトの手法は一切不要です。必要なのは、古く、今なお信頼されているものの失効はしていないシムのバイナリと、UEFIシムの仕組みに関する基本的な理解だけです。それだけで、UEFIセキュアブートというきわめて重要なセキュリティ機能を回避するのに十分なのです」。この問題は、Microsoftのサードパーティ製UEFI署名が有効になっているすべてのUEFIシステムに影響しますが、同氏によれば、Windows 11のSecured-core PCではこのオプションは通常デフォルトで無効になっているはずだといいます。
信頼を失効させ損ねた失敗
今回のESETの発見により、古く脆弱なソフトウェアがもはや信頼できなくなった後もセキュアブートの信頼の連鎖において信頼されたコンポーネントであり続けてしまうという課題に、改めて注目が集まっています。「重要なポイントは、これが単に11個の無名の製品の欠陥にとどまらないという点です。これは信頼を失効させることに失敗した事例なのです」と、Sectigoのシニアフェローであるジェイソン・ソロコ氏は述べています。
ソロコ氏が指摘するように、Microsoftの署名によって古いシムは持ち運び可能な「持ち込み型」ブートコンポーネントと化してしまいました。攻撃者は、インストールされているオペレーティングシステムを問わず、Microsoft Corporation UEFI CA 2011を依然として信頼しているマシンであれば、どれにでもこれを持ち込むことができてしまうのです。
Microsoftが6月に行った失効措置により、セキュアブートの拒否リストを更新済みのシステムは、既知の脆弱なシムを信頼しなくなる、とソロコ氏は述べています。しかし、2017年以前に署名され記録が不完全な古いシムについては、エコシステム内のすべての脆弱なコンポーネントを特定して失効させるのが難しい場合があります。「より大きな教訓は、インベントリ管理と失効処理がソフトウェアの引退に追いつかない場合、署名済みのブートコードが長期間残存する『セキュアブート負債』となりかねないということです」。
BreachLockの創業者兼CEOであるシーマント・セガール氏は、今回見過ごされていたシムの問題は、ファームウェア層が攻撃対象領域の中でも特に検証が行き届いていない部分の一つであることを改めて示すものだと述べています。「この種の脆弱性が特に深刻なのは、悪用がオペレーティングシステムのロード前に成立してしまう点です。つまり、エンドポイント検知・対応(EDR)ツールやEDRエージェント、OSレベルの制御はすべて、最も重要な瞬間にまったく見当違いの方向を監視していることになるのです」。
Microsoftによるシムの失効措置自体は正しい対応ですが、失効はあくまで6月9日のパッチを受け取り適用したシステムしか保護しません。「実際には、ファームウェア層のパッチ適用はアプリケーションのパッチ適用よりもはるかに時間がかかります。特に、レガシーハードウェアやエアギャップ環境、あるいは変更管理サイクルが日単位ではなく四半期単位で回っているOT隣接インフラを抱える企業環境では顕著です」とセガール氏は述べています。その結果、多くの組織にとって、この脆弱性への露出期間は数か月、あるいはそれ以上に及ぶことが予想されます。
「この種の脆弱性の本当の脅威は、即座の破壊ではなく、居座り続けることにあります」と、Black Hills Information SecurityのCEOであるジョン・ストランド氏は警鐘を鳴らしています。多くの組織は、被害がほぼ即座に発生するランサムウェアを念頭に置いた考え方に慣れきっていますが、国家的な攻撃者はまったく異なる目的を持っていることが少なくありません。「彼らは可能な限り長く検知されないままでいたいのです。静かに情報を収集し、アクセスを維持し続けます。だからこそ、このような脆弱性はこれほど懸念すべきものなのです」。
翻訳元: https://www.darkreading.com/cyber-risk/forgotten-bootloaders-expose-secure-boot-blind-spot