[レポート]AWS上でのデータ保護についてのChalk Talkに参加しました(SEC325)#AWSreInvent

2023.12.04

こんにちは。たかやまです。

現在開催中のre:Invent 2023で行われたChalkTalk「SEC325 Protect your data using AWS services for defense in depth」のレポートをお伝えします。

セッション概要

タイトル : Protect your data using AWS services for defense in depth

このチョークトークでは、アクセス制御や暗号化からコンテンツ検出やフィルタリングまで、AWSクラウド上のデータ保護機能の範囲をカバーします。高度なIAMコントロール、暗号化がデータ保護にどのように適合するか、そして保護だけでなく、データが識別され、保護され、セキュアであることを保証する新機能について説明します。

スピーカー :

  • Peter O'Donnell
  • Don Edwards

セッションレベル : 300

(追記)資料が公開されました!

レポート内容

まず初めにCapital Oneの支援事例の話を皮切りに始まりました

彼らは以前、社会保障番号を全ての情報を検索するための手段として使用していましたが、それをカスタマーサービスポータルから取り除きました。しかし、その結果、コールセンターのエージェントがそれを一般的なフィールドに入力し、バックエンドのデータレイクに収束する分散システムがあると、誕生日や納税者IDなどの他の情報と共に、知らないうちにコンプライアンスの問題に直面することになります。

私たちは、そのようなデータがシステム全体に広がることを防ぐための方法について話し合いました。

ChalkTalkのテーマこちらです

  • 「データ保護」という言葉がなにを意味するのか
  • データ保護にはコンプライアンスによる保証が必要である
  • 従来のデータ保護形式 - ネットワーク制御、アクセス制御、暗号化
  • 新しいデータを保護するためのパターン
  • データを保護するということは永続性と耐久性を確保するということ

伝統的なデータ保護は比較的シンプルで、データの暗号化(保存時、転送時)、アクセス制御、秘密情報の安全な保管が含まれます。

初級の秘密情報管理では、ホームフォルダにテキストファイルがあります。高度なバージョンでは、人間がリセットを行うことなく、コンピュータが制御します。

この講演の目的は、データ保護の文脈を考えることで、単にアクセスだけでなく、データの全ライフサイクルを考慮に入れることが大事と訴えていました。

AWSのセキュリティポリシーとテスト

ポリシーについては非常に慎重かつ意図的であるべきとして、IAM Access Analyzerの自動推論テクノロジーを用いて、組織外に共有されているリソースがあるかどうかを判断して、ポリシーをテストするための一つの方法として、セッションポリシーとして使用することが提案されていました。
マネージドポリシーを変更する場合、すぐにそれをテストするとデータプレーンで遅延が発生し、それは困難な課題と言っていました。バージニアで変更が行われ、シドニーでテストを行いたい場合でも、数分かかる可能性があります。この問題に対して改善策を模索中とのことです。

IAMのコントロールプレーンがデータプレーンの概念とセッションポリシーによるテストはこちらのブログが参考になります。

AWSセキュリティツールとベストプラクティス

長期的な視野で静的な認証情報をなくすための取り組みを進めている。IAM Role Anywhereを導入し、これによりX509証明書内でロールを想定することが可能になりました。

IAM Role AnywhereはGoogleなどの他のプラットフォームからも利用可能で、アクセスキーやシークレットキーを取得できます。

さらに、パスワードを使わないようにするための取り組みが業界全体(Google、Microsoft etc..)で進行中とのことです。ロールを使用すると、シミュレーションというボタンがあることがわかります。これを利用することで開発者に過剰なパーミッションがあるかもしれないことをフィードバックすることが可能です。この取り組みは、特権を制限するためのジャーニーと言っていました。

ここでVPCエンドポイントに関するコスト周りの質問がでていました。それに対する回答は以下のとおりです。

  • VPCエンドポイントを作成すると、エンドポイントとバックエンド間のファブリック接続でコンピューティングが発生し、それがコストに影響する。
  • AWSとしてコスト削減に取り組んでおり、それは顧客にとっても良いことである。
  • 特に、複数のアカウントやリージョンでエンドポイントを使用する場合、そのコストは増加します。
  • S3のゲートウェイエンドポイントは、エンドポイントポリシーをサポートしています。
  • 複数のアカウントを使用する場合、一つのアカウントでVPCを設定し、そのVPCを他のアカウントで共有することが推奨されています。これにより、各リージョンでのリクエストを一つのネットワークにルーティングすることができ、エンドポイントの数を減らすことができます。
  • AWSの料金は、使用した分だけ支払うという形式をとっています。したがって、大量のリソースを常に稼働させるのではなく、必要なときだけリソースをスケールアップすることでコストを抑えることが可能です。

