※プレゼントキャンペーンのクイズを公開しました!
クイズの回答はこちらから!


クラウドインテグレーション事業部セキュリティセクションの青池です。
なんやかんやで半年ほど禁酒しています。
健康診断の結果がどう変わっているのか楽しみです。

この記事は、iretスペシャリストによるブログリレーキャンペーン「iretスペシャリストからの挑戦状」の第5弾です。

iretのスペシャリスト認定制度についてはiretスペシャリスト認定制度をご覧ください。
私のインタビュー記事はコチラになります。

はじめに

突然ですが、皆さんは管理しているAWSアカウントの脅威対策をおこなっていますか?
クラウド環境は権限があれば誰でも自由に地理的に離れた場所にサーバーを用意したり、設定を変更したりといった操作を簡単に行う事ができます。
しかし、なんとなく行った設定が情報漏えいの危険やアカウントの不正利用に繋がる可能性があることは理解されていても細かく監視していないケースを見かけます。
リスクに気づくことなくシステムを運用しているとある日突然大きな問題に繋がってしまう可能性があります。
脅威は些細な作業ミスから始まることが多いです。そのような脅威を普段から意識できていますか?

ワークロードの保護は気をつけている方が多いかもしれませんが、ワークロードを保護するだけではシステムを安全に運用しているとは言い難いです。
日々の運用から始まる脅威を検知するための施策が重要になります。

コスト、利便性、セキュリティ

システムの規模により異なりますが、一般的には安全性を高めるための取り組みを強化するとより多くのコストが必要になる傾向があります。
では、セキュリティ対策のために多額のコストを投入すればいいのでしょうか?
セキュリティ対策のために無尽蔵に投資をできる企業はほとんどありません。
無尽蔵に投資を行う事ができたとしても利便性が落ちてしまっては意味がありません。
ただ闇雲に対策するのではなくコスト、利便性、セキュリティのバランスの取れた仕組みを構築することが重要になります。

どうしたらいいの?

自分たちに必要な対策はどのようなものなのでしょうか?
どうしていいのかわからないのであれば、まずはガイドを参考に検討してみては如何でしょうか?
あらゆるシステムに対して完璧な対策が取れるわけではないですが、サイバーセキュリティフレームワークの考え方はとても参考になります。

NIST サイバーセキュリティ フレームワーク (CSF)
AWS セキュリティのベストプラクティス

NIST CSFでは「識別」、「防御」、「検知」、「対応」、「復旧」 の 5 つのカテゴリとサブカテゴリで形成されています。

サービス毎の役割

AWSにはセキュリティに関する数多くのサービスがあります。ここでは代表的なサービスを紹介します。
これらのサービスを利用するとコストが発生します。目的を明確にした上で必要なサービスを利用しましょう。

AWSの場合、まずはAWSマネージドサービスで対応できる範囲を理解することが重要になります。

マネージドサービスを適切に組み合わせることで得られる効果は大きいです。
まずはサービスを理解した上で自分たちの求めるセキュリティレベルを担保できないと判断したのであれば、3rd製品や自分たちで不足部分を補うことを検討しましょう。

AWS CloudTrail

AWSアカウントのアクティビティを自動で記録し分析できるサービスです。
概要については 公式サイト を確認してください。

AWS Security Hub

AWSアカウント内の状態を診断し、セキュリティ標準及びベストプラクティスに準拠しているかどうかを把握できるサービスです。
他のアカウント、3rd製品の診断内容などを一元化して把握することができます。
概要については 公式サイト を確認してください。

Amazon GuardDuty

AWS アカウントに対する悪意のあるアクティビティを検知することができる脅威検出サービスです。
概要については 公式サイト を確認してください。

AWS CloudWatch

AWSアカウント上で利用しているサービスの利用状況を監視できるサービスです。
リソースの稼働状況を監視しメトリクスが特定の値を超えた場合に通知したり、リソースの変更をイベントを検知したりなど情報を統合的に管理できます。
概要については 公式サイト を確認してください。

Amazon Detective

潜在的なセキュリティ問題や疑わしいアクティビティの根本原因を分析、調査、特定できるサービスです。
概要については 公式サイト を確認してください。

AWS Config

AWSリソースの設定を継続的に記録し、設定に対する評価を実行する事ができるサービスです。
概要については 公式サイト を確認してください。

AWS Trusted Advisor

AWSアカウントの状態を確認し、推奨項目に対して問題点の改善方法を提案してくれるサービスです。
概要については 公式サイト を確認してください。

使ってみよう

