Arm发布基于CHERI的Morello董事会,探索下一代安全
Arm宣布推出片上系统(SoC)和演示板,其中包含其Morello原型的第一个示例,基于CHERI架构,该架构定义了硬件功能,为软件提供了更安全的构建块。 Morello原型板目前正在发布,软件开发人员和安全专家可以开始使用Morello架...
Arm宣布推出片上系统(SoC)和演示板,其中包含其Morello原型的第一个示例,基于CHERI架构,该架构定义了硬件功能,为软件提供了更安全的构建块。
Morello原型板目前正在发布,软件开发人员和安全专家可以开始使用Morello架构来展示硬件功能可以实现的增强安全性。Arm Morello项目是Arm领导的一个研究项目,旨在为未来的处理器创建一个更安全的硬件架构。其架构扩展基于Arm自2015年以来与剑桥大学在CHERI(能力硬件增强RISC指令)保护模型方面的合作。
<img data-lazy-fallback="1" decoding="async" src="https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-chip.jpg?w=300" alt="Arm morello chip" class="wp-image-4472341" width="300" height="132" srcset="https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-chip.jpg 1940w, https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-chip.jpg?resize=300,133 300w, https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-chip.jpg?resize=768,340 768w, https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-chip.jpg?resize=1024,453 1024w, https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-chip.jpg?resize=1536,679 1536w" sizes="(max-width: 300px) 100vw, 300px">
(图片:手臂)
Morello计划旨在评估Morello板的可行性,这是一种芯片上硬件系统(SoC)原型,对传统Arm硬件指令集进行了独特的扩展,大大提高了设备的安全性。Morello板是一个真实世界的测试平台,用于在未来的处理器中部署更安全的硬件架构。
CHERI:内存保护和可扩展软件划分
樱桃是SRI International和剑桥大学的一个联合研究项目,旨在重新审视硬件和软件的基本设计选择,以显著提高系统安全性。它得到了DARPA碰撞、MRC和SSITH项目,以及其他DARPA研究和过渡资金。自2019年以来,Arm的实验性CHERI支持的Morello处理器、SoC和板的开发一直得到英国政府研究与创新机构UKRI的支持。
CHERI利用新的体系结构功能扩展了传统的硬件指令集体系结构(ISA),以实现细粒度的内存保护和高度可扩展的软件划分。它的内存保护功能允许对历史上不安全的内存编程语言(如C和C++)进行调整,以提供强大、兼容和高效的保护,防止许多当前被广泛利用的漏洞。可扩展的划分功能能够对操作系统(OS)和应用程序代码进行细粒度分解,以限制当前架构不支持的安全漏洞的影响。
作为一种混合能力体系结构,它能够将体系结构能力与传统的基于MMU的体系结构和微体系结构以及基于虚拟内存和C/C++的传统软件堆栈相结合。这种方法允许在现有的软件生态系统中进行增量部署,我们已经通过广泛的硬件和软件原型验证了这一点。
作为Microsoft在博客中解释与许多其他提出的存储器安全技术不同,CHERI(通过设计)不依赖于秘密。这意味着它果断地减少了漏洞类,而不是给出检测到它们的高概率。概率缓解措施在历史上并没有被证明是持久的,因为攻击者找到了泄露秘密并将低概率攻击转化为高概率攻击的方法。攻击者可以通过泄露秘密来绕过任何依赖于秘密的缓解措施,并且如果他们能够降低秘密的熵,则很有可能绕过它。CHERI的确定性方面也意味着它可以用作更高级别安全抽象的构建块。
在CHERI中,每个加载或存储指令以及每个指令获取都必须由体系结构功能授权。加载和存储指令以一个功能为基,而不是以整数地址为基。该功能既可以识别地址,也可以授予对一系列内存的访问权限(包括读取、写入或执行等权限)。ISA提供了限制功能权限的操作(例如,减少边界或删除权限),但如果不从更强大的功能开始(功能单调性),就没有增加权限的机制。这包括将功能存储到内存中,在内存中它们由(不可寻址的)标记位保护,并且任何试图覆盖内存中部分或全部功能的尝试都会清除标记位并使该功能无效。
CHERI权限由MMU组成。能力授予的权限是相对于地址空间的,除了CHERI限制之外,还受进程和VM隔离的约束。
CHERI并没有在体系结构中直接实现时间安全。它确实提供了软件实现所需的体系结构构建块。具体来说,软件可以使用标记位来准确识别内存中的每个指针,并可以依靠单调性保证来确保每个指针都可以映射到创建指针时要指向的分配。
缓解内存安全漏洞
CHERI体系结构扩展用于Arm Morello程序,旨在在硬件层面缓解内存安全漏洞——黑客利用软件缺陷控制设备或系统。CHERI增加了指针——计算机代码中引用数据存储在内存中的变量,并限制了如何使用这些引用、可以用来访问的地址范围以及可以用来访问哪些功能。
这些“硬件功能”是处理器体系结构所独有的。一旦被烘焙成硅,它们就无法在软件中伪造。使用这些功能来代替一些或所有内存地址可以提高软件的空间内存安全性,特别是用C或C++代码编写的软件。
分隔隔离代码
这些功能也可以用作构建块,以实现更强的临时内存安全性,其开销可能远低于当前的分区方法。这种“划分”将关键代码的不同部分隔离到单独的“有墙”区域。在一个隔间内操作的代码无法访问任何其他区域。这意味着,即使攻击者破坏了一段代码或数据,他们也会被困在一个小区域内。
<img data-lazy-fallback="1" decoding="async" loading="lazy" src="https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-compartmentalization.jpg" alt="Arm morello compartmentalization" class="wp-image-4472343" width="1029" height="612" srcset="https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-compartmentalization.jpg 1372w, https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-compartmentalization.jpg?resize=300,178 300w, https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-compartmentalization.jpg?resize=768,457 768w, https://uploads.9icnet.com/images/aritcle/20230423/Arm-morello-compartmentalization.jpg?resize=1024,609 1024w" sizes="(max-width: 1029px) 100vw, 1029px">
分区化将关键代码的不同部分隔离到单独的“有墙”区域。在一个隔间内操作的代码无法访问任何其他区域。这意味着,即使攻击者破坏了一段代码或数据,他们也会被困在一个小区域内。(图片:手臂)
这些硬件功能将是设计未来设备的基础,这些设备能够极大地抵御内存损坏漏洞和其他形式的基于软件的利用。
Arm现在提供的限量版主板基于嵌入Armv8.2-A处理器(Arm Neoverse N1处理器的改编版)的Morello原型架构。董事会正在通过UKRI分发给谷歌和微软等主要利益相关者,以及行业和学术界的感兴趣的合作伙伴数字安全设计(DSbD)倡议。这些合作伙伴代表了一个广泛的专家生态系统,以测试Morello的假设,并发现这是否是一个可行的安全架构,可以在未来造福企业和消费者。
Arm高级副总裁、首席建筑师兼研究员Richard Grisenthwaite评论道, “对于任何研究项目来说,这一阶段都是令人兴奋和关键的。从来没有在高性能CPU中实现过这种硬件功能技术。Morello原型板为研究人员在现实世界中评估和测试安全效益开辟了许多新的机会。Arm正在与已建立的合作伙伴和软件生态系统合作,使用e原型系统,以开发增强的安全解决方案,我们希望这些解决方案最终会影响到广泛的应用。”
谷歌研究公司安全首席工程师Ben Laurie表示,“计算机非常有用,但我们为这种实用程序付出的代价是越来越多地暴露在安全和隐私问题中。CHERI可以在不降低性能的情况下提供更好、更具成本效益的保护,Arm的Morello原型可以帮助缓解安全问题,为所有计算机用户——换句话说,几乎每个人——指明通往更美好未来的道路。”
对于微软,企业和操作系统安全总监David Weston补充道,“内存安全漏洞是所有软件安全中持续时间最长、最具挑战性的问题之一。使用核心硅架构以最小的性能影响消除各类安全问题,有机会带来巨大的积极影响,我对Morello项目感到非常兴奋。”
DSbD倡议使Arm能够投入大量资源开发这项技术。Grisenthwaite总结道, “如果我们要重新思考已经存在多年的基础架构,我们必须与更广泛的生态系统合作,因为协作仍然是安全的关键驱动力。未来两年,生态系统将进行测试、编写代码并合作提供关键反馈,以确定Arm架构的未来版本是否会使用任何功能Morello原型架构的性能如预期,它将是未来处理器设计的基础,保护企业、个人和未来的设备。”