硬體安全的進階主題與趨勢

在Arm的MTE(記憶體標記擴充)中,記憶體每16位元組附加4位元的標記,指標的高位元也放入4位元的標記,每次存取時由CPU確認兩者是否一致。考慮以指向已釋放區域的舊指標存取該區域的錯誤。假設重新配置區域時的新標記,是從16種值中均勻隨機選出,則標記偶然一致而漏掉錯誤的機率是下列何者?

  1. A1/16(約6.3%)
  2. B1/4(25%)
  3. C15/16(約93.8%)
查看答案與解析

正確答案:A. 1/16(約6.3%)

標記為4位元,可取的值有 2⁴ = 16 種。若新標記從16種值中均勻選出,與舊指標的標記偶然一致的機率為 1/16 = 6.25%(約6.3%),其餘 15/16 的情況會被偵測為不一致。即使只有1次存取,也有約94%的機率被發現,因此能在大量設備上運作的同時發現錯誤,並提高攻擊的難度。若在配置時讓相鄰區域一定帶有不同的標記,溢出到相鄰區域的錯誤就能確實被偵測。

  • A. 正確。這是與 2⁴ = 16 種值中的1種一致的機率。
  • B. 這是除以標記位元數4的值。標記可取的值的數量是 2⁴ = 16。
  • C. 這是被偵測為不一致的機率(1 − 1/16)。
練習這個領域 前往領域頁面

硬體安全的進階主題與趨勢的其他題目

  1. 關於Arm的指標驗證(PAC)的機制,正確的是下列何者?
  2. 關於Intel的CET(控制流程強制技術)等所採用的硬體影子堆疊,正確的說明是下列何者?
  3. 關於以硬體支援控制流程完整性的功能,保護函式返回者與保護經由函式指標等之間接呼叫或跳躍者的組合,正確的是下列何者?
  4. DRAM越微縮,越容易發生列鎚攻擊(Rowhammer)的理由,正確的是下列何者?
  5. 以DRAM內部的TRR(目標列刷新)對抗列鎚攻擊的對策,在研究中曾被繞過,其理由正確的是下列何者?