一个前所未有的漏洞,影响了 Azure
的旗舰数据库服务 Cosmos DB
。
世界上一些最大的企业使用 Cosmos DB
来近乎实时地管理来自世界各地的大量数据。Cosmos DB
支持关键业务功能,例如处理数百万的处方交易或管理电子商务网站上的客户订单流。
近年来,随着越来越多的公司迁移到云端,数据库泄露变得非常普遍,而罪魁祸首通常是客户环境中的错误配置。
Cosmos DB
功能中的一系列缺陷造成了一个漏洞, 允许任何用户下载、删除或操作大量商业数据库,以及对 Cosmos DB
底层架构的读/写访问。
首先,黑客获得了对客户 Cosmos DB
主键的访问权限。主键是黑客的圣杯——它们是长期存在的,并允许对客户数据进行完全读/写/删除访问。
2019 年,微软向 Cosmos DB
添加了一项名为 Jupyter Notebook
的功能,让客户可以可视化他们的数据并创建自定义视图(见下图)。该功能已于 2021 年 2 月自动为所有 Cosmos DB
启用。
notebook
功能中的一系列错误配置开启了黑客能够利用的新攻击向量。简而言之,notebook
容器允许将权限升级到其他客户notebook
。
本系列后面文章披露细节
接下来,在获取 Cosmos DB
密钥后,黑客可以利用这些密钥对受影响的 Cosmos DB
帐户中存储的所有数据进行完全管理员访问。
黑客通过密钥以获得对客户资产和数据的长期访问权限。然后,可以直接从互联网控制客户 Cosmos DB
,并具有完整的读/写/删除权限。
现在想象一下,为 30 多个地区的数千名不同客户重复这个过程......