久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > SRAM 冷不了:利用電源域分離竊取片上機(jī)密

SRAM 冷不了:利用電源域分離竊取片上機(jī)密

作者: 時(shí)間:2025-11-10 來源: 收藏

摘要

嵌入式系統(tǒng)與智能設(shè)備的普及,使物理內(nèi)存泄露攻擊風(fēng)險(xiǎn)上升。傳統(tǒng)“冷啟動(dòng)攻擊(cold boot)”依賴 DRAM 在低溫下的跨斷電保留特性;然而,在 SoC 上的片上 SRAM通常被視為更安全。本文表明:在大量商用 SoC 上,電源域分離配合外部電壓探針可以人為保持 SRAM 的數(shù)據(jù)保持態(tài),即使系統(tǒng)整體斷電,也能在重啟后無誤提取緩存、iRAM 等片上數(shù)據(jù)。我們將該方法稱為 Volt Boot。其關(guān)鍵并非溫度或制程,而是電源域架構(gòu)與對(duì)外暴露的供電引腳/測(cè)試焊盤。基于樹莓派與 NXP i.MX 等平臺(tái)的實(shí)驗(yàn),我們給出攻擊前提、步驟、可達(dá)性與局限,并提出面向芯片與系統(tǒng)的緩解策略。


1 背景與動(dòng)機(jī)

1.1 從 DRAM 冷啟動(dòng)到 SRAM “不怕冷”

冷啟動(dòng)攻擊通過人為降溫,維持 DRAM 在斷電后的短暫數(shù)據(jù)保持,從而在二次上電時(shí)轉(zhuǎn)存密鑰與殘留數(shù)據(jù)。與之不同,SRAM 的信息由雙穩(wěn)態(tài)觸發(fā)器維持,溫度?依賴性弱且泄放服從統(tǒng)計(jì)分布,簡(jiǎn)單的“低溫+掉電”并不實(shí)用。然而,現(xiàn)代 SoC 出于能效與面積考慮,普遍采用電源域分離專用供電引腳(電源門控、分域降壓),這無意中提供了讓**部分片上存儲(chǔ)在系統(tǒng)斷電時(shí)仍“活著”**的條件。

1.2 威脅模型與現(xiàn)實(shí)性

攻擊者具備物理接觸設(shè)備主板的能力(常見于維修、回收、邊檢取證、企業(yè)資產(chǎn)處置等場(chǎng)景),可在 PMIC 附近的測(cè)試點(diǎn)/去耦電容焊盤上接入電源探針;攻擊不依賴低溫、顯微操縱或制程差異,與工藝節(jié)點(diǎn)基本無關(guān)


2 攻擊總覽:Volt Boot

核心思想:利用 SoC 的電源域分離,在系統(tǒng)斷電期間,向目標(biāo) SRAM 域施加外部恒定電壓(高于其數(shù)據(jù)保持電壓、低于額定電壓),使其跨掉電保持?jǐn)?shù)據(jù)。隨后重新上電并優(yōu)先轉(zhuǎn)存該域中的數(shù)據(jù)(如 L1D/L1I、寄存器文件、iRAM),實(shí)現(xiàn)對(duì)明文密鑰與敏感狀態(tài)的竊取。

為何有效

  • SRAM 普遍且以明文存儲(chǔ):片上 SRAM 通常不加擾/不加密;即便外部 DRAM 已做加擾或內(nèi)存加密,SRAM 內(nèi)仍為明文

  • 域?qū)S泄╇娨_可被“借路”:BGA 封裝難以直接焊線,但域供電引腳通常連接到臨近的去耦電容或測(cè)試焊盤,且布局有規(guī)律,可在板級(jí)找到等效注入點(diǎn)

  • 默認(rèn)不清零:大多數(shù) SoC 出于啟動(dòng)速度與**安全原語(PUF/TRNG)**考慮,不會(huì)對(duì)大容量 SRAM 做全清零;cache “清空/失效”只改元數(shù)據(jù),數(shù)據(jù)本體仍在,且可通過協(xié)處理器接口在高權(quán)限級(jí)讀出。


3 試驗(yàn)平臺(tái)與可達(dá)性

