共享磁盘何时将数据“泄露”给其他虚拟机,如何缓解?

信息安全 磁盘加密 虚拟化 风险管理 比特锁 天蓝色
2021-09-02 06:17:38

受此答案的启发,我想知道有哪些常见威胁和缓解技术可用于防止一个虚拟机通过共享存储基础架构将数据泄漏到另一个虚拟机。

可能的易受攻击情况包括

  • 基于 IOPS 将数据从 SATA 提升/降级到 FLASH 的 EMC SAN
  • 尝试保护擦除的服务器可能不会擦除提升数据的两个位置
  • 在扩展的 VMDK 上按需分配空间的 VM
  • 可以读取原始分区的本机操作系统 API
  • IO 错误充当 Oracle 暴露机密
  • 将加密数据和密钥存储在同一个 VM 上(Bitlocker)
  • 用于磁盘 IO 块的行锤(共享内存利用)的变体

可能的缓解措施可能包括

  • 服务器使用隐藏细微 IO 错误的结构化 REST 接口(例如,我想不出 Azure 云或页面 blob 可以暴露此错误的方法)
  • 由操作系统管理的磁盘加密 (Bitlocker)
  • 在主机发布时自动清零数据的管理程序

我的目标是制定一份清单,这样我就可以调查大公司(Azure、亚马逊、Rackspace、Google Apps、EMC 等),也可以调查针对长尾场景的独立利基商店。

2个回答

云提供商可以提供单租户硬件,以便您的 VM 与其他客户和客户端隔离。许多金融监管机构希望在存储在云中时为机密/受监管的数据启用此功能。

例如,亚马逊 AWS 有“专用实例”的概念(链接

如果您选择此选项,您的 EC2 实例将位于您账户的专用硬件上,您当然需要为此服务支付额外费用,因为这可以减少对操作系统级别的共享基础设施的侧通道攻击。

它还取决于您的存储系统。

例如,如果您有重复数据删除,来宾 VM 可能能够确定是否已经存储了已知的数据块,例如:(1)创建一个 VM 并存储 10,000 个参考文件;(2) 创建另一个 VM 并存储从 (A) VM 1 上的 10,000 个参考文件、(B) 10,000 个新参考文件和 (C) 10,000 个测试文件中采样的 30,000 个文件;(3) 观察写作时间;(4) 观察阅读时间,重复;(5) 学习一个模型,根据观察到的写入和读取时间来预测 A 类或 B 类的成员资格;(6) 应用模型对集合 C 中的文件进行预测;预测属于 A 类的文件很可能已经在存储系统中;预测属于 B 类的文件很可能是新文件。

减轻:

  • 增加第一级块存储的大小,以便重复数据删除仅在第 4 步之后开始
  • 为需要保护其内容免受此攻击的虚拟机提供加密(或选择退出重复数据删除)
  • 加密不受信任的虚拟机(或将它们排除在重复数据删除之外),以便它们无法以这种方式攻击其他虚拟机