CWE一覧に戻る
CWE-1303

マイクロアーキテクチャ・リソースの非透明な共有

Non-Transparent Sharing of Microarchitectural Resources
脆弱性 レビュー中
JA

実行コンテキスト間で共有されるハードウェア構造(キャッシュや分岐予測器など)は、コンテキスト間で期待されるアーキテクチャの分離に違反する可能性がある。

最近のプロセッサは、アウトオブオーダー実行、スペキュレーション、プリフェッチ、データ転送、キャッシングなどのテクニックを使って性能を向上させている。これらのテクニックの実装に関する詳細は、プログラマーからは見えないようになっている。これは、これらのテクニックをハードウェアで実装した結果、孤立しているはずのコンテキスト間でリソースが共有される場合に問題となる。異なるコンテキスト間で共有リソースを奪い合うことで、あるコンテキストで実行されている悪意のあるプログラムが、別のコンテキストから情報を復元することを可能にする秘密のチャネルが開かれる。

コンテキスト間の情報リークに使用されてきた共有マイクロアーキテクチャ・リソースの例としては、キャッシュ、分岐予測ロジック、ロードまたはストア・バッファなどがあります。投機的実行やout-of-order実行は、どのデータが秘密チャネルを通じてリークされるかを攻撃者が制御できるようにします。

設計マイクロアーキテクチャにおけるコンテキスト間のリソース共有の程度が文書化されていない場合、システム資産を情報漏洩から確実に保護することは極めて困難です。

EN

Hardware structures shared across execution contexts (e.g., caches and branch predictors) can violate the expected architecture isolation between contexts.

Modern processors use techniques such as out-of-order execution, speculation, prefetching, data forwarding, and caching to increase performance. Details about the implementation of these techniques are hidden from the programmer's view. This is problematic when the hardware implementation of these techniques results in resources being shared across supposedly isolated contexts. Contention for shared resources between different contexts opens covert channels that allow malicious programs executing in one context to recover information from another context.

Some examples of shared micro-architectural resources that have been used to leak information between contexts are caches, branch prediction logic, and load or store buffers. Speculative and out-of-order execution provides an attacker with increased control over which data is leaked through the covert channel.

If the extent of resource sharing between contexts in the design microarchitecture is undocumented, it is extremely difficult to ensure system assets are protected against disclosure.

Scope: Confidentiality / Impact: Read Application Data; Read Memory
Microarchitectural covert channels can be addressed using a mixture of hardware and software mitigation techniques. These include partitioned caches, new barrier and flush instructions, and disabling high resolution performance counters and timers.
Microarchitectural covert channels can be addressed using a mixture of hardware and software mitigation techniques. These include partitioned caches, new barrier and flush instructions, and disabling high resolution performance counters and timers.
MITRE公式ページ — CWE-1303