ハードウェアセキュリティの最新動向
A面とB面の2つの領域を使ってファームウェアを更新する機器で、ロールバック防止のためにeFuseに記録する最低の版の番号を、新しい版の番号に進める時期として、最も適切なものはどれか。
- A新しいファームウェアのダウンロードを始めた時点で、すぐに最低の版の番号を新しい版の番号に進めておく
- B新しいファームウェアの署名を確かめ、その面から起動して正常に動くことを確認した後に、番号を進める
- C製造のときに書き込んだ最低の版の番号のまま、ファームウェアを更新しても番号は一度も進めない
答えと解説を見る
正解:B. 新しいファームウェアの署名を確かめ、その面から起動して正常に動くことを確認した後に、番号を進める
番号を先に進めてしまうと、新しいファームウェアが途中で壊れていたり起動に失敗したりしたとき、元の面に残る古い版も「最低の版より古い」として拒否され、機器が起動できなくなります。そこで、新しい版を空いている面に書き、署名を確かめ、その面から起動して正常に動くことを確かめてから(コミット)、最低の版の番号を進めます。進めた後は、脆弱性のある古い版に戻されるのを防げます。逆に、番号を一度も進めなければ、正しく署名された古い版を書き戻す攻撃を防げません。
- A. 更新に失敗したとき、元の面の版まで拒否されて、起動できなくなるおそれがあります。
- B. 正しい。正常な起動を確かめてから番号を進めます。
- C. 番号を進めなければ、脆弱性のある古い版に戻されるのを防げません。