AWS CloudTrail のログを Splunk App for AWS Security Dashboards にセットアップして分析してみた

Splunk App の Splunk App for AWS Security Dashboards をインストールして AWS CloudTrail のログでセットアップしたので、どんなことが出来るのか学ぶために触ってみました。
2024.05.08

本ブログは次のドキュメントを参考にまとめました。

それではどうぞ

Splunk App for AWS Security Dashboards とは?

Splunk にはログのユースケースに応じて可視化をするために App と呼ばれる組み込みのダッシュボードが存在します。

今回ご紹介する App の Splunk App for AWS Security Dashboards には、2種類のダッシュボードが存在します。1つ目はセキュリティダッシュボードというもので、AWS CloudTrail や VPC Flowlogs, Security Group, Config, S3 Access など幅広いリソースのエラーやアクティビティ、統計データを表示してくれます。

もう1つは、インサイトダッシュボードというもので、分析情報から重要度レベルを表示してセットアップや構成の様々な問題点を表示してくれるダッシュボードです。

今回は、AWS CloudTrail のログを取り込み、セキュリティダッシュボードでどのように見えるのかをお伝えしたいと思います。

Splunk App for AWS Security Dashboards は Add-in の App なので、まずインストールするところから見ていきましょう。

Splunk App for AWS Security Dashboards をインストールする

App > 他のAppのサーチで次の図の Splunk App for AWS Security Dashboards を探してインストールをします。

インストールが完了したら中身を見てみましょう。App > Splunk App for AWS Security Dashboardsを選択してください。すると OverView というダッシュボードの概要ページが表示されます。※ まだログのセットアップを行っていないので0件で表示されています。

これを可視化させるために Splunk Add-on for AWS という Add-on もインストールしていきます。

Splunk Add-on for AWS とは?

Splunk には、先ほど紹介した Splunk App for AWS Security Dashboards のような App の利用を簡単に始めるために Add-on と呼ばれるログのセットアップの支援機能が存在します。

Splunk Add-on for AWS は、AWS リソースやサービスごとにログ収集方法のガイダンスや、取り込み状況のヘルスステータスを表示してくれます。

Splunk Add-on for AWS をインストールする

Add-on のインストールも先ほど同様にApp > 他のAppのサーチで次の図の Splunk Add-on for Amazon Web Service(AWS) を探してインストールをします。

インストールが完了したら中身を見てみましょう。App >Splunk Add-on for AWSを選択してください。すると 入力 という画面が表示されます。ログの取り込み設定を行っていればここに表示されます。

Splunk Add-on for AWS でログを収集する

CloudTrail のログ収集については、こちらのブログにまとまっています。ログ収集方法についてはリンク先をご参照ください。

上手くいけば sourcetype=aws:cloudtrail で検索して次のようにログが表示されます。

ログは収集できたので、ログ分析をしていきましょう。

Splunk App for AWS Security Dashboards で CloudTrail ログを分析してみる

App > Splunk App for AWS Security Dashboards を開きます。すると次のように表示されました。

左上 IAM Error というパネルを見ると、1つカウントされています。他にも Unauthorized Activity パネルでも1つカウントされています。

Security Overview ダッシュボードでは、そのまま下にスクロールして、起きていることの概要を掴むことが出来ます。

まず、Map を見るとキューバからアクセスされていることが分かります。その中に Unauthorized という項目がありますね。これは権限によるアクセス拒否か、不正なアクセスエラーを表します。意図していない地域からのアクセスであれば疑ってかかりましょう。

他にも、Authorized vs Unauthorized Activity by User(Deepl 翻訳:ユーザーによる承認済みアクティビティと未承認アクティビティ)パネルを見ると、Test-Splunk-User1 というユーザで Unauthorized のアクティビティが観測されています。右の Authorized vs Unauthorized Activity by Event Name(Deepl 翻訳:イベント名による許可された活動と許可されていない活動)パネルでは、CreateUser が実行されていることが分かります。新たなユーザを作成しようとしている様です。

もっと詳細に見ていきましょう。IAM Error パネルの数字を選択してみると次のように IAM Activity というダッシュボードに遷移しました。

先ほど同様に Test-Splunk-User1 というユーザで Unauthorized と Error を確認できます。下にスクロールすると、何をしようとしたのかが見えてきます。

ここでは、CloudTrail ログの errorCode と errorMessage も表示されます。CreateUser のイベントが1回発生しており、Test-Splunk-User1 というユーザが、Test-Splunk-User2 を作成しようとしているみたいです。

他にも怪しい行動を裏付けるログが無いか確認してみます。メニューバーの セキュリティ > User Activity ダッシュボードを開きます。

ダッシュボード上部にフィルター機能があります。ユーザ名を選択することで特定のユーザ情報に絞り込めます。Test-Splunk-User1 を選択しました。

ここまで調査してきた通り、Error Activities や Unauthorized Activities にカウントされています。

下にスクロールすると Most Recent User Activity Grouped by Event Name(Deepl 翻訳:イベント名でグループ化された最新のユーザー活動)パネルには ListUsers のイベントも発生していることが分かります。ユーザ情報が探索されている様です。

テーブルの行を選択すると実際のログと地理的場所を把握できるようになります。

左側ログを見ると使用されたアクセスキーなども確認することが出来ます。

また、Map パネルのクエリを見てみると次のように | iplocation sourceIPAddress というサーチ文が確認できます。これにより、CloudTrail ログの sourceIPAddress に記載されているクライアントの ip アドレスをもとに地理的場所を表示しています。

攻撃者は企業の環境を把握しようとしてユーザ探索を行い、有効なアカウントを発見し、アクセス権限を編集しようとしたり、権限の強いユーザを検出して、最終的にはアカウントごと乗っ取り(ATO)を完了させようとします。

先ほどマップで確認したように海外からのアクセスであることと、権限のないユーザが行わないであろう行動、そして MITER ATT&CK と照らし合わせて考えると攻撃者の行動に近しいことから分かる様に今回見てきた内容は怪しく映りますので、該当のユーザに運用上発生した作業かどうか確認してみましょう。もし実行していないのであれば、アクセスキー/シークレットキーが漏れて AWS CLI 経由でアクセスされている可能性もあるのでローテーションするなどの対応が必要になります。

まとめ

いかがでしたでしょうか。かなりスモール規模ですが、Amazon CloudTrail ログのみを Splunk に取り込んで分析してみました。僕自身とてもいいなと思ったのはパネルを選択してそのまま別のダッシュボードにドリルダウン出来たり、クエリを表示してくれて詳細なログを見れたので突き詰めて調査しやすいと感じました。

そして、ダッシュボードで選択したフィルタ条件のまま別のダッシュボードを表示してくれます。細かいところですが、いざ調査する時には効率的な嬉しい機能ですね。

もっとほかのログを取り込んで相関関係を分析してみて、別のユースケースもご紹介したいと思います。

皆様の一助になれば幸いです。