這個AMD安全漏洞,國產C86免疫 2025-04-22 21:01 架構師技術聯盟 這兩天,CVE-2024-56161安全漏洞又被鞭屍了,畢竟影響到AMD Zen1至Zen4系列CPU的微碼更新,自Google安全團隊發現以來受到很多攻城獅關注。 簡單理解一下,CVE-2024-56161涉及到CPU微碼(microcode)更新過程中的驗證問題。由於AMD在選擇hash函式時採用了AES-CMAC,並不能提供hash函式所需要的抗碰撞特性,攻擊者可以找到不同的輸入,得到相同的輸出,從而偽造簽名。 屬實沒想到,這一小小操作竟然引起CPU安全體系的嚴重威脅,還被Google團隊深挖了出來。國內團隊的目光瞬間聚焦到了海光身上,作為唯一拿到過zen1微架構技術及完整x86原始碼的廠商,會不會跳進同一個坑? 答案讓人意外。沒想到海光CPU國產化後玩了一手安全技術完全自研,在處理器內部重新設計和集成了韌體驗籤和解密金鑰、晶片簽名金鑰等機制,並且保證了這些金鑰在晶片生產、使用的各個階段都不會被洩露或者竊取。 比如,海光CPU透過晶片中的安全金鑰實現了安全啟動功能,保證非法的韌體不能在海光晶片上執行。同時透過安全的金鑰注入和管理流程,確保金鑰在燒錄、使用中的全程保密,從根源上杜絕了偽造簽名的可能。 這明顯是與AMD同宗不同路的節奏。從技術邏輯上來看,安全啟動功能透過密碼技術確保了只有合法的程式才能執行,並且處理器ROM程式碼使用內建金鑰對微碼進行校驗,只有被正確解密和驗籤的微碼才能透過校驗繼而被執行。 這種技術路線不僅規避了CVE-2024-56161安全漏洞,還在很大程度上實現了晶片原生安全。尤其更讓人驚喜的是,海光作為目前國內唯一擁有自研安全指令集的晶片設計公司,已經可以原生免疫多數普遍存在於x86和arm架構中的漏洞。 這是對漏洞防禦多大的執念!這年頭,連Intel、ARM這些國際大廠都得時不時曝出幾個漏洞,比如去年英特爾第13/14代處理器的電壓控制缺陷,還有Armv8處理器堆疊選擇機制BUG。海光在內生安全方面下了大功夫,顯然也是衝著漏洞主動防禦機制去的。 其實,在前兩代海光CPU中也能看到一些BUG。不吹不黑,比如一些搭載海光晶片的裝置,開啟深度節能模式連續執行約1044天后,就可能出現宕機情況。當然一些已經量產出貨的晶片,應該都採用了韌體升級的方式修復。 不過隨著海光晶片更新到C86-4G,這類問題基本已經天然免疫。尤其一些AMD需要修復的BUG,海光這個“後來者”竟然都沒有踩坑。 這無疑也驗證了海光國產化路線的獨立性,雖然都是X86的底子,但手握完整授權和指令集原始碼,自主研發空間極大。既然能站在前人肩膀上高位起步,自然不能重走一遍別人的老路。但是哪怕多費點功夫也要從底層技術路線保證安全可控,這才是國產CPU龍頭應有的擔當。 編輯:陳十九 稽核:商密君