如果 CPU 存在安全後門,那麼使用國產伺服器能杜絕安全問題嗎?


國產伺服器用的不是國產的CPU,所以題主你的這種想法可以放棄了。

就算國產伺服器用的是國產的CPU,問題是操作系統不是國產的,你還需要找幾萬個人花幾年的時間搞出一個完全國產的操作系統,並且再花十幾年的時間找幾十萬人給你開發相關的配套軟體。

不僅如此,就算CPU、伺服器、操作系統都是國產的,但CPU(龍芯)是國外給代工的,國內沒有生產能力,所謂國產只是國內設計,生產線還是國外的,所以先投資幾十億美金搞一條生產線來。

到此結束了?沒有,誰知道你用的鍵盤、滑鼠、顯卡、音效卡、網卡是不是有後門?所以這些硬體必須重新在國內設計,重新在國內生產。

好啦,現在CPU是國內設計,國內生產,伺服器也是國內設計、國內生產,伺服器上的每個晶元、每個電容、電阻、晶體管都是國內生產的,伺服器上所有的軟體都是國內設計的,題主就再也不用擔心後門的問題了。

問題是我覺得題主你等不到這一天。


那個,我純粹是好奇一下,民用CPU的後門一般以什麼形式存在?(別直接告訴我說這個東西太高大上,不是我能理解的……)

目前爆出的後門,比如NSA讓RSA弄得那個,並非是在CPU上,而是在隨機數產生程序中植入或者在產生隨機數的專用硬體里「燒」進去的。(「燒」可以是指後編程,這個就和軟體一樣了。也可直接"刻"。)

先想想怎麼植入後門吧:

1. 放寄存器里?

不(大)可能,一個寄存器撐死64-bit,而且這個斷電就掉數據。

2. 給CPU額外加個ROM(或者擴展原有微指令)?

呃,這個ROM一定得相當大。因為不能依靠操作系統也沒有編譯器(天知道這CPU是裝在Linux上還是Win或者Mac OS……),所有都得是機器指令,包括自啟動和網卡的溝通(還是不能通過操作系統,所以怎麼地也得存上所有可能的網卡參數和主板參數吧,否則不能傳數據叫什麼後門)。後門越隱蔽,也就是說後門越「聰明」,需要的ROM也就越大。

大小還好說,關鍵這個情況給安全工程師一測試就能發現,因為CPU畢竟不是「活」的。

3. CPU自己存儲一段未編譯的代碼,然後啟動後讓操作系統來編譯執行這段代碼?

拋開源代碼大小不談,一旦執行這個程序,系統的進程管理或者系統日誌裡面總會有記錄。這跟明說「我是後門,來抓我」沒區別了……

我繼續開腦洞……

另外,關於CPU有沒有可能有後門,還可以參考這個鏈接:

backdoors in hardware (ie. intel/amd cpu) possible?

=============下面是硬體業內人士對這個問題的見解,我的腦洞終於引來了大牛==========

@Podes 的評論

給你一個實際的晶元例子。Win-tel架構PCIe 相關,簡化起見,過濾掉複雜的技術細節。

引子:

在硬體層級/BIOS上電後首先要做的事情是bus emulator,掃描各個設備的PCIe配置控制,分配匯流排號,中斷,IO空間,memory空間等等工作。

一個PCIe 設備(晶元)的配置空間設計是完全根據PCIe協議規範實現的,如果有bug那麼必然無法通過微軟的硬體兼容性測試。

實例:

下面告訴你怎麼做一個後門,可以繞過所有的測試。

PCIe配置空間的寄存器各有不同的特性,有些是Read Only,有些W-R,配置完成之後不能修改等等。我們可以針對Read-Only寄存器做一個專門的邏輯:所謂的影子寄存器。

通常代碼對ReadOnly寄存器的寫操作是沒有任何影響的(不會導致系統異常問題)。現在我做一個邏輯:選取兩個協議上完全無關聯的RO寄存器,如果連續對他們寫一個特殊的值,就相當於對影子寄存器執行寫操作。

這個影子寄存器的作用是:一旦被觸發,配置空間的寄存器全部可以被讀寫。

用處:

首先,以上這些硬體設計完全兼容PCIe協議,任何正常的測試程序都可以正常通過。為什麼要弄這個影子寄存器呢?因為我們設計的晶元太複雜,難免投片後出現bug。如果bug不可以修正,後果就很嚴重,上百萬美刀的投片費打水漂是小事,下游廠商等米下鍋呢,不能按期出貨則是無法承受之重。

所以,我們需要留這個東西,以便晶元出了一些bug時可以做變通,通過修改BIOS代碼繞過bug。

可以利用的後門:

大家知道的,只要PCIe內部配置空間衝突(比如匯流排號,內存空間)系統必然藍屏崩潰。這樣通過修改晶元內部的影子寄存器就可以輕易地讓系統死掉。用來訪問這個影子寄存器的代碼可以是完全正常的應用/驅動層代碼。不是病毒或者木馬哦。

機器肯定是有後門,有必要用這個來搞破壞嗎?

主觀地講,幾乎任何機器都(可以)有工程師留的後門。這個後門一般是工程師用來彌補自己的失誤或者用來避免被自己老闆開掉的工具。完全跟政/治無關。

進一步講,機器需要人來維護。機器在維護工具面前,就跟脫得一絲不掛似的。所有的維護工具想弄死機器那是小菜一碟。這跟上帝與子民的關係一樣。或者說五維空間跟四維空間的關係。邏輯上講,你既然是我創造用來為我服務的,我完全沒有必要捏死你啊。

繞回來。硬體是有後門的,但是沒有必要用硬體的後門來搞破壞。還有比這更簡單直接更有經濟效率的N多辦法。


應該不可以 都不安全了


既然CPU說完了,顯卡呢?GPGPU呢?


美國的芯有美國政府的後門;國產的芯有國產政府的後門。為啥題主認為國產的就有可能更安全……


題主這個提問首先就不是很嚴密,國產伺服器指的是使用國產CPU的伺服器,還是國內產商生產的、使用intel或是AMD CPU的伺服器。如果題主說是x86的CPU存在安全後門,國產伺服器又指的是使用x86的CPU的伺服器,那顯然是不安全的。

如果題主指的是x86的CPU有安全後門,國產伺服器使用的MIPS龍芯CPU的伺服器,那麼使用國產伺服器還是相當的安全。


intel的AMT技術就是最大的安全後門。


國產化不等於安全,只是做到所謂的「自主可控」,也就是說理論上,出了任何問題都可以追溯到最底層的源頭,而不存在「黑箱」。但這同安全是兩碼事,一個不太成熟(即經過高強度測試和大規模應用)的國產東東(晶元、OS……),同一個已經很成熟的進口東東比,顯然後者更安全,這同政治無關,純粹是技術角度看,對於一個蓄意破壞的黑客而言,顯然是前者更容易找到漏洞進行攻擊。


推薦閱讀:

如何看待「網易郵箱泄密事件」?
15年7月,最近QQ盜號(利用所謂聚會照片)是怎麼回事?這個釣魚網站最近已經見過多次了?
隨著互聯網的發展,哪些網路攻擊手段越來越盛行了?
8848手機安全加密,我想請問能防住網井嗎?
網警可以查得到私人聊天記錄嗎?

TAG:伺服器 | 網路安全 | 計算機網路 | CPU設計 |