IIIF专题——刘雷波:集成电路硬件安全

IIIF专题——刘雷波:集成电路硬件安全

IIIF 清华大学产业创新与金融研究院

编者按

离开集成电路谈信息安全便是追求无源之水无根之木。为了保障应用于国计民生各个领域的电子信息系统的安全,我们必须高度重视集成电路的硬件安全。2022年8月23日,清华大学集成电路学院教授、IIIF研究员刘雷波,在由北京市科学技术协会指导,北京女科技工作者协会主办的“集成电路关键技术”研讨会上应邀发表《集成电路硬件安全》的主题报告,与各高校学者、北京经济技术开发区集成电路光刻、信创相关企业界代表共同交流。本期IIIF专题编辑整理了刘雷波教授的报告精华,与读者分享。

集成电路硬件安全

刘雷波

清华大学集成电路学院长聘教授

报告摘要

信息产业构建在“硅”之上,无法保证集成电路的硬件安全,就无法从根本上解决应用、系统与网络的安全问题。而集成电路又恰恰是一个产业链条长、技术涉及范围广、国际分工协作非常充分的领域,这就让有效解决集成电路的硬件安全问题变得更加困难。本报告将分享报告人在该领域的部分研究成果,并给出可能的应对方案建议。

芯片处于整个系统最底层,它的安全问题会带来系统软件、应用软件、互联网络等一系列的安全问题,并且无法通过传统手段加以解决,只有软件和硬件联合起来才是解决芯片安全问题的重要手段。

一、芯片硬件安全问题

芯片硬件安全问题有很多,包括未知的软硬件漏洞、预设的软硬件后门、智能持续病毒攻击等。而目前安全防御体系的基本问题在于:因内核不可控导致的体系安全风险。

现代芯片是由数十亿到数百亿颗晶体管集成,而一个硬件木马或一个后门大概会消耗掉几百个晶体管,要想将这几百个晶体管从上万亿个晶体管里找出来的难度堪比大海捞针。

芯片要经过设计、制造、测试、封装等完整流程,当前集成电路的生产需遍布全球的成百上千家企业协作完成。目前常用的防御手段为查看源码、抽检生产过程等行政手段,硬件中可能存在的木马、后门、漏洞、前门等,都有很大的安全风险,且尚无有效技术手段进行检测和抵御。

例如2012年剑桥大学研究人员发现Actel公司军用FPGA芯片ProASIC3存在基于隐式通道的硬件木马,厂商可利用该通道向芯片发送特定指令,提取到芯片中下载的所有fpga配置数据、修改算法密钥和认证密钥、或永久性地破坏该芯片。这类问题出现在CPU时,被称为漏洞(熔断、幽灵、AEPIC)。CPU漏洞在云服务中可能会导致企业的重要数据泄露,普通用户在企业内网中可以获取高权限数据,如员工可以查看总裁的信箱,手机端个人的隐私信息也会遭到泄露。

而以上这些攻击手段绕开了任何已知的软件手段,采取硬件手段攻击,我们无法察觉。这些硬件漏洞并非有人恶意为之,是由于设计过程的认知有限导致。近30年来,凡是采用了预测执行、乱序执行、高速缓存等结构的高性能计算机结构体,从服务器 CPU 到桌面、嵌入式 CPU ,无一幸免。再举一个硬件前门的例子,管理系统是厂商用来帮助更新的。如 Mentor code服务器,操作系统、软件、硬件、芯片都在不断更新,一个芯片经过不断更新和两年以后的芯片完全不是一款东西,固件发生了变化。而恶意微码可以改变处理器指令行为,实现转存敏感数据,非法访问内存,秘密传输信息和强制挂起CPU。我国服务器的 CPU 微码保有量大概是 2000 万条,恶意微码通过对CPU进行操作,最终将数据传导出来或进行篡改,这些行为至今也没有技术手段可以预知。

综上,在集成电路整个应用层面,从信息泄露、恶意电路,到假冒伪劣产品、设计漏洞、供应链风险、质量和可靠性失效的硬件安全问题都很严峻,但国内尚未充分关注这些问题。我们有软件的病毒库和漏洞库,但没有硬件的病毒库和漏洞库。等到造成了严重后果,我们意识到问题极其严重时恐怕为时已晚,因此我呼吁有关方面重视集成电路硬件安全问题,加大技术研发布局与投入,只有实现自主研发并真正做到技术领先才可能带来集成电路系统性安全。

