クラウドアカウント乗っ取りの検出:脅威調査リリース(2022年10月)

Security Mauricio Velazco , Splunk Threat Research Team

Splunk脅威調査チーム(STRT)は先日、3つの新しい分析ストーリー(Azure Active Directory Account TakeoverAWS Identity and Access Management Account TakeoverGCP Account Takeover)をリリースしました。セキュリティアナリストはこの分析ストーリーを使用して、一部の大規模なパブリッククラウドサービスプロバイダーを標的としたクラウドアカウント乗っ取り攻撃を検出できます。このブログ記事では、各クラウドプロバイダーで利用できるテレメトリと、そのデータをSplunkに取り込む際のオプションについて説明します。最後に、これらの分析ストーリーで利用できる検出方法をいくつかご紹介します。

クラウドのラボ環境を対象に行った攻撃のシミュレーションと、セキュリティチームがSplunkを使用してそれを検出する方法の詳細については、以下のビデオ(英語)をご覧ください。

セキュリティチームのビデオ

はじめに

アカウント乗っ取り(ATO)はIDを標的とした攻撃であり、サイバー犯罪者はそれを足がかりに、パスワードスプレー攻撃、ソーシャルエンジニアリング、マルウェア感染、クレデンシャルスタッフィングなどさまざまな手法を使ってオンラインアカウントに不正アクセスを行います。この不正アクセスでは、実際のユーザーを装ってアカウントの詳細情報を変更したり、機密情報を盗み出したりといった悪質な攻撃が実行されます。場合によっては、1人の従業員のオンラインアカウントが侵害されただけで、標的となった組織内で攻撃者がアクセス権を拡大し、機密性の高い内部システムやアプリケーションを乗っ取ってしまうこともありす。

2022年にLapsus$グループによって実行されたいくつかのセキュリティ侵害では、このような攻撃が実際に行われたことが確認されています。これらの攻撃では、マルウェアを配布したり、コマンドアンドコントロールチャネルを使用して攻撃対象のネットワークを侵害したりといった従来の手法ではなく、ソーシャルエンジニアリングと認証情報の盗難を組み合わせて、機密情報大企業への特権アクセスを手に入れることに成功していました。

Splunkダッシュボード

クラウドアカウント乗っ取りの監視

クラウドアカウントの乗っ取りを効果的に監視するには、認証とアカウントアクティビティのテレメトリを取り込んでインデックスする必要があります。このテレメトリは通常、特定のクラウドプロバイダーが利用しているアイデンティティプロバイダーから取得できます。アイデンティティプロバイダーは、プリンシパルのID情報の作成と維持管理を行うほか、依存しているアプリケーションへの認証サービスも提供するシステムエンティティです。

このセクションでは、アマゾン ウェブ サービス(AWS)、Microsoft Azure、Google Cloud Platformで利用されているネイティブのアイデンティティプロバイダーについて概説します。また、これらのアイデンティティプロバイダーで利用可能なテレメトリと、そのデータをSplunkに取り込む際にセキュリティチームが使用しなければならないオプションについても説明します。

Azure Active Directory

Azure Active Directory (Azure AD)は、Microsoft社が提供するクラウドベースの企業向けIDおよびアクセス管理(IAM)サービスです。Azure ADは、Microsoft 365 (旧Office 365)やAzure Portalのようなサービスをはじめ、OAuthプロトコルを使用する多くのクラウドベースアプリケーションの認証の基盤となっています。Azure ADは、オンプレミスのActive Directory環境と同期させることも可能で、企業イントラネット内のアプリケーションのような内部リソースに対する認証機能も提供します。Microsoft社によると、Azure ADは12億以上のIDを管理し、1日に80億回を超える認証を行っています。

テレメトリとログ収集

Azure ADでは、3つのアクティビティログカテゴリが用意されています。アカウント乗っ取りで主に利用されるのはサインインと監査ログのカテゴリです。

名前
説明
サインイン
認証の試行に関する情報。
監査
テナントに適用された、ユーザー情報の変更やグループ管理などの変更に関する情報。
プロビジョニング
ServiceNowでのグループ作成など、プロビジョニングサービスによって実行されたアクティビティ。

Azure ADログをSplunkに取り込むには、Splunkbaseから入手できるSplunk Add-on for Microsoft Cloud Servicesを使用します。Splunk脅威調査チームが公式ドキュメントに従ってAttack Range環境とのインテグレーションの設定を行ったところ、その作業はわずか数ステップで完了しました。Splunk CloudのユーザーであればData Managerも利用できます。Data Managerに関しては、先頃Microsoft Azureデータソースのオンボーディングのサポートが発表されました。

AWS Identity and Access Management

