硬體安全的進階主題與趨勢
在使用A面與B面兩個區域更新韌體的設備中,為了防回滾而記錄在eFuse中的最低版本號碼,推進到新版本號碼的時機,最適當的是下列何者?
- A在開始下載新韌體的時間點,就立即把最低版本號碼推進到新版本的號碼
- B確認新韌體的簽章,並確認從該面開機能正常運作之後,再推進號碼
- C維持製造時寫入的最低版本號碼,即使更新韌體也一次都不推進
查看答案與解析
正確答案:B. 確認新韌體的簽章,並確認從該面開機能正常運作之後,再推進號碼
若先推進號碼,當新韌體在途中損壞或開機失敗時,留在原來那一面的舊版本也會被當成「比最低版本舊」而遭拒絕,設備就無法開機。因此,要把新版本寫入空著的那一面、確認簽章,並確認從該面開機能正常運作之後(提交),再推進最低版本號碼。推進之後,就能防止被回復到有漏洞的舊版本。反過來說,若號碼一次都不推進,就無法防範寫回簽章正確之舊版本的攻擊。
- A. 更新失敗時,原來那一面的版本也可能被拒絕,導致無法開機。
- B. 正確。確認正常開機後再推進號碼。
- C. 若不推進號碼,就無法防止被回復到有漏洞的舊版本。