S3 バケットのセキュリティが 2017 年以降に大きく進歩した理由
2019 年 9 月 26 日 編集部著
Amazon の Simple Storage Service (S3) クラウドストレージツールは、Uber、Accenture、アメリカ国防総省などの数多くの有名な企業や組織がバケットに保存していた機密データが流出したことで、2017年と2018年にニュースのヘッドラインを飾ることになりました。しかしながら、このクラウドにとって逆に希望の光となったのは、セキュリティの欠陥が次々と明らかになったのを機に Amazon が S3 バケットの管理と構成のオプションを追加し、2019年時点で、以前と比べると飛躍的に安全性が高くなったことです。ウォッチガードの シニアセキュリティリサーチャである Marc Laliberteが Help Net Security に寄稿した記事で、S3 バケットの当初の問題点と、Amazon がそれらの問題をどのように改善したのかを解説しています。
S3 バケットの問題点は、一言で言えば、構成の変更時に誤ってバケット内の機密データが外部に公開された状態にしてしまう可能性が高かったということでした。これは、ユーザエラーが原因であり、Amazon のソフトウェアの脆弱性というわけではありません。ただし、S3 バケットの構造がそれを助長してしまっている部分もあり、それは、安全なデータと外部に公開されているデータをユーザが区別しにくかったからです。Marcの記事から、この点を詳しく説明している部分を抜粋し、以下に紹介します。
Amazon は、S3 バケットに対する一般からのアクセスをデフォルトで禁止していますが、ユーザがデータの一部を一時的に外部に公開された状態にする必要がある場合もあります。そのため、管理者は、後で削除することを予定しつつ、アクセス制御リストを変更し、データへの読み取りを許可する場合があります。ところが不幸なことに、データアクセスの要件はよく変わるものであり、人間は忘れっぽいものなので、予定していた期間を過ぎてもルールが削除されずに放置され、不適切なアクセスが可能なままの状態が続くということもよくありました。これは、ネストされたディレクトリにも言えることで、個々のディレクトリにもパーミッションを設定できるため、S3 バケットのアクセスやセキュリティはさらに複雑なものになります。結果的に、サブディレクトリのサブディレクトリに保存された機密性の高いログが、図らずも外部からアクセスできる状態になってしまう可能性に気付かないといったことも起こり得るのです。
過去 2年半の間に、Amazon は数多くの小さな変更を繰り返してきました。たとえば、設定が公開になっているバケットにUI で明るいオレンジ色のフラグを表示したり、すべての S3 バケットへの一般アクセスをボタンひとつで禁止できるオプションを作成したりしました。このような変更は、技術的にセキュリティを向上させるためのものではなく、UI を変更したり、新しい管理ツールを追加したりすることで、バケットが公開状態であることをユーザに気付かせ、アクセスを簡単に無効にできるようにするための工夫です。この事実は、人間や人間の判斷もセキュリティの重要な一部であることを再認識させてくれます。
Help Net Security の記事全文(英文)で、Amazon による S3 バケット改善のためのアップデートの詳細をご確認いただき、セキュリティ侵害に関する技術的な詳細については、Secplicity のこちらの記事を参照してください。