【Web3 的基石】下一代数据中心安全应该怎么发展?

0. 下一代数据中心
什么是下一代数据中心?不同的观点得到不同的答案。社区已经从环保、性能和去中心化边缘计算的角度讨论了这个问题。本文主要关注下一代数据中心的安全性和去中心化属性。在我们深入“下一代”之前,我们可能需要回过头来弄清楚“上一代”是什么。看看数据中心的发展历程就知道了。从计算的角度来看,这里我们简单地将数据中心的发展分为四个阶段。
v1.0:1990年代到2006年的“机房”时代,包括大型机、小型机、x86通用计算机。
v2.0:2007年至2013年的通用计算云时代,商业模式是面向租户的,用户可以租用裸机服务器或虚拟机。
v3.0,2014-2021行业云时代,高附加值的行业云在CSP(云服务商)成为主流的同时诞生。由 CSP 控制的超大规模数据中心导致集中化。
v4.0:从 2022 年到未来的 Web3 时代(?),去中心化/联合正在重塑计算和存储交付给用户的方式。
1. 不可能的三位一体:去中心化与联邦
不可能的三位一体是:可扩展性、去中心化和安全性。
遗憾的是,任何系统都只能满足其中两个。例如,BTC(比特币)和XMR(门罗币)等极端去中心化的解决方案从一开始就放弃了可扩展性,使得BTC/XMR技术架构无法提供复杂的服务。第 2 层的存在是不可避免的,但第 2 层有几个主要的安全问题:
安全性和可扩展性对于去中心化系统也很重要。超级节点的风险级别可以达到与典型的中心化服务(例如:Web 服务器)相同的级别。(注:HardenedVault 节点可以免受经典的 EOS 超级节点漏洞攻击)
跨链协议中的设计缺陷和错误的实现。
供应链风险,例如:开发者或恶意团体植入后门、构建基础设施需要适当加固(SLSA 3 级)等。
如果系统愿意牺牲一些去中心化属性并采用联合架构,那么不可能的三位一体可能会成为可能。当然,下一代数据中心也是一个必备的重要条件。
2. 互联网的未来
如果你问一些随机的 0ldsk00l 黑客或 cypherpunks 他们是否对今天的互联网感到满意,大概率是否定的答案。好吧,这与 Vault Labs 的答案相同。每个人对互联网“应该”采用哪种形式都有不同的期望,但 0ldsk00l 黑客和 cypherpunks 永远不会同意中心化的模型。在这里,我们尝试描绘一个理想的场景:
图片
如图所示,四个区域,A为农业镇,B为金融镇,C为矿业镇,D为工厂镇。
4个小镇的通讯不是100%的去中心化架构,而是联邦架构。蓝色圆圈代表应用程序节点,绿色圆圈代表联合服务器。每个应用程序节点都可以与其他应用程序节点通信,并且应用程序节点的物理位置可以在这些城镇的任何数据中心。联邦是 100% 去中心化和可扩展性/效率之间的权衡。这大概是下一代互联网的主要形式(不管是不是叫Web3)。另一方面,一些应用程序,例如比特币或门罗币,应该保持极度去中心化。在分布式账本技术(区块链)的背景下,联邦服务器类似于超级节点,应该公开安全配置文件,例如:我们之前的项目安全链要求所有倾向于提供服务的超级节点必须在账本上披露其安全配置文件。
这些城镇正在使用第四代数据中心。每台单节点服务器(例如配备 AMD EPYC3 的服务器每个机柜可提供超过 4000 个处理器内核)都具有高性能,这将大大减少数据中心的机架数量。另一方面,任何单个节点的高性能也会为联邦结构带来好处。
服务器固件必须是开源的。虽然不能直接保证安全,但其可审计性可以降低后门风险。
如果用户将服务器部署在自己的地下室,那么物理安全就是有保障的,至少降低了邪恶女仆攻击的风险,但如果用户想在这些城镇的任何数据中心进行本地部署,那么硬件级别的安全功能不能忽视。用户可以通过触发远程证明来检查他们的机器是否在“预期”状态下运行。
3、下一代数据中心的三位一体
数据中心的核心是计算和存储。下一代数据中心的每一个节点(计算服务器或存储单元)必须具有高性能、高安全性和高透明度(开源)。
图片
本文将重点介绍透明度和安全性。在性能方面,关于 AMD EPYC3 和 AWS graviton 性能基准的资料有很多。
3.1 透明度
这里我们从硬件、固件、操作系统、应用(Hardware、Firmware、Operating system、Application)来看透明度,即开源实现与实际生产环境的差距。
在硬件架构方面,目前的主流是x86和arm64。最新的x86以英特尔(10纳米)和AMD(台积电5纳米)为代表,arm64以AWS graviton 3为代表,但这些都是以闭源的方式设计和制造。不幸的是,开源所使用的完全设计和制造是Libresilicon 500纳米(比行业落后几十年)。一个好消息是OpenROAD作为一个伟大的开源工具链项目正在取得一些进展,但它仍然缺乏物理库支持。它不可能在不久的将来达到与最新的(5纳米)相同的水平。尽管许多人对RISC-V有很高的期望,但现实是RISC-V的开放性仅仅是在ISA(指令集架构)层面。请注意,CPU IP和其他外围IP的开放程度与x86/arm64基本相同。无论如何,硬件的透明度是非常低的。
固件是一种特殊的软件,最接近硬件。长期以来,主流固件一直被BIOS/UFI占据。由于其无法解决的生态问题,对安全构成严重威胁。下一代数据中心采用更简洁的固件架构:coreboot。目前,像 Google/Meta/ByteDance 这样的 Bigtech 主要将 coreboot 推广为服务器固件的标准组件。HardenedVault 还推出了vaultboot,这是一种支持 coreboot 和 UEFI 的固件安全解决方案。Vaultboot 负责安全配置,包括受信任 (TPMv2.0/TXT/CBnT) 和机密 ( SGX ) 等硬件级功能/TDX/SEV) 计算。固件透明度远高于硬件,但仍有许多组件没有开源实现,例如 Intel FSP、microcode 和 Intel CSME/AMD PSP。
操作系统和应用软件的透明度已经足够好了。
3.2 高安全性
高级安全保护是下一代数据中心节点的核心功能之一,因为安全边界不再存在于联合或分散网络中。“插件式”安全解决方案(如杀毒软件、HIDS、EDR等)已无法应对当今的挑战。是时候回顾一下0ldsk00l“Build Security In”的理念了,即加强系统的自我保护,有点像“疫苗”的概念。今天它有了一个花哨的名字:Resiliency。系统内强大的自我保护能力可以使安全工程师免于陷入为各种安全解决方案编写规则/测试的循环。类似疫苗的解决方案是下一代数据中心所需要的:
VED(Vault Exploit Defense)或其他类似疫苗的 Linux 内核对容器逃逸、权限提升和 rootkit 的威胁缓解。
使用密码学工程对 JVM 扩展进行小幅调整可以缓解 Java 反序列化漏洞,例如 Log4Shell。
让我们看一下两个关键威胁模型。第一个可以远程启动:
图片
攻击路径:
Ring 3 漏洞利用(针对应用程序的 webshell 或远程利用)获得正常的执行权限。
利用Ring 0 内核漏洞进行容器逃逸和权限提升。请注意,虽然操作系统内核已不再是 2007 年《进击 CORE》中的“CORE”,但它仍然非常重要,因为内核是下层的入口。
从目前的情况(威胁情报和攻击示例)来看,无需过多关注 Ring -1 虚拟化级别。
通过绕过芯片组保护机制或物理攻击来破坏Ring -2 固件,例如 SMM,实现写入 SPI flash 的能力。
触发Ring-3(CSME)的早期启动阶段(RBE、内核等在>= CSMEv11版本中无法关闭)或CSME代码模块的0day或已知漏洞(如SA-00086)获得完全控制CSME,攻击者可以利用CSME作为跳板,使VISA能够访问PCH的内部接口。
图片
第二种是Evil Maid攻击,即攻击者能够接近你的机器并发起物理攻击:
基于 Thundercap 模板利用 USB3380 或 FPGA 进行 DMA 攻击。首先,可以先试试PCILeech
DIY廉价硬件在TPM (可信平台模块)上发起MiTM(中间人)攻击
通过 USB HID 模拟键盘
通过廉价的 SPI 编程器覆盖固件的特定字节/部分
3.2.1 打破习惯:避难所悖论
由于我们称之为“Vault Paradox”的循环,组织仍然很难弄清楚固件/硬件的实际风险。系统安全的复杂性通常会导致错误的威胁模型,即使组织拥有相对“无限”的资源(如大型企业/大型科技公司、国家级别的行为者等)。假设你的组织可能会发生这种“保险柜悖论”:
假设攻击者的目标是获得内核权限并植入内核rootkit,攻击者在突破应用层和内核层保护后达到目的,但不会攻击下一层。也就是说,使取证可以证明攻击者只在内核中有足迹,但这并不能证明攻击者无法破坏较低级别,例如:虚拟化、SMM 和 CSME。典型的决策者可能会被这种取证报告蒙蔽,并试图变得麻木僵化(我不在乎)和无知(我不知道)。
假设攻击者攻破了 UEFI/SMM 固件并成功执行持久化,如果攻击者不进行大规模操作,只是简单地攻击高价值目标,则此类攻击难以检测,成本要高得多。比内核做取证。
假设攻击者已经破坏了 PCH 中的大部分 IP,包括 CSME 并成功执行了持久化。大多数检测和取证将在此阶段失败。因此,组织的决策者通常认为该系统是安全的。
比方说,即使用户拥有全方位的威胁情报资源,仍然很难断定他们是否应该处理上述两个关键威胁模型,因为威胁模型不能依赖于“不完整”的谜题。事实上,下一代数据中心的节点安全必须通过增强自我保护能力(Resiliency)来最大程度地满足对这些威胁模型的免疫,否则没有人会期望将其用作四镇故事中描述的理想用例.
Cypherpunks 中缺失的部分:机器隐私
保护机器的隐私是一个简单的想法。上帝按照自己的形象创造了人类(这是一个比喻不要纠结),我们通过逆向工程创造了机器(科学研究)。如果我们需要隐私保护,那么我们的创造物呢?现实生活中的例子表明,机器之间的高频通信在互联网应用和工业4.0中都很普遍。想想四镇模式,如果数十亿的节点运行在去中心化/联盟网络中,我们是否应该保护机器/节点的隐私?vault1317是该用例的原型。也许这个party对我们来说太早了;-)
总结:贫瘠但真实的沙漠
互联网的未来、Web3 的终极形态和下一代数据中心都是令人兴奋的话题。这些挑战几乎涉及基础设施和平台安全的所有主要领域,包括硬件、固件、操作系统、安全通信协议等。Hackers 和 cypherpunk 社区将再次踏上征程。未来充满了可能性和不确定性,但最终会随着每个人选择的而逐渐出现一个结果。说到个体,Hackers 认为个体就是未来的关键。另外一面,可以通过他能容忍多少“真相”来衡量一个人的精神力量(尼采说的,不是我编的),这又回到了红色药丸和蓝色药丸之间的选择:贫瘠但真实的沙漠还是幻境中的繁华荣耀(看过黑客帝国的同学应该能懂我在说什么)。让我们用贫瘠但真实的沙漠来收尾吧。
愿所有的 0ldsk00l 黑客和 cypherpunks 在世俗世界中都能坚持他们的神圣愿景!