版權歸原作者所有,如有侵權,請聯(lián)系我們

[科普中國]-自主可控:把“芯”握在自己手中

中國科普博覽
原創(chuàng)
中國科協(xié)、中科院攜手“互聯(lián)網(wǎng)+科普”平臺,深耕科普內容創(chuàng)作
收藏

近日,中國計算機學會(CCF)在太原晉祠賓館舉行了“2016第二屆自主安全產(chǎn)業(yè)生態(tài)創(chuàng)新發(fā)展論壇”,中國工程院院士倪光南、中國工程院院士沈昌祥、全國信息安全標準化技術委員會副主任委員韓俊、工信部軟件與集成電路促進中心軟件處副處長魏威,以及自主安全產(chǎn)業(yè)的專家學者、企業(yè)代表出席論壇。在論壇上,參會人員對什么是自主可控,如何發(fā)展自主可控核心技術等話題進行了討論。
雖然現(xiàn)在國內對自主可控的標準依舊沒有形成統(tǒng)一的觀點——很多馬甲CPU公司都堅稱自己的產(chǎn)品符合自主可控的標準......但這些導致CPU存在安全風險的因素卻實實在在的擺在眼前。
令集就是一個編碼集合。它是用一些代碼表達讀、寫等操作,命令計算機做各種運算的一套命令標準。指令集可分為復雜指令CISC、精簡指令RISC、超長指令集VLIW。CISC的典型代表是X86,RISC的典型代表有ARM、MIPS、Power。
隱藏于指令集的安全風險
CISC和RISC在競爭的過程中相互學習、取長補短,CISC指令集在解碼階段實現(xiàn)向RISC類指令的轉化,將后端流水線轉換成類RISC的形式。隨著技術發(fā)展,RISC指令集也達到數(shù)百條甚至上千條,兩者在指令集上殊途同歸了。而超長指令集的典型代表就是Intel的安騰,由于VLIW與CISC、RISC軟件生態(tài)不兼容的原因, VLIW已經(jīng)很罕見了。
一些網(wǎng)絡文章中將指令集視為“黑科技”,并以中國大多IC設計公司采用國外指令集為理由來貶低國內IC設計公司的技術水平,其實這種言論是非常值得商榷的。在技術上,重新定義指令集難度近乎于零,美國也一度禁止將單獨的指令集申請為專利,而真正有價值的是圍繞指令集建設的軟件生態(tài)和指令集的發(fā)展權——正如華為海思購買ARM的指令集授權,其本質是為了能夠兼容ARM的軟件生態(tài),并非該指令集有多么高的技術含量。ARM能夠把ARM陣營的IC設計公司變成自己的馬仔,正是因為其嚴禁其他公司修改指令集,掌握了ARM指令集的發(fā)展權。
雖然指令集僅僅是一個編碼集合,但并不意味著其不存在貓膩——國內單位經(jīng)過測試,發(fā)現(xiàn)X86指令集存在未公開指令,包括加解密、浮點操作在內共計二十余條。其中,有三條指令在用戶模式就可以使機器死機或重啟,作用機制直接穿透各種軟件保護措施,防護軟件卻不能感知;普通應用程序中嵌入一條即可使系統(tǒng)宕機——Intel可以利用這些未公開指令輕而易舉的黑掉用戶,雖然Intel在和平時期未必會這樣做,但Intel確實擁有黑掉用戶的能力。
隱藏于微結構的安全風險
微結構也被稱為CPU核,很大程度上決定了CPU的性能、功耗、安全性等要素,我們日常所說的雙核、四核、八核CPU芯片,其實是將2、4、8個微結構(CPU核)的接口互聯(lián)并集成到一片硅片上。
開發(fā)一款優(yōu)異的微結構有多難呢?我們可以從不可替代性的角度進行分析。目前,雖然國內擁有一大批IC設計公司,但具備高性能微結構開發(fā)能力的CPU公司卻寥寥無幾,國內CPU公司大多采取購買國外CPU核授權的方式開發(fā)所謂的國產(chǎn)CPU。具體來說,華為海思、展訊、全志、瑞芯微、新岸線等公司雖然已經(jīng)賣出了數(shù)以億計的手機、平板芯片,但已經(jīng)商用的產(chǎn)品中沒有一片芯片的CPU核是自主開發(fā)的,全部都是購買ARM的CPU核授權。
正因此,由于都是購買ARM設計的微結構,所以基于ARM結構的國產(chǎn)芯片的性能、功耗、安全性都由ARM決定,中國ARM陣營IC設計公司在性能、功耗、安全性方面根本不具備話語權,能夠做主的,僅僅是把這些ARM微結構組合成雙核、四核、還是八核的芯片,以及在后端設計方面,在ARM留有的冗余范圍內,將主頻定得高一點,還是低一點。
雖然筆者沒有明確證據(jù)證明ARM出售的CPU核是否存在后門,但經(jīng)過國內單位的測試,X86芯片確實存在功能不明確的“多余”模塊——這些模塊不是一般意義的調試接口,而是由特定的CPU芯片引腳控制,可讀寫CPU內部狀態(tài)寄存器、讀寫指定存儲區(qū)域、激活特定的微代碼段執(zhí)行某個處理流程、對CPU進行復位。
另外,有人認為由于能夠拿到源碼,因此ARM芯片就是安全可控的,這種說法其實也是非常值得商榷的。
首先,熟悉IC設計的開發(fā)者應該都知道,一個IP設計公司在對第三方提供其設計好的IP時,即便是較開放的軟核授權,也不會做到所有代碼可讀可修改,而是包裝了好多模塊,其中有些可以配置、有些可以修改,而在大部分模塊內部都不可能進行隨意修改。
其次,即便拿到源碼,也存在“看得見,但看不懂”的問題。雖然對研發(fā)單位來說,員工在自己寫的代碼里設置后門,可能會在code review的過程中被發(fā)現(xiàn),但第三方在沒有設計文檔和驗證環(huán)境等技術支持下,要想發(fā)現(xiàn)設計單位埋設的后門卻非常困難。而且設計單位可以對源碼進行變量置亂,所有變量全部用隨機字母和數(shù)字代替,在這種情況下,第三方想要破解源碼中埋設的后門近乎是一件不可能完成的任務。因此,國內ARM陣營IC設計公司能夠讀懂源碼的多寡,其實取決于ARM想讓你看懂多少。
在代工生產(chǎn)中的安全風險
上月,來自密歇根大學的研究人員證明了在芯片制造過程中植入硬件木馬的可行性,并在不久前的IEEE隱私與安全大會上,他們的研究獲得了最佳論文獎。
在論文中,研究人員詳細描述了一種惡意、超微型的硬件后門的概念驗證攻擊。在他們的展示中,黑客通過每分鐘在處理器上運行一系列看上去完全無害的命令,能夠有效地觸發(fā)處理器的一項功能,獲得操作系統(tǒng)的完整權限。最讓人恐慌的是,極微小的硬件后門基本無法通過任何現(xiàn)代硬件安全分析手段檢測出來,而且只要芯片工廠中的一位員工就能進完成植入。
密歇根大學的研究人員稱,這種木馬不是篡改芯片的“數(shù)字”特性,比如更改芯片的邏輯計算功能,而是一種物理入侵,劫持電流穿過二極管的路線,觸發(fā)預料之外的結果。
換言之,除了在集成電路設計的過程中可以安插硬件木馬之外,在集成電路的制造過程中,同樣可以對原始電路進行惡意修改,安插微小的惡意電路,以達到在無條件或在特定的觸發(fā)條件下實現(xiàn)改變系統(tǒng)功能、泄露機密情報,或摧毀系統(tǒng)的目的。
在論文中,來自密歇根的研究人員堅稱,“他們的本意是防止這類無法檢測的硬件后門攻擊,而不是發(fā)明它們。事實上,世界各國的政府有可能已經(jīng)想到了這種模擬電路攻擊方法......通過發(fā)布這篇論文,我們說明了,這種攻擊是真實的、迫在眉睫的威脅?,F(xiàn)在我們需要找到一種防御方式。”
因此,國內一些公司在境外流片的所謂的“安全芯片”,很難說安全保密程度到底有多高。
結語
自改革開放以來,中國在信息技術領域一直存在“缺芯少魂”的問題,最近幾年每年的芯片進口費用超過石油進口總額。這不僅嚴重制約了本土技術和產(chǎn)業(yè)的成長和發(fā)展,還對國家的信息安全造成了巨大的隱患——從海灣戰(zhàn)爭中薩達姆的防空系統(tǒng)突然癱瘓,到2007年以色列轟炸敘利亞東北部的一處潛在核設施時,敘利亞預警雷達因通用處理器后門而失效,再到2012年伊朗布什爾核電站在信息系統(tǒng)物理隔絕的情況下遭到震網(wǎng)病毒的攻擊......殘酷的現(xiàn)實向世人闡釋了只要存在國家和利益斗爭,給CPU或操作系統(tǒng)留后門的行為就永遠存在。
前車之鑒,后事之師,前人無暇自哀,切勿使后人復哀后人也。

內容資源由項目單位提供