Black Hat USA 2000 - Secure Hardware Design pt.1
三句話摘要
硬體產品的全生命週期安全設計方法論與實作對策。 硬體安全是貫穿設計初期到生命週期終結的系統工程,需透過可信基礎、多層防篡改、嚴格設計評審、密鑰管理等手段形成縱深防御,方能有效抵禦日益進階的物理與遠端攻擊。 最好的安全措施應該無法檢測且無法迴避 — 這樣應用開發人員能專注於功能,安全由底層硬體保證。如果安全降低生產力,即使合法用戶也會尋求繞過,導致防護失效。
重點整理
重點- 1
最好的安全措施應該無法檢測且無法迴避 — 這樣應用開發人員能專注於功能,安全由底層硬體保證。如果安全降低生產力,即使合法用戶也會尋求繞過,導致防護失效。
- 2
風險需要貫穿產品全生命週期識別 — 包括開發、生產、運輸、使用、報廢各階段。每個階段都存在不同的攻擊向量,例如生產階段的人員信任問題、運輸中的篡改檢測、報廢時的密鑰銷毀等,都必須有明確的應對機制。
- 3
建立可信基礎是防護核心 — 透過片上加密系統將攻擊限制在芯片本身。過去防篡改硬體需花30,000美元,現在一個20-40美元的加密芯片就能提供相同功能,大幅降低成本並有效擋下多數攻擊。
- 4
防篡改採多層疊加設計 — 單一防護措施不足,需結合抗性(硬化鋼外殼、環氧樹脂)、偵測(微動開關、溫度感測器)、響應(自動清除密鑰)等機制。即使某層被破解,其他層仍能提供保護。
實用技巧與重點
乾貨- 攻擊方式與具體場景
- 購買評估:攻擊者購買產品帶回實驗室進行逆向,最貴可能花22萬美元
- 租賃評估:按月租用,仔細拆解但避免留下防篡改痕跡
- 物理接觸運行系統:侵入ISP或數據中心,在運行中的設備上直接提取密鑰
- 遠端存取:標準網路攻擊,無需物理接觸
- 攻擊類型與防護
- 系統級攻擊:網路掃描、OS猜測、服務掃描
- 物理開啟:防拆螺絲、熱成像、X光掃描、光纖攝影機尋找微動開關
- 電路層分析:PCB反向工程、組件替換、主動匯流排探測
- 故障誘導與時序攻擊:刻意改變電壓或時脈
- 集成電路晶片分析:刪除設備、查看ROM燒錄方式、FPGA內部掃描
- 固件逆向:從廠商網站下載後門鏡像進行反編譯
- 硬體防護具體措施
- 固件:移除偵錯符號、使用編譯器優化、建立開發版/工程版/生產版三層
- 代碼保護:簽名驗證、加密儲存
- 電路設計:消除測試點、縮短走線、內層埋設信號、使用埋孔、保持接地層獨立
- 組件配置:關鍵組件放在兩塊電路板之間或難以存取位置
- 環氧樹脂封裝:覆蓋關鍵芯片但須完全密封,避免留下焊盤
- 電源保護:使用監視電路、穩壓器、DC-DC轉換器維持VCC穩定
- 時脈保護:監控時脈訊號、檢測異常偏差
- I/O埠:停用未使用引腳、設置數位蜜罐(未使用引腳設為輸入模式檢測探測)
- 防篡改檢測:溫度感測器、輻射偵測、磁性開關、鎳鉻絲(阻值變化)、柔性電路
- 防篡改響應:需電池供電確保斷電仍有效、檢測到篡改時清除密鑰或審核日誌
- 可信基礎例子
- IR安全DSP晶片、IBM 4758、Chrystal公司Luna 340
- Cryplib(Peter Gutman開發)
- SEOK模組在重設狀態驗證微處理器固件
- 密鑰管理
- 託管金鑰必須有人在場見證
- 提取主加密金鑰後,用其加密所有其他金鑰
- 儲存在保險箱內(建議武裝警衛+鹽礦深處)
- 防止未加密密鑰洩露
- 認證與審查
- FIPS 140-1有四個認證等級,但非設計階段的第三方審查
- 需要定期邀請第三方進行設計評審(每月/每週)
- 原始碼審查必須由他人執行,避免視覺疲勞遺漏缺陷
- 運行時診斷
- 隨機數產生器:執行3-4項測試(FIPS要求)確保數字真正隨機
- 校驗和檢查:定期驗證固件、ROM、RAM完整性
- 防電磁洩露
- Soft Tempest Fonts(Marcus Coon):使用灰階與顏色平滑顯示尖峰
- 電磁屏蔽涂層、外殼、緊密接地層
- 低阻值電阻(串聯幾歐到十餘歐)防止總線洩露
- 外部介面保護
- 停用所有診斷功能(JTAG等)
- 串口、電話線、CF卡等需加密保護
- USB令牌:監控命令與封包流量,測試格式錯誤封包回應
- 防靜電放電(ESD)保護:使用二極體、裝置、電視等
- 具體產品案例
- USB硬體令牌:外部PROM易被提取,環氧樹脂封裝不完整導致未保護焊盤洩露
- Handspring PDA:Springboard模組直連Dragon Ball 68328處理器,提供過度存取
- 英特爾路由器:串列埠傳回MAC位址可推斷管理員密碼
結論
結論“硬體安全是貫穿設計初期到生命週期終結的系統工程,需透過可信基礎、多層防篡改、嚴格設計評審、密鑰管理等手段形成縱深防御,方能有效抵禦日益進階的物理與遠端攻擊。”
完整解析
詳細硬體安全設計已成為現代產品開發的關鍵課題。隨著嵌入式系統的普遍部署,網路設備、加密加速器、路由器等硬體產品成為攻擊目標。一旦系統被入侵,攻擊者不僅能竊取加密密鑰和私密資料,還可能發動進一步攻擊。有鑑於此,安全必須從產品設計初期就融入,而非事後補救。
安全設計的核心理念在於讓防護措施「無法檢測且無法迴避」。如果安全機制降低生產力或增加操作難度,即使合法使用者也會尋求繞過的方式,導致防護完全失效。最佳做法是讓安全措施對應用層透明、對硬體層強制。同時,必須在產品全生命週期中識別風險——從開發、生產、運輸、使用到最終報廢,每個階段都存在不同的攻擊向量。例如生產階段需關注人員信任度,運輸階段需防止篡改偵測失敗,報廢時需確保密鑰被完全銷毀。所有決策必須文件化,便於日後追溯和問題修復,同時應定期邀請第三方進行設計評審,為設計帶來新視角並發現潛在漏洞。
攻擊者存取產品的方式包括四種:購買評估(帶回實驗室研究,可花費高達22萬美元但無監管風險)、租賃評估(定期租用產品評估、仔細拆解但保留防篡改痕跡)、物理接觸運行系統(如侵入ISP資料中心提取密鑰,但風險高)、遠端存取(標準網路攻擊)。針對這些存取方式,攻擊者採用十多種具體技術:系統級網路掃描、物理開啟(防拆螺絲、熱成像、X光、光纖攝影機)、電路原理圖反向工程、組件替換、主動匯流排探測、故障誘導與時序攻擊、集成電路晶片分析、固件逆向工程等。對抗這些攻擊,最有效且成本優化的方案是建立可信基礎——一個片上加密系統。過去昂貴的防篡改硬體(30,000美元)如今被20-40美元的加密芯片取代,將攻擊限制在晶片本身,大幅提升防御難度。
硬體安全防護涉及多個技術層面。固件層需移除偵錯符號、使用編譯器優化、建立開發版、工程版、生產版三個版本,逐步接近生產環境。代碼保護透過簽名驗證或加密來確保完整性。電路設計則需移除不必要測試點、縮短走線、在內層埋設信號、使用埋孔、保持接地層獨立,這些措施既能降低噪聲又能防止攻擊者存取。關鍵組件應放在難以存取的位置(如兩塊電路板之間),並用環氧樹脂完全封裝,但需確保沒有未保護的焊盤洩露。電源和時脈保護透過監視電路、穩壓器、DC-DC轉換器維持VCC穩定,並監控時脈訊號偵測異常。所有未使用的I/O引腳應停用,甚至可設置「數位蜜罐」——將未使用引腳設為輸入模式,若偵測到電平變化即表示被探測。
防篡改是多層設計的結果,包括三個維度:抗性(硬化鋼外殼、鎖、環氧樹脂等物理屏障)、偵測(溫度感測器、輻射偵測、磁性開關、鎳鉻絲電阻變化、柔性電路斷裂)、響應(檢測到篡改時自動清除密鑰或審核日誌)。防篡改痕跡(如鋸痕)有助於阻止簡單盜竊,但也為評估計劃帶來風險。響應機制須電池供電,確保即使系統斷電仍能保護密鑰。密鑰管理同樣關鍵——託管金鑰必須有人見證、主密鑰應儲存在高度安全的保管箱內、所有其他密鑰用主密鑰加密。
運行時診斷定期執行低階檢查,例如隨機數產生器需通過3-4項測試、固件與記憶體需定期校驗和檢查。管理介面需嚴格保護,避免包含服務後門。外部介面需停用診斷功能(JTAG等),所有通訊需加密,特別是串口、電話線、CF卡與USB等端口。防電磁洩露透過屏蔽涂層、緊密接地層、甚至使用低阻值電阻串聯防止總線資訊洩露。靜電放電防護透過標準元件(二極體、電視等)實施。這些措施層層疊加,即使某層被突破,其他防護仍能發揮作用。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

