科技議題

首頁> 科技議題 - 智慧科技> 積體電路設計中的安全規則檢查
積體電路設計中的安全規則檢查 Security Rule Checking in IC Design
2016/08
10.1109/MC.2016.226
IEEE
10.1109/MC.2016.226
http://ieeexplore.ieee.org/document/7543447/
在過去十年,硬體攻擊比許多軟體攻擊來的更有效。安全性在加密系統、系統單晶片(Systems on chip ,SoC)以及微處理器電路方面,會被通過定時和功耗分析攻擊、非法利用測試性設計結構以及故障植入的攻擊而受到損害。這些方法可以避開軟體的安全機制,並使設備或系統處於危險之中。不過硬體的漏洞也有可能是來自錯誤的設計,通常是設計師對於安全問題不夠了解。電腦補助設計工具可以創建打開積體電路或其他系統的後門,以防信息洩漏和攻擊,例如阻斷服務攻擊和可靠性降低。儘管在硬體設計和驗證期間確保安全是至關緊要,然而在這一階段卻沒有漏洞分析的機制。積體電路設計人員要手動識別出潛在漏洞是件巨大的負擔。安全議題越來越複雜且多樣化,而積體電路設計的複雜性也反映在手動分析電路的開發與規範的風險上,即暗藏的潛在漏洞。資安專家對於現有以及新興的攻擊有深入的了解,但設計公司卻也要付出相當大量的資金來支持這樣的資安團隊。因此,這些沒被解決的漏洞導致了更多的設計開銷、耗時以及矽消耗量的增加。這些限制意味著在設計和驗證期間需要自動化漏洞分析。為了滿足此需求,我們一直在設計安全規章檢測(The Design Security Rule Check,DSeRC)的基礎,該結構可以整合到常規設計流程中,以幫助人員在設計階段分析漏洞以及評估安全性-從暫存器傳輸級別(RTL)到實體布局。基本上,安全規章檢測將是設計工程師的一個安全專家,可用來對相關積體電路潛在的漏洞進行定量測量,即衡量標準以及規章。而安全規章檢測的最終目標是幫助設計人員在下線之前,對於系統的積體電路識別漏洞與安全問題,能夠具有正確的對策或改進設計。以解決與安全性相關的開發與急需的設計和製造問題,例如在更改或更新後製積體電路時缺乏適應性,以及對設計與製成所產生的漏洞的高成本修復。因此,它既可以提高安全性又可以降低設計成本。
考慮基本安全要素,設計師要構件出安全的積體電路,必須先決定出所要保護的資源並考慮潛在敵人與攻擊。資源可以是有形的對象(例如電路設計中的信號),或是無形的(例如控制信號)。在物聯網時代對於安全運算與通信的需求驅動下,越來越多系統單晶片資產需要被保護,例如:
.密鑰-諸如加密演算法的私密金鑰。
.製造商的韌體-例如低階程序指令與專屬通訊碼。
.保護資料的裝置-機敏資料如用戶個人資料或報表。
.設備配置-判斷資源可以為哪些用戶使用的配置數據。
.通信憑證-通信網路的登錄憑證。
.熵-為原始加密所生成的亂數度量(熵本來為一個物理度量衡,但是在資訊領域當中被用來衡量資訊量多寡)。
潛在敵人,即意圖獲取、損害或破壞的一方。了解誰將利用安全漏洞,有助於設計師明白攻擊者的能力以做出相應對策。在這邊,敵人可以來自內部人員或是外在人士。隨著積體電路設計和製造的複雜化以及全球化,攻擊更高的可能性是來自於了解設計細節的內部人員。而攻擊類型依據能力以及資金可以分成遠端、非侵入性或侵入性實體攻擊。遠端攻擊,攻擊者不從實體設備的存取,而由定時和電磁邊信道攻擊,以從設備遠端獲取密鑰。非侵入性實體攻擊,一般通過利用設計的主要輸入和輸出的安全漏洞獲得機敏信息的攻擊手段。更高階的(如使用聯合測試工作群組、輸入輸出限制掃描以及可測試性設計結構)則通過監控系統的過渡狀態或監看匯流線以及系統信號的攻擊。非侵入性攻擊甚至能植入故障以在加密演算法的運算期間引起錯誤,然後再利用此結果來獲取如密鑰之類的資產。與侵入性攻擊不同的是故障植入並不會破壞設備。侵入性實體攻擊是三種之中最複雜且最昂貴的類型,需要高階技術與設備。這種攻擊通常需要對設備完全存取並使其被破壞。
將漏洞抽象化級別表示,即每個漏洞對應到一個或多個級別;在積體電路設計中,可以分成暫存器傳輸級、閘級以及實體布局。目的是協助漏洞辨識,以縮短開發週期、降低設計成本以及避免將漏洞傳播到下一個設計階段。暫存器傳輸級,相關研究指出其代碼中某些不在意的賦值,可被硬體木馬利用而洩漏資產。此外,暫存器傳輸級別的設計在代碼中難以監控的部分是被植入硬體木馬最有可能的地方。因此,識別這些部分有助於設計者評估設計在該級別為硬體木馬植入的易感性。閘級,在這個級別,攻擊者可以利用難以監控的網路來設計難以被檢測硬體木馬。此外,電腦輔助設計工具可以在暫存器傳輸級與閘級間的過渡時期引入漏洞。測試性設計和資料流程圖的結構通常在閘級合併以增加可測性。可測性測量電路信號的可監控性,使得高可測性對於關鍵系統至關重要,以確保功能的正確性以及可靠性。然而,高可測性以許多漏洞為代價,因為增加的可控與可觀察性允許攻擊者控制或查看積體電路內部狀態。而在現代設計中,不能省略測試性設計和資料流程圖,因為在製造期間可能出現太多漏洞和錯誤。因此安全規章檢測要能檢查內部兩種結構的安全漏洞。實體布局,是將晶片運送到製造之前的最後階段,所以剩下的所有漏洞都應該在這個級別解決。在這個級別,設計人員可以精確的對功耗、電磁放射和執行時間建模。而對邊信道和故障植入攻擊的漏洞則可以藉此分析。雖然有些漏洞分析(如對探測攻擊的回應)只能在該級別進行,但比起在暫存器傳輸級與閘級所進行的分析還要耗時且高成本。
做為安全規章檢測工作的一部分,我們開發了兩套衡量標準:分析有限狀態機對故障植入的敏感性(Vulnerability factor of fault injection,VFFI),以及分析有限狀態機對木馬攻擊的易感性(VFTro)。對這些攻擊而言,衡量的值越高則狀態機越脆弱。針對此弱點,規章可能是“對於有限狀態機設計的安全性要能防止故障與木馬植入攻擊,VFFI以及VFTro的值必須為零”。
開發衡量標準並不是微不足道,因為衡量標準必須與攻擊模型、設計的應用程序以及功能相獨立。例如,攻擊者可以使用基於電力不足或計時器異常的故障注入方式來獲得AES或RSA加密模組的私鑰。因此,衡量標準針對故障注入的部分,必須為AES或RSA提供漏洞的定量測量,以防止任何故障注入的攻擊。一個策略是首先確定這些攻擊首先嘗試利用的漏洞,例如,電力不足和計時器異常都試圖利用設置時間來違例。因此安全規章檢測的目標是評估出給定設計建立時間違例的難度。
雖然前面概述了安全規章檢測的基礎概念,但是在架構實現成為自動化設計工具之前,仍有許多工作要處理。主要挑戰之一是如何對漏洞進行數學建模來進行定量評估,以便安全規章檢測可以驗證設計的安全性,而不用考慮其應用或易受攻擊。基於安全威脅的多樣性以及廣泛性,弱點的識別對於安全規章檢測的改進至關緊要。隨著越多的漏洞被識別,相應的衡量標準以及規章也要越成熟-這將需要學術和產業研究人員的共同努力。將安全規章檢測整合到傳統的積體電路設計流程中需要電腦補助設計工具,以根據其規章以及衡量標準去自動化評估設計的安全性。工具的評估時間要能與設計一致。同時也要便於操作,以及設計人員可以很容易地理解其輸出。為了避免一些常見的安全問題在設計初期便遇到,良好的設計常規應成為既定的通用準則。在超大型積體電路的設計和測試中,做為提高設計品質與故障可測性的方式,這樣的規範並不常見,但是迄今為止卻沒有針對硬體安全開發這樣的綜合設計指南。這是個成熟的探索領域。最後,理解設計的漏洞並不足以保護設計,還需要低成本的對策才行。一套合適的安全規章檢測是要能為每個漏洞提供低成本的緩解技術。建議的對策對於缺乏硬體知識的設計者是有幫助的。另外,在將對策應用後的安全性改進,可以通過重新運行安全規章檢測檢測來進行計量。雖然開發安全規章檢測後所遺留的工作似乎令人望而生畏,但是降低設計成本以及提高安全性的好處將會是值得的。
游家牧
英文