公開日:2015/03/23 最終更新日:2015/03/23

JVNVU#94580091
複数の BIOS 実装において SMRAM の領域外を参照する SMM 関数呼び出しが可能な問題

概要

複数の BIOS 実装には、SMRAM 領域外のメモリを参照する、安全でないシステム管理モード (SMM) での関数呼び出しが可能な問題が存在します。

影響を受けるシステム

影響を受けるシステムは複数存在します。
詳しくは開発者が提供する情報や CERT/CC Vulnerability Note VU#631788 の Vendor Information に掲載されている情報を参照してください。

詳細情報

複数の BIOS 実装には、SMRAM 領域外のメモリを参照する、安全でないシステム管理モード (SMM) での関数呼び出しが可能な問題が存在します。

LegbaCore の Corey Kallenberg 氏は次のように述べています。

System Management Mode (SMM) is the most privileged execution mode on the x86 processor. Non-SMM code can neither read nor write SMRAM (SMM RAM). Hence, even a ring 0 level attacker should be unable to gain access to SMM.

However, on modern systems, some SMM code calls or interprets function pointers located outside of SMRAM in an unsafe way. This provides opportunity for a ring 0 level attacker to break into SMM.
この脆弱性を使用するために、攻撃者は物理メモリにアクセスする必要があります。攻撃者はまず、SMM が使用する関数ポインタあるいは SMM で呼び出される関数を操作し、次に SMI (システム管理割り込み) コマンドポート 0xb2 にデータを書き込み、SMM へ遷移させることで、SMM のコンテキストでコードを実行することが可能です。

想定される影響

システムにログイン可能な攻撃者によって SMM のコンテキスト内で任意のコードを実行され、Secure Boot を回避される可能性があります。また、保護された範囲レジスタを使用しないシステムでは、攻撃者によってファームウェアを書き換えられる可能性があります。

対策方法

開発者が提供する情報や CERT/CC Vulnerability Note VU#631788 の Vendor Information に掲載されている情報を参考に、対策方法を検討してください。
CERT/CC では、本脆弱性について開発者との調整を継続して進めています。

Intel は BIOS 開発者に向け、脅威を緩和するためのガイダンスとして次の情報を提供しています。

Starting in Haswell-based client and server platforms, the "SMM Code Access Check" feature is available in the CPU. If SMM code enables this in the appropriate MSR, then logical processors are prevented from executing SMM code outside the ranges defined by the SMRR. If SMI code jumps outside these ranges, the CPU will assert a machine check exception. During BIOS development, this can be an effective mechanism for BIOS developers to identify insecure call-outs from SMM, and during runtime, this feature can also be effective at blocking certain attacks that redirect SMM execution outside SMRAM.

ベンダ情報

参考情報

  1. CERT/CC Vulnerability Note VU#631788
    Multiple BIOS implementations permit unsafe SMM function calls to memory locations outside of SMRAM

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

2015.03.23における脆弱性分析結果(CVSS Base Metrics)

CVSSとは

評価尺度 評価値 説明
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N) 物理アクセスやローカル環境から攻撃可能
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L) 攻撃成立に複雑な条件が必要
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N) 単一の認証が必要
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C) 全ての情報が漏えいする
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C) 情報の正確さや完全さが全面的に損なわれる
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C) システムの使用が全面的に阻害される

Base Score:6.0

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2015-0949
JVN iPedia