ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

Orca Security は IAM ロールと S3 バケットポリシーが混在した際に正しく認識できない?

フォージビジョン Orca Security のサービスサイト がオープンしました。

コーポレートサイトで活用事例を公開中!

こんにちは、AWS チームの Orca 担当の尾谷です。

お客様より、Orca の Attack Path や Blast Radius が、バケットポリシーを正しく読めないのか? とご指摘をいただきました。

結論、2023 年 12 月 27 日時点で Orca Security はバケットポリシーを加味して Attack Path や Blast Radius でベクトルを描画できません。

AWS の IAM は、Deny ルールが優先される

事象をご説明するため、まずは前提を記載します。

以下のように EC2 と S3 バケットがあった場合に、

こんな感じで、全てのリソースに GetObject ができる状態で IAM ロールを設定すると

S3 バケットのテキストファイルが取ってこれます。

でも、S3 バケットに IAM ロールからの GetObject を拒否するバケットポリシーを書くと、

Deny ポリシーが優先されて、取得エラーになります。

AWS の IAM は Allow よりも、Deny の方が優先されます。

Orca はバケットポリシーを理解できない

上記前提において、Orca Security のコンソールで確認してみます。
orca-test-bucket-c バケットに Crown Jewel を設定すると、以下のように Attack Path が生成されてしまいます。

また、Blust Radius に関しても線が引かれてしまいます。

機能リクエストを依頼中

この不具合を Orca Support に質問したところ、バケットポリシーを考慮していないと回答をいただきました。
また、機能リクエストを送付して欲しい。と依頼をいただきました。

来年のどこかで本機能が修正されると良いなと思います。
情報が入りましたら、本ブログを更新してお知らせしたいと思います。