データ検出とコンプライアンスのためのAWSサービスの使用

複数のサービスが地域化とローカライズのパターンに適合しており、それぞれが特定の地域のデータ形式を認識できる。 MacieはS3バケット全体で自動データ検出を行うことができ、OCR画像などのデータを認識する能力を持っている。また、TextTrackを使用してデータを抽出し、そのデータをComprehendに渡すことができます。
AWSは「ブロック」を提供し、顧客はそれらを組み合わせてソリューションを作成することができます。顧客はTextTrackでデータを抽出し、データをComprehendを使用してPII(個人識別情報)を検出するシステムを構築している事例が存在しています。

データ保護やコンプライアンスの課題に直面する可能性があるため、ログスケールは非常に重要である。 SNSメッセージングシステムとCloudWatchログは、特定のデータタイプがインデックスに含まれていないことを保証するセキュリティポリシーを記述することができる。 システムはこれらのデータボリュームを検出し、対応することができるとしています。

AWSにおけるデータの永続性とバックアップ

静的な認証情報、SSHキーの使用を避けることが強く推奨されています。システムのフローにおいてこれを理解することは非常に重要とし、パラメータ、アクセス制御、暗号化と分散システムを結びつけるメッセージングにおけるデータのクレンジングと検出方法について語っていました。

セキュリティ専門家でさえ見落としがちなのは、データの永続性と耐久性を確保する必要性です。ビジネスによっては、規制上の理由やメンバーとしての期待など、これを行う理由が多数存在します。

AWSでは、データのバックアップについての問いに対し、「データは失われない」という回答が一般的でした。しかし、ユーザーがデータを削除することを防ぐことはありません。

AWS Backupは、ファイルサービスからオブジェクトストア、ブロックストア、データベースサービスまで、ほぼ全てのデータストアサービスに対応しています。AWS Backupを使用すると、別のAWSアカウントや異なるリージョンの異なるアカウントにデータをバックアップするなど、データに対して巧妙な操作を行うことができます。

ただし、全てのデータを常に全ての場所でバックアップするように設定するべきではありません。データの保存に対して料金が発生し、データのコピーに対しても料金が発生します。

AWS Backupは、全てのサービスと統合され、開発者やユーザーがバックアップを管理する経験を向上させます。また、コンプライアンスにも対応しています。AWS Backupは、データのバックアップが必要な規制問題やその他の問題に対応するために設計されています。コンプライアンスの観点から「証明」という要求に対応できます。

AWS Backupは、ログプラットフォームとCloudTrail(監査ログ)により可視性を提供し、大量のアカウントを持つ顧客に対してもスケールします。

クラウドにおけるバックアップ戦略と不変のストレージ

一部の規制フレームワークでは、WORM(Write Once, Read Many)という、一度書き込んだら変更できないストレージが求められます。これは真の不変ストレージとも言えます。クラウド環境では、物理的なデバイスにアクセスできないため、同様の結果を得るためにはソフトウェアが必要となります。AWSでは、この問題を解決するためのソフトウェアを開発しています。

この不変性が本当に保証されているかを規制当局や監査人、組織の管理者にどのように説明するかという問題もあります。AWSでは、第三者機関による検証を通じて、システムの設計と特性が不変性を保証していることを証明しています。

AWSのS3にはObject Lockという機能があり、これを利用することでデータが絶対に変更されないことを保証することができます。Vault LockはこのObject Lockを基に構築されています。

暗号化キーのローテーションについては、2つの理由から必要とされます。一つは、一つの暗号化キーを使って大量のデータを暗号化すると、その暗号文から元のキーを解析する攻撃が可能になる可能性があること。もう一つは、運用者がキーに触れる可能性があることです。

しかし、AWSのKMSとEnvelope Encryptionの設計により、これらのリスクは回避されます。S3に大量のオブジェクトを保存すると、それぞれにユニークなデータ暗号化キーが割り当てられます。実際にローテーションが有用なのは、これらのデータ暗号化キーを保護する上位のルートキーです。データ暗号化キー自体はローテーションする必要はありません。

AWSのGlacierでは、キーのローテーションを行ってもデータを復号化する必要はありません。なぜなら、データは別のキーによって暗号化されているからです。

最後に

ChalkTalkに参加してみました。

スピーカーがウィットに富んだジョークを言う方で会場は度々笑いに包まれていました。

また、質問内容に対して公には言えない情報などもここだけという形で話していたりと現地でしか味わえない雰囲気を感じることができました。

英語力を鍛えて私も積極的に質問できるようになりたいと思いました。

以上、たかやま(@nyan_kotaroo)でした。