Hayato Kiriyama
February 14, 2020
自己紹介
@hkiriyam1
2 2
This is My Architecture with Cookpad (Making)
AWS re:Invent 2019: Leadership session: AWS security
事業部門、開発部門、一般ユーザー、あらゆる人がセキュリティを利用する
AWS re:Invent 2019: Leadership session: AWS security
あらゆる人にセキュリティを届けるためにセキュリティ専門チームがすべきことは多い
Simple
Complex
Easy
Hard
Easy
Complex
Easy
Complex
自動化、マネージドサービス
透過的、Reduced Friction、ガードレール
AWS IAM
Access Analyzer
Amazon Detective
Limited Preview
その他セキュリティサービスアップデート
AWS KMS
公開鍵暗号をサポート
ポスト量子暗号 TLS のプレビュー
Amazon GuardDuty
検知結果の S3 保存に対応
AWS STS
フェデレーション時にセッションタグ
を受け渡し機能追加
Amazon Cognito
Sign in with Apple に対応
AWS SSO
ID ソースとして外部の SAML 対応
ID プロバイダーをサポート
SCIM によるユーザ・グループの
プロビジョニング連携機能を追加
AWS CLI v2 連携機能を追加
セキュリティ関連のアップデート
Amazon EC2
Amazon Nitro Enclaves の発表
インスタンスメタデータの
セキュリティ強化
Amazon S3
Amazon S3 Access Analyzer
Amazon S3 Access Point
AWS WAF
AWS WAF v2
AWS Managed Rules を提供開始
AWS CloudTrail
AWS CloudTrail Insights
Amazon Fraud Detector
新サービス(Preview)
Amazon CodeGuru
新サービス
Amazon Detective
例えば GuardDuty で検知すると
UnauthorizedAccess:IAMUser/ConsoleLogin を検知
これまでの振る舞いとは異なるコンソールへのログインが確認された
<問題の有無を確認>
検知内容の意味を確認
人が使うアカウントか、システムが使うアカウントか?
どこからログインしたのか?
同じアカウントの過去のログインを確認
同じ IP アドレスからの過去のログインや通信を確認
ログイン後のアクセス内容を確認
アカウント利用者に意図したアクセスか確認
AWS における検知後の調査で課題
検知した後の攻撃成否・被害有無などの調査が難しい
調査すべきログの種類、ログデータ量が多くツールが必要
汎用ツールで分析するには高いセキュリティの知見と手間が必要
Amazon Detective
Limited Preview
Amazon Detective
統計分析、グラフ理論、機械学習を使って分析し可視化
CloudTrail、VPC Flow Logs、GuardDuty
からログを自動的に収集
インタラクティブな可覚化により調査を簡単に
クロスアカウントで、リージョン単位で利用
取込むログのGB単位毎に課金
Limited Preview
https://aws.amazon.com/jp/detective/
Amazon Detective 利用イメージ
GuardDuty や SecurityHub で検知した内容の調査を始める
該当のインシデントを選んで、
メニューからInvetigationを
選択
調査したい検知を選んで
メニューから Investigate を選択
Amazon Detective 利用イメージ
「Geolocation Map」でログインがどこから行われたかを可視化
これまでは US からログイン
今回はシドニーからログイン
Amazon Detective 利用イメージ
「Overall API call volume」で API 呼び出し回数の変化を可視化
成功した API コール
が増加
失敗した API コール
がスパイク後に減少
Amazon Detective 利用イメージ
「Associated findings」で関連している可能性がある検知を確認
同じ時期にビットコインの
マイニング時に接続されること
が多い宛先と通信している
Amazon Detective 利用イメージ
IP アドレスごとの通信量の履歴
マイニング時の
通信先IPアドレス
過去になかった通信
が新たに発生
Amazon Detective によるデータ自動収集・分析
AWS IAM Access Analyzer
AWS におけるアクセス権管理の課題
意図しないアクセス許可がされていないか確認が難しい
多くのリソースがある
多くのポリシーが関連し、実際に許可されている範囲の判断が難しい
常に確認する必要がある
AWS IAM
Access Analyzer
AWS IAM Access Analyzer
アカウント外(認証不要 or 別AWSアカウントなど)に
アクセスが許可されているリソースを見つけ出して確認していく
• アカウント外にアクセスが許可されているリソースが検出される
• 意図した許可は、アーカイブ操作し一覧から除外
意図しない許可は、設定を修正して再スキャン
• 意図した許可と簡単に判断できるものはルールを作成し
自動的にアーカイブさせる
https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html
AWS IAM Access Analyzer 検出結果
AWS IAM Access Analyzer のポイント
有効化が必要
利用料金は無料
AWS アカウント単位、リージョン単位で利用
24時間おき、あるいは新しいポリシーが作成された場合などに
自動的に分析される
Event Bridge で新規に検出した事を通知
Security Hub で結果を統合して確認
AWS IAM Access Analyzer の対象リソース
対象リソース 対象設定
S3 バケット
S3 バケットのバケットポリシー、ACL、アカウント単位のパブリックアク
セス設定
IAM ロール IAM ロールの信頼ポリシー
KMS キー CMK のキーポリシー、キーへの許可
Lambda 関数とレイヤー Lambda 関数のポリシー(EventSourceToken含む)
SQS キュー SQS ポリシー
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access-analyzer-resources.html
セキュリティサービスのアップデート
AWS KMS
公開鍵暗号をサポート
ポスト量子暗号 TLS のプレビュー
Amazon GuardDuty
検知結果の S3 保存に対応
AWS STS
フェデレーション時にセッションタグ
を受け渡し機能追加
Amazon Cognito
Sign in with Apple に対応
AWS SSO
ID ソースとして外部の SAML 対応
ID プロバイダーをサポート
SCIM によるユーザ・グループの
プロビジョニング連携機能を追加
AWS CLI v2 連携機能を追加
セキュリティサービスのアップデート
AWS KMS
公開鍵暗号をサポート
ポスト量子暗号 TLS のプレビュー
Amazon GuardDuty
検知結果の S3 保存に対応
AWS STS
フェデレーション時にセッションタグ
を受け渡し機能追加
Amazon Cognito
Sign in with Apple に対応
AWS SSO
ID ソースとして外部の SAML 対応
ID プロバイダーをサポート
SCIM によるユーザ・グループの
プロビジョニング連携機能を追加
AWS CLI v2 連携機能を追加
AWS KMS 公開鍵暗号をサポート
公開鍵暗号 (非対称暗号) を追加サポート
公開鍵暗号のカスタママスターキー
(CMK)
共通鍵暗号のカスタママスターキーで
暗号化する公開鍵暗号のデータキーペア
RSA キーと楕円曲線 (ECC) キーを
利用しデジタル署名の作成・検証が可能
複合された秘密鍵を KMS から出さずに
利用可能
AWS KMS
https://aws.amazon.com/jp/blogs/security/how-to-set-up-sign-in-with-apple-for-amazon-cognito/
署名
リクエスト
署名
検証
Public
Amazon Cognito 「Apple でサインイン」に対応
「Appleでサインイン」(Sign in with Apple) に対応可能になった
ソーシャルサインイン機能が対応する外部 IdP のひとつに追加
Face ID、Touch ID で多要素認証が行えるようになる
https://aws.amazon.com/jp/blogs/security/how-to-set-up-sign-in-with-apple-for-amazon-cognito/
AWS におけるユーザ認証の主な選択肢
Amazon Cognito AWS Single Sign-On
(SSO)
AWS Directory Service
独自あるいはライブラリ
を使って実装
モバイル・Web (SPA)
向けのユーザ認証を
提供
社員にSAML対応アプリ
やAWSマネージメント
コンソールへの
ログインを提供
Windows Server や
AWS のサービス
WorkDocs, WorkSpaces,
QuickSight などへ
ユーザ認証を提供
アプリの1機能として実装
アプリと同様に仮想マシン上、
コンテナ上、Lambda上
で実装が可能
ユーザ認証をマネージドで提供
AWS Single Sign-On (SSO)
AWS アカウントとビジネスアプリケーションへの
シングルサインオン (SSO) を提供するクラウドサービス
複数 AWS アカウント
のコンソールに
SSO アクセス
簡単に利用を
始めれる
既存の社内 ID 基盤
を活用する
ビジネス
アプリケーションに
SSO アクセス
ID ソースとして SAML 対応の外部 ID プロバイダをサポート
これにより AWS SSO は 3 種類の ID ソースをサポートしています。
Azure AD
AWS SSO が対応している ID ソースとその比較
ID ソース
Active Directory
(AWS Directory Service連携)
AWS SSO 外部 SAML ID プロバイダ
サインイン場所 AWS SSO ポータル AWS SSO ポータル 外部 ID プロバイダ
ユーザ認証情報
保存場所
Active Directory AWS SSO 内部ストア 外部 ID プロバイダ
MFA サポート 仮想 or RADIUS 仮想 外部 ID プロバイダ依存
ユーザの作成方法
Active Directory の
管理ツールで作成
AWS SSO コンソール
で作成
Azure AD で作成し
SCIM で自動連携
or
Azure AD で作成し
AWS SSO コンソールでも作成
CLI v2 ログイン連携 ◯ ◯ ◯
アプリ・AWSアカウ
ントへのアクセス権を
AWS SSOで管理
◯ ◯ ◯
AWS SSO ポータルか
らログイン先を選択
◯ ◯ ◯
SCIM を使った ID の同期機能をサポート
ID ソースとして SAML 対応の外部 ID プロバイダを利用する場合は、
対となるユーザが AWS SSO 内部ストアに存在する必要があります。
Azure AD
AWS CLI v2 が AWS SSO での認証をサポート
AWS CLI v2 とブラウザで連携して AWS SSO での認証に基づいて、
CLI が利用できるようになりました。ログインすると短期間利用できる認
証情報がローカルに保存されます。
https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-now-supports-aws-single-sign-on/
セキュリティ関連のアップデート
Amazon EC2
Amazon Nitro Enclaves の発表
インスタンスメタデータの
セキュリティ強化
Amazon S3
Amazon S3 Access Analyzer
AWS WAF
AWS WAF v2
AWS Managed Rules を提供開始
AWS CloudTrail
AWS CloudTrail Insights
セキュリティ関連のアップデート
Amazon EC2
Amazon Nitro Enclaves の発表
インスタンスメタデータの
セキュリティ強化
Amazon S3
Amazon S3 Access Analyzer
AWS WAF
AWS WAF v2
AWS Managed Rules を提供開始
AWS CloudTrail
AWS CloudTrail Insights
EC2 インスタンスメタデータのセキュリティ強化
新しいアクセス方式 v2 の提供を開始
2 ステップのアクセス方式
短時間のみ有効なセッショントークンを取得
トークンを利用してメタデータを取得
パケットの TTL = 1 にして応答
標準では IMDSv1 と v2 の双方が有効だ
が、設定によって IMDSv2 のみに制限
Instance
Endpoints
https://aws.amazon.com/jp/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/
AWS WAF (v2)
v2 として新しい AWS WAF のサービスの提供を開始
これまでの AWS WAF は AWS WAF Classic に
ルールの記述方法を拡張
OR 、複数のトランスフォーム、CIDR 表記
ルールの記述方法が JSON のドキュメントベースに統一
WAF Capacity Unit (WCU) を新たに利用
WebACL あたり最大 10 ルールの制限は撤廃
その他諸々の制限の緩和 (e.g. フィルタ数の上限など)
AWS WAF – AWS Managed Rule (AMR)
AWS が提供するルールセット
AWS Threat Research Team (TRT) が
作成及びメンテナンスを実施
WAF Capacity Unit (WCU) は消費するが
それ以外の追加費用は不要
• Amazon IP reputation list
• Core rule set
• Known bad inputs
• Linux operating system
• PHP application
• POSIX operating system
• SQL database
• Windows operating system
2019/12/16 時点でのルールセット
ありがとうございました

