web-dev-qa-db-ja.com

BIOSマルウェアはOSからインストールできますか?

OSの脆弱性を利用して、BIOS/UEFI /ファームウェアマルウェア(キーロガーなど)をインストールできますか? BIOSはOSより「深い」レベルであることは知っています。ファームウェアベースのキーロガーが存在することを知っています。敵がBIOSをフラッシュすることでインストールできることは知っています。しかし、OS、つまりWindowsはファームウェアに書き込むことができますか?ハッカーは理論的に(これが行われたかどうかにかかわらず)被害者のオペレーティングシステムのセキュリティの脆弱性を悪用し、それを使用してBIOSをフラッシュしたり、ファームウェアにマルウェアをインストールしたりできますか?そうでない場合、誰かがリモートでBIOSをフラッシュ/感染させるにはどうすればよいでしょうか?そしてそれをどのように防ぐことができますか?

16
Emma

ファームウェア構成

BIOSへの書き込みは特権操作であり、スーパーユーザーのみが実行できます。多くのBIOSはこれを防止しようとします。たとえば、 [〜#〜] spi [〜#〜] 書き込みビットをロックし、 [〜#〜] smm [〜# 〜] BIOSと対話します。残念ながら、BIOSを変更するには多くの方法があり、多くの(ほとんどの?)ファームウェアベンダーは構成を適切にロックダウンせず、スーパーユーザーが構成を変更できます。特定のシステムに脆弱なBIOSがあるかどうかは、 [〜#〜] chipsec [〜#〜] フレームワークを使用して確認できます。一般的な設定ミスがないかシステムをスキャンし、その影響をレポートします。ブート時に必要なすべてのロックビットが設定されているかどうかを報告します。多くの場合、そうではありません。

これは、特権アクセスを持つ攻撃者からの保護には必ずしも十分ではありません。 BIOSを変更できない場合でも、十分に高度な攻撃者は オプションROM または ストレージデバイスのファームウェア を変更できる可能性があります。少なくとも、 [〜#〜] nvram [〜#〜] などの不揮発性の書き込みに敏感なストレージに繰り返し書き込みを行うことで、コンピュータに物理的に損傷を与える可能性があります。しかし、他の残りのリスクに関係なく、BIOSをロックダウンするか、少なくともロックダウンされているかどうかを判断することが最初のステップです。

さらに、特権タスクはシステム上の低レベルのインターフェースにアクセスできます。 ファームウェアのセキュリティ調査 の増加があり、すべてのロックが適切に構成されていても、システムのパッチ適用の複雑さと難しさがバグを蔓延させることを示しています。これは、ファームウェアのセキュリティをバイパスする方法、または さらに多くの特権を取得する の方法としても現れます。

測定ブーツ

最近の多くのシステムには Intel BootGuard が付属しています。これは、署名されたBIOSを起動前に物理チップセット自体で検証できるようにするテクノロジーです。 完全ではない ですが、ファームウェアが変更可能であっても、署名されていないファームウェアが実行されないようにします。これには、OEMによって事前に組み立てられた最新のシステムが必要です。そうでない場合は、代わりに [〜#〜] tpm [〜#〜] を使用してBIOSの整合性を確認し、変更があったかどうかを警告できます。

BootGuardは、BIOSにデジタル署名することで機能します。検証に使用されるキーは、アセンブリ時に [〜#〜] pch [〜#〜] にOEMによって書き込まれます。システムが起動すると、BIOSの署名が公開鍵によって検証されます。この公開鍵はOTP(ワンタイムプログラマブル)ヒューズに書き込まれるため、攻撃者はこの公開鍵を変更できません。

TPMの動作は少し異なります。 [〜#〜] crtm [〜#〜] と呼ばれるBIOSの読み取り専用のコードは、BIOSハッシュのコピーをTPMに送信します。これは、ブート設定、オプションROM、MBRなど、システムの残りの構成で発生します。これらのすべてのハッシュが期待値と一致する場合、TPMは安全に格納していた秘密値を開封します。この値は、起動を完了するために必要な暗号化キーの場合もあれば、自分だけが知っている秘密の値の場合もあり、画面の内容を変更できる攻撃者でも、封印されていないTPMを偽装することはできません。

概要

ハードウェアまたはソフトウェアの脅威にかかわらず、ファームウェアを効果的に 書き込み保護 することが常に可能であるとは限りません。一般に、攻撃者が悪意のあるローカルに(物理的でなくても)高い権限でマシンにアクセスできる場合、攻撃者は通常、好きなように操作できます。最善の解決策は、そもそも彼らが高い特権を得ることを防ぐことです。それが不可能な場合、解決策は3つしかありません。

  • CHIPSECで決定できるように、BIOSが必要なすべてのビットをロックしていることを確認します。
  • Intel BootGuardがサポートされ、有効になっているシステムを使用します。
  • TPMを使用して、測定されたブートを提供します。これは常に実用的であるとは限りません。
15
forest