Amazon Web Services (AWS) Identity and Access Management (IAM)は、ユーザー、AWSリソース、AWSサービス間のID認証および認可を可能にするサービスです。例えば、AWSのユーザーがAmazon Simple Storage Service (S3)上のファイルにアクセス、更新、または削除しようとした場合、そのユーザーリクエストはデフォルトのIAMによって確認されます。これによってそのリクエストを送信したユーザーが特定され、アタッチされたIAMポリシーでユーザーに付与されている権限に従ってリクエストを許可するか拒否するかが決定されます。これらのポリシーはIAMに不可欠で、すべてのユーザーとユーザーグループにアタッチされ、それぞれがどのリソースにアクセスできるかが明確に定義されています。

テレメトリとログ収集

AWS IAMのログを監視する主な方法は以下の3つです。

名前
説明
AWS CloudTrail
このサービスは、ユーザー、ロール、またはAWSによるすべてのアクティビティに関する情報を記録します。サービスはCloudTrail内にイベントとして記録されます。
AWS Identity and Access Management Access Analyzer
このサービスはAWSによって提供され、アカウントやユーザーがどのようにAWSリソースを使用しているかを確認し、ポリシーのルールとベストプラクティスに照らしてIAMポリシーを検証します。
Amazon CloudWatch Logs
Amazonの各種サービス(EC2、S3、Route53、Lambdaなど)とAWS CloudTrailからのログを一元管理し、監視、保存、クエリを単一のコンソールで実行できるようにします。

アカウント乗っ取りのユースケースでは、AWS CloudTrailログに注目します。AWS CloudTrailログは非常に情報量の多いデータソースであり、ログ形式も極めて詳細です。CloudTrailサービスは、セキュリティチームが脅威を調査する際に必要なログをすべて収集します。これらのログは、AWSアカウントのリスク監査、ガバナンス、コンプライアンスにも役立ちます。

CloudTrailは基本的にすべてのAPIアクティビティとAWSコンソールとのやり取りを記録します。これによって攻撃者を追跡したりAWSアカウントの不適切な設定を検出したりすることができ、AWS環境の保護に役立ちます。

AWSのログをSplunkに取り込むには、Splunkbaseから入手できるSplunk Add-on for Amazon Web Servicesを使用します。Splunk脅威調査チームが公式ドキュメントに従ってAttack Range環境でAWSアカウントからSplunkサーバーにCloudTrailログを収集する設定を行ったところ、その作業はわずか数ステップで完了しました。Splunk CloudのユーザーであればData Managerも利用できます。Data Managerに関しては、先頃AWSログのオンボーディングのサポートが発表されました。

Google Workspace

Google Cloudは、コンピューティング、ストレージ、ネットワーク、機械学習、アプリケーション開発のための各種クラウドサービスを提供しています。Google Cloudのリソースとやり取りを行うIDを管理するにはいくつかの方法があります。それにはGoogle Cloud Identity、Google Workspace、シングルサインオンをサポートするサードパーティ製インテグレーションなどがあります。

Google Workspace (GWS、旧GSuite)は、Gmail、カレンダー、Meetなどのコラボレーションツールや生産性向上ツールで有名です。一方、GWSはアイデンティティプロバイダーでもあり、管理者はこれを使用してユーザーやアクセスポリシーを管理できます。Splunkの調査によれば、GWSはGoogle Cloudのユーザーに最も使用されているアイデンティティプロバイダーです。

テレメトリとログ収集

Google Workspaceは、監査ログの包括的なリストを提供しています。アカウント乗っ取りのユースケースでは、Splunk Add-on for Google Workspaceを使用してAPIから取り込んだユーザーと管理者の監査ログを使用します。セキュリティチームは、GWSに影響を与える「データの保持期間とタイムラグ」について理解しておく必要があります。イベントによっては、Google管理コンソールでデータが使用可能になり、Splunkでインデックスが完了するまでに数時間かかる場合もあります。

名前
説明
管理ログイベント
このログには、ユーザーの追加やGoogle Workspaceサービスの有効化など、管理者がGoogle管理コンソールで行った操作の記録が含まれます。
ユーザーのログイベント
このログには、ユーザーが自身のアカウントで実行した重要な操作の記録が含まれます。その操作には、パスワードの変更、アカウント再設定用情報(電話番号、メールアドレス)の変更、2段階認証プロセスの登録などがあります。
監査ログイベント
組織のGoogle Cloud Platformとデータを共有するようにGoogle Workspaceを設定し、Splunk Add-on for Google Cloud Platformを使用してそのイベントを取り込みます。そのイベントには、Google Workspaceから生成された、Group Enterprise、管理者、ユーザー、OAuth、SAMLに基づくイベントがあります。

