Hand sifting through data

新しいオープンソースの「S3crets Scanner」スキャナーを使用すると、研究者やレッドチームは、公開された、または企業の Amazon AWS S3 ストレージ バケットに誤って保存された「秘密」を検索できます。

Amazon S3 (Simple Storage Service) は、企業がソフトウェア、サービス、およびデータをバケットと呼ばれるコンテナーに格納するために一般的に使用するクラウド ストレージ サービスです。

残念ながら、企業は S3 バケットを適切に保護できず、保存されたデータをインターネットに公開することがあります。

この種の構成ミスは、過去にデータ侵害を引き起こし、攻撃者が従業員や顧客の詳細、バックアップ、およびその他の種類のデータにアクセスできるようになりました。

アプリケーション データに加えて、S3 バケット内のソース コードまたは構成ファイルには、認証キー、アクセス トークン、および API キーである「シークレット」を含めることもできます。

これらの秘密が攻撃者によって不適切に公開され、アクセスされた場合、他のサービスや企業ネットワークへのアクセスが大幅に増加する可能性があります。

シークレットの S3 のスキャン

セキュリティ研究者の Eilon Harel 氏は、 SEGA のセキュリティインシデントを調査する演習中に、偶発的なデータ漏洩をスキャンするツールが存在しないことを発見したため、独自の自動スキャナーを作成し、GitHub でオープンソース ツールとしてリリースすることにしました。

パブリック S3 バケットで公開されたシークレットをタイムリーに発見できるようにするために、Harel は、次のアクションを自動的に実行する「 S3crets Scanner 」という名前の Python ツールを作成しました

  • CSPM を使用してパブリック バケットのリストを取得する
  • API クエリを介してバケットの内容を一覧表示する
  • 公開されたテキスト ファイルを確認する
  • 関連するテキスト ファイルをダウンロードする
  • 秘密のコンテンツをスキャンする
  • 結果を SIEM に転送する
S3crets スキャナーによって実行されるアクション
S3crets スキャナーによって実行されるアクション

スキャナー ツールは、次の構成が「False」に設定されている S3 バケットのみを一覧表示します。これは、露出が偶発的である可能性が高いことを意味します。

  • 「BlockPublicAcl」
  • 「BlockPublicPolicy」
  • “PublicAcl を無視”
  • “RestrictPublicBuckets”

公開する予定のバケットは、「シークレット スキャン」ステップのためにテキスト ファイルがダウンロードされる前に、リストから除外されます。

バケットをスキャンするとき、スクリプトは Trufflehog3 ツールを使用してテキスト ファイルの内容を調べます。Trufflehog3ツールは、GitHub、GitLab、ファイル システム、および S3 バケットの資格情報と秘密鍵を確認できるシークレット スキャナーの改良された Go ベースのバージョンです。

Trufflehog3 は、Harel によって設計された一連のカスタム ルールを使用して、S3crets によってダウンロードされたファイルをスキャンします。このルールは、個人を特定できる情報 (PII) の露出と内部アクセス トークンを対象としています。

組織の資産をスキャンするために定期的に使用する場合、研究者は、「S3crets スキャナー」は、企業が秘密の暴露に起因するデータ漏洩やネットワーク侵害の可能性を最小限に抑えるのに役立つと考えています.

最後に、このツールは、公開されているバケットをスキャンしたり、公開された秘密情報を悪意のある人物が発見する前に所有者に通知したりするなど、ホワイトハット アクションにも使用できます。