传统计算机体系结构不断暴漏出新的安全漏洞,其根本原因是设计时缺乏安全性考量。中国科学院信息工程研究所借由TC2020的论文《Built-in Security Computer: Deploying Security-FirstArchitecture Using Active Security Processor》,在学术界率先提出了安全优先体系结构。TC(IEEETransactions on Computers)是计算机系统结构领域的顶级国际期刊,也是中国计算机学会认定的体系结构方向的三个A类期刊之一。TC的历史可追溯至1952年,迄今已有64年历史,是计算机领域历史最悠久的期刊之一。
此前,该所已经自主研制了主动安全处理器系列芯片ASP(Active Security Processor),将ASP集成到传统的计算机体系结构中,并和国内其他主流厂商合作,建设了完善的上下游生态并实现规模化应用。
ASP设计的核心思路就是内置式主动防御安全,从分析攻击的机理和关键漏洞入手,找出信息技术的脆弱点,重新设计、改造现有的信息技术。在芯片设计的时候设置一个主动安全处理器,实现单向物理隔离,变“信息技术+安全”为“安全的信息技术”,实现芯片安全。
在安全优先的体系结构下,为了减少ASP的攻击面,提高系统的整体安全性,ASP采用非对称的地址空间与计算处理器单元(CPU)进行物理隔离,使得ASP和CPU能够在各自的内存空间中独立运行操作系统和应用程序。
此外,ASP拥有整个系统的最高权限(超级权限),具有两个优点:1)ASP可以高效地访问所有CPU资源,并收集多维信息来监视恶意行为,同时CPU不能以任何方式访问ASP的私有资源;2)ASP可以主动管理CPU或ASP中使用的安全机制,而不是由CPU调度。
基于安全优先体系结构,引入了几种典型的ASP安全任务。基于系统开销、复杂性和性能方面的不同考虑,将ASP集成到安全优先体系结构的四种典型的系统级实现。基于40nm技术设计并实现了第一代ASP,并在此基础上实现了一个安全计算机系统。对这个真实硬件平台的评估表明,安全优先体系结构可以有效地保护系统,对计算工作负载的性能影响较小。
一、计算机系统安全挑战
现在的计算机系统不断暴漏出软硬件的安全漏洞,构建安全的计算机系统正面临着重大挑战:
首先,现代操作系统和应用程序的日益复杂导致了更大的攻击面。
其次,处理器的设计和生产通常涉及多个供应商,很难找出所有可能的安全风险。
第三,快速升级和多样化的攻击手段也对计算机的安全性提出了挑战。
最后,更严重的是,经典计算机体系结构和微体系结构中的关键技术,如推测执行和共享片上缓存层次结构,在提高性能的提高同时也带来了新的安全漏洞和侧信道信息泄漏。
二、现有解决方案及问题
最近,一些体系结构级别的安全机制已经集成到商业处理器中。例如,Intel SGX和ARM TrustZone。这些安全机制旨在提供一个可信执行环境(Trusted Execution Environment,TEE),通过逻辑隔离来保护安全任务和数据。例如,Intel SGX即使在操作系统、虚拟机监视器或BIOS固件被攻破,也能够保护应用程序和代码。
然而,这些安全机制已被证实暴漏了新的攻击面和漏洞。在逻辑隔离的情况下,安全任务和计算任务运行在同一个计算环境中,共享处理器核心、片上缓存、总线和内存等资源,通过架构状态的切换和必要的硬件支持,将安全和非安全环境(Enclave)隔离开来。一方面,由于资源的占用,安全任务的执行可能会影响计算任务的性能。另一方面,逻辑共享可能会导致安全问题。
具体而言,SGX中仍然存在传统的微体系结构漏洞,如缓存侧信道、分支预测器侧信道和缓存DRAM攻击。此外,最近的研究表明,操作系统级的对手可以利用页表错误信道、页面访问信道来推断SGX enclave中的机密信息。Intel也承认SGX无法防御四种攻击向量信息泄漏:功耗统计、缓存未命中统计、分支计时和基于页表的访问页。同样地,TrustZone也存在缓存侧信道和分支预测器侧信道的安全问题。
现有的体系结构级安全机制之所以使用逻辑隔离代替物理隔离,是因为考虑了实现开销。实际上,在过去的二十年里,计算机系统设计的首要目标一直是优化性能和节约成本,把安全性放在从属地位。这种性能和成本优先的设计理念导致了一系列硬件安全问题,例如Spectre的变种漏洞、资源共享产生SGX和TrustZone的漏洞,都需要逐个缓解。
三、安全优先体系结构的威胁模型
安全优先的体系结构建立以下三个假设之上:
1) 计算用的CPU及其软件堆栈是完全不安全的。这其中包括CPU硬件、固件、操作系统和应用程序等都可能会被利用。
2) 没有用户是可信的。这其中包括CPU计算子系统的特权用户。值得注意的是,ASP的安全子系统不受CPU计算子系统特权用户的控制。
3) 攻击者可以通过更换硬件(如CPU和硬盘)发动攻击。
四、安全优先体系结构的实现挑战
由于软硬件的脆弱性是不可避免的,设计安全的计算机系统是一个重大挑战。在攻防博弈中,如何保证安全机制的安全性、有效性和灵活性是当务之急。构建安全系统的主要挑战分析如下:
首先,应该为安全机制提供一个安全的执行环境。一方面,要避免由于逻辑隔离造成的大攻击面所带来的安全风险。另一方面,也要解决由于缺乏主动性而绕过安全机制的问题。在设计一个安全的计算机系统时,安全机制的执行环境应该具有最高的访问和控制权限。
第二,准确有效的安全机制应该以低开销的。安全计算机系统的设计应在准确性、效率和成本之间取得平衡,以尽量减少安全机制对原始计算环境的影响。此外,安全机制的部署应尽可能减少或避免对当前计算处理器的可能修改。
最后,安全子系统应该是灵活的和可编程的。攻防博弈不断升级,没有一劳永逸的安全机制。并且,安全子系统应该考虑到独立安全任务的可扩展性、安全性和可执行性。此外,安全子系统应支持高效安全的更新。
五、安全优先体系结构的解决方案
内置式安全计算机的主要设计理念如下:
1)在体系结构设计阶段,安全性需要在系统和芯片级别共同考虑。我们需要全面平衡性能、安全性和成本。
2)物理隔离比逻辑隔离安全得多。我们认为安全单元应该从物理上与非安全单元隔离开来,这样可以使攻击面最小。
3)安全机制应该具有最高的访问权限,具有主动性,并且对计算任务的性能影响最小。
图1:安全优先体系结构
图1介绍了安全优先体系结构及其主要特征:
1)安全和计算是解耦的。除了传统的CPU,安全优先体系结构在同一台计算机中引入了ASP。换句话说,每台计算机都由一个基于CPU的计算子系统和一个基于ASP的安全子系统组成。每个子系统都有自己的硬件和软件堆栈(包括操作系统和应用程序)。CPU负责运行正常的计算任务,ASP系统运行经过审计的安全机制,如安全引导、动态完整性度量和恶意行为分析。值得注意的是,尽管ASP可以提供类似SGX enclave的机制,将敏感代码和数据的计算任务可以放在ASP上,但ASP实际上并不允许这种实现。这是因为无法确保计算任务中代码的安全性,这些代码或数据以及安全机制在ASP上的共生将会带来更大的安全挑战。
2)采用非对称地址空间实现单向物理隔离。资源共享,计算子系统和安全子系统之间的逻辑隔离造成了较大的攻击面。因此,安全优先体系结构采用单向物理隔离,将安全作为第一需求。使用安全优先体系结构构建的计算机具有不对称的地址空间,意味着两个子系统都有专用的硬件资源,如内存、磁盘和IO设备,并以不同的内存空间运行各自的操作系统和应用程序。虽然ASP被设计成能够有效地访问CPU的特定微体系结构事件、内存和I/O设备,但是CPU不能访问ASP的任何私有资源。这种单向隔离通过非对称地址空间实现,有效地减少了攻击面,提高了系统的安全性。
3)ASP拥有最高的权限,名为Super Root。整个系统的最高权限有两个特点:a)系统接电后ASP首先运行,测量要在CPU上执行的软件、操作系统和用户级关键应用程序的完整性。b)ASP可以收集计算子系统的全部堆栈信息,并能够在检测到安全风险时控制体系结构或微体系结构模块(如注入噪声或动态配置硬件模块)作为响应。值得注意的是,这种功能不能被运行在CPU上的任何软件使用,但这个特性的实现需要CPU的支持。具体来说,内部总线应支持ASP发出的事件收集操作,CPU中相应的硬件模块需要向ASP公开端口以进行动态配置。例如,将几个代理嵌入到CPU的主要模块中收集微体系结构事件,然后将信息发送到片上预处理引擎,该引擎在进行必要的过滤后压缩有价值的信息,最后将其发送到ASP进行进一步分析。实际上,这样的设计可以利用现有具有类似片上结构的商用处理器芯片(例如,ARM提供片上调试和跟踪采集总线)。此外,内部连接应允许ASP访问计算子系统的主存和I/O设备。
六、主要贡献
信工所团队率先提出了一种安全优先的体系结构,颠覆了传统的性能和成本优先的设计原则。在这种新的体系结构中,该团队充分考虑了体系结构设计阶段的安全性,综合平衡了安全性、性能和成本,为安全任务提供了一个安全、高性能的执行环境。
具体而言,主要贡献如下:
1)率先提出安全优先体系结构,在设计阶段将安全视为首要需求。除了包含传统的负责计算任务的CPU,安全优先体系结构还引入了一个专门负责安全任务的安全处理器单元,称为主动安全处理器(ASP)。CPU和ASP各有自己的专用资源,包括内存、磁盘、网络和I/O设备,支持独立运行操作系统和应用程序。这种新的体系结构采用非对称地址空间来实现CPU和ASP之间的单向隔离。特别地,ASP所拥有的超级权限使其能够有效地访问所有CPU资源,并且不允许计算单元的CPU访问,同时CPU不能访问任何ASP资源。
2)给出ASP支持的其他典型安全机制,包括恶意行为的在线检测、主动可信计算和基于安全考虑的主动噪声干扰。这些安全机制更具具体的表明ASP具备保护CPU免受恶意攻击能力。
3)给出ASP实现的设计空间。第一代ASP芯片基于40nm独立芯片进行设计和实现,并在此基础上实现了安全的计算机系统。在实际硬件平台上的测试表明,运行在ASP上的安全机制有效地保护了计算环境的安全性,对计算任务的性能影响可以忽略不计。
本文来源:IEEETransactions on Computers
努力打造“有特色、高水平、国际化”的网络安全思想高地。
![92a833d0996fc27eb600133091976af9.png](https://i-blog.csdnimg.cn/blog_migrate/1bca1bed9f2bbea7cbf2715d1f30fc25.png)