CWE一覧に戻る
CWE-1332

指導スキップにつながる不適切な障害処理

Improper Handling of Faults that Lead to Instruction Skips
脆弱性 確定版
JA

デバイスに、セキュリティ上重要な CPU 命令のスキップが発生した場合に、それを検出して緩和するための回路やセンサーが実装されていないか、不適切である。

ハードウェアの動作条件は変化する可能性がある。
予期せぬ動作が発生する可能性があります、
セキュリティ上重要な CPU 命令のスキップなど
命令のスキップなど、予期せぬ動作を引き起こすことがある。一般的に、これは
これは一般的に、電気的な障害や、デバイスが想定された条件
一般的には、電気的な障害や、デバイスが想定された条件以外で動作した場合に発生します。

実際には、アプリケーション・コードには
アプリケーション・コードには、セキュリティーに敏感な条件分岐が含まれることがあります(例:ユーザーから提供されたパスワードを受け入れるか拒否するか)、
アプリケーション・コードには、セキュリティに敏感な条件分岐が含まれることがあります(例 えば、ユーザーから提供されたパスワードを受け入れるか拒否するかなど)。このような
このような条件分岐は、通常
バイナリで実装されます。
バイナリによって実装されます。
分岐条件を反転させる、つまり、間違った分岐をさせることになります。
つまり、セキュリティーに敏感でない分岐が行われることになります。これは
これは、ファームウェア認証、パスワード検証
認証、その他のセキュリティに敏感な
ポイントに影響する。

攻撃者は、フォールト・インジェクションのテクニックを使って
ハードウェアの動作条件を変更し
セキュリティ上重要な命令が
より頻繁に、あるいはより確実にスキップさせることができます。
「よりも頻繁に、あるいはより確実にスキップされるようにします。

EN

The device is missing or incorrectly implements circuitry or sensors that detect and mitigate the skipping of security-critical CPU instructions when they occur.

The operating conditions of hardware may change
in ways that cause unexpected behavior to occur,
including the skipping of security-critical CPU
instructions. Generally, this can occur due to
electrical disturbances or when the device operates
outside of its expected conditions.

In practice, application code may contain
conditional branches that are security-sensitive (e.g.,
accepting or rejecting a user-provided password). These
conditional branches are typically implemented by a
single conditional branch instruction in the program
binary which, if skipped, may lead to effectively
flipping the branch condition - i.e., causing the wrong
security-sensitive branch to be taken. This affects
processes such as firmware authentication, password
verification, and other security-sensitive decision
points.

Attackers can use fault injection techniques to
alter the operating conditions of hardware so that
security-critical instructions are skipped more
frequently or more reliably than they would in a
"natural" setting.

Scope: Confidentiality, Integrity, Authentication / Impact: Bypass Protection Mechanism; Alter Execution Logic; Unexpected State
Design strategies for ensuring safe failure if
inputs, such as Vcc, are modified out of acceptable
ranges.
Design strategies for ensuring safe behavior if
instructions attempt to be skipped.
Identify mission critical secrets that should
be wiped if faulting is detected, and design a
mechanism to do the deletion.
Add redundancy by performing an operation
multiple times, either in space or time, and perform
majority voting. Additionally, make conditional
instruction timing unpredictable.
Use redundant operations or canaries to
detect and respond to faults.
Ensure that fault mitigations are strong enough
in practice. For example, a low power detection
mechanism that takes 50 clock cycles to trigger at lower
voltages may be an insufficient security mechanism if
the instruction counter has already progressed with no
other CPU activity occurring.
MITRE公式ページ — CWE-1332