我們選擇三種廣泛可得的評(píng)估平臺(tái):

  • Raspberry Pi 4 / 3(Cortex?A 系)——目標(biāo)為 L1D/L1I/寄存器文件,域電壓名義值約 0.8 V

  • NXP i.MX53 ——目標(biāo)為片上 iRAM,域電壓名義值約 1.3 V

板級(jí)注入點(diǎn):在 PMIC 區(qū)域附近可找到標(biāo)注為 TPxx測(cè)試焊盤(如 RPi4 的 TP15)或去耦元件兩端作為注入點(diǎn)。我們?cè)谶@些位置測(cè)量名義電壓并聯(lián)外部穩(wěn)壓源

電流行為:以 RPi4 為例,在 0.8 V 探針下,設(shè)備在掉主電后最初吸取 400–600 mA(與負(fù)載相關(guān)),數(shù)微秒后下降到約 8 mA 并進(jìn)入長(zhǎng)期保持


4 實(shí)施步驟(可復(fù)現(xiàn)流程)

步驟 1:定位域供電等效注入點(diǎn)

優(yōu)先在 PMIC 附近尋找與目標(biāo)域相連的測(cè)試焊盤或去耦電容焊點(diǎn);遵循“靠近 PMIC、走線短”與“布局成簇”的規(guī)律。無需精確到封裝內(nèi)引腳,板級(jí)等效點(diǎn)足夠。

步驟 2:并聯(lián)外部電源,設(shè)定保持電壓

將外部可編程電源并聯(lián)到注入點(diǎn),電壓設(shè)為名義電壓或略低,但需高于 SRAM 數(shù)據(jù)保持電壓(通常明顯低于名義值)。保證電源具備足夠電流與瞬態(tài)響應(yīng)以覆蓋掉主電瞬間的吸流峰值。

步驟 3:斷開主電源并“跨掉電保持”

切斷設(shè)備主供電,保持外部探針向目標(biāo)域供電。此時(shí)其他域下電,目標(biāo) SRAM 仍處保持態(tài)

步驟 4:受控啟動(dòng)并最小化污染

重新上電并引導(dǎo)到外部介質(zhì)(如 USB),以減少啟動(dòng)過程中對(duì)目標(biāo) SRAM 的寫入/替換。隨后運(yùn)行特制的數(shù)據(jù)轉(zhuǎn)存程序

  • Cache 提取:在 ARMv8/ARMv7 上利用協(xié)處理器/系統(tǒng)寄存器指令(如 CP15SYS #0, c15, c4, #0, 等 RAMINDEX 訪問),配合 DSB SY/ISB 柵欄,逐線讀出 L1 到通用寄存器;

  • 搬運(yùn):將寄存器內(nèi)容寫入 DRAM/外部閃存/調(diào)試接口做后處理;

  • iRAM 提取:如目標(biāo)為片上 iRAM,可直接經(jīng)調(diào)試接口轉(zhuǎn)儲(chǔ)。

工程提示:為避免啟動(dòng)過程“污染”保留數(shù)據(jù),轉(zhuǎn)儲(chǔ)程序應(yīng)早期加載、避免調(diào)用會(huì)使用目標(biāo) SRAM 的庫/驅(qū)動(dòng),并關(guān)閉影響緩存的一切后臺(tái)任務(wù)。


5 攻擊為何可規(guī)模化生效(Enablers)

  • SRAM 的普適性:從微控制器到服務(wù)器級(jí)處理器,任何具有“SRAM 與計(jì)算核分離供電域”的 SoC理論上都可誘導(dǎo)保持。

  • 片上明文:與外部 DRAM 不同,商品處理器的 SRAM 很少啟用加擾/加密,因此一旦訪問即為明文

  • 分域供電對(duì)外暴露:為性能、能效與面積,SoC 廠商把子域供電引出,其中部分直接或通過網(wǎng)絡(luò)連接到嵌入式 SRAM;只要探針維持高于保持電壓,數(shù)據(jù)即保持無錯(cuò)

  • 缺省無全局清零:清空/失效不等于抹除;Cache 的 invalid 僅阻止命中,數(shù)據(jù)體仍在,在高特權(quán)級(jí)依然可讀。


6 實(shí)驗(yàn)與結(jié)果

6.1 可訪問比例

裸機(jī)環(huán)境下預(yù)填充特定模式,測(cè)量啟動(dòng)階段 CPU 對(duì)內(nèi)部存儲(chǔ)區(qū)的占用,從而估計(jì)重啟后可被攻擊者訪問的比例。不同 SoC/目標(biāo)內(nèi)存類型差異顯著,但在三平臺(tái)上均驗(yàn)證到非零且穩(wěn)定的可訪問窗口。

6.2 成功提取與誤碼

與 DRAM 冷啟動(dòng)不同,Volt Boot 不依賴溫度,且在保持電壓滿足時(shí),SRAM 數(shù)據(jù)可無誤跨電保持。誤碼主要來自探針?biāo)矐B(tài)與污染而非本征泄放。我們?cè)?RPi3/4 的 L1 與 i.MX53 的 iRAM 上均實(shí)現(xiàn)了穩(wěn)定提取

