2024年セキュリティの現状:競争が激化するAIの活用
先進的なサイバーセキュリティ対策を推進する組織がどのように課題を克服し、AIを活用してイノベーションを推進し、デジタルレジリエンスを強化しているかをご確認ください。
Splunk脅威調査チーム(STRT)は先日、3つの新しい分析ストーリー(Azure Active Directory Account Takeover、AWS Identity and Access Management Account Takeover、GCP Account Takeover)をリリースしました。セキュリティアナリストはこの分析ストーリーを使用して、一部の大規模なパブリッククラウドサービスプロバイダーを標的としたクラウドアカウント乗っ取り攻撃を検出できます。このブログ記事では、各クラウドプロバイダーで利用できるテレメトリと、そのデータをSplunkに取り込む際のオプションについて説明します。最後に、これらの分析ストーリーで利用できる検出方法をいくつかご紹介します。
クラウドのラボ環境を対象に行った攻撃のシミュレーションと、セキュリティチームがSplunkを使用してそれを検出する方法の詳細については、以下のビデオ(英語)をご覧ください。
アカウント乗っ取り(ATO)はIDを標的とした攻撃であり、サイバー犯罪者はそれを足がかりに、パスワードスプレー攻撃、ソーシャルエンジニアリング、マルウェア感染、クレデンシャルスタッフィングなどさまざまな手法を使ってオンラインアカウントに不正アクセスを行います。この不正アクセスでは、実際のユーザーを装ってアカウントの詳細情報を変更したり、機密情報を盗み出したりといった悪質な攻撃が実行されます。場合によっては、1人の従業員のオンラインアカウントが侵害されただけで、標的となった組織内で攻撃者がアクセス権を拡大し、機密性の高い内部システムやアプリケーションを乗っ取ってしまうこともありす。
2022年にLapsus$グループによって実行されたいくつかのセキュリティ侵害では、このような攻撃が実際に行われたことが確認されています。これらの攻撃では、マルウェアを配布したり、コマンドアンドコントロールチャネルを使用して攻撃対象のネットワークを侵害したりといった従来の手法ではなく、ソーシャルエンジニアリングと認証情報の盗難を組み合わせて、機密情報や大企業への特権アクセスを手に入れることに成功していました。
クラウドアカウントの乗っ取りを効果的に監視するには、認証とアカウントアクティビティのテレメトリを取り込んでインデックスする必要があります。このテレメトリは通常、特定のクラウドプロバイダーが利用しているアイデンティティプロバイダーから取得できます。アイデンティティプロバイダーは、プリンシパルのID情報の作成と維持管理を行うほか、依存しているアプリケーションへの認証サービスも提供するシステムエンティティです。
このセクションでは、アマゾン ウェブ サービス(AWS)、Microsoft Azure、Google Cloud Platformで利用されているネイティブのアイデンティティプロバイダーについて概説します。また、これらのアイデンティティプロバイダーで利用可能なテレメトリと、そのデータをSplunkに取り込む際にセキュリティチームが使用しなければならないオプションについても説明します。
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データソースのオンボーディングのサポートが発表されました。
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によって提供され、アカウントやユーザーがどのようにAWSリソースを使用しているかを確認し、ポリシーのルールとベストプラクティスに照らしてIAMポリシーを検証します。 |
|
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 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 |
初期アクセス |
この分析では、多要素認証チャレンジが失敗した認証試行イベントを検出します。この挙動は、攻撃者が侵害された認証情報を使って多要素認証が有効なアカウントの認証を試みた可能性を示しています。 |
|
Multi-Factor Authentication Disabled |
T1556 |
防御回避 |
この分析では、クラウドユーザーの多要素認証を無効にする試みを検出します。テナントへのアクセス権を取得した攻撃者は、バックドアを仕掛けるための手段として多要素認証を無効化し、有効なアカウントを使用して永続化を試みる可能性があります。 |
|
Multiple Failed MFA Requests For User |
T1621 |
認証情報アクセス |
この分析では、クラウドテナントで単一のユーザーが多要素認証リクエストを複数回失敗したことを検出します。この挙動が検出された場合、正規のユーザー認証情報を入手した攻撃者が、継続的にログインの試行を繰り返している可能性があります。これはユーザーにMFAプッシュ通知またはSMSメッセージを大量に送りつけることによって、ユーザーが最終的に認証リクエストを受け入れてしまう可能性を狙ったものです。 |
|
Multiple Users Failing To Authenticate From Ip |
T1110.003 |
認証情報アクセス |
この分析では、5分以内に30の有効なユニークユーザーが認証に失敗した、1つのソースIPを検出します。この挙動は、攻撃者がクラウドテナントに対してパスワードスプレー攻撃を仕掛け、初期アクセスの取得または権限の昇格を目論んでいる可能性を示しています。 |
|
Unusual Number of Failed Authentications From IP |
T1110.003 |
認証情報アクセス |
この分析では、非常に多くの有効なユニークユーザーが認証に失敗した、1つのソースIPを検出します。この挙動は、攻撃者がクラウドテナントに対してパスワードスプレー攻撃を仕掛けている可能性を示しています。この検出ルールは、ソースIPの標準偏差を計算し、3シグマの統計ルールを使用して、異常な数の認証試行の失敗を識別します。 |
|
Successful Single-Factor Authentication |
T1078 |
初期アクセス |
この分析では、クラウドテナントにおいて、多要素認証が有効でないアカウントの認証が成功したイベントを検出します。この挙動は設定ミスやポリシー違反、あるいはアカウント乗っ取りの疑いがあるため、調査が必要です。 |
|
Azure Active Directory High Risk Sign-in |
T1110.003 |
認証情報アクセス |
この分析は、Azure Active Directoryに対するリスクの高いサインインがAzure Identity Protectionによって検出された場合に開始されます。Identity Protectionは、ヒューリスティックや機械学習を使用してサインインイベントを監視し、潜在的に悪質なイベントを特定して、高、中、低の3つのカテゴリに分類します。 |
|
AWS Credential Access GetPasswordData |
T1552 |
セキュリティ保護されていない認証情報 |
この分析では、AWSアカウントに対して5分以内に10回以上実行されたGetPasswordData APIコールを検出します。攻撃者は、これによって実行中のWindowsインスタンスの暗号化された管理者パスワードを取得できます。 |
|
Detect AWS Console Login by New User |
T1552 |
セキュリティ保護されていない認証情報 |
このサーチは、過去1時間以内にユーザーによるコンソールログインイベントが記録されたAWS CloudTrailイベントを検索し、そのイベントを、過去にコンソールログインを行ったことがあるユーザーのルックアップファイルと照合します(ARN値)。過去1時間以内に初めてユーザーがコンソールログインしていた場合は、アラートが生成されます。 |
|
Detect AWS Console Login by User from New Country |
T1535 |
未使用/未サポートのクラウドリージョン |
このサーチは、過去1時間以内にユーザーによるコンソールログインイベントが記録されたAWS CloudTrailイベントを検索し、そのイベントを、過去にコンソールログインを行ったことがあるユーザーのルックアップファイルと照合します(ARN値)。過去1時間以内に初めてユーザーがコンソールログインしていた場合は、アラートが生成されます。 |
|
AWS Credential Access RDS Password reset |
T1110.002 |
パスワード解析 |
Amazon RDSコンソールを使用すると、Amazon RDS DBインスタンスのマスターユーザーパスワードをリセットできます。この技法を使用することで、攻撃者はデータベースの機密データにアクセスできます。通常、本番環境のデータベースにはクレジットカード情報、個人情報、医療情報などの機密データが保管されています。そのためこのイベントが検出された場合は詳しい調査が必要です。 |
|
Detect AWS Console Login by User from New Region |
T1535 |
防御回避 |
このサーチは、過去1時間以内にユーザーによるコンソールログインイベントが記録されたAWS CloudTrailイベントを検索し、そのイベントを、過去にコンソールログインを行ったことがあるユーザーのルックアップファイルと照合します(ARN値)。過去1時間以内に初めてユーザーがコンソールログインしていた場合は、アラートが生成されます。 |
Lapsus$によって実行されたセキュリティ侵害は、アカウント乗っ取りとID攻撃のリスク、それにともなう被害の可能性を浮き彫りにしました。Lapsus$の成功に触発されて、今後その他の攻撃者たちが同様のアプローチで企業を狙う恐れもあります。Splunk脅威調査チーム(STRT)では、パスワードポリシーや多要素認証といった一般的な防御対策と併せて、検出ルールによるアプローチも取り入れることを推奨しています。脅威を防御する上では、このような攻撃との関連を示す不審なアクティビティをすばやく検出して対応できる、効果的な監視機能を策定して導入する必要があります。
セキュリティ関連の最新コンテンツは、SplunkbaseとGitHubからダウンロードできます。ご紹介した検出ルールは既に利用可能であり、Splunk Enterprise Securityの場合は製品に組み込まれたESCUアプリケーションアップデートプロセスで、Splunk Security Essentials (SSE)の場合は、APIアップデートで入手できます。
すべてのセキュリティコンテンツの一覧は、Splunkマニュアルのリリースノートに掲載されています。
ご意見やご要望がございましたら、GitHubから遠慮なくお寄せください。Slackチャネル「#security-research」にご参加いただくこともできます。SlackのSplunkユーザーグループへの招待が必要な場合は、こちらの手順に従ってください。
このブログ記事を執筆したMauricio VelazcoとBhavin Patel、このリリースに協力してくださったSplunk脅威調査チームのJose Hernandez、Teoderick Contreras、Rod Soto、Michael Haag、Lou Stella、Eric McGinnis、Patrick Bareiss(以上敬称略)に感謝申し上げます。
また、攻撃シミュレーション用のオープンソースツールを提供してくださったAtomic Red Team、Stratus Red Team、Beau Bullock氏にも感謝申し上げます。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。