近来,英国政府发起了一项名为“数字安全设计”(DSbD)的倡议,并在伦敦举办了一场展示会。此次活动旨在为拥有创新技术的企业提供平台,展示其产品、技术和解决方案,以应对市场在整合基础硬件安全方面存在的明显失灵问题,并最终降低由内存安全漏洞导致的重大网络安全事件的经济影响。
要解决这一问题,关键在于一项名为功能硬件增强型RISC指令(CHERI)的技术,这项技术始于2010年左右。DSbD倡议于2019年启动,这要归功于当年英国政府提供的7,000万英镑(约合8,840万美元)资助,用于研究如何在行业中实施像CHERI这样的内存安全技术,构建原型,并探索以商业可行的方式将其推向市场。
领导DSbD倡议的教授兼技术专家John Goodacre在展示会上发表开幕致辞时表示,CHERI和内存安全是实现系统安全的核心所在,现在必须推动CHERI技术在现实世界中的大规模落地应用。
英国国家网络安全中心首席技术官Ollie Whitehouse补充道:“从源头上解决内存安全问题,以及CHERI和RISC-V等技术的标准化,为安全技术的广泛采用提供了独特的机会。”然而,他表示,将现有代码重构为内存安全并不现实。因此,他表示,业界需要思考如何在系统开发阶段优先考虑网络安全,并采用开放标准,从而真正激发市场需求。
在伦敦的这场活动中,Arm公司的研究员兼首席架构师Richard Grisenthwaite进一步阐述了解决内存安全问题的背景和重要性。“安全不仅仅是一个方面。网络犯罪分子的狡猾程度令人惊叹,而内存安全仍然是一个根本问题。”Grisenthwaite说道,“CHERI提供了一种隔离方法,以便在发生违规时将损害降至最低。各项功能都始终保持在各自的独立区域内。”
他表示,在2018年之前,人们会问:“CHERI能在现实世界中部署吗?”这正是DSbD任务的关键部分:展示如何部署它,以便有效地展示概念验证、开发原型并为潜在解决方案寻找早期采用者。“当然,部署也存在挑战——例如,面对已经存在的数百万行代码,该如何解决部分软件生态系统的问题?”Grisenthwaite说道。
据展示会上透露的信息显示,随着DSbD项目的推进,已有约160家公司和超过1,000名技术人员正在关注并尝试使用CHERI技术。
Rober Watson教授讲述CHERI的起源
早些时候,笔者曾在英国剑桥采访过剑桥大学计算机实验室系统、安全与架构教授Robert Watson,请他就CHERI的发展历程及其现状进行介绍。
您可以观看以下视频采访:
内存安全是众多零日漏洞的根源
Watson同时也是英国剑桥大学计算机实验室近来在ACM期刊上发表的一篇论文的合著者之一。该论文探讨了内存安全所面临的挑战,并呼吁计算行业制定统一的标准和实践来应对内存安全漏洞。论文指出,内存安全问题是大量零日漏洞的根本来源,这些漏洞在Windows、Linux、Android、iOS、Chromium、OpenJDK、VxWorks、FreeRTOS等开源和专有系统软件可信计算机系统中普遍存在。
该论文强调了内存安全漏洞的重要性:当这些漏洞与网络通信或其他恶意数据相结合时,攻击者可以借助多步骤的漏洞利用链,绕过编程语言的限制,升级到任意代码执行。事实证明,这类漏洞无法通过传统工程技术完全预防,而且它们尤其危险,因为只要存在一个错误(也许只是数百万行代码中的某一行),就足以让一个易受攻击的系统被完全控制。
雪上加霜的是,现有的C/C++代码库体量庞大,已达数十亿行,难以(实际上甚至不可能)完全取代。业内估计,重写10亿行代码将耗资约1万亿美元。其中,尤为重要的是,许多类型安全和/或内存安全编程语言(例如Java、JavaScript和Python)的语言运行时通常采用C和C++实现(或对其有严重依赖)。
其作者认为,内存安全标准化是促进政府和行业普遍采用强内存安全的关键一步,进而确保所有人都能使用更安全的软件。在过去的二十年中,有四项强内存安全研究技术——内存安全系统语言、硬件和软件内存保护、形式化方法和软件隔离——已足够成熟,可以在安全关键用例中得到早期部署。
然而,令人担忧的是,目前缺乏通用的技术中立术语或框架来规范内存安全要求。
业界缺乏解决内存安全问题的动力
此外,论文还指出,缺乏解决根本性安全漏洞的动力,催生了一个庞大且利润丰厚的售后安全产业。报告中写道:
“这种情况令人联想到汽车行业在安全法规出台之前,需要依赖售后套件来修复缺陷车型的设计问题。在那个时代,就像今天的软件行业一样,制造商缺乏主动解决安全问题的经济动力。取而代之的是,一个二级市场应运而生,试图修补问题,但往往收效甚微。同样,在软件领域,我们看到大量安全插件和服务涌现,试图缓解内存不安全代码的风险,而非消除根本原因。这些售后解决方案虽有时必要,但却增加了复杂性,推高了成本,并使我们自身面临额外的重大安全风险。尽管该领域证明了通过解决安全漏洞确实可以获利,但其主要侧重于事后补救的被动解决方案,而非激励基于安全设计理念的主动开发,从而从源头上杜绝漏洞的产生。”
引入CHERI和政府激励措施以促进采用
CHERI最初是斯坦福国际研究院(SRI International)和剑桥大学的一个联合研究项目。自2010年起,该项目得到了DARPA CRASH、MRC和SSITH计划的支持,以及DARPA其他研究和过渡资金的资助。其目标是重新审视硬件和软件的基本设计选择,以大幅提升系统安全性。
CHERI通过在传统硬件指令集架构(ISA)中引入新架构特性,实现了细粒度的内存保护和高度可扩展的软件分区。其内存保护特性使历史上存在内存安全隐患的编程语言(例如C和C++)能够适配,从而提供强健、兼容且高效的防护机制,抵御当前被广泛利用的众多漏洞。其可扩展分区特性则支持对操作系统和应用程序代码进行细粒度分解,从而以当前架构无法支持的的方式限制安全漏洞的影响。
这是一种混合功能架构,能够将架构功能与基于MMU的传统架构和微架构,以及基于虚拟内存和C/C++的传统软件堆栈相融合。这种方法允许在现有软件生态系统中进行增量部署,研究人员已通过大量的硬件和软件原型设计对此进行了验证。
2019年,它得到了英国政府的支持,作为英国工业战略挑战基金的一部分,该基金通过7,000万英镑(约合8,840万美元)的投资支持了旨在整合新型基础硬件安全的项目,同时微软和谷歌等行业巨头也提供了超过1亿英镑(约合1.26亿美元)的配套投资。因此,这也推动了Arm基于CHERI的Morello处理器、SoC和主板的开发。
随后,英国创新机构UKRI创建了DSbD及其技术访问计划,旨在建立一个由开发者和技术公司组成的渠道和社区,以测试和试验这些技术。计划参与者可以获得原型硬件、技术指导和资金,以便在其所在组织内开展对CHERI等内存安全技术的试验阶段。
THE END
2025-09-01

2025-08-30

2025-08-29

2025-08-29

2025-08-28

