CloudTrailデータをセキュリティ運用と脅威ハンティングに活用する方法

Security Tamara Chacon

クラウドにワークロードを移行する組織が増える中、どの組織のセキュリティチームも同じ疑問を抱えています。

このブログ記事では、AWSセキュリティテレメトリの最も価値あるソースの1つである CloudTrail を重点的に取り上げます。CloudTrailログは、AWS環境全域でのアクティビティの痕跡を記録する、デジタルの「パンくず」のような役割を果たします。これらのログは、インシデント発生時の状況を理解するために不可欠なものですが、脅威の早期発見に向けた検出機能を構築するうえでも欠かせません。

(この記事は「Splunkで脅威ハンティング」シリーズの一部です。お客様に最大限の価値を提供できるよう、その内容を最近更新しました。)

AWS CloudTrailとは?

アマゾン ウェブ サービス (AWS)では、CloudTrailを「AWSアカウントのガバナンス、コンプライアンス、運用監査、リスク監査を行うためのサービス」と定義しています。ユーザー、ロール、サービスがAWS内で何らかのサービスの実行を試みた場合、それが成功したか失敗したかを問わず、そのイベントに関する情報を含むログが生成されます。CloudTrailはセキュリティ運用において非常に価値あるデータソースであるため、AWSではお客様のアカウントでデフォルトで有効になっています。

AWSサービスは、Amazonが提供するサービスです。例として、EC2によるコンピューティング、RDSのリレーショナルデータベース、さらにはCloudTrailのロギング機能などが挙げられます。CloudTrailを有効にすることで、ユーザーは次の詳細情報を取得できます。

CloudTrailログをSplunkに取り込む

AWS CloudTrailログをSplunkに取り込むには、いくつかの方法があります。導入環境(Splunk CloudまたはSplunk Enterprise)、許容できるレイテンシー、導入規模などによっても異なりますが、主な方法は以下のとおりです。

方法
サポート
推奨
注意事項
セットアップ用リンク
S3 + SQS (Splunk Add-on for AWS)
信頼性の高いプル方式です。S3のログが更新されるとSQSがSplunkに通知します。
ガイド
Splunk Data Manager (Cloudのみ)
Splunk Cloudユーザー向けに簡素化されたUIベースの取り込みです。
ガイド
Kinesis Firehose → HEC
FirehoseとHECを使用したリアルタイムプッシュ方式。レイテンシーをより少なく抑えることができます。
ガイド
Lambda → HEC
🚫
(旧方式)
Lambdaブループリントを使用した旧来のプッシュ方式です。まだ使用できますが、拡張性に欠けます。
アーカイブ済みドキュメント
CloudWatch Logs → Firehose → HEC
🚫
動作しますが、複雑になる可能性があります。すでにCloudWatchにログをストリーミングしている場合に最適です。
Firehoseガイドと同じ
Amazon Security Lake (OCSF)
Splunk Add-on for AWS (v7.0以上)を使用して、OCSF経由で正規化されたCloudTrailを取り込みます。
ガイド

CloudTrailイベントの形式

ここでは、Githubから入手できるBOTSデータセットを使用して説明します。IAMサービスに対するCreateKeyPairアクションを示しているイベントを見てみましょう。生のJSON形式のCloudTrailイベントは以下のようになります。

{"requestParameters": {"keyName": "BOTS"}, "userAgent": "signin.amazonaws.com",
"eventVersion": "1.05", "eventName": "CreateKeyPair", "userIdentity": {"accountId": 
"622676721278", "arn": "arn:aws:iam::622676721278:user/frothly_admin", "sessionContext": 
{"attributes": {"mfaAuthenticated": "false", "creationDate": "2018-07-26T20:56:40Z"}},
"accessKeyId": "ASIAZB6TMXZ7GUK5FY3H", "principalId": "AIDAIUCPPDM575G2FVOTI",
"userName": "frothly_admin", "type": "IAMUser", "invokedBy": "signin.amazonaws.com"},
"responseElements": {"keyFingerprint":
"02:36:de:d2:6a:97:c5:a7:f2:e7:b2:d8:ce:95:a7:bd:85:a6:af:39", "requestId": "477c8411-ae6b-4be6-9756-6cd1a29f503b", "keyName": "BOTS", "keyMaterial": ""}, 
"recipientAccountId": "622676721278", "eventSource": "ec2.amazonaws.com", "eventTime":
"2018-07-26T21:08:28Z", "requestID": "477c8411-ae6b-4be6-9756-6cd1a29f503b", 
"awsRegion": "us-west-1", "sourceIPAddress": "12.196.122.120", "eventType": "AwsApiCall", 
"eventID": "597b5cd4-9f1d-4087-a9e0-7a9e73d9aa3a"}

