大咖焦點(diǎn)訪(fǎng)談:如何確保半導體設計的安全性
半導體工程(semiengineering)訪(fǎng)談了 Synopsys 科學(xué)家 Mike Borza 討論如何驗證半導體設計的安全性;參與討論的還有西門(mén)子 EDA 信任與安全產(chǎn)品經(jīng)理 John Hallman;Pete Hardee,Cadence 產(chǎn)品管理集團總監;Expedera 營(yíng)銷(xiāo)副總裁 Paul Karazuba;和 Breker Verification 的首席執行官 Dave Kelf。
本文引用地址:http://dyxdggzs.com/article/202304/445454.htmSE:在設計階段可以預先確保多少安全性?我們可以驗證設備是否安全嗎?
Kelf:安全就是找出漏洞周?chē)臓顟B(tài)空間,然后嘗試對其進(jìn)行驗證。驗證是否定驗證。當進(jìn)行功能驗證時(shí),你會(huì )驗證某些功能是否正常運行。在這種情況下,查看芯片內部的安全元件——Arm Trust Zone 和 RISC-V PMP(物理內存保護)就是很好的例子,確保它不能通過(guò)某些特殊的狀態(tài)組合進(jìn)行訪(fǎng)問(wèn)。我們嘗試對此進(jìn)行驗證,以確保沒(méi)有其他漏洞。
Hallman: 狀態(tài)空間顯然是一個(gè)很好的焦點(diǎn)區域。但是能做到全部嗎?可能不會(huì )。你必須加入約束。還有一個(gè)關(guān)于狀態(tài)空間可見(jiàn)性的問(wèn)題。能達到最低的設計水平嗎?是不是在某個(gè)時(shí)候交付了一個(gè)黑匣子,而無(wú)法在其中看到內部的可見(jiàn)性?我們正在努力推動(dòng)盡可能多的可見(jiàn)性,無(wú)論它涉及屬性還是關(guān)于該 IP 的其他描述。我們如何才能盡早驗證這一點(diǎn)?我們可以讓 IP 開(kāi)發(fā)人員進(jìn)行驗證嗎?我們能否盡可能多地封閉和理解該狀態(tài)空間?但除此之外,我們還在該 IP 開(kāi)發(fā)商之外提供信息。你如何將安全性可能需要的驗證信息傳遞到下一個(gè)級別,你可以在哪里進(jìn)行集成級別的分析,并可能在以后的實(shí)施階段進(jìn)行分析?我不認為我們永遠能夠在設備生命周期的不同階段檢查安全性,無(wú)論是在開(kāi)發(fā)階段,還是在運行階段。這就是數字化和數字孿生工作將有所幫助的地方。他們提供了一種在零件的整個(gè)生命周期中及早進(jìn)行驗證的方法。
Hardee: 至于用基于 PSS 的工具進(jìn)行負面測試,可以幫助你超越狀態(tài)空間的限制,編寫(xiě)一些有意義的測試程序,這有助于驗證某些安全漏洞在你的系統中不存在并且不能被軟件或非安全進(jìn)程利用。能夠在 PSS 中開(kāi)發(fā)其中一些測試的關(guān)鍵確實(shí)是擴展 PSS 以能夠應對負面測試。我們在狀態(tài)空間問(wèn)題上看到了完全相同的事情,我們看到了很多正式的使用。我們有很多人在實(shí)施流程、多個(gè)問(wèn)題和亂序處理,并且很多都涉及極其全面的測試,因此他們不容易受到處理架構(如 Spectre)中發(fā)生的已知邊信道攻擊的影響,崩潰,和 PACMAN。正式也可以在子系統級別使用。我們有多個(gè)示例,其中 Arm 和 Intel 將與 Jasper 用戶(hù)組討論他們如何使用 formal 來(lái)驗證加載存儲單元和類(lèi)似的東西。在系統層面,數字孿生之類(lèi)的東西仍然很重要。但是,當我們與客戶(hù)談?wù)摤F實(shí)的期望時(shí),人們會(huì )對各種側信道攻擊感興趣。其中一些可以在架構和 RTL 階段進(jìn)行測試和消除,而另一些則不能。其中一些涉及攻擊者如何與你的電源系統交互,或者串擾如何可能通過(guò)電源信號、時(shí)鐘信號或任何其他信號泄漏安全數據。除非你有系統的精確物理表示,否則幾乎不可能驗證這些。你需要模擬其中一些東西的模型變得非常詳細,以至于即使是數字雙胞胎也無(wú)法應對。需要稍后進(jìn)行的物理攻擊實(shí)驗室測試是無(wú)可替代的。因此,你需要對 RTL 設計階段、架構階段可以完成的工作以及以后真正需要完成的工作設定預期。讓人們了解這些不同類(lèi)別的側信道攻擊是成功的關(guān)鍵。
Borza:我們在驗證中所做的很多工作類(lèi)似于一種 ISO 網(wǎng)絡(luò )堆棧,你必須在與你正在工作的設計抽象級別相對應的每個(gè)級別上進(jìn)行驗證。在 RTL,你有一定程度的驗證。布局布線(xiàn)后可以對物理設計進(jìn)行一些分析和仿真,但這會(huì )變得更加復雜,并且需要更多的計算才能在這些階段進(jìn)行大量驗證。你最終要做的是大量的硅后驗證,以測試你的實(shí)際設計是否達到了你的目標。處理器側通道就像新型的定時(shí)攻擊。它們往往是基于時(shí)間的,而不是基于功率或能量的,但也有一些功率側通道,人們需要關(guān)注。這甚至沒(méi)有涉及一些物理攻擊,比如光子發(fā)射。所以你需要關(guān)注很多層次,你越接近物理學(xué),就會(huì )有越來(lái)越復雜的對手。這確實(shí)使得在驗證方面做大量工作對于確保你已實(shí)現安全目標至關(guān)重要。
Karazuba:需要關(guān)注的一個(gè)方面是安全的經(jīng)濟學(xué)。你可以把三十多個(gè)工程師放在一個(gè)房間里,然后說(shuō),盡可能開(kāi)發(fā)最安全的芯片。添加對側信道攻擊的抵抗力,建立信任根,盡可能部署最先進(jìn)的加密算法。設計一個(gè)生產(chǎn)系統,我們在工廠(chǎng)中對設備進(jìn)行驗證,并在整個(gè)過(guò)程中插入密鑰,以便我們可以在現場(chǎng)的任何地方對其進(jìn)行 ping,并保證它運行正確的固件。你可以做所有這些,但它非常昂貴。這可能不符合你在特定芯片中尋找的成本概況。是否有可能開(kāi)發(fā)出真正安全的設備?絕對地。這樣做在經(jīng)濟上是否可行?這取決于你在何處部署設備的風(fēng)險狀況以及它將持有什么樣的秘密。你的公司被黑客攻擊的風(fēng)險是什么?貴公司作為泄漏國家機密或公司機密的公司被紐約時(shí)報頭版點(diǎn)名的公關(guān)風(fēng)險有多大?
SE:我們今天看到的很多設計都是定制化程度更高,而且生產(chǎn)量更小。我們有新的工藝節點(diǎn)、混合節點(diǎn)設計、小芯片和新的鍵合方法,這些可能并不像每個(gè)人希望的那樣完美。其中有多少可以預先確保?
Borza:每一步都必須進(jìn)行分析,原因很簡(jiǎn)單。你越早發(fā)現問(wèn)題并加以解決,成本就越低,因為你花費更少的時(shí)間和精力將其細化為最終設計。因此,早期驗證事物的成本與等到以后你可以去尋找它們的成本之間存在平衡。但總的來(lái)說(shuō),及早解決問(wèn)題的成本較低。然后,在每個(gè)級別,你需要確保如果你修復了某些東西,你不會(huì )在下一個(gè)級別重新引入它。這是挑戰之一。你經(jīng)常會(huì )破壞一些你認為已經(jīng)修復的東西,而這些更改或決定是在設計過(guò)程的后期做出的——甚至是在晶圓廠(chǎng)的實(shí)施過(guò)程中做出的。
Kelf:隨著(zhù)我們設計更復雜和更定制化的系統,我們可以在設計中構建更多以關(guān)閉漏洞。當我們審視其中一些新應用時(shí),汽車(chē)是最明顯的應用,但也包括醫療和其他類(lèi)似應用,是否存在與這些應用相關(guān)的特定漏洞,對于那些我們可以通過(guò)一些巧妙的設計工作作為目標的定制設備,甚至在我們驗證之前?例如,你想確保某個(gè)人的心臟起搏器無(wú)法通過(guò)某些衛星鏈路進(jìn)行控制。我們如何在架構層面設計一些東西,以避免在稍后的過(guò)程中在電源軌上使用某種奇怪的效果。我們現在看到了更多這樣的東西,而且它對于某些應用程序來(lái)說(shuō)真的會(huì )變得更加重要。
SE:在某種程度上,這也取決于人們想偷什么,對吧?因此,僅僅能夠接管硬件是一回事。但是數據泄漏也很重要,你可以在其中收集少量非常重要的數據。
Karazuba:某人可以獲得的價(jià)值,無(wú)論是數據還是對某物的物理訪(fǎng)問(wèn),都在很大程度上取決于你將對其應用的安全級別。當你以起搏器為例談?wù)撋蚪】禃r(shí),顯然這對起搏器的擁有者來(lái)說(shuō)極其重要。從部署的角度來(lái)看,世界上一些最好的安全措施是圍繞股票市場(chǎng)以及通過(guò)它們進(jìn)行的數十億或數萬(wàn)億美元的交易。智能燈開(kāi)關(guān)的貨幣價(jià)值要低得多,但在壞人手中,它可能會(huì )給高層建筑帶來(lái)真正的問(wèn)題。福特申請了一項關(guān)于自動(dòng)收回汽車(chē)的專(zhuān)利。如果我真的想要那輛 Mustang GT,而且我可以破解他們的系統,它可以自動(dòng)開(kāi)到我的車(chē)庫。
Hallman:目標之一是確定這些共同的安全領(lǐng)域,并盡早在這些部分進(jìn)行設計。即使對于可能并不真正需要所有安全性的物聯(lián)網(wǎng)設備,這也提高了標準。但是,如果更早地引入這種安全性,那么你就可以通過(guò)預先添加一些常見(jiàn)元素來(lái)提高整個(gè)行業(yè)的標準。所以這就是設計的安全性真正有好處的地方。但是我們需要在每個(gè)過(guò)程中不斷檢查安全性在開(kāi)發(fā)鏈的任何地方都沒(méi)有受到損害。
Borza:回到那個(gè)物聯(lián)網(wǎng)電燈開(kāi)關(guān)的例子,如果你可以使用那個(gè)物聯(lián)網(wǎng)平臺作為進(jìn)入房屋的立足點(diǎn),你可以獲得比燈泡更多的價(jià)值。所以交換機制造商認為它在這方面沒(méi)有太大的作用,因為它在交換機上沒(méi)有賺到多少錢(qián)。它并沒(méi)有保護很多利益。但問(wèn)題是你屋子里的東西。所以現在我們正在討論針對該問(wèn)題的更多架構解決方案,例如將 IoT 網(wǎng)絡(luò )放入一個(gè)單獨的網(wǎng)絡(luò )中,該網(wǎng)絡(luò )在物理上或邏輯上隔離并受防火墻保護。你開(kāi)始看到這個(gè)概念的出現,物聯(lián)網(wǎng)在一個(gè)地方,并且將它作為立足點(diǎn)進(jìn)入房屋要困難得多。
Hardee:物聯(lián)網(wǎng)/邊緣設備是一個(gè)值得關(guān)注的大領(lǐng)域。我們銷(xiāo)售的客戶(hù)越來(lái)越注重安全。我們還看到大量貿易公司正在創(chuàng )建自己的 AI/ML 芯片,并且能夠在交易速度上獲得微秒或納秒級的延遲改進(jìn)對于這些應用程序來(lái)說(shuō)正變得非常重要。安全與此齊頭并進(jìn),因為處理大量交易的速度對這些公司來(lái)說(shuō)是成敗攸關(guān)的。安全顯然也是其中的一個(gè)重要因素。但是回到最初關(guān)于多芯片模塊和其他各種東西的可擴展性大幅增加的問(wèn)題,你無(wú)法測試很多物理側信道效應。你必須去后硅。在構建安全電力網(wǎng)絡(luò )方面仍然有非常好的設計實(shí)踐,一種與這些新的大型設備的協(xié)議進(jìn)行通信的安全方式。當然,測試和調試會(huì )引入完全不同類(lèi)別的安全漏洞。我們有人在處理這些問(wèn)題的各個(gè)方面,但你必須在整個(gè)過(guò)程中的每一步都進(jìn)行測試和驗證。沒(méi)有單一的答案。
評論