英國安全業(yè)者NCC Group公布了藏匿在逾40款高通芯片的旁路漏洞,可用來竊取芯片內所儲存的機密資訊,并波及采用相關芯片的Android裝置,高通已于本月初修補了此一在去年就得知的漏洞。
此一編號為CVE-2018-11976的漏洞,涉及高通芯片安全執(zhí)行環(huán)境(Qualcomm Secure Execution Environment,QSEE)的橢圓曲線數(shù)碼簽章算法(EllipTIc Curve Digital Signature Algorithm,ECDSA),將允許黑客推測出存放在QSEE中、以ECDSA加密的224位與256位的金鑰。
QSEE源自于ARM的TrustZone設計,TrustZone為系統(tǒng)單晶片的安全核心,它建立了一個隔離的安全世界來供可靠軟件與機密資料使用,而其它軟件則只能在一般的世界中執(zhí)行,QSEE即是高通根據(jù)TrustZone所打造的安全執(zhí)行環(huán)境。
TrustZone或QSEE等安全執(zhí)行環(huán)境設計,已經(jīng)在手機等設備上廣泛采用,并被廠商作為亮點進行宣傳。但這種技術依然奠基在同樣的微架構上,安全研究者們打造了一些工具來監(jiān)控QSEE的資料流與程序流,并找出高通導入ECDSA的安全漏洞,成功地從高通芯片上恢復256位的加密私鑰。
XX早已開始在保護用戶數(shù)據(jù)安全方面進行了布局。在XX Mate 8時期,XX特地在麒麟950芯片中保留了“Trustzone”隔離安全區(qū)域,同時在EMUI 4.0之外加入獨立的安全OS,用戶的指紋和賬戶信息等敏感安全數(shù)據(jù)都可以獨立存儲、獨立運算;與此同時,其還支持全盤加密功能,存儲芯片內的數(shù)據(jù)會自動做全部加密處理,即便將Mate 8當中的存儲芯片取下放到其他設備上同樣無法直接讀取。
因此,本次事件,并非國內廠商看高通笑話,而是國內ARM陣營IC設計公司也必須注意,自查自糾解決隱患的警鐘。本次事件還證明,單純的從國外廠商買技術,完全照搬,對其細節(jié)了解不透徹,是存在安全問題的。特別是基于國外CPU核進行修改,不等于無懈可擊。修改外商原始設計,并不等于自己正向設計研發(fā)。近年來,國內引進了諸多國外CPU技術。隨后,一批國產(chǎn)CPU橫空出世,各個宣傳自主研發(fā)。
事實上,即便是消化吸收一款高性能CPU核,沒有5年時間根本辦不到。如果要實現(xiàn)從零開始做到skylake這個級別,更是需要長時間的迭代演技。這種短時間一口氣吃成胖子的CPU,不是馬甲CPU,很有可能就是基于國外某款CPU核進行修改的產(chǎn)物。
因為一步登天,一口氣吃成胖子未必技術發(fā)展規(guī)律,從Intel、AMD、IBM、ARM等公司的CPU發(fā)展歷程看,都是迭代演進幾十年。因為后一代都是針對前一代發(fā)現(xiàn)的問題進行改進,而每一代改進源碼量一般不會超過25%。而很多問題,都是需要規(guī)?;瘧貌拍馨l(fā)現(xiàn)的。正因如此,鐵流在以前的文章中強調,規(guī)?;瘧脤a(chǎn)CPU非常重要,是國產(chǎn)CPU進步的階梯。
當年蘋果搞A4、A5、A5X、A6、A6X等處理器的時候,雖然一直有網(wǎng)友質疑是基于ARM公版修改,但諸多蘋果粉絲一口咬定是CPU核蘋果自己研發(fā)。直到“幽靈”、“壟斷”事情出來以后,ARM才發(fā)布,由于自己的A8、A9、A15存在問題,基于三者開發(fā)的CPU也存在問題,所有搭載A4、A5、A5X、A6、A6X等處理器的設備都有隱患。
如今,國內這些ARM廠商,和早些年的蘋果粉絲一樣,宣傳其一口氣吃成胖子的CPU核是自主研發(fā),且源代碼100%自己寫。不知道未來會不會又有一個“幽靈”、“熔斷”事件,由ARM來公布真相呢?
另外,還有一個非常有意思的現(xiàn)象,那就是諸多購買ARM指令集開發(fā)CPU核的廠商,除去蘋果這種基于ARM公布改了3、5代后走上自主研發(fā)之路的公司以外,其他ARM陣營IC設計公司推出的標榜為“自主研發(fā)”的第一款CPU核,其性能往往與ARM同時期的內核性能差不多,這到底是巧合呢?如果一家是巧合,那么,多家公司都出現(xiàn)這種情況,那就未必可以用巧合來解釋了。
或者,這種現(xiàn)象反映了技術規(guī)律,那就是自主研發(fā)一口氣吃成胖子,源代碼100%自己寫違背技術發(fā)展規(guī)律,站在ARM肩膀上基于某款公版進行修改才是正常情況。這種現(xiàn)象還導致一個問題,那就是在商業(yè)上和跑分上,宣稱是獨立設計ARM CPU核(第一款產(chǎn)品)與采用公版內核幾乎沒多少差距,以至于不少公司所謂的自研ARM CPU核只能淪為一個宣傳噱頭。
鐵流認為,基于ARM公版內核進行修改沒有問題,但好歹要想蘋果那樣改個3、5代,自己的東西比較多了以后在標榜自主吧?此前,鐵流文章中提到,自證清白最好方式就是向高校開源,或者將老產(chǎn)品向高校開源。還有一種方式,那就是在制造工藝不變的情況下,依靠自身的設計能力,把性能提升80%以上,如果能做到這一點,也可以被認為能吃透代碼。