CWE一覧に戻る
CWE-1298

ハードウェア・ロジックにレース条件が含まれる

Hardware Logic Contains Race Conditions
脆弱性 レビュー中
JA

ハードウェア・ロジックにレース・コンディションが発生すると、システムのセキュリティ保証が損なわれる。

論理回路における競合状態は、通常、論理ゲートが同じソースから発生しながら異なる経路を通過した信号から入力を受ける場合に発生する。このようなゲートへの入力は、ソース信号の変化に応じてわずかに異なるタイミングで変化します。その結果、タイミング・エラーやグリッチ(一時的または恒久的)が発生し、出力が所望の状態に落ち着く前に望ましくない状態に変化してしまいます。このようなタイミング・エラーが、セキュリティに敏感なフローに実装されているアクセス制御ロジックや有限ステート・マシンで発生すると、攻撃者はそれを悪用して既存の保護を回避するかもしれません。

EN

A race condition in the hardware logic results in undermining security guarantees of the system.

A race condition in logic circuits typically occurs when a logic gate gets inputs from signals that have traversed different paths while originating from the same source. Such inputs to the gate can change at slightly different times in response to a change in the source signal. This results in a timing error or a glitch (temporary or permanent) that causes the output to change to an unwanted state before settling back to the desired state. If such timing errors occur in access control logic or finite state machines that are implemented in security sensitive flows, an attacker might exploit them to circumvent existing protections.

Scope: Access Control / Impact: Bypass Protection Mechanism; Gain Privileges or Assume Identity; Alter Execution Logic
Adopting design practices that encourage designers to recognize and eliminate race conditions, such as Karnaugh maps, could result in the decrease in occurrences of race conditions.
Logic redundancy can be implemented along security critical paths to prevent race conditions. To avoid metastability, it is a good practice in general to default to a secure state in which access is not given to untrusted agents.
MITRE公式ページ — CWE-1298