脆弱性
フォールトインジェクション
別称: グリッチ攻撃, 故障注入攻撃
定義
ハードウェアやソフトウェアに意図的に異常状態を引き起こし、セキュリティチェックを回避したり秘密情報を漏えいさせたりする攻撃の総称。
フォールトインジェクションは、電圧グリッチ、電磁パルス、レーザ照射、クロック操作、不正入力などの手段でシステムの正常動作を意図的に乱し、攻撃者が悪用できる誤動作を発生させる手法です。代表的な狙いは、認証チェックのスキップ、暗号演算の破壊によるキー漏えい(差分故障解析)、セキュアブートのバイパスなどです。スマートカード、TPM、車載 ECU などの組み込み機器のほか、重要ソフトウェアも標的になります。対策としては、冗長計算、フォールト検出センサ、ランダム化実行、ECC メモリ、セキュアエレメントの遮蔽、セキュリティ判定を二重に検証する防御的プログラミングなどが用いられます。
例
- スマートカードへ電圧グリッチを与え、PIN 検証分岐をスキップする。
- AES に対する差分故障解析で、破損した暗号文から鍵を復元する。
関連用語
サイドチャネル攻撃
論理的欠陥ではなく、時間・消費電力・電磁波・キャッシュ・音響など、システムの物理的または実装上の特徴を観測することで秘密情報を回復する攻撃。
タイミング攻撃
入力ごとに処理にかかる時間の差を測定することで秘密情報を回復するサイドチャネル攻撃。
ハードウェアトロイの木馬
設計または製造の段階で集積回路に挿入される悪意ある改変で、データ漏えいやサービス停止などの隠れた挙動を引き起こす。
コールドブート攻撃
電源を素早く落とし、揮発メモリの内容が完全に消える前に再読み出すことで、RAM 上の暗号鍵などの秘密情報を取得する物理攻撃。
Rowhammer
DRAM のハードウェア脆弱性。あるメモリ行を繰り返し活性化することで物理的に隣接する行のビットが反転し、メモリの整合性を損なう。