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

關於名為CHERI的指令集擴充所使用的能力(capability),正確的說明是下列何者?

  1. A先以CPU內部的金鑰加密指標的值再放進記憶體,每次使用時解密,使其他程式與OS無法讀取指標的值
  2. B每執行1道指令,CPU就確認附加在程式執行檔上的數位簽章,不執行沒有簽章的指令
  3. C讓指標帶有可存取的範圍與權限,並在記憶體上以軟體無法改寫的1位元標記,區分它是否以正確方式產生
查看答案與解析

正確答案:C. 讓指標帶有可存取的範圍與權限,並在記憶體上以軟體無法改寫的1位元標記,區分它是否以正確方式產生

CHERI以能力取代只有位址的指標,能力整合了位址、可指向範圍的上限與下限,以及讀、寫、執行等權限(64位元位址時壓縮收在128位元內,另外帶有1位元的標記)。CPU在每次存取時確認範圍與權限,因此能以硬體阻止陣列越界讀寫這類記憶體安全的錯誤。只有以正確的指令產生能力時才會加上標記,若當作一般資料覆寫,標記就會消失,因此無法偽造指標。劍橋大學等持續進行研究,Arm在2020年代前期向研究者提供了以此為基礎的原型處理器Morello與評估板。

  • A. 它不是隱藏指標,而是讓指標帶有可用範圍與權限,以阻止越界存取。
  • B. 確認執行檔的簽章由安全開機等機制負責,與能力是不同的機制。
  • C. 正確。以範圍、權限與標記三者,防止越界存取與指標偽造。
練習這個領域 前往領域頁面

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

  1. 在Arm的MTE(記憶體標記擴充)中,記憶體每16位元組附加4位元的標記,指標的高位元也放入4位元的標記,每次存取時由CPU確認兩者是否一致。考慮以指向已釋放區域的舊指標存取該區域的錯誤。假設重新配置區域時的新標記,是從16種值中均勻隨機選出,則標記偶然一致而漏掉錯誤的機率是下列何者?
  2. 關於Arm的指標驗證(PAC)的機制,正確的是下列何者?
  3. 關於Intel的CET(控制流程強制技術)等所採用的硬體影子堆疊,正確的說明是下列何者?
  4. 關於以硬體支援控制流程完整性的功能,保護函式返回者與保護經由函式指標等之間接呼叫或跳躍者的組合,正確的是下列何者?
  5. DRAM越微縮,越容易發生列鎚攻擊(Rowhammer)的理由,正確的是下列何者?