Splunk脅威調査チームが公式ドキュメントに従ってAttack Range環境でGoogle Workspaceのテスト環境からSplunkサーバーにGoogle Workspaceアクティビティレポートデータのログを収集する設定を行ったところ、その作業はわずか数ステップで完了しました。Splunk CloudのユーザーであればData Managerも利用できます。Data Managerに関しては、先頃Google Cloud Platform監査ログのオンボーディングのサポートが発表されました。

これらのユーザー認証ログをSplunkに取り込むには、2通りの方法があります。

Splunkの脅威調査チームが作成したアカウント乗っ取りの3つの分析ストーリー(クラウドプロバイダーごとに1つ)には、合計で27の検出方法が含まれ、MITRE ATT&CKの7つの技法と6つのサブ技法に対応しています。セキュリティチームはこれらの分析ストーリーを活用して、クラウドテナントに対する不審な挙動をリアルタイム監視や脅威ハンティングによって捕捉できます。

分析ストーリー

複数のクラウドプロバイダーで使用できる検出ルールの概要を以下の表に示します。詳細については、research.splunk.comで以下の分析ストーリーをご確認ください。

名前
ID
戦術
プラットフォーム
説明
Authentication Failed During MFA Challenge
T1078
初期アクセス
Azure

GCP

AWS
この分析では、多要素認証チャレンジが失敗した認証試行イベントを検出します。この挙動は、攻撃者が侵害された認証情報を使って多要素認証が有効なアカウントの認証を試みた可能性を示しています。
Multi-Factor Authentication Disabled
T1556
防御回避
Azure

GCP

AWS
この分析では、クラウドユーザーの多要素認証を無効にする試みを検出します。テナントへのアクセス権を取得した攻撃者は、バックドアを仕掛けるための手段として多要素認証を無効化し、有効なアカウントを使用して永続化を試みる可能性があります。
Multiple Failed MFA Requests For User
T1621
認証情報アクセス
Azure

GCP

AWS
この分析では、クラウドテナントで単一のユーザーが多要素認証リクエストを複数回失敗したことを検出します。この挙動が検出された場合、正規のユーザー認証情報を入手した攻撃者が、継続的にログインの試行を繰り返している可能性があります。これはユーザーにMFAプッシュ通知またはSMSメッセージを大量に送りつけることによって、ユーザーが最終的に認証リクエストを受け入れてしまう可能性を狙ったものです。
Multiple Users Failing To Authenticate From Ip
T1110.003
認証情報アクセス
Azure

GCP

AWS
この分析では、5分以内に30の有効なユニークユーザーが認証に失敗した、1つのソースIPを検出します。この挙動は、攻撃者がクラウドテナントに対してパスワードスプレー攻撃を仕掛け、初期アクセスの取得または権限の昇格を目論んでいる可能性を示しています。
Unusual Number of Failed Authentications From IP
T1110.003
認証情報アクセス
Azure

GCP

AWS
この分析では、非常に多くの有効なユニークユーザーが認証に失敗した、1つのソースIPを検出します。この挙動は、攻撃者がクラウドテナントに対してパスワードスプレー攻撃を仕掛けている可能性を示しています。この検出ルールは、ソースIPの標準偏差を計算し、3シグマの統計ルールを使用して、異常な数の認証試行の失敗を識別します。
Successful Single-Factor Authentication
T1078
初期アクセス
Azure

GCP

