見出し画像

AWS S3からの情報漏洩を防ぐ方法

皆さんはドキュメントをCドライブやDドライブに保存していますか?
そのようなファイル保存・管理は、もはやオシャレではありません。最近は、大容量のGB級ファイルを無料で保存できるクラウドサービスが利用されています。クラウドストレージはオンプレのファイルサーバの代替手段として広く好まれており、Azureでは「Blobストレージ」、AWSでは「S3バケット」、Googleでは「Google Cloud Storage」といったサービスが提供されています。これにより、これまでのようにHDDやSSDやメモリカードなどの物理的なストレージデバイスにお金をかける必要がなくなり、オンプレミスのストレージも不要となっています。

クラウドストレージには多くのメリットがありますが、一方でセキュリティ上のリスクも考慮しなければなりません。クラウドストレージが侵害を受けると、格納されているコンテンツ全体がハッカーの手に渡る可能性があります。特にAWS S3における誤った設定による重要情報の漏洩事故が後を絶ちません。経験不足や人為的ミスによるものかもしれませんが、それだけではない済まされない重大な問題に発展する可能性があると認識しなければなりません。

今回は、AWSのS3の設定ミスによる重大事故を未然に防ぐ方法について紹介します。

この記事を読むことで、AWS S3のセキュリティリスクおよび適切な設定のアプローチについて理解いただけるはずです。

AWS S3とは?

AWS S3は、Webインターフェースを介してオブジェクト(ファイル)ストレージを提供します。これにより、いつでもどこからでも、どのデバイスからでもデータを保存、保護、閲覧することができます。

AWSによると、S3環境はフラットな構造を持っています。ユーザはバケットを作成し、そのバケットのオブジェクトをクラウドに保存します。このサービスは、あらゆる業界の組織、どんな規模の組織でも利用できるものです。

AWS S3 は誰が使用している?

AWS S3は、金融、医療、電力、水道、石油、ガス、運輸などあらゆる業界で広く利用されています。

S3のWebポータルを介して、契約書、請求書、および納税の申告書などをS3へアップロードします。これらのデータはS3に保存されています。

ミス設定の AWS S3の恐ろしい末路

 S3は便利でメリットが多い反面、ハッカーの人気のターゲットでもあります。S3へのアクセスが不正に行われると、ハッカーは身代金を要求するために利用可能な大量のデータにアクセスできるだけでなく、盗んだ重要な情報を暗号化することもできます。さらに、ダークウェブのマーケットプレイスでそのデータを販売します。
 
 AWS S3 は一般に広く公開可能な仕様であり、組織はS3に保存したデータへのアクセス権限を設定しアクセスできる国、場所、組織、人を管理する必要があります。しかし、残念ながら、多くの企業はこれらの権限を適切に構成できず、壊滅的な影響を及ぼす事故が多発しているのが現状です。

 ハッカーは、Web上に無防備に公開されてしまっている何千ものS3を容易に見つけることができます。そして、これらS3の多くはログイン資格情報、セキュリティキー、APIキーなどの非常に機密性の高いデータを公然と公開してしまっています。

 組織の S3 に不正にアクセスされると、ハッカーは有害なファイルをS3にアップロードする可能性もあります。このような悪意のあるファイルが組織の従業員などに操作されると、マルウェアやランサムウェアなどのペイロードがネットワーク全体に広がってしまい、重大なセキュリティ事故に発展してしまいます。

 次世代アンチウイルスであるNGAVやサンドボックス型のアンチウイルスではなく、パソコンに標準で備わっているシグネチャベースのウイルス対策ソフトでは、S3バケット内の攻撃をスキャンして識別することが難しいため、このようなS3のファイルを介したマルウェアは簡単に検出を回避し感染してしまうのです。

データ侵害を受けたAWS S3事例

 AWS S3に関連する複数のデータ侵害レポートは増えています。これらのデータ侵害の大部分は、AWS S3の設定ミスが原因で発生しています。これらのS3は、「パブリック」へのアクセスを許可してしまっており、正しく設定されていませんでした。その結果、S3へのリンクを知っている人は誰でも、そのコンテンツにアクセスしたり、読んだり、ダウンロードが可能でした。以下は、S3の設定ミスによって発生した最近のデータ侵害の事例です。

■米Verizon、1400万人の顧客情報が誰でもアクセス出来る状態で公開

 2017年7月12日、米通信大手Verizonの加入者1400万人の個人情報が、Amazon S3上にURLさえ分かれば、誰でもアクセスしてデータをダウンロードできてしまう状態でした。

 この問題を発見したUpGuardによれば、問題のS3バケットはVerizonからコールセンターなどの業務を委託されたイスラエル企業、NICE Systemsが運用していました。UpGuardはこの問題を発見し、2017年6月13日にVerizonに連絡したが更正されたのは6月22日だったといいます。