SecurityJAWS AWS Security Services Update 20200214

  • 1.
  • 2.
  • 4.
    This is MyArchitecture with Cookpad (Making)
  • 5.
    AWS re:Invent 2019:Leadership session: AWS security 事業部門、開発部門、一般ユーザー、あらゆる人がセキュリティを利用する
  • 6.
    AWS re:Invent 2019:Leadership session: AWS security あらゆる人にセキュリティを届けるためにセキュリティ専門チームがすべきことは多い
  • 7.
  • 8.
  • 9.
  • 10.
    AWS IAM Access Analyzer AmazonDetective Limited Preview
  • 11.
    その他セキュリティサービスアップデート AWS KMS 公開鍵暗号をサポート ポスト量子暗号 TLSのプレビュー Amazon GuardDuty 検知結果の S3 保存に対応 AWS STS フェデレーション時にセッションタグ を受け渡し機能追加 Amazon Cognito Sign in with Apple に対応 AWS SSO ID ソースとして外部の SAML 対応 ID プロバイダーをサポート SCIM によるユーザ・グループの プロビジョニング連携機能を追加 AWS CLI v2 連携機能を追加
  • 12.
    セキュリティ関連のアップデート Amazon EC2 Amazon NitroEnclaves の発表 インスタンスメタデータの セキュリティ強化 Amazon S3 Amazon S3 Access Analyzer Amazon S3 Access Point AWS WAF AWS WAF v2 AWS Managed Rules を提供開始 AWS CloudTrail AWS CloudTrail Insights Amazon Fraud Detector 新サービス(Preview) Amazon CodeGuru 新サービス
  • 13.
  • 14.
    例えば GuardDuty で検知すると UnauthorizedAccess:IAMUser/ConsoleLoginを検知 これまでの振る舞いとは異なるコンソールへのログインが確認された <問題の有無を確認> 検知内容の意味を確認 人が使うアカウントか、システムが使うアカウントか? どこからログインしたのか? 同じアカウントの過去のログインを確認 同じ IP アドレスからの過去のログインや通信を確認 ログイン後のアクセス内容を確認 アカウント利用者に意図したアクセスか確認
  • 15.
  • 16.
    Amazon Detective 統計分析、グラフ理論、機械学習を使って分析し可視化 CloudTrail、VPC FlowLogs、GuardDuty からログを自動的に収集 インタラクティブな可覚化により調査を簡単に クロスアカウントで、リージョン単位で利用 取込むログのGB単位毎に課金 Limited Preview https://aws.amazon.com/jp/detective/
  • 17.
    Amazon Detective 利用イメージ GuardDutyや SecurityHub で検知した内容の調査を始める 該当のインシデントを選んで、 メニューからInvetigationを 選択 調査したい検知を選んで メニューから Investigate を選択
  • 18.
    Amazon Detective 利用イメージ 「GeolocationMap」でログインがどこから行われたかを可視化 これまでは US からログイン 今回はシドニーからログイン
  • 19.
    Amazon Detective 利用イメージ 「OverallAPI call volume」で API 呼び出し回数の変化を可視化 成功した API コール が増加 失敗した API コール がスパイク後に減少
  • 20.
    Amazon Detective 利用イメージ 「Associatedfindings」で関連している可能性がある検知を確認 同じ時期にビットコインの マイニング時に接続されること が多い宛先と通信している
  • 21.
    Amazon Detective 利用イメージ IPアドレスごとの通信量の履歴 マイニング時の 通信先IPアドレス 過去になかった通信 が新たに発生
  • 22.
  • 23.
  • 24.
  • 25.
    AWS IAM AccessAnalyzer アカウント外(認証不要 or 別AWSアカウントなど)に アクセスが許可されているリソースを見つけ出して確認していく • アカウント外にアクセスが許可されているリソースが検出される • 意図した許可は、アーカイブ操作し一覧から除外 意図しない許可は、設定を修正して再スキャン • 意図した許可と簡単に判断できるものはルールを作成し 自動的にアーカイブさせる https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html
  • 26.
    AWS IAM AccessAnalyzer 検出結果
  • 27.
    AWS IAM AccessAnalyzer のポイント 有効化が必要 利用料金は無料 AWS アカウント単位、リージョン単位で利用 24時間おき、あるいは新しいポリシーが作成された場合などに 自動的に分析される Event Bridge で新規に検出した事を通知 Security Hub で結果を統合して確認
  • 28.
    AWS IAM AccessAnalyzer の対象リソース 対象リソース 対象設定 S3 バケット S3 バケットのバケットポリシー、ACL、アカウント単位のパブリックアク セス設定 IAM ロール IAM ロールの信頼ポリシー KMS キー CMK のキーポリシー、キーへの許可 Lambda 関数とレイヤー Lambda 関数のポリシー(EventSourceToken含む) SQS キュー SQS ポリシー https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access-analyzer-resources.html
  • 29.
    セキュリティサービスのアップデート AWS KMS 公開鍵暗号をサポート ポスト量子暗号 TLSのプレビュー Amazon GuardDuty 検知結果の S3 保存に対応 AWS STS フェデレーション時にセッションタグ を受け渡し機能追加 Amazon Cognito Sign in with Apple に対応 AWS SSO ID ソースとして外部の SAML 対応 ID プロバイダーをサポート SCIM によるユーザ・グループの プロビジョニング連携機能を追加 AWS CLI v2 連携機能を追加
  • 30.
    セキュリティサービスのアップデート AWS KMS 公開鍵暗号をサポート ポスト量子暗号 TLSのプレビュー Amazon GuardDuty 検知結果の S3 保存に対応 AWS STS フェデレーション時にセッションタグ を受け渡し機能追加 Amazon Cognito Sign in with Apple に対応 AWS SSO ID ソースとして外部の SAML 対応 ID プロバイダーをサポート SCIM によるユーザ・グループの プロビジョニング連携機能を追加 AWS CLI v2 連携機能を追加
  • 31.
    AWS KMS 公開鍵暗号をサポート 公開鍵暗号(非対称暗号) を追加サポート 公開鍵暗号のカスタママスターキー (CMK) 共通鍵暗号のカスタママスターキーで 暗号化する公開鍵暗号のデータキーペア RSA キーと楕円曲線 (ECC) キーを 利用しデジタル署名の作成・検証が可能 複合された秘密鍵を KMS から出さずに 利用可能 AWS KMS https://aws.amazon.com/jp/blogs/security/how-to-set-up-sign-in-with-apple-for-amazon-cognito/ 署名 リクエスト 署名 検証 Public
  • 32.
    Amazon Cognito 「Appleでサインイン」に対応 「Appleでサインイン」(Sign in with Apple) に対応可能になった ソーシャルサインイン機能が対応する外部 IdP のひとつに追加 Face ID、Touch ID で多要素認証が行えるようになる https://aws.amazon.com/jp/blogs/security/how-to-set-up-sign-in-with-apple-for-amazon-cognito/
  • 33.
    AWS におけるユーザ認証の主な選択肢 Amazon CognitoAWS Single Sign-On (SSO) AWS Directory Service 独自あるいはライブラリ を使って実装 モバイル・Web (SPA) 向けのユーザ認証を 提供 社員にSAML対応アプリ やAWSマネージメント コンソールへの ログインを提供 Windows Server や AWS のサービス WorkDocs, WorkSpaces, QuickSight などへ ユーザ認証を提供 アプリの1機能として実装 アプリと同様に仮想マシン上、 コンテナ上、Lambda上 で実装が可能 ユーザ認証をマネージドで提供
  • 34.
    AWS Single Sign-On(SSO) AWS アカウントとビジネスアプリケーションへの シングルサインオン (SSO) を提供するクラウドサービス 複数 AWS アカウント のコンソールに SSO アクセス 簡単に利用を 始めれる 既存の社内 ID 基盤 を活用する ビジネス アプリケーションに SSO アクセス
  • 35.
    ID ソースとして SAML対応の外部 ID プロバイダをサポート これにより AWS SSO は 3 種類の ID ソースをサポートしています。 Azure AD
  • 36.
    AWS SSO が対応しているID ソースとその比較 ID ソース Active Directory (AWS Directory Service連携) AWS SSO 外部 SAML ID プロバイダ サインイン場所 AWS SSO ポータル AWS SSO ポータル 外部 ID プロバイダ ユーザ認証情報 保存場所 Active Directory AWS SSO 内部ストア 外部 ID プロバイダ MFA サポート 仮想 or RADIUS 仮想 外部 ID プロバイダ依存 ユーザの作成方法 Active Directory の 管理ツールで作成 AWS SSO コンソール で作成 Azure AD で作成し SCIM で自動連携 or Azure AD で作成し AWS SSO コンソールでも作成 CLI v2 ログイン連携 ◯ ◯ ◯ アプリ・AWSアカウ ントへのアクセス権を AWS SSOで管理 ◯ ◯ ◯ AWS SSO ポータルか らログイン先を選択 ◯ ◯ ◯
  • 37.
    SCIM を使った IDの同期機能をサポート ID ソースとして SAML 対応の外部 ID プロバイダを利用する場合は、 対となるユーザが AWS SSO 内部ストアに存在する必要があります。 Azure AD
  • 38.
    AWS CLI v2が AWS SSO での認証をサポート AWS CLI v2 とブラウザで連携して AWS SSO での認証に基づいて、 CLI が利用できるようになりました。ログインすると短期間利用できる認 証情報がローカルに保存されます。 https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-now-supports-aws-single-sign-on/
  • 39.
    セキュリティ関連のアップデート Amazon EC2 Amazon NitroEnclaves の発表 インスタンスメタデータの セキュリティ強化 Amazon S3 Amazon S3 Access Analyzer AWS WAF AWS WAF v2 AWS Managed Rules を提供開始 AWS CloudTrail AWS CloudTrail Insights
  • 40.
    セキュリティ関連のアップデート Amazon EC2 Amazon NitroEnclaves の発表 インスタンスメタデータの セキュリティ強化 Amazon S3 Amazon S3 Access Analyzer AWS WAF AWS WAF v2 AWS Managed Rules を提供開始 AWS CloudTrail AWS CloudTrail Insights
  • 41.
    EC2 インスタンスメタデータのセキュリティ強化 新しいアクセス方式 v2の提供を開始 2 ステップのアクセス方式 短時間のみ有効なセッショントークンを取得 トークンを利用してメタデータを取得 パケットの TTL = 1 にして応答 標準では IMDSv1 と v2 の双方が有効だ が、設定によって IMDSv2 のみに制限 Instance Endpoints https://aws.amazon.com/jp/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/
  • 42.
    AWS WAF (v2) v2として新しい AWS WAF のサービスの提供を開始 これまでの AWS WAF は AWS WAF Classic に ルールの記述方法を拡張 OR 、複数のトランスフォーム、CIDR 表記 ルールの記述方法が JSON のドキュメントベースに統一 WAF Capacity Unit (WCU) を新たに利用 WebACL あたり最大 10 ルールの制限は撤廃 その他諸々の制限の緩和 (e.g. フィルタ数の上限など)
  • 43.
    AWS WAF –AWS Managed Rule (AMR) AWS が提供するルールセット AWS Threat Research Team (TRT) が 作成及びメンテナンスを実施 WAF Capacity Unit (WCU) は消費するが それ以外の追加費用は不要 • Amazon IP reputation list • Core rule set • Known bad inputs • Linux operating system • PHP application • POSIX operating system • SQL database • Windows operating system 2019/12/16 時点でのルールセット
  • 44.