A UEFI System with SPDM to Protect Against Unauthorized Device Connections
本論文は、PCIe および USB デバイスを認証するためにセキュリティプロトコルおよびデータモデル(SPDM)を活用するオープンソースの UEFI システムを提案・評価し、命令数で約 13%、CPU サイクルで約 8% の許容可能な起動オーバーヘッドを伴いながら、不正な周辺機器の接続を効果的に防止することに成功した。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
あなたのコンピュータを、高度にセキュリティが施された城だと想像してください。長年、城の門番(BIOS)は少し時代遅れで不統一でした。新しい種類の錠前が登場するたびに、門番はそれを理解するためにパッチを適用する必要があったのです。この問題を解決するため、城は「UEFI」と呼ばれる現代的で標準化された門番に切り替えました。この新しい門番は速く、賢いのですが、まだ盲点があります。それは、本物らしく見えるバッジを持った者なら誰でも、そのバッジがスパイの持ち物であっても、門を通り入れることを信頼してしまう点です。
本論文は、門番が単にバッジを確認するだけでなく、USB フラッシュドライブから内部ハードディスクドライブに至るまで、城に接続しようとする「すべてのデバイス」に対して、厳格なリアルタイムの身元調査を行う、超安全な新しいシステムを提案します。
以下に、著者がこのシステムをどのように構築し、テストしたかを、わかりやすく説明します。
1. 問題点:「トロイの木馬」USB
攻撃者は、悪意のある USB ドライブや改ざんされた内部コンポーネントを接続することで、コンピュータに忍び込むことができます。一度接続されると、これらのデバイスはオペレーティングシステム(Windows や Linux など)が起動する前に、ウイルスをインストールしたり、データを盗んだり、システムを乗っ取ったりする可能性があります。著者らは、すべてのデバイスのアイデンティティを、何らかの動作を許可する前にコンピュータが検証することで、これを阻止しようと考えました。
2. 解決策:「秘密の合図」(SPDM)
著者らは、SPDM(Security Protocol and Data Model:セキュリティプロトコルおよびデータモデル)と呼ばれるプロトコルを使用しました。SPDM を、複雑で破られない秘密の合図だと考えてください。
- 従来の方法: コンピュータが「こんにちは」と言い、デバイスが「こんにちは、私はマウスです」と答えます。コンピュータはそれを信じてしまいます。
- 新しい方法: コンピュータが「こんにちは」と言います。デバイスは、「私はマウスであり、これはメーカーによって署名された私の ID カードです」という暗号化された証明(デジタル証明書)で応答しなければなりません。コンピュータは、この ID カードを信頼できる発行元のリストと照合します。ID が偽物の場合、期限切れの場合、または欠落している場合、コンピュータは「立ち入り禁止」と宣言し、デバイスを即座に遮断します。
3. テスト:デジタル砂場
まだこの新しいセキュリティ標準をサポートする実機ハードウェアを簡単に見つけられなかったため、著者らはこのアイデアをテストするために「仮想コンピュータ」(QEMU というツールを使用)を構築しました。
- 彼らは、仮想コンピュータの門番(UEFI)がこの秘密の合図を使って、仮想 USB ドライブや仮想ハードドライブと通信できる「概念実証(プロトタイプ)」を作成しました。
- また、マスターキーを保存し、これらのチェックの結果を記録する、コンピュータ内部の安全な金庫のような役割を果たす「Trusted Platform Module(TPM)」も設定しました。
4. ゲームのルール
著者らは、「悪役」になりうる者を以下のように定義しました。
- こっそりする従業員: 物理的にコンピュータにアクセスし、悪意のある USB ドライブを接続する人。
- サプライチェーンの破壊工作員: 顧客に発送される前に、正当なハードドライブを偽物と交換する人。
- 内部関係者: 組み立て中に隠しスパイチップをインストールする工場労働者。
彼らのシステムは、これらすべてを阻止するように設計されています。たとえ悪党がコンポーネントを交換したとしても、新しいコンポーネントには正しいデジタル署名がないため、コンピュータはそれと通信することを拒否します。
5. 結果:待たされる価値はあるか?
セキュリティには常にコスト、つまり速度の低下が伴います。著者らは、「これらのチェックにより、コンピュータの起動はどれほど遅くなるのか?」を知りたがりました。
正確なデータを得るために、彼らは仮想コンピュータを 1 万回実行しました。
- コスト: コンピュータの起動(ブート)には約**8%余分な時間がかかり、これらのチェックを実行するために約13%**多くの処理能力(命令)を消費しました。
- 結論: 著者らは、このわずかなコストが、巨大なセキュリティの向上に対して非常に小さい代償であると主張します。これは、武器の密輸を防ぐために空港のセキュリティラインで数秒余分に待つようなものです。この遅延は、コンピュータを起動するときに一度だけ発生し、使用するたびに発生するわけではありません。
6. 何か問題が起きたらどうなるか?
著者らは 4 つのシナリオをテストしました。
- 完璧な世界: すべてが承認されています。コンピュータは通常通り起動します。
- 改ざんされたファームウェア: コンピュータ自身の門番コードが変更されました。システムは即座に停止し、起動を拒否します。
- 偽の署名: 門番のコードは正常ですが、デジタル署名が誤っています。システムは停止します。
- 悪意のあるデバイス: コンピュータが正しい ID を持たない USB ドライブに接続しようとしています。システムはその特定のデバイスをブロックし、読み込みを拒否することで、脅威を実質的に無力化します。
まとめ
要約すると、著者らはコンピュータの起動プロセスを厳格なセキュリティチェックポイントに変えるプロトタイプを構築しました。SPDM という新しい標準を使用することで、コンピュータはすべての接続デバイスを動作させる前に、その身元を証明させることを強制します。これによりブートプロセスにわずかな時間(約 8%)が追加されますが、USB ドライブや改ざんされたハードウェアを通じて忍び込もうとするハッカーに対する強力な盾が生まれます。著者らはコードをオープンソース化しており、他のセキュリティ専門家がこのコードを使用して、さらに強力なシステムを構築できるようにしています。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。