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

關於Intel的CET(控制流程強制技術)等所採用的硬體影子堆疊,正確的說明是下列何者?

  1. A每隔一定時間把堆疊的內容儲存到非揮發性記憶體,在程式異常終止時,從這些內容恢復執行
  2. B把函式的區域變數放在與一般堆疊分開的高速記憶體中,減少快取未命中,加快函式呼叫
  3. C呼叫函式時,把返回位址的副本也放在一般寫入無法改變的另一個堆疊上,返回時比較兩者
查看答案與解析

正確答案:C. 呼叫函式時,把返回位址的副本也放在一般寫入無法改變的另一個堆疊上,返回時比較兩者

若返回位址因堆疊緩衝區溢位等而被改寫,函式返回時,執行就會轉移到攻擊者選定的位置。使用影子堆疊時,call指令把返回位址同時推入一般堆疊與影子堆疊,ret指令則比較兩者。影子堆疊的分頁是一般儲存指令無法寫入的特殊分頁,因此改寫了一般堆疊的攻擊者也無法改變副本,不一致時會引發例外並停止執行。

  • A. 這不是從異常終止中恢復的機制。
  • B. 這不是移動區域變數以提升速度的機制,而是保護返回位址的機制。
  • C. 正確。在返回之前發現返回位址遭竄改。
練習這個領域 前往領域頁面

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

  1. 關於以硬體支援控制流程完整性的功能,保護函式返回者與保護經由函式指標等之間接呼叫或跳躍者的組合,正確的是下列何者?
  2. DRAM越微縮,越容易發生列鎚攻擊(Rowhammer)的理由,正確的是下列何者?
  3. 以DRAM內部的TRR(目標列刷新)對抗列鎚攻擊的對策,在研究中曾被繞過,其理由正確的是下列何者?
  4. 「只要使用具ECC的記憶體,就不必擔心列鎚攻擊」這種想法的問題點,正確的是下列何者?
  5. 在2024年更新的DDR5規格(JESD79-5C)中加入的PRAC(逐列啟動計數),其想法正確的是下列何者?