6.3 可移植性與節(jié)點(diǎn)無關(guān)性

攻擊與溫度、制程節(jié)點(diǎn)無關(guān);關(guān)鍵是分域供電結(jié)構(gòu)板級(jí)暴露點(diǎn)是否存在及可達(dá)。只要滿足兩點(diǎn),方法即可移植到更廣泛的 SoC 家族。


7 防護(hù)建議(芯片—板級(jí)—系統(tǒng)分層)

7.1 芯片級(jí)

  • SRAM 上電自清零(強(qiáng)制清除):在復(fù)位序列中加入硬件清零按行覆蓋;對(duì)大容量 SRAM,可使用并行清除/按域流水降低啟動(dòng)時(shí)延。

  • Cache 真抹除:在上電階段提供物理擦除路徑,而非僅設(shè)置 invalid 位。

  • SRAM 加擾/加密:為成本敏感平臺(tái)提供輕量加擾(隨機(jī)映射/按行 XOR)或域內(nèi)加密(結(jié)合唯一芯片密鑰)。

7.2 封裝/板級(jí)

  • 屏蔽或遷移測(cè)試點(diǎn):降低域測(cè)試點(diǎn)可達(dá)性;

  • 上拉/監(jiān)測(cè)保持電流:檢測(cè)異常的反向供電/維持電流

  • PMIC 策略:設(shè)計(jì)全局掉電路徑,避免子域“借電”存活。

7.3 固件/系統(tǒng)

  • 可信啟動(dòng)階段的“早清零”:在 BL1/EL3 等最早階段對(duì)目標(biāo)區(qū)執(zhí)行覆蓋

  • 最小化引導(dǎo)污染:把日志/堆棧/中斷向量等遷出目標(biāo) SRAM

  • 調(diào)試接口管控:限制高特權(quán)級(jí)對(duì)協(xié)處理器/系統(tǒng)寄存器的直接訪問。


8 相關(guān)工作與比較

與經(jīng)典冷啟動(dòng)相較,Volt Boot 的威脅面更貼近現(xiàn)實(shí):無需低溫、無需外設(shè)拔插、無需制程知識(shí)。與依賴緩存鎖定刷新時(shí)序的通道攻擊不同,Volt Boot 直接獲取明文數(shù)據(jù)體,對(duì)密鑰搜索與取證更為直接。但其前置條件是可物理接觸與板級(jí)注入點(diǎn)可達(dá),且對(duì)安全封裝完備的上電清潔平臺(tái),攻擊難度顯著上升。


9 結(jié)論

電源域分離是現(xiàn)代 SoC 的工程事實(shí),但它也為攻擊者提供了在系統(tǒng)斷電時(shí)選擇性“保活”片上存儲(chǔ)的通道。本文提出的 Volt Boot 證明:只要能在板級(jí)找到域電源的等效注入點(diǎn)并維持保持電壓,就可以在無溫控前提下穩(wěn)定跨電保留并提取緩存/iRAM 等片上敏感數(shù)據(jù)。工程社區(qū)需要在芯片、封裝/板級(jí)與固件多層次引入防護(hù),把“清零即安全”從文檔變成硬事實(shí)


關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