■ダウジョーンズ、400万人の個人情報がアクセス可能な状態で公開

 ダウ・ジョーンズの出版物に対する数百万人の加入者の名前、住所、口座情報、電子メールアドレス、およびクレジットカード番号の最後の4桁の数字がAmazonのS3に保存されており、AWSのIDを保有しているユーザがURLを知っていればアクセス出来る状態で公開されていました。400万人に近い顧客が影響を受けたと推定されています。

■WWE、300万件の個人情報がアクセス可能な状態で公開

 米国のプロレス興行団体WWE(World Wrestling Entertainment)が利用している、Amazon S3バケットにて2014~2015年に300万件の個人情報がアクセス可能な状態で公開されていました。

S3を適切に保護することの重要性

 その使いやすさからAWSを利用する企業は急増しています。しかし、AWSのデータガバナンスガイドラインに従わないと機密性の高いデータがAWSクラウドから外部へ容易に漏洩する可能性があります。

 私が過去に観察したAWS S3へのハッキングの多くは、S3の設定において「すべてのユーザーへのアクセス許可」のオプションを選択してしまい、誰でもデータにアクセスできるようになっていました。経験の浅いAWS管理者は、S3の設定を誤り、アクセスコントロールを誤ってしまいます。AWSが開催している操作訓練のためのセミナーに参加されることをお勧めします。

 次に、S3のセキュリティを向上させるためのいくつかの方法を紹介します。

1 通信を暗号化する

 SSLを使用してS3との通信を暗号化することは、データを安全に保つための優れた方法です。S3 のデータへはデフォルトでHTTPまたはHTTPSでアクセスする設定のため、理論的には攻撃者からS3へのリクエストに対し中間者攻撃を受ける可能性があります。そのため、HTTPによる非暗号化のリクエストが処理されないよう、明示的な拒否ポリシーを設定する必要があります。

2 アクセスログを取得し不正を検知する

 S3へのアクセスログの記録はコンプライアンス基準を満たし、違法なデータアクセスを検出します。また、データ侵害を受けてしまった場合にも調査を行うのに役立ち、推奨されるセキュリティの優れた方法のひとつです。

 S3に対して行われたすべてのリクエスト(PUT、GET、およびDELETEオペレーションを含む)が記録されます。この結果、セキュリティチームはS3内の悪意のある動作の試みを見つけることもできるため、攻撃の予兆を検知し事前に対策することもできるのです。

3 データを暗号化を使用し、データ漏洩に備える

 保管中のデータを保護するために、S3にはサーバ側の暗号化とクライアント側の暗号化の2つの暗号化のオプション設定があります。暗号化は、キー管理要件に基づいてさらにサブカテゴリに分類できます。セキュリティとコンプライアンスの要件に基づいて、要件に合ったオプションを選択できます。

 AWSが暗号化キーを管理してよい場合は、サーバ側の暗号化管理の設定を選択してください。データが非常に機密性が高く、自組織で暗号化キーを管理したい場合は、クライアント側の暗号化を使用します。

4 アクセスを許可する範囲を制限する

 データセキュリティを向上させるために、アクセス制御を活用することは重要です。S3 のリソースへのアクセスを制限する方法はいくつかあります。安全な S3 システムを構築するための戦略は次のとおりです。

  • IAM ユーザーのアクセス許可制限: 最小権限の原則を使用して、ユーザーに必要最低限のアクセスとリソースを割り当てることができます。これにより、誤って設定されたS3バケットによるデータ損失の主な原因となる人為的エラーの可能性を排除することができます。初めは必要最小限のアクセス許可から始めて、必要に応じて徐々に権限を追加することが原則となります。

  • S3バケットへのアクセスを制限するためのバケットポリシーの活用: AWSアカウントや内部AWSサービスへのアクセスを特定のものだけに許可したり、特定のIPアドレスや範囲からのアクセスを許可することが可能です。

  • ACLを使用したアクセス制御: S3データ漏洩の最も一般的な原因の1つは、ACLが正しく設定されていないことです。ACLは、バケットまたは個々のオブジェクトに適用できます。

5 勝手にデータを削除できないようにする

 攻撃者は主に、データを盗んだり、データや資産を消去したりすることに関心があります。 オブジェクトの削除や置換を防ぐ S3 オブジェクトロックによって対処できます。ユーザーが保持期間を指定するか、ユーザーが解放するまで法的ホールドを設定するという方法でオブジェクトの保持を制御できるようにすることで、S3 オブジェクト(ファイル)を永続的にします。

まとめ

 AWSは、適切に設定されていれば、高レベルのセキュリティを提供します。ただし、組織には、安全性の高いAWSインフラストラクチャを管理するために必要な現状のセキュリティ分析および対策のスキルが不足しています。この記事で説明したアプローチと方法に従うことで、組織はデータ侵害を回避するためにS3の誤った構成を防ぐことができるでしょう。