BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Amazon S3不正リクエスト課金問題:空のS3バケットがコストを劇的に増加させる可能性

Amazon S3不正リクエスト課金問題:空のS3バケットがコストを劇的に増加させる可能性

原文リンク(2024-05-04)

シニア・ソフトウェア・エンジニアのMaciej Pocwierz氏は最近、重大な問題を明らかにした。空のS3バケットは、予期せず多額のAWS請求書をもたらす可能性がある。彼のケースでは、ほぼ100,000,000のS3 PUTリクエストが1日以内に実行され、無視できない請求につながった。

Pocwierz氏はあるクライアントのために、eu-west-1リージョンに単一のS3バケットを作成し、テスト用にいくつかのファイルをアップロードすることで概念実証をした。AWSの課金ページをチェックし、無料ティアの制限内に収まっていることを確認したところ、100,000,000のS3 PUTリクエストが実行されたことによる請求が1300米ドルであることがわかった。

リクエストの原因を調べた際、Pocwierz氏はこう書いている。

デフォルトでは、AWSはS3バケットに対して実行されたリクエストを記録しません。しかし、そのようなログはAWS CloudTrailまたはS3 Server Access Loggingを使って有効にすることができます。CloudTrailのログを有効にした後、私はすぐに複数のアカウントやAWS外から発信された何千もの書き込みリクエストを観測しました。

リージョンごとの1日あたりのS3使用量(出典:Pocwierz Mediumブログポスト

このインシデントの根本的な原因は、広く使われているオープンソースツールのデフォルト設定で、意図せず同じバケット名をバックアップのターゲットにしていたことだ。これにより、金銭的に重大な影響を及ぼす不正なリクエストが容赦なく殺到した。さらに、リクエストの半分は異なるリージョンから発信されていた。地域を指定しないS3リクエストは *us-east-*1にリダイレクトされ、バケット所有者に追加コストが発生する。

この経験から得られた教訓は、S3バケットは不正なリクエストに対して脆弱であり、セキュリティを強化するためにバケット名にランダムなサフィックスを追加する必要性があることが浮き彫りになった。もう1つの重要な教訓は、リクエストを実行する際にAWSリージョンを明示的に指定することで、リダイレクトによって発生する追加コストを回避できることだ。さらに、自分のバケットを一時的に一般公開するという個人の決断は、無邪気な見落としが潜在的なデータ漏えいにつながる可能性があるという驚くべき簡単さを明らかにした。

Pocwierz氏の発見は、コミュニティで波紋を呼んだ。彼の発見に関するRedditのスレッドで、seanamos-1はこう結論づけた。

バケット名は決して秘密にする必要があるとは示唆されていませんし、そのように設計されていないのは明らかです。しかし、もし秘密にしておかなければ、課金攻撃を受けやすくなります。これには対処する必要があります。

さらに、Hacker Newsのスレッドでは、回答者のtedminston氏がこう書いている。

もっとクレイジーなのは、Requester Paysをオンにしてもリクエストが403であった場合、実際にはリクエスト側が支払うことにはならないということです。基本的に、パブリックであろうとプライベートであろうと、名前が発見されたすべてのS3バケットはDDoSされる可能性があり、非常識な請求が発生します。これはAWSが解決すべきプラットフォームレベルのセキュリティ問題です。もうバケットゲートは必要ありません。

最後に、AWSのチーフ・エバンジェリストであるJeff Barr氏は、Pocwierz氏の調査結果とコミュニティに対するツイートで次のように述べている。

この記事を知らせてくれた皆さんに感謝します。我々は、顧客が開始したわけでもない不正なリクエストに対して支払う必要がないことに同意します。このような請求が発生しないようにするための具体的な方法については、追ってお伝えします。

DuckbillGroupのチーフ・クラウド・エコノミストであるCorey Quinn氏は、その後のツイートでこう答えている。

これは、AWSの請求サプライズに対するアプローチにおける潜在的なターニングポイントのような気がします。私は大いに賛成です。

最後に、同社は5月13日に解決策を打ち出し、Amazon S3は顧客が開始したものではない不正なリクエストは無料になるように変更すると述べた。

作者について

この記事に星をつける

おすすめ度
スタイル

BT