![527d3dd739e0b870ce43506e2ff8b2d2.png](https://i-blog.csdnimg.cn/blog_migrate/713b5d25b96ca17480ed521895a73e7d.png)
AWS基于资源的策略
AWS IAM使用多种类型的策略来管理用户、资源和应用程序之间的权限。基于资源的策略是一种附加到AWS服务内资源的策略。每种AWS服务可能有多个资源,而每个资源都可以附加不同的策略。比如说,S3服务可以创建多个存储桶资源,而SQS服务可以创建多个消息队列资源。截至本文发稿时,有26种AWS服务支持基于资源的策略,如表1所示。策略确定了主体可以对附加的资源执行的操作。主体可以是AWS用户、角色或服务。可以执行的操作则取决于服务的类型。![a68317dacea9c8b79d33c29a3d652d38.png](https://i-blog.csdnimg.cn/blog_migrate/69e3a8e7876a145985108b12910c2f79.png)
![6c0e974c6e33bfb889520476412c0509.png](https://i-blog.csdnimg.cn/blog_migrate/f5f432478fd3ef300c7b4ac654ad4b71.png)
滥用基于资源的策略API
策略验证是AWS的一项功能,有助于促进用户体验。虽然大多数用户受益于该功能,但对手也可能发现该功能对于在另一个帐户中执行侦察很有用。由于政策验证器检查指定的主体是否存在,因此它让对手有办法逐渐了解目标帐户的花名册。正如我们所表明的那样,对手可能滥用支持基于资源策略的多种AWS服务中的策略验证器。 在基于资源的策略中定义主体时,用户要求AWS验证并授权主体,才能访问AWS帐户中的资源。如果我们提供无效的用户名或角色名称,身份验证将失败。实施安全验证过程的验证最佳实践之一是,出错消息中避免给出针对特定帐户的信息。 AWS策略验证器会在出错消息中无意中泄露针对特定帐户的信息。创建或更新资源策略时,AWS策略验证器会明确表明指定的主体是否存在。攻击者可以利用出错消息来核查目标帐户中是否存在用户或IAM角色。通过用单词表重复该过程,对手可以枚举并发现目标帐户中的现有身份。图3和图4显示了当我们在不同的AWS服务的资源策略中指定不存在的IAM角色时的出错消息。这些策略被拒绝,无法保存。还可以使用AWS API以编程方式执行该过程,因而使枚举具有扩展性。 该技术一个令人不安的特性是,目标或受害者完全观察不到该技术。更改资源策略时,AWS CloudTrail日志和出错消息仅显示在资源所有者或攻击者的帐户中。由于具有“隐蔽”特性,几乎不可能加以检测和防止。 Rhino Security Labs的博客率先介绍了一种类似的技术,他们使用IAM角色信任策略来检查是否存在跨帐户的IAM角色。Unit 42的研究人员确定并证实,可以利用涉及16种AWS服务的至少22个API大做文章,如附录表1所示。这些API的共同点是,它们都将资源策略作为输入,以及策略要有有效的“Principal”字段。![7072b5d5dbb76d36ca2b75affcfccb6f.png](https://i-blog.csdnimg.cn/blog_migrate/916fd0842e7e0fb04ced8c3c3988b197.png)
![a93992e73570707330753b608bccaca0.png](https://i-blog.csdnimg.cn/blog_migrate/f0b27de778916ae99f16bf00f068ee9a.png)
结论
由于目标帐户中没有可观察到的日志,因此 很难检测和防止采用 这种技术 的 身份 侦察 。 然而 ,良好的IAM安全措施仍可以有效 地 缓解 这种类型的 攻击带来的威胁。 虽然 无法 防止 攻击者枚举AWS帐户中的身份,但 可以加大 枚举 的 难 度 , 而且 您可以 监测 侦察之后 所采取 的可疑活动。 为了缓解 该 问题,我们建议组织采用以下IAM安全最佳 实践 :删除不活跃的用户和角色,以减小攻击面。
为用户名和角色名称添加随机字符串,让它们更难被猜中。
使用身份提供者和联合身份来登录,这样就不会在AWS帐户中创建额外用户。
记录并监测所有的身份验证活动。
为每个用户和IAM角色启用双因子身份验证(2FA)。
附录表:
![9a9a11ab787c47961c929025c9f984d9.png](https://i-blog.csdnimg.cn/blog_migrate/1edb1adfe0c980dd2c48a8b10dfbd880.png)
![8d50abb7f24ca571ae2d5e7c7d15ea71.png](https://i-blog.csdnimg.cn/blog_migrate/56cab2cac9fc05544cb5cd6665c2f769.png)
支持基于资源的策略的AWS服务。Unit 42的研究人员发现了涉及16种AWS服务的可能被滥用的22个API。
![aadceb0c5a83eeb09ecd191a213ee6ff.png](https://i-blog.csdnimg.cn/blog_migrate/4415cb17d2b2bbbed489be0a923d0ee6.jpeg)
以下为广告
![ad318902c0cc53645025a1722e1fa9ff.png](https://i-blog.csdnimg.cn/blog_migrate/a69f02a31281a07fb10fbf311262232e.png)