AWS 上的 Capital One 黑客攻击的技术细节

AWS 上的 Capital One 黑客攻击的技术细节

19 年 2019 月 106 日,第一资本收到了每个现代公司都担心的消息——发生了数据泄露。 它影响了超过 140 亿人。 000 个美国社会安全号码,80 万个加拿大社会安全号码。 000 个银行账户。 不愉快,你不同意吗?

不幸的是,19 月 XNUMX 日黑客事件并没有发生。 事实证明,佩奇·汤普森,又名 不稳定的,于22年23月2019日至XNUMX月XNUMX日期间提交。 那是 大约四个月前。 事实上,只有在外部顾问的帮助下,第一资本才发现出事了。

一名亚马逊前员工被捕,面临 250 万美元罚款和五年监禁……但仍有很多负面影响。 为什么? 因为在网络犯罪猖獗的情况下,许多遭受黑客攻击的公司都试图摆脱加强基础设施和应用程序的责任。

不管怎样,你可以轻松地用谷歌搜索这个故事。 我们不会讨论戏剧,但会谈论 技术 事情的一面。

首先,发生了什么?

Capital One 大约有 700 个 S3 存储桶正在运行,Paige Thompson 复制并抽走了这些存储桶。

其次,这是否又是 S3 存储桶策略配置错误的情况?

不,这次不行。 在这里,她获得了对防火墙配置不正确的服务器的访问权限,并从那里执行了整个操作。

等等,这怎么可能?

好吧,让我们从登录服务器开始,尽管我们没有太多细节。 我们只被告知这是通过“错误配置的防火墙”发生的。 因此,就像安全组设置不正确或 Web 应用程序防火墙 (Imperva) 或网络防火墙(iptables、ufw、shorewall 等)配置不正确一样简单。 第一资本只是承认了自己的罪行,并表示已经堵住了漏洞。

斯通表示,第一资本最初并没有注意到防火墙漏洞,但在意识到这一漏洞后迅速采取了行动。 斯通说,黑客据称将关键识别信息留在了公共领域,这无疑有助于这一点。

如果您想知道为什么我们不深入研究这一部分,请理解,由于信息有限,我们只能推测。 考虑到这次黑客攻击依赖于第一资本留下的漏洞,这是没有意义的。 除非他们告诉我们更多信息,否则我们只会列出第一资本让服务器保持开放的所有可能方式,以及某人可以使用这些不同选项之一的所有可能方式。 这些缺陷和技术的范围可能从极其愚蠢的疏忽到极其复杂的模式。 考虑到可能性的范围,这将成为一个漫长的传奇,没有真正的结论。 因此,我们重点分析有事实的部分。

因此,第一个要点是:了解您的防火墙允许什么。

制定政策或适当的流程以确保只打开需要打开的内容。 如果您使用安全组或网络 ACL 等 AWS 资源,显然审核清单可能会很长……但就像许多资源是自动创建的(即 CloudFormation)一样,也可以自动进行审核。 无论是扫描新对象是否存在缺陷的自制脚本,还是 CI/CD 流程中的安全审核之类的内容……都有许多简单的选项可以避免这种情况。

这个故事“有趣”的部分是,如果第一资本一开始就堵住这个漏洞……什么都不会发生。 所以,坦率地说,看到某件事真的如此,总是令人震惊 很简单 成为公司被黑客攻击的唯一原因。 尤其是像第一资本这样大的。

那么,黑客内部 - 接下来发生了什么?

好吧,在闯入 EC2 实例之后……很多事情都可能会出错。 如果你让某人走那么远,你实际上就是在刀刃上行走。 但它是如何进入 S3 存储桶的呢? 为了理解这一点,我们来讨论 IAM 角色。

因此,访问 AWS 服务的一种方法是成为用户。 好吧,这一点很明显。 但是,如果您想让其他 AWS 服务(例如您的应用程序服务器)访问您的 S3 存储桶,该怎么办? 这就是 IAM 角色的用途。 它们由两个部分组成:

  1. 信任策略 - 哪些服务或人员可以使用此角色?
  2. 权限策略 - 该角色允许什么?

例如,您想要创建一个 IAM 角色,允许 EC2 实例访问 S3 存储桶:首先,该角色设置为具有信任策略,EC2(整个服务)或特定实例可以“接管”该角色。 接受角色意味着他们可以使用该角色的权限来执行操作。 其次,权限策略允许“承担角色”的服务/人员/资源在 S3 上执行任何操作,无论是访问一个特定的存储桶……还是访问超过 700 个存储桶(如第一资本的情况)。

一旦您进入具有 IAM 角色的 EC2 实例,您可以通过多种方式获取凭证:

  1. 您可以在以下位置请求实例元数据: http://169.254.169.254/latest/meta-data

    除此之外,您还可以在此地址找到具有任何访问密钥的 IAM 角色。 当然,仅当您处于实例中时。

  2. 使用 AWS CLI...

    如果安装了 AWS CLI,则会加载来自 IAM 角色的凭证(如果存在)。 剩下的就是通过实例来工作。 当然,如果他们的信任政策是开放的,佩奇可以直接做任何事情。

因此,IAM 角色的本质是它们允许某些资源代表您对其他资源执行操作。

现在您了解了 IAM 的角色,我们可以谈谈 Paige Thompson 所做的事情:

  1. 她通过防火墙中的漏洞访问了服务器(EC2 实例)

    无论是安全组/ACL 还是他们自己的 Web 应用程序防火墙,这个漏洞可能很容易堵塞,正如官方记录中所述。

  2. 一旦进入服务器,她就能表现得“好像”她自己就是服务器一样
  3. 由于 IAM 服务器角色允许 S3 访问这 700 多个存储桶,因此它能够访问它们

从那一刻起,她所要做的就是运行命令 List Buckets然后命令 Sync 从 AWS CLI...

第一资本银行估计此次黑客攻击造成的损失在 100 至 150 亿美元之间。 为了防止此类损害,公司在云基础设施保护、DevOps 和安全专家方面投入了大量资金。 迁移到云的价值和成本效益如何? 以至于即使面对越来越多的网络安全挑战 42年第一季度整体公有云市场增长2019%!

这个故事的寓意是:检查你的安全; 进行定期审核; 尊重安全策略的最小特权原则。

(这是 您可以查看完整的法律报告)。

来源: habr.com

添加评论