Splunkはこの生データを解析してCloudTrailフィールドを抽出し、生のJSONイベントから、構文が強調表示された次のような構造化ビューを生成します。

構造化ビュー

このイベントを見ると、次のことがすぐにわかります。

アクションに関する詳細は、以下に挙げるその他のフィールドで確認できます。

主要なCloudTrailフィールド

フィールド名
説明
awsRegion
リクエストが行われたAWSリージョン。
errorCode
AWSサービスエラー(リクエストがエラーを返した場合)。
eventName
リクエストされたアクション。そのサービスのAPIのアクションの1つ。
eventSource
リクエスト対象のサービス。
eventTime
リクエストが行われた日時(UTC)。
requestParameters
リクエストと共に送信されたパラメーター(存在する場合)。
sourceIPAddress
リクエストの送信元のIPアドレス。サービスコンソールから実行されるアクションの場合、報告されるアドレスはコンソールのWebサーバーではなく、基盤となる顧客リソースのアドレスになる。
userIdentity
リクエストを行ったIAM IDの種類と使用された認証情報に関する多くの詳細が含まれる。

eventName

「eventName」は特に注目すべきフィールドです。このフィールドには、リクエストされたアクション(そのサービスのAPIのアクションの1つ)が含まれます。このフィールドをcountで並べ替え、正規表現を使ってサブフィールドをフィルタリングすると、個々のアクションと対応するサービスをさらに詳しく特定できます。

eventName

ここでは、AWS Configサービスが大量のDescribeEvaluationStatusリクエストを生成していることが確認できます。このブログ記事では、Configとそのデータの全容まではお伝えできませんが、CloudTrailが記録するイベントタイプは、GetDescribeRunなどのアクションから、Config、EC2インスタンス、S3バケットなどのサービスに至るまで、多岐にわたることを認識しておくことが重要です。

CloudTrailデータを活用したサイバーセキュリティのユースケース

では、CloudTrailがセキュリティ運用をどのようにサポートするかを見ていきましょう。

ユースケース1:認証情報の侵害の検出

認証情報の侵害の兆候を検出することは、あらゆる環境に共通したセキュリティ運用のゴールです。CloudTrailは、特にこの点において効果を発揮します。

「予防は治療に勝る」という言葉もあります。そこで、まずはリスク増加の指標をどのように特定するかを見てみましょう。AWSのセキュリティポリシーを確立するうえで、広く認知されているリソースにCIS AWS Foundations Benchmarkがあります。2025年時点の最新バージョン(v5.0.0)では、AWS環境のセキュリティを保護するための最新のベストプラクティスが提供されています。AWS Security Hubが現在サポートしているバージョンは v3.0.0 ですが、どちらのバージョンを使用しても、構成リスクを評価し、ベースラインコントロールを定義し、侵害の可能性を事前に低減できます。

CISは、以下のそれぞれで多要素認証(MFA)を使用することを常に強く推奨しています。

これらのコントロールはCIS AWS Foundations Benchmark v3.0.0に含まれており、v5.0.0にも引き継がれています。つまり、これらのアカウントでMFAが有効になっていないと、環境を不要なリスクにさらすことになります。

