• 晶片資安第一站

《晶片安全實現最佳範例》3個面向建構安全防線

指引著作/臺灣資安卓越深耕-半導體及資通訊供應鏈資安關鍵技術發展計畫

鑑於晶片資安的防護日益重要,同時晶片保存與運行了整個產品的核心功能,被視為最需要進行保護的區域。故在產品的設計上,應該從裡到外都能夠實施適當的保護措施。例如:基於可能入侵的面向與入口,通常攻擊者會
進行服務掃描來確認目標的攻擊切入點,再決定下一步實施的攻擊模式。

服務掃描不僅包含產品所開啟的埠(port),同時外圍的硬體介面也會是攻擊者著重的目標(如:USB、Debug Port),如何縮小攻擊者潛在的攻擊範圍,成為第一步防線的關鍵。

當威脅深入到內部,攻擊者可能會嘗試透過探針進行測試,或對組件執行拆解。除了透過實體的保護外,若能及時偵測這些行為,並對入侵進行適當的反應(如歸零電路),才能真正保證資產的安全,降低洩漏的可能性。此外,日益進步的攻擊手法也層出不窮,從最核心的區域去建立安全功能,也是不可或缺的。市面上也常常流傳許多病毒、木馬等惡意軟體,可能由其他設備感染,或因人員疏失引入感染源。入侵除因設定不當外,也常常透過人性的盲點來達成目的(如社交工程)。

由於這類的攻擊讓人猝不及防,因此最大限度地限制惡意軟體的擴散,才能有效降低可能遭受的損害。故本指引透過服務最小化、封裝與歸零、安全運行環境三個面向,來建構晶片安全實現的架構,透過產業常見的安全功
能與設計,以抵禦可能面臨的威脅。

本指引旨在協助業者及設計人員了解常見的安全功能,將透過服務最小化、封裝與歸零、安全運行環境三個面向,來建構晶片安全實現的架構,透過產業常見的安全功能與設計,以抵禦可能面臨的威脅。

一、 服務最小化
一個產品的服務,除了包括其外圍的硬體插槽或針腳,所提供之介面(如 USB、JTAG、UART 等)外,也包括存取該介面或網路後,可使用之服務(如 ftp、telnet 等)。業者應在設計階段考慮產品在出廠後,提供之功能是否符合適用對象的需求,以避免使用者在使用期間,無意給予攻擊者更大的入侵空間。

若產品預設並未關閉非必要之服務,或使用者在不經意間,開啟了可能給予攻擊者攻擊可能的服務,便有可能會造成使用者的損害。例如使用者可以通過 Android 設備上的 TCP port 5555,啟用服務器以無線方式使用 ADB(Android Debug Bridge)功能。啟用後,也將允許未經授權的遠端攻擊者可以掃描網路,來找到透過 port 5555 運行 ADB 除錯介面。這些不安全的 Android 設備,可以讓攻擊者以最高的 root 權限遠端存取
它們,然後在沒有任何身份驗證的情況下安裝惡意軟體。

2018 年,一種名為 ADB.Miner 的蠕蟲就曾利用 ADB 除錯介面,來感染不安全的Android 設備,並安裝用於挖礦的惡意軟體。故業者應判別產品之必要服務,並預設關閉非必要之功能,達到服務最小化之概念,以避免產品
成為攻擊者入侵或利用之對象。

二、 封裝與歸零
為使產品及晶片能正常運行,必須確保硬體和軟體均能正常提供預期的功能,即便在受到攻擊時仍繼續在合理範圍內運行。由於晶片經常用於儲存機密資料或其他敏感資訊,例如關鍵安全參數 (CSP)、商業機密等。因此正確的保護與儲存,對於設備安全至關重要。

當攻擊者需要透過實體產品來分析攻擊路徑時,第一步總會是觀察產品提供之介面,並嘗試進行拆解。然而過去的部分產品時常忽略了這一環節,以致於沒有及時發現產品遭到竄改或更換。