二、解决方案探讨

1、芯片设计、制造、封装过程中的安全问题及相关防御技术。

整个数字流程自动化过程中,我们没有对芯片的安全进行建模,没有人关注漏洞后续会造成什么影响,平台中也没有一些数学手段能够保证定义的芯片规格和代码实现是等价的,这些是问题的关键所在。在芯片使用中,我们检查代码和网表发现常常是不等价,如果代码功能过剩,会出现什么问题呢?而这些(过剩的功能)又是怎么来的?1994 年,Intel便发现它的 CPU 运算小数点后第 4 位错了一个数,当时修改这个错误花了 4.75 亿美金,自此才开始做等价性检查。

现在证明芯片的定义和代码之间的等效性尚无很好的数学工具,这是基础研究缺乏所导致。近几年,在 EDA领域,业界开始从最基本的关注点如提高可测性、良品率、实现低功耗发展到是否能够进行安全性设计,开始考虑在设计之初就把安全性能考虑进去。

一个商业案例是美国网络安全公司Tortuga Logic几年前在一些工具中加入相关模块进行安全检测。用这些模块大概用时 400 多秒就可以查出芯片中是否被加入恶意代码。近几年清华也开始做这方面的研究尝试。另外一个著名的攻击手段叫侧信道攻击技术,即芯片使用时有执行时间、功耗、电磁、光、声音、温度等物理量,如果获取了这些物理量,就可以对芯片进行攻击。2015年,以色列的一所大学实现了用手机听电脑运行的声音可以取出其中的加密密钥。甚至将手放到电脑屏幕上就可以获取密钥,这都是侧信道攻击的例子,也都是非常严峻的安全问题。

清华和浙大的联合研究组通过在PG中注入毛刺,出错后可以将数据取出。浙大团队使用麦克激光的方式进行攻击也可以获取数据。这些都是非侵入式攻击,非侵入式攻击还包括能量攻击,故障攻击、计时攻击、声音攻击、缓存攻击等等,此外还有半侵入式攻击。

应对侧信道攻击的防御技术有很多,芯片级的、系统级的、算法级、源码级或晶体管级的技术都可以采用。比如掩码,可以随机将重要性信息分拆,降低侧信道信息与敏感信息的相关性。掩码通过降低数据的区分度来抵抗侧信道的攻击,将多种信息淹没到噪声里从而实现安全性。

通过动态重构技术,让芯片快速变化,使攻击的链条被打断。这种方法的逻辑在于使电路功能不变,物理实现随机变化,攻击的路径依赖被打破。经过我们课题组的实验证明,加入动态重构技术后, 10 万条曲线才可以攻破,如果没有这个技术,大概不到 1 万条曲线就可以攻破,重要信息随之很快泄露。

2、芯片的部署和使用的硬件安全

每个芯片都有一个 ID ,以防止伪造和替换。美国军方 B1轰炸机曾因芯片本身的身份问题没有解决而不幸采用了大量的伪劣芯片。很多设备包括我们使用的手机,都无法得知里面的芯片是不是回收的旧芯片。如果去淘宝搜索,你能查到很多收旧芯片的,这些旧芯片被收回之后打个新标,又可以使用和售卖,如果流入到航空航天等国防领域将造成重大损失。我国一年进口 4000 亿美金的芯片,仅回收市场就占据 2500 亿美金的规模。

针对这些问题也有很多解决办法,比如将相对安全的芯片放在底层,需要被检查的可控芯片在上面,在相对安全芯片做完检查之后再让它们来工作,将敏感信息保证在其他芯片当中,启动时先检查再进行接收和处理。

还有一种传统的固件解决方法。如果做服务器,比如 BMC(bot manager controller)及bias,开机时会出现一个蓝色屏幕,这其实是固件进行保护。可惜这种保护仍旧按照身份来认证,即我并不知道这个芯片究竟是好是坏,但是可以根据这个芯片是哪家公司生产的,依据出身而非按技术本身来做出判断,未来应该实现从身份到契约的跨越。

3、基于特定芯片技术的系统安全

一是通过分割与异构提升安全性。工作芯片定义运算单元,安全芯片定义连线,通过功能分割来提高它的安全性。这是目前使用最多的方式,也是目前被攻击的最多。