コンソールログインは、CloudTrailのeventNameに「ConsoleLogin」として表示されます。コンソールログインでのMFAの使用は、additionalEventDataセクションに表示されます。これらの2つの属性をSplunkサーチに組み合わせることで、MFAを使用せずにコンソールにログインしているユーザーを特定できます。

 |sourcetype=aws:cloudtrail eventName=ConsoleLogin
 | stats count by username, additionalEventData.MFAUsed

認証情報の侵害の検出

ユーザー「bstoll」がMFAを使用せずにコンソールに4回ログインしたことが確認できます。組織内でのこうしたポリシー違反については、bstoll本人またはその管理者に連絡し、コンソールアカウントでMFAを有効にするようフォローアップする必要があります。幸いなことに、MFAを使用せずにroot権限でログインした形跡はありませんでした。

このサーチは、必要に応じてSOCが対応すべきアラートとして簡単に保存できます。

アラート

ユースケース2:セキュリティハンティング

CloudTrailを、プロアクティブなアラートではなくセキュリティハンティングに活用する方法を見てみましょう。サービスアクションに関連するエラーをいくつか確認します。簡単なサーチでさまざまなエラーメッセージを表示できます。

sourcetype=aws:cloudtrail
 | stats count by errorCode
 | sort - count

セキュリティハンティング

ほとんどのAPIのアクションが成功しています。侵害されたアカウントによるアクションであってもコマンドの実行が成功する場合もありますが、ここではより取り組みやすい問題から見ていきましょう。errorCodeが「AccessDenied」のイベントが7件あります。さらに詳しく調べてみる必要がありそうです。

これらのイベントをフィルタリングし、表形式で出力すると、興味深い結果が得られます。

sourcetype=aws:cloudtrail errorCode=AccessDenied
| table awsregion, eventName, userName, src_ip, userAgent, errorMessage

表形式

このビューを見ると、ユーザーweb_adminが何度もアクションを試み、最終的に拒否されていることがわかります。errorMessageに、いくつかの疑わしいアクティビティが示されています。

状況を把握するために、SOCチームに追跡調査を依頼しましょう。

まとめ

CloudTrailは、AWSセキュリティ運用において最も価値あるデータソースの1つです。CloudTrailによって、環境全域にわたるユーザーアクティビティとサービスアクティビティの詳細な記録がもたらされ、検出と調査に不可欠な環境の可視化が実現します。

CloudTrailログをSplunkに取り込むことで、セキュリティチームはシンプルかつ強力なクエリを使用して、設定ミスを発見し、認証情報の侵害の兆候を検出し、不審な行動を調査できます。CIS AWS Foundations Benchmarkにまとめられているベストプラクティスなどと組み合わせれば、CloudTrailを強力なクラウドセキュリティ態勢の基盤コンポーネントとすることができます。

ポリシー違反を監視する場合でも、侵害の些細な兆候を追跡する場合でも、CloudTrailなら情報に基づいた迅速な対応に求められるコンテキストを提供できます。

Splunkはセキュリティチームをいつでもサポートします。

このブログはこちらの英語ブログの翻訳、塚本 政彦によるレビューです。

関連記事

シーザー暗号とは?
セキュリティ
7 分程度

シーザー暗号とは?

シーザー暗号は、情報を安全に伝達するために使用されてきた最も古い暗号化技法の1つです。シンプルですが、簡単に解読できてしまうのが欠点です。このブログ記事では、シーザー暗号について説明します。
CloudTrailデータをセキュリティ運用と脅威ハンティングに活用する方法
セキュリティ
10 分程度

CloudTrailデータをセキュリティ運用と脅威ハンティングに活用する方法

このブログ記事では、AWS CloudTrailをセキュリティログツールとして使って脅威ハンティングを行う方法について説明します。
Splunkがガートナー社マジック・クアドラントのSIEM部門でリーダーの1社に選出、実行能力で最高位の評価
セキュリティ
5 分程度

Splunkがガートナー社マジック・クアドラントのSIEM部門でリーダーの1社に選出、実行能力で最高位の評価

Splunkがガートナー社による2025年のマジック・クアドラントSIEM(セキュリティ情報/イベント管理)部門で、またもやリーダーの1社に選出されました。11回連続の快挙です。