AWS
この分析では、クラウドテナントにおいて、多要素認証が有効でないアカウントの認証が成功したイベントを検出します。この挙動は設定ミスやポリシー違反、あるいはアカウント乗っ取りの疑いがあるため、調査が必要です。
Azure Active Directory High Risk Sign-in
T1110.003
認証情報アクセス
Azure
この分析は、Azure Active Directoryに対するリスクの高いサインインがAzure Identity Protectionによって検出された場合に開始されます。Identity Protectionは、ヒューリスティックや機械学習を使用してサインインイベントを監視し、潜在的に悪質なイベントを特定して、高、中、低の3つのカテゴリに分類します。
AWS Credential Access GetPasswordData
T1552
セキュリティ保護されていない認証情報
AWS
この分析では、AWSアカウントに対して5分以内に10回以上実行されたGetPasswordData APIコールを検出します。攻撃者は、これによって実行中のWindowsインスタンスの暗号化された管理者パスワードを取得できます。
Detect AWS Console Login by New User
T1552
セキュリティ保護されていない認証情報
AWS
このサーチは、過去1時間以内にユーザーによるコンソールログインイベントが記録されたAWS CloudTrailイベントを検索し、そのイベントを、過去にコンソールログインを行ったことがあるユーザーのルックアップファイルと照合します(ARN値)。過去1時間以内に初めてユーザーがコンソールログインしていた場合は、アラートが生成されます。
Detect AWS Console Login by User from New Country
T1535
未使用/未サポートのクラウドリージョン
AWS
このサーチは、過去1時間以内にユーザーによるコンソールログインイベントが記録されたAWS CloudTrailイベントを検索し、そのイベントを、過去にコンソールログインを行ったことがあるユーザーのルックアップファイルと照合します(ARN値)。過去1時間以内に初めてユーザーがコンソールログインしていた場合は、アラートが生成されます。
AWS Credential Access RDS Password reset
T1110.002
パスワード解析
AWS
Amazon RDSコンソールを使用すると、Amazon RDS DBインスタンスのマスターユーザーパスワードをリセットできます。この技法を使用することで、攻撃者はデータベースの機密データにアクセスできます。通常、本番環境のデータベースにはクレジットカード情報、個人情報、医療情報などの機密データが保管されています。そのためこのイベントが検出された場合は詳しい調査が必要です。
Detect AWS Console Login by User from New Region
T1535
防御回避
AWS
このサーチは、過去1時間以内にユーザーによるコンソールログインイベントが記録されたAWS CloudTrailイベントを検索し、そのイベントを、過去にコンソールログインを行ったことがあるユーザーのルックアップファイルと照合します(ARN値)。過去1時間以内に初めてユーザーがコンソールログインしていた場合は、アラートが生成されます。

まとめ

Lapsus$によって実行されたセキュリティ侵害は、アカウント乗っ取りとID攻撃のリスク、それにともなう被害の可能性を浮き彫りにしました。Lapsus$の成功に触発されて、今後その他の攻撃者たちが同様のアプローチで企業を狙う恐れもあります。Splunk脅威調査チーム(STRT)では、パスワードポリシーや多要素認証といった一般的な防御対策と併せて、検出ルールによるアプローチも取り入れることを推奨しています。脅威を防御する上では、このような攻撃との関連を示す不審なアクティビティをすばやく検出して対応できる、効果的な監視機能を策定して導入する必要があります。

その他のリソース

セキュリティ関連の最新コンテンツは、SplunkbaseGitHubからダウンロードできます。ご紹介した検出ルールは既に利用可能であり、Splunk Enterprise Securityの場合は製品に組み込まれたESCUアプリケーションアップデートプロセスで、Splunk Security Essentials (SSE)の場合は、APIアップデートで入手できます。

すべてのセキュリティコンテンツの一覧は、Splunkマニュアルリリースノートに掲載されています。

フィードバック

ご意見やご要望がございましたら、GitHubから遠慮なくお寄せください。Slackチャネル「#security-research」にご参加いただくこともできます。SlackのSplunkユーザーグループへの招待が必要な場合は、こちらの手順に従ってください。

寄稿者

このブログ記事を執筆したMauricio VelazcoBhavin Patel、このリリースに協力してくださったSplunk脅威調査チームのJose Hernandez、Teoderick ContrerasRod SotoMichael HaagLou StellaEric McGinnisPatrick Bareiss(以上敬称略)に感謝申し上げます。

また、攻撃シミュレーション用のオープンソースツールを提供してくださったAtomic Red TeamStratus Red TeamBeau Bullock氏にも感謝申し上げます。

このブログはこちらの英語ブログの翻訳、横田 聡によるレビューです。

関連記事

ファイルレスマルウェア侵害調査におけるSysmonと資産管理ソフトのログの使い分け
セキュリティ
2 分程度

ファイルレスマルウェア侵害調査におけるSysmonと資産管理ソフトのログの使い分け

「Splunkに既存の資産管理ソフトとEDRソフトのログを取り込むと何ができるのか?」LanScopeCatのログとsysmon(簡易EDR)のログを使い分けて運用しているお客様の利用方法についてご紹介します。
ESXiの不審なアクティビティを検出してランサムウェア攻撃を防ぐ
セキュリティ
19 分程度

ESXiの不審なアクティビティを検出してランサムウェア攻撃を防ぐ

このブログでは、ログの取り込み、一般的な指標、VMware ESXi環境の包括的な検出戦略など、Splunkを使用して不審なアクティビティを検出する方法について説明します。
ICT-ISACにSplunk Japanが加入しました
セキュリティ
3 分程度

ICT-ISACにSplunk Japanが加入しました

2024年春、Splunk Japanも一般社団法人ICT-ISAC(アイシーティ・アイザック)に新規加入いたしました。SplunkはICT-ISACの提唱している様々な課題に対し、連携しながら皆様と共助する存在になりたいと思っています。