圖片來源: 
華為

看到很多人認為資安要把關只要做好檢測就好,這是對電腦科學的基本原理認識不足。

除了「formal verification」(形式化驗證,請查維基)之外,沒有任何檢測能測出軟體(包括韌體和作業系統)「完全沒有問題」。這些檢測都是測試產品「有沒有做該做的事」,以及一小部份「在某些情形下沒有做不該做的事」;不可能測出「永遠不會做不該做的事」。華為的產品絕對不可能通過 formal verification。至少兩個基本原因:只要有物件導向程式,就不可能通過;只要有自我修改(包括升級)的能力,也就不可能通過。這方面可以去請教 jserv

關於理論基礎,電腦科學有一個非常重要的基本定理,叫作 Halting problem。它的意思大致上是:沒有一個程式可以判斷出「任何程式在任何情形下是否能執行到完成」。連「判斷是否完成」都做不到,那更不可能「判斷是否做壞事」了。
要談實戰經驗嗎?我1999-2003在 Lucent Bell Labs 寫電信交換機軟體。這方面我懂。

那你會問:為什麼華為產品不能用,其他美國公司產品就可以用?道理不在科學,在於商業模式。一般公司的目的是賺錢,一旦被發現做了壞事它就賺不了錢了,所以它不會去做。而中資的公司很多都有政治目的,它們不一定要賺消費者的錢,而是可以為政治服務。如果是一般民生產品也就罷了,但資訊網路骨幹這種設施,我是絕對反對使用中資公司的產品的。

至於工研院禁止華為手機連上內網,大部分是宣示意義,但也有一小部分實質意義,就是減少間諜設備刺探的機會。但要達到這個目的,還應該完全禁止在院內使用中國設備才對。為什麼不禁?因為會造成同仁不便,就這麼簡單。

對一些其他人的不正確評論,我就不一一反駁了。任何人還要說華為設備可以用的,請先把 halting problem 的證明寫一遍,再把 formal verification 的定義寫一遍,再來跟我說。

萬一還是想用華為設備呢?只要華為願意把所有原始碼(包括作業系統和編譯器)、電路圖(包括 Gerber)、生產程序、以及維護工具(包括升級伺服器)交出來,交給台灣的 HITCON 團隊 +jserv +CIH 去檢查六個月,都找不出問題,那我就接受。這應該很合理吧?外國公司去中國營業,不是也都要把技術交出來嗎?

作者簡介


Advertisement

更多 iThome相關內容