從另一方面來看,CSP 作為使用者最重要的資產之一,當產品被入侵後,資料卻仍正常地儲存在產品中,很有可能使攻擊者能夠進一步竊取資料。故晶片封裝乃至整個產品的外在保護,是產品能否會被輕易入侵成功的關鍵。而妥善的資料加密與歸零機制,則可以在攻擊者入侵後,降低資料被盜用的可能性。

以封裝保護的面向來看,首先要做的就是晶片的防護。部分的產品晶片上,可能會覆蓋塗層,這些塗層大多保護晶片遭受腐蝕、氧化或是穿透,而有的產品則有外箱,用來降低被攻擊成功的機率,增加攻擊者的難度。

以監控的面向來說,應採用一些防竄改的硬體配置,例如防竄改引腳(Tamper Pin)、時脈監測器、電壓監測器等來監測,產品是否有被進行竄改的行為。然而作為最後的手段,若是真的遭到入侵,威脅了晶片裡的資料,則可能需要有故意破壞敏感資訊的措施,以便在檢測到安全漏洞或入侵時,將 CSP 歸零,甚至是讓設備無法運行。

(一) 外膜及塗層
一種滿足這些要求並已在商業上可用的方法是使用“GORE”的外膜,它是由彈性聚合物製成。IBM 其中一些產品的模組,是基於由 GORE 製造的備用電池外膜,將系統封閉起來,從而防止其被篡改。

(二) 網格與歸零電路
嘗試物理穿透網格很可能會破壞其軌跡並導致開路。系統內部的連續測量會檢測到這些開路並觸發警報,導致 CSP 歸零。

三、 安全運行環境
近 年 來 , 針 對 晶 片 的 攻 擊 方 式 層 出 不 窮 , 如 旁 通 道 攻 擊(Side-Channel Attack)、錯誤注入攻擊(Fault Injection),導致晶片運算結果遭竄改、遭不法提權後植入惡意軟體、資料被竊取等,故晶片應具備抵禦入侵及偵測入侵的能力。

(1)TrustZone:科技的進步,同時也造成駭客攻擊的多變,即便建立了諸多安全措施,也無法完全保證產品沒有被入侵的可能性。就此,降低及避免影響的範圍,可以大幅減少損害的程度。故部份產品透過 TrustZone 的架構,能有效地阻止惡意軟體或破壞的擴散,因為各個組件已經被安全地隔離。

(2)SE:多應用於行動裝置上,它能夠運行安全程式碼,而不僅限於執行加密運算。並根據其所有者制定的規則和安全要求,安全地管理程式碼和機密資料。

(3)TPM:使用者運行產品後,產生諸多的使用者資料,是否會有如TPM 等的硬體模組,來保護資料的機密性,取決於使用者產生的資料之重要性。

(4) PUF:為了防範 CSP 被竊取,或是使用者在收到終端產品過程中,產品晶片曾經遭受竄改或置換,而有了 PUF 這樣的技術,用以避免使用了不安全,或仿製的產品。

(5)TEE:產品可透過諸多常見的安全功能,建立一個可信執行環境(TEE),代表著在其中的程式和資料,在機密性和完整性上得到保護。

在本指引中,將詳細說明各個安全功能的概念及運行方式。

威脅與防範

本指引以「晶片安全測試規範」為架構,整合不同的安全設計、功能及測試、執行的措施和所能應對的攻擊,建構威脅與防範對應表(表1),不同的安全設計、功能或測試可能可以防範多種攻擊,而不同的攻擊也可能可以由不同的安全設計、功能或測試來抵禦。在晶片的設計上,可透過實施服務最小化、建立外膜、歸零電路等措施,來抵禦相應的攻擊。另一方面業者也可透過引入外部的安全硬體(如 SE、TPM),來建構安全的晶片環境。

表1:威脅與防範對應表

資料來源:本計畫自行整理

想了解更詳細的指引內容,請加入會員索取

 

This site is registered on wpml.org as a development site.