ここでは検知と調査の項目で活躍する、Amazon GuardDutyとAmazon Detectiveについて説明します。
これを機に興味を持っていただければ幸いです。

まずは設定

Amazon GuardDutyは有効化すれば利用可能になります。

※ Amazon GuardDutyが利用するログは明示的に有効にしなくても分析に利用されます。
ただし、Amazon GuardDutyが分析に利用したログにアクセスすることはできません。
これらのログを自分たちで利用したい場合は明示的に有効化してログを保存するようにしてください。

Amazon GuardDutyを有効化してから48時間経過するとAmazon Detectiveを利用可能になります。

Amazon GuardDutyも有効化すれば利用可能になります。
有効化する際にIAMポリシーの設定が必要になります。自分のポリシーを確認して必要に応じて対応してください。

どちらも簡単に設定できますね。
Amazon GuardDuty、Amazon Detectiveはリージョン毎のサービスなので利用したいリージョン毎に設定が必要です。

利用料金については Amazon GuardDutyの料金Amazon Detectiveの料金を確認してください。
とりあえず試してみたいという場合はどちらも30日間無料で利用できます。
コストの状況はこのように確認することができます。

どちらもクロスアカウントに対応しているので、管理用のアカウントで情報を一元管理することも可能です。

使い方

Amazon GuardDutyは先に記したとおり脅威検出サービスです。
AWSへの攻撃はAWSが一番理解しているという強みを生かして、各種ログを収集し機械学習で分析を行い主に以下のカテゴリの脅威を検出します。

カテゴリ 日本語概要
Recon 脆弱性を見つけ出そうとする偵察行動
Unauthorized Access 非正規な方法でのアクセス
Backdoor リソースへの攻撃
Stealth 攻撃の痕跡の隠蔽化
Trojan トロイの木馬の利用
Cryoto Currency マイニング等
Behavior 通称と異なるアクティビティ
Pentest ツールの利用と思われるアクティビティ

参考:【AWS Black Belt Online Seminar】Amazon GuardDuty

サンプルのデータを表示していますが、このように脅威を検出すると一覧に表示され詳細を確認する事ができます。

検知内容の詳細は、公式サイト を確認すると理解が深まると思います。

画像はAWSの外側からEC2インスタンスで作成した一時認証情報が利用されたことを検知した内容です。
EC2で作成した一時認証情報をEC2外での利用は推奨されていません。
このような認証情報の利用がシステムとして意図して行ったものなのか悪意ある第三者による不正利用なのかを詳細から判断する事ができます。

また、攻撃元の情報も確認することができます。

これらの情報はVPC フローログやCloudTrailのイベントログなどを組み合わせて調べることはできますが簡単ではありません。
このような不正利用の状況を早期に発見する事ができるのがAmazon GuardDutyの強みとなります。
また信頼しているIPアドレス、既知の悪意あるIPアドレスをそれぞれカスタムリストとして登録して独自の脅威リストを作成することもできます。

検知した内容をメールで受け取りたい場合などは、以下のようにAmazon CloudWatch EventsとAmazon SNS(Simple Notification Service)を組み合わせる事で実現できます。

設定に関する詳細は ユーザーガイド の「ステップ 4: SNS 経由で GuardDuty 検索アラートを設定する」を確認してください。

では、Amazon GuardDutyで検知した脅威をAmazon Detectiveで分析してみましょう。
脅威の詳細を表示するとDetectiveで調査するという項目があります。
この項目を押下するとカテゴリ毎の観点で分析を行う事ができます。

たとえば、IPアドレスから分析を行うとIPアドレスに関連付く脅威の一覧を確認することができます。

インスタンスから分析を行うとインスタンスに関連づく脅威の一覧を確認する事ができます。

このように多角的に分析を行うことができます。

まとめ

これらの情報は各種ログを収集すれば自分で調べる事ができる情報ではありますが、膨大なログの中から必要な情報を見つけるのは容易ではありません。
脅威に襲われた場合は早期に状況把握し最適な対応を実行するまでの時間を減らすことが重要になります。
Amazon GuardDutyとAmazon Detectiveを利用すれば脅威の検知と分析の時間を大幅に減らすことができます。

ワークロードを保護するためにホストにエージェントを導入して不正な振る舞いを検知するという対策を行っていても、AWSアカウントへの脅威対策まで意識されている方は少ないと思います。
脅威はいつ襲ってくるかわからないです。万が一、データが流出してしまった場合の被害、不正利用された場合の損失は甚大です。
問題が起こってから慌てるのではなく予め準備をしておくのはいかがでしょうか?

これを機に是非、AWSアカウントの脅威対策をご検討ください。