Cloud Security Magazine

事例分析:1つのポリシー設定ミスで150万件以上の情報が漏洩

AWS

今回の記事では、前回ご説明したクラウド事故を引き起こすAWSのセキュリティリスクTOP3のうち第2位:S3ストレージバケットの開放を過去のインシデントを元に深掘りしていきます。


S3ストレージバケットに存在する設定ミスとは

S3ストレージバケットはクラウドストレージサービス *1 です。AWSのリージョンに作成し、データを保存しておきます。ここでのデータとは写真・動画・書類から独自ライブラリ等のことを指します。

バケットの開放とは具体的にはアクセスポリシーの設定ミスのことです。 全てのデータに対するポリシー設定ミスということは少なく、大量のポリシーを設定する上で一つ失敗して攻撃を受けるということが多いです。

実際に起こった海外でのインシデント事例を2件、ご紹介いたします。


事例1: Twilio社におけるインシデント *2

この事例ではポリシー設定にミスがあったことで、Magecart攻撃 *3 グループに関連するURLをユーザーに読み込ませる攻撃コードを挿入することが可能となっていました。

問題があったポリシー設定は次のようになっていました。

{
   "Sid":"AllowPublicRead",
   "Effect":"Allow",
   "Principal":{
      "AWS":"*"
   },
   "Action":[
      "s3:GetObject",
      "s3:PutObject"
   ],
   "Resource":"arn:aws:s3:::media.twiliocdn.com/taskrouter/*"
}

問題点は次のポイントです。

Principalの設定が "AWS": "*" になっていることで、任意のAWSアカウントがアクセスできます。

これにより、Resourceに指定されている taskrouter/ 以下にgetとputができてしまいます。この設定ミスを利用して、悪意のある攻撃者がMagecart攻撃グループに関連づけられた無関係なURLをユーザのブラウザに読み込ませるコードを挿入することができました。

正しいポリシー設定はいくつかあるでしょうが、まずは問題のPrincipal設定を以下のように設定する必要があると思います。

"Principal":{
   "AWS":"arn:aws:iam::<accountID>:user/<username>"
}

これにより、指定されたAWSアカウントでのみgetとputが可能になります。


事例2: Securitas AB社におけるインシデント *4

この事例ではS3バケットを公開していた影響で、3TBに相当する150万を超えるファイルが漏洩しました。

Securitas AB社は、物理的な航空保安サービス等を提供する会社です。本インシデントで漏洩したファイルは、同社が関わる4つの空港に関するデータです。

漏れたデータは大まかに次の2つです。

1. Securitas従業員 IDカードの写真(EXIF情報が残っている)

  • フルネーム

  • 顔写真

  • 職種

  • 国民識別番号


2. その他の写真

  • 空港

  • 空港従業員

  • 関連会社のデータ

漏洩した写真からEXIFデータをもとにカメラの機種が特定できた様子(4より引用)

漏洩した写真からEXIFデータをもとにカメラの機種が特定できた様子(4より引用)


漏洩した写真からEXIFデータをもとにGPS情報とタイムスタンプを特定できた様子(4より引用)


このようにEXIFからは様々なデータが取れるため、さらなる被害の原因になる可能性があります。

本インシデントはサイバーセキュリティーチームが2021年10月28日に発見し、おそらく11月2日に修正されました。しかしながら、データは2018年11月のものからあったということなので確かな被害期間は分かりません。 漏洩したデータが航空関連であること、同社がかなりの影響力をもつことからこのインシデントからのさらなる影響もあると考えられているようです。


まとめ

一つのポリシー設定ミスでS3バケットに格納しているデータが漏洩したり、改ざんされることでユーザー・企業への被害があることが分かったと思います。

権限は最低限で設定を行い、事故を未然に防ぎましょう。

引用資料一覧

1: https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/UsingBucket.html
2: https://www.twilio.com/blog/incident-report-taskrouter-js-sdk-july-2020
3: https://www.sompocybersecurity.com/column/glossary/magecart
4: https://www.safetydetectives.com/news/securitas-leak-report/

執筆者

首浦大夢

CloudbaseでSecurity Researcherをしています。趣味でマルウェア解析してます。

Cloudbase導入の検討や、製品の詳細などお悩みの方は気軽にお問い合わせください

Cloudbase導入の検討や、製品の詳細などお悩みの方は気軽にお問い合わせください