二是安全子系统架构 包括扩展协处理器,嵌入式协处理器以及处理器安全环境。扩展协处理器是将片外扩展协处理器作为安全核,实现计算资源完全隔离,通讯接口需要额外保护;嵌入式协处理器是利用片上通信资源和主处理核交互作用提供保护。这两种方式都会增加额外的面积成本和通信代价。处理器安全环境即一个物理核虚拟成多个核,用监视器切换不同状态,这种方法能够降低面积成本和通信代价,但复杂中断处理会引入额外的开销。

三、CPU 芯片硬件安全

美国国防部高级研究计划局J.M.Smith 2019年在一篇文章中曾坦言:完整验证一个现代 CPU 仍旧是一件非常棘手的事情,即使只是静态地验证一个非常简单的安全属性,如“禁止硬件权限提升”,对于当前的技术而言都是无法做到的。

首先,我们要明确软件安全与硬件安全的边界。软件安全指的是指令本身被篡改,指令执行顺序被篡改,指令执行环境被篡改。而硬件安全是指指令底层硬件行为被篡改,如输出信号被篡改。目前关于CPU芯片硬件安全在商业部署前的经典做法一是代码验证和流程审查,二是剖片检测与反向分析。我国也于2019年4月1日正式实施CPU安全可控评价指标,指标包括评价类型,细分考察项,并以打分的形式予以检测审查。在CPU部署后通常是通过固件验证和可信环境验证。但固件只是硬件安全威胁的冰山一角,硬件攻击很可能是在CPU正常运行时发生,不一定跟固件有关联。而可信环境是“将重要的鸡蛋放在一个密封的篮子里”,易受侧信道攻击的威胁,在工程上也难以实现。

CPU硬件安全动态监测管控技术(Dynamic Security Check)是目前能够有效解决芯片安全难题的重要方法之一。2016年,我所在的清华科研团队提出了基于高安全、高灵活可重构芯片架构的“CPU硬件安全动态监测管控技术”。在CPU芯片部署后上电运行的过程中,用一个独立的动态可重构芯片对CPU的所有重要行为,包括指令执行、内部状态变化、与外部存储及网络设备的数据交互,以及预测执行、缓存控制等微架构行为进行快速采样和实时分析(即“真实应用场景中的在线实时检测”)。无论是硬件木马、硬件漏洞(如“熔断”、“幽灵”)、硬件后门以及恶意利用硬件前门的行为(如恶意利用微码的行为),都会因CPU芯片行为异常而被该技术方案迅速发现,并能根据危害等级和用户安全需求进行管控。该项技术提供了一种高效可行的“监控”手段,从而让硬件安全特别是CPU硬件安全的保障手段从以传统的流程管控和静态检测为主的“事前预防”,扩大到了“事中监测”和“管控危害”,在保障算力的同时,构建起了相对完善的CPU硬件安全防护体系。


综上,芯片硬件安全是信息系统安全的物理根基,无法单独通过软件手段解决,以硬件技术为基础的软硬件联合的方法是解决芯片安全的重要手段。动态可重构技术是解决芯片安全难题的重要方法之一,技术方法因其可证明和可验证,是确保芯片硬件安全的重要可靠途径。目前阶段我们应以技术方法为根本,以行政管理手段为辅助,是可行且有效的解决芯片硬件安全问题的途径。


附:作者

刘雷波

清华大学(集成电路学院)长聘教授、博士生导师,教育部长江学者特聘教授,国家级一流本科课程负责人。1999年和2004年分别在清华大学取得学士和博士学位,随后在欧洲微电子中心(IMEC)、麻省理工学院、牛津大学、林肯大学进修与访问。

研究工作聚焦软件定义芯片、硬件安全与密码芯片、VLSI数字信号处理等。发表学术论文300余篇、授权发明专利100余项、撰写著作7部,参与制定国家标准1项。任国际权威期刊《IEEE Circuits and Systems Magazine》副主编、中国工程院院刊《信息与电子工程前沿》执行副主编、电子设计自动化顶级会议DAC以及固态电路一流会议IEEE A-SSCC TPC委员,中国密码学会密码芯片专委会副主任委员兼秘书长。关键技术在一系列重大工程中实现应用。曾获国家技术发明奖二等奖、中国专利金奖、教育部技术发明一等奖、中国电子学会技术发明一等奖、世界互联网大会15项领先科技成果奖等。


本文根据刘雷波报告整理,有部分删减编辑。

文字整理:高艺展

责 编:刘 颖


清华大学

产业创新与金融研究院