高通芯片的安全隐患已经波及数十亿台设备
扫描二维码
随时随地手机看文章
英国安全业者NCC Group公布了藏匿在逾40款高通芯片的旁路漏洞,可用来窃取芯片内所储存的机密资讯,并波及采用相关芯片的Android装置,高通已于本月初修补了此一在去年就得知的漏洞。
此一编号为CVE-2018-11976的漏洞,涉及高通芯片安全执行环境(Qualcomm Secure Execution Environment,QSEE)的椭圆曲线数码签章算法(EllipTIc Curve Digital Signature Algorithm,ECDSA),将允许黑客推测出存放在QSEE中、以ECDSA加密的224位与256位的金钥。
QSEE源自于ARM的TrustZone设计,TrustZone为系统单晶片的安全核心,它建立了一个隔离的安全世界来供可靠软件与机密资料使用,而其它软件则只能在一般的世界中执行,QSEE即是高通根据TrustZone所打造的安全执行环境。
TrustZone或QSEE等安全执行环境设计,已经在手机等设备上广泛采用,并被厂商作为亮点进行宣传。但这种技术依然奠基在同样的微架构上,安全研究者们打造了一些工具来监控QSEE的资料流与程序流,并找出高通导入ECDSA的安全漏洞,成功地从高通芯片上恢复256位的加密私钥。
XX早已开始在保护用户数据安全方面进行了布局。在XX Mate 8时期,XX特地在麒麟950芯片中保留了“Trustzone”隔离安全区域,同时在EMUI 4.0之外加入独立的安全OS,用户的指纹和账户信息等敏感安全数据都可以独立存储、独立运算;与此同时,其还支持全盘加密功能,存储芯片内的数据会自动做全部加密处理,即便将Mate 8当中的存储芯片取下放到其他设备上同样无法直接读取。
因此,本次事件,并非国内厂商看高通笑话,而是国内ARM阵营IC设计公司也必须注意,自查自纠解决隐患的警钟。本次事件还证明,单纯的从国外厂商买技术,完全照搬,对其细节了解不透彻,是存在安全问题的。特别是基于国外CPU核进行修改,不等于无懈可击。修改外商原始设计,并不等于自己正向设计研发。近年来,国内引进了诸多国外CPU技术。随后,一批国产CPU横空出世,各个宣传自主研发。
事实上,即便是消化吸收一款高性能CPU核,没有5年时间根本办不到。如果要实现从零开始做到skylake这个级别,更是需要长时间的迭代演技。这种短时间一口气吃成胖子的CPU,不是马甲CPU,很有可能就是基于国外某款CPU核进行修改的产物。
因为一步登天,一口气吃成胖子未必技术发展规律,从Intel、AMD、IBM、ARM等公司的CPU发展历程看,都是迭代演进几十年。因为后一代都是针对前一代发现的问题进行改进,而每一代改进源码量一般不会超过25%。而很多问题,都是需要规模化应用才能发现的。正因如此,铁流在以前的文章中强调,规模化应用对国产CPU非常重要,是国产CPU进步的阶梯。
当年苹果搞A4、A5、A5X、A6、A6X等处理器的时候,虽然一直有网友质疑是基于ARM公版修改,但诸多苹果粉丝一口咬定是CPU核苹果自己研发。直到“幽灵”、“垄断”事情出来以后,ARM才发布,由于自己的A8、A9、A15存在问题,基于三者开发的CPU也存在问题,所有搭载A4、A5、A5X、A6、A6X等处理器的设备都有隐患。
如今,国内这些ARM厂商,和早些年的苹果粉丝一样,宣传其一口气吃成胖子的CPU核是自主研发,且源代码100%自己写。不知道未来会不会又有一个“幽灵”、“熔断”事件,由ARM来公布真相呢?
另外,还有一个非常有意思的现象,那就是诸多购买ARM指令集开发CPU核的厂商,除去苹果这种基于ARM公布改了3、5代后走上自主研发之路的公司以外,其他ARM阵营IC设计公司推出的标榜为“自主研发”的第一款CPU核,其性能往往与ARM同时期的内核性能差不多,这到底是巧合呢?如果一家是巧合,那么,多家公司都出现这种情况,那就未必可以用巧合来解释了。
或者,这种现象反映了技术规律,那就是自主研发一口气吃成胖子,源代码100%自己写违背技术发展规律,站在ARM肩膀上基于某款公版进行修改才是正常情况。这种现象还导致一个问题,那就是在商业上和跑分上,宣称是独立设计ARM CPU核(第一款产品)与采用公版内核几乎没多少差距,以至于不少公司所谓的自研ARM CPU核只能沦为一个宣传噱头。
铁流认为,基于ARM公版内核进行修改没有问题,但好歹要想苹果那样改个3、5代,自己的东西比较多了以后在标榜自主吧?此前,铁流文章中提到,自证清白最好方式就是向高校开源,或者将老产品向高校开源。还有一种方式,那就是在制造工艺不变的情况下,依靠自身的设计能力,把性能提升80%以上,如果能做到这一点,也可以被认为能吃透代码。