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