web-dev-qa-db-ja.com

UEFIは暗号化キーをリークする可能性がありますか?

私は数年で最初のコンピューターを構築したばかりで、初めてUEFIメインボードを手に入れました。 Windows 7をレガシーモードでインストールし、システムパーティションをTruecryptで暗号化しました。

最近、Lighteaterがメモリから暗号化キーを抽出できたというLighteaterの概念実証に関する記事がありました。これを行うには、UEFIがシステムのメモリにアクセスし、暗号化されていないスペースのどこかにデータを保存する必要があります。暗号化のすべてのユーザーにとって、これは憂慮すべきことです。

私が知っていることから、UEFIはそれ自体がWindowsを実行するオペレーティングシステムです。私の問題は、UEFIが実行中のWindowsシステムとそのメモリにどの程度アクセスできるか、またメモリの一部がUEFIフラッシュメモリで進行していて、コンピュータにアクセスできる人に暗号化キーが漏洩する可能性があるかどうかがわからないことです。私の主な懸念は、コンピュータがシャットダウンされて電源が切断された場合でも、誰かがメインボードのUEFIメモリからこれらのキーを抽出できる可能性があることです。誰かがこれを片付けることができますか?

7
RainerW

私が知っていることから、UEFIはそれ自体がWindowsを実行するオペレーティングシステムです

UEFIはオペレーティングシステムと同じくらい複雑ですが、UEFIがロードされた後にオペレーティングシステムを実行すると言うのは誤りです-オンラインテキストがたくさんあるにもかかわらずその印象を作成します。

少し単純化すると、UEFIとWindowsの共存方法を表現する正しい方法は「サイドバイサイド」です。Windowsが起動するとUEFIはバックグラウンドで実行されませんが、何かを実行できるUEFIコードがあり、一度呼び出されると実行されます。 Windowsは、UEFIファームウェアへの呼び出しを開始します。

UEFIはOSカーネルと同じ特権レベルを持ち、すべてのメモリとデバイスにアクセスできます。通常、OSの指示なしにアクションを実行することはありません。

したがって、UEFIはそれ自体でキーをリークすることはありませんが、UEFIが提供するランタイムサービスの1つはUEFI NVRAMへの読み取りと書き込みであり、OSの悪意のあるプロセスがUEFIにキーをUEFINVRAMに書き込むように要求する可能性があります。


ただし(スズ箔の帽子をかぶる)...

Intelプロセスの80486シリーズ(Pentiumより前の世代)の前後から、システム管理割り込みと呼ばれる機能が導入されました。 SMIは、設計上、基盤となるOSから検出されないように設計されています。最新のプラットフォームでは、次の目的でそれらを使用します。

  • ファン制御。
  • ハードウェアのエミュレート-たとえば、SMIを介して、USBキーボード/マウスはDOS互換性のためにPS/2キーボード/マウスのように見えます。
  • 他のハードウェアをエミュレートします( this 興味深いと思うかもしれません)。

したがって、悪意のあるUEFIファームウェアが、オペレーティングシステムの認識なしにバックグラウンドで何かを実行している可能性があります。 (少なくとも特定のプラットフォームでは、OSの起動前に実行されているものが、OSの起動前にSMIハンドラーを変更することも可能です。)

したがって、他のソフトウェアと同様に、UEFIは信頼できるものであり、クローズドソースであり、自分でコンパイル/インストールしたものではないため、ほとんどのシュリンクラップや/のように、ある程度盲目的に信頼することも選択しています。またはプレインストールされたソフトウェア。

まだスズ箔の帽子を脱いでいない場合は、 Intel vProIntel AMT のように、システムへのアクセスがはるかに多く、UEFIよりもはるかにリモートで公開されていることに注意してください。 。

15
LawrenceC