Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CloudBruteによる外部からのS3バケットの探索・公開の発見について / 2025060...

CloudBruteによる外部からのS3バケットの探索・公開の発見について / 20250605 Kumiko Hennmi

2025/6/5 本当に必要なセキュリティ対策の勘所(AWSぶっちゃけ討論会vol.3 )
https://shiftevolve.connpass.com/event/354921/

株式会社SHIFT ソリューション本部 ソリューション事業部
セキュリティ・ネットワークサービス部 セキュリティサービス2グループ
辺見 久美子

Avatar for SHIFT EVOLVE

SHIFT EVOLVE

June 05, 2025
Tweet

More Decks by SHIFT EVOLVE

Other Decks in Technology

Transcript

  1. © 2025 SHIFT Inc. Copyright SHIFT INC, All Rights Reserved.

    CloudBruteによる外部からの S3バケットの探索・公開の発見について 辺見 久美子 2025.06.05 株式会社SHIFT ソリューション事業部 セキュリティ‧ネットワークサービス部
  2. 2 Copyright SHIFT INC, All Rights Reserved. 自己紹介 セキュリティエンジニアです! IT業界経験→13年

    Webアプリケーションエンジニア→11年 個人開発ではAndroidアプリを作ったりしていました。 今は趣味としてCapture The Flagをやっています! パブリックな勉強会に出ていることがあります。 ご一緒したときはよろしくお願いします。 辺見久美子
  3. 3 Copyright SHIFT INC, All Rights Reserved. AWSを使うのであれば、S3を使わないのはもったいないです。 S3の便利さ S3には下記の利点があります。

    ・ストレージ残量を気にせずにファイルを設置できる。 ・冗長化を1クリックで行ってくれる。 ・オブジェクトの削除を時間指定できる。 ・アーカイブへの移動を時間指定で自動でしてくれる。 ・監視対象(CPU、メモリ)が少ない。 Amazon S3 S3 Standard S3 Standard-IA S3 One Zone-IA S3 Glacier Flexible Retrieval S3 Glacier Deep Archive S3 Glacier Instant Retrieval S3 on Outposts S3 Express One Zone S3 Intelligent- Tiering
  4. 6 Copyright SHIFT INC, All Rights Reserved. 脆弱性診断用ツールです。 CloudBruteはクラウドに特化したツールです。 CloudBruteはKali

    Toolsに用意されています。 CloudBruteとは ※これからの発表では、これらをCSP(Cloud Service Provider)と呼びます。 CloudBruteが脆弱性検査の対象とするクラウドサービス
  5. 9 Copyright SHIFT INC, All Rights Reserved. CloudBrute実行結果 結果の ファイル出力

    調べたい バケット名 ターミナルへ の結果表示
  6. 10 Copyright SHIFT INC, All Rights Reserved. S3バケットのURLの命名規則 バケット名 +

    .s3.amazonaws.com CloudBruteの仕組み バケットがないことを指し示すステータスコードです。 実行結果に表示されません。 返却されるステータスコード バケットがあることを指し示すステータスコードです。 実行結果に と表示されます。 Open バケットがあることを指し示すステータスコードです。 実行結果に と表示されます。 Protected 200 403 404
  7. 15 Copyright SHIFT INC, All Rights Reserved. 今回のように、下記のような条件の場合は、AWS Configで検出することができます。 [条件]

    1.ACL有効 2.S3バケット Private 3.オブジェクト Public 4.Publicになっているオブジェクトを検知したい AWS ConfigでオブジェクトのPublicを検出するマネージドルールはありません。 AWS Config とLambdaを組み合わせて検査を行う必要があります。 今回の説明
  8. 16 Copyright SHIFT INC, All Rights Reserved. S3バケットへのセキュリティ対策例5つ ACLを使用しない 署名付きURL

    バケットポリシー ログの監視 AWSマネージドサービスによるS3バケットの監視
  9. 17 Copyright SHIFT INC, All Rights Reserved. ほとんどの場合、ACLを使わずとも 目的は達成できるため、ACLでS3を公開状態に する必要はありません。

    対策 1/5 ACLを使用しない 常に外部に公開するサイトの画像は S3のACLを使用するのではなく、 + の組み合わせで公開する方法が オススメです。 (キャッシュを残せるという観点でもオススメです) Amazon CloudFront Amazon S3
  10. 19 Copyright SHIFT INC, All Rights Reserved. これにより、S3バケットへのネットワークを制御することができます。 ・IP制限 ・VPCエンドポイント

    対策 3/5 バケットポリシー ※ちなみにS3にWAFはつけられません。 AWS WAF Amazon S3 例ではIP制限をしています。
  11. 20 Copyright SHIFT INC, All Rights Reserved. AtenaでS3に配置されたログを閲覧できます。 また、サードパーティ製アプリを使用しても閲覧できます。 対策

    4/5 ログの監視 Amazon S3 Amazon S3 監視したいS3バケットの サーバーアクセスログを 有効にする。 1 Amazon Athena Splunk datadog etc… Amazon CloudWatch Alarm Amazon SNS 通知 4 検知 3 サーバーアクセスログを 蓄積する専用の S3バケットを設置する。 2
  12. 21 Copyright SHIFT INC, All Rights Reserved. S3バケットにCloudBruteを実行されたときの、S3サーバーログ 対策 4/5

    署名付きURLでアクセスしたときの、S3サーバーログ ブラウザからアクセス したときと異なる UserAgentが ログに残る アクセス元ブラウザが UserAgentとして ログに残る
  13. 22 Copyright SHIFT INC, All Rights Reserved. バケットそのものの設定不備がされていないかチェックを行えます。 対策 5/5

    AWSマネージドサービスによるS3バケットの監視 AWS Trusted Advisor Amazon S3 AWS Config Amazon S3 ・CNAME レコードの偽装チェック ・明示的なバケットアクセス許可 ・およびそのアクセス許可をオーバーライドする 可能性のあるバケットポリシー など ・Amazon S3 バケットによって付与されるアクセスが、 指定したプリン AWSプリンシパル、フェデレーティッドユーザー、 サービスプリンシパル、IP アドレス、または VPC によって 制限されていること ・ACLがパブリック読み取りアクセスを許可するかどうか ・パブリック書き込みアクセスが許可されていないかどうか ・パブリックアクセスのブロック設定、バケットポリシー、および ACL など
  14. 23 Copyright SHIFT INC, All Rights Reserved. 対策 注意事項 S3の用途により、対策内容は変わります。

    S3をWebアプリケーションに使用する場合を考えただけでも、 対策の内容は無数にあります。 構築したいシステムに合わせて、過剰な対策にならないよう 考慮する必要があります。