コンテンツに移動
セキュリティ & アイデンティティ

Log Analytics を使用して監査ログからセキュリティ インサイトを収集する

2023年4月6日
https://storage.googleapis.com/gweb-cloudblog-publish/images/log_analytics_hero.max-2500x2500.jpg
Google Cloud Japan Team

※この投稿は米国時間 2023 年 3 月 25 日に、Google Cloud blog に投稿されたものの抄訳です。

Cloud Audit ログは Google Cloud において、お客様がコンプライアンスとセキュリティの要件を満たすうえで重要な役割を果たします。Log Analytics は Cloud Logging に最近追加された新しい機能です。SQL の力を活用して、クエリ時にログの検索、集約、変換を行うことができます。Community Security Analytics の事前定義済みクエリと併せて Log Analytics を使用すると、Cloud Audit ログから実用的なインサイトをさらに簡単に取得できるようになります。

ログからのインサイト

監査ログからインサイトを得るのは必ずしも簡単ではありません。そのためには多数のステップがあり、各ステップではさまざまな高度なスキルを持つチームとツールが必要になるからです。この課題の困難さは、価値のあるログの量、種類、速度に左右されます。Cloud Logging は以下の各ステップで役立ちます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_Log_Analytics_HP1T4pP.max-2000x2000.jpg
  1. ログ収集を有効化する: Cloud Logging は、デフォルトですべての管理者アクティビティ監査ログを収集します。追加料金はかかりません。ユーザーは、特定のサービスのデータアクセス監査ログを有効化してニーズに対応することができます。

  2. 一元化されたログストレージで集約する: ログルーターは、コンプライアンス、安全性、スケーラビリティ、信頼性の面で優れたログ収集とルーティングのプラットフォームを提供します。セキュリティ チームは、監査ログデータを収集して専用のログバケットに一元的に保存することにより、さまざまなプロジェクトから集約された監査ログをクエリして、部門または組織全体で必要な可視性を得ることができます。

  3. アドホックなインサイトと集約されたインサイトによる分析: セキュリティ チームは、全文検索インデックスを使用したアドホックなクエリ時の監査ログ分析をサポートすることにより、調査の一環として IP アドレスやユーザー名などの特定のアクセス属性のログを迅速に検索できます。経時的に監査ログを集約してフィルタすれば、アクセス パターンと異常値に関するインサイトを得ることができます。これには、管理者のアクティビティ、ユーザーのデータアクセス、ネットワーク アクティビティが含まれることがあります。

  4. ログとインサイトを可視化する – 経時的にデータを可視化することで、重要な傾向の把握と異常値の検出が容易になります。

Google Cloud のセキュリティ プラットフォーム

Cloud Logging の Log Analytics は、ユーザーが簡単に Cloud Audit ログを見つけて調べる方法を提供します。これは、監査ログの分析を始めるための優れた方法です。Google Cloud のセキュリティ プラットフォームは、脅威に対する自動化された検出機能、防止機能、対応機能という目的に特化した、以下のセキュリティ ツールを備えています。

  • Security Command Center – マネージド型の脅威検出脆弱性検出を可能にする Security Command Center。Log Analytics を使用すると、Security Command Center によるこれらの忠実度の高いセキュリティ シグナルを詳細に調査し、それらとログの相関関係を把握して意思決定を行うことができます。

  • Chronicle Security Operations – マルチクラウド環境およびオンプレミス環境全体で完全な脅威の検出、調査、対応が可能なプラットフォーム。Chronicle は、クラウド スケールのセキュリティ分析とカスタム YARA-L に加えて、キュレートされた検出、脅威インテリジェンスによるコンテキストが豊富な調査、SOAR ハンドブックをセキュリティ運用チームに提供し、対応にかかる時間を短縮します。  

  • Cloud Armor、BeyondCorp と VPC Service Controls – 脅威を予防する Cloud ArmorBeyondCorp などのツール。ウェブ攻撃、DDoS、認証情報の盗難などの一般的な脅威からアプリケーションとデータを保護します。

このブログ投稿では、Cloud Logging の Log Analytics を使用して監査ログを最大限に活用する方法について説明します。

Community Security Analytics

Log Analytics では、分析のためにログを別のツールに送信する場合に発生する運用上およびインフラストラクチャ上のオーバーヘッドを大幅に削減できます。ログは「その場で」分析され、最小限のタイムラグでクエリ時に変換されます。とはいえ、どのイベントを探すべきか、どこでそれを見つけられるかを知ることは容易ではありません。ここで Community Security Analytics(CSA)が登場します。

CSA は、セルフサービス セキュリティ分析用に設計されたオープンソースのクエリとルールのセットであり、一般的なクラウドベースの脅威の検出に役立ちます。CSA は事前構築済みクエリのセットを提供します。これにより、さまざまなタイプの監査ログとそのスキーマに精通していなくても、監査ログからインサイトを得ることができます。このブログの残りの部分では、Log Analytics を使用して監査ログを検出し、分析する例をいくつか紹介します。

注: CSA は、コミュニティが提供するクエリのコレクションです。セルフサービスの検出コントロールの一部として、独自のフォレンジックのニーズに合わせて簡単に使用し、拡張することが可能ですが、脅威検出の包括的または決定的なセットを目指すものではありません。

監査ログに基づいて疑わしいアクティビティを検出する

監査ログでポリシー違反や異常な動作を探すことにより、潜在的なクラウドベースの脅威やセキュリティに関する構成ミスを発見できます。そのような監査ログの例を次に示します。

  • ポリシー拒否監査ログは、VPC Service Controls のアクセス試行違反を示します。これは、認証情報が盗まれた可能性があることを意味します。

  • 管理者アクティビティ監査ログは、Identity Access Management(IAM)による権限昇格、またはロギングの無効化による防御回避の可能性を示します。

  • データ アクティビティ監査ログは、API の不正使用や、Google Cloud Storage(GCS)や BigQuery などのサービスでホストされているデータの不正使用の可能性を示します。

例 #1: SQL を使用して脅威を検出する

CSA のサンプルクエリを見てみましょう。次に示すのは、Log Analytics コンソールにコピーされた CSA 2.20 の SQL クエリです。プロジェクトとログバケットのプレースホルダの値は置き換えられています。
https://storage.googleapis.com/gweb-cloudblog-publish/images/3_Log_Analytics_wCZbZtV.max-1500x1500.jpg
Log Analytics で SQL を使用し、監査ログに基づいて脅威を検出する

このクエリは、機密性の高いサービス アカウントについて、承認されていない ID に付与されている権限(サービス アカウントのなりすまし、またはサービス アカウントのキーの作成を許可するもの)を検索します。その行為を行ったのが悪意のあるユーザーであるか不正行為に利用されたユーザーであるかにかかわらず、この潜在的な脅威にフラグを立てて修復する必要があります。

このクエリは、サービス アカウントのリソースレベル、親プロジェクト レベル、フォルダレベル、組織レベルで直接追加できる IAM ポリシー バインディングを構成します。このクエリには除外処理も含まれており、承認済みの ID(権限を付与されているユーザー)を除外できます。

たとえば、サイト信頼性エンジニア(SRE)が、サービス停止からの復元作業のために、本番環境用サービス アカウントへの一時的なアクセスを許可されたとします。これは承認されている非常時の手順の一部であるため、そのような行為に脅威のフラグを立てて、オペレータのアクセスを取り消すなどの対応を行うことは望ましくありません。クエリをさらに絞り込んで、機密性の低いサービス アカウント(デベロッパー プロジェクト用など)を除外することや、特定の時間枠(過去 24 時間など)の調査に集中することができます。

Log Analytics は、脅威とポリシーのずれを検出するための重要なルールを作成する強力で柔軟な方法を提供します。

例 #2: SQL 統計分析を使用して異常値を見つける

Log Analytics では、干し草の山から針を見つけるような検索を行うだけでなく、高度な分析を実行して監査ログの異常値を見つけることもできます。次に示すのは、Log Analytics コンソールにコピー&ペーストされた CSA 4.01 の SQL クエリです。プロジェクトとログバケットのプレースホルダの値は置き換えられています。
https://storage.googleapis.com/gweb-cloudblog-publish/images/4_Log_Analytics_TgvYEEu.max-1600x1600.jpg
Log Analytics で SQL を使用し、監査ログに基づいて異常値を見つける

このクエリは、前週の特定の日のいずれかのプリンシパルによる異常に多い API 使用を見つけるために役立ちます。これは、API の不正使用、またはスキャンや列挙攻撃の可能性を示しています。前の例と同様に、この潜在的な脅威にフラグを立てて修復する必要があります。

このクエリは、すべての監査ログに基づいて、各プリンシパルによる 1 日あたりの API アクション実行件数を計算します。集計関数を使用して、プリンシパルごとの 1 日あたりの件数だけでなく、その ID ごとの 1 日あたりの平均ローリング件数と標準偏差も計算します。これは、最大 90 日のルックバック ウィンドウ(ユーザーによる構成が可能)で、先行する 1 日あたりの件数を振り返ることによって計算されます。このクエリには、無害な API アクションまたは詳細な API アクションを無視できる除外処理も含まれています。デフォルトでは、このクエリロジックは、いずれかのプリンシパルによる 1 日あたりのアクション件数が(そのプリンシパルの)平均より高い標準偏差の 2 倍を超えるインスタンスを、異常なアクティビティと判断します。この例では、アラートのノイズを抑えるために、しきい値を標準偏差の 3 倍に増やしました。

ご覧のように、このテスト環境では、Compute Engine のデフォルト サービス アカウントが 1 日あたり平均 108 件しかアクションを実行していなかったにもかかわらず、1 日(2023 年 2 月 7 日)に 515 件のアクションを実行したという異常値が検出されました。この異常値は 51 件のサンプルの中から検出されました。これは、この ID(Compute Engine のデフォルト サービス アカウント)でアクティビティが見つかった日数です。この結果は、毎月または毎週行われるプロビジョニング アクティビティなどに起因する誤検出である可能性もあります。このインスタンスを調査し、悪意のあるアクティビティが実際に行われたかどうかを判断するための参考用に、このクエリはその日に実行された具体的なアクションもレポートします。

Log Analytics で検出できるセキュリティ脅威は他にも多数あります。次にいくつかの例を示します。

  • VPC Service Controls 違反のアクセス試行はあるか?(CSA 1.10

  • 高度な権限を持つ Google グループに追加されたユーザーはいるか?(CSA 2.02

  • 機密性の高いサービス アカウントに付与された権限はあるか?(CSA 2.20

  • ロギング設定になんらかの変更が加えられているか?(CSA 3.01

  • 非常に大規模なスキャンを実行している BigQuery クエリはあるか?(CSA 5.07

監査ログに基づいて傾向と異常値を可視化する

経時的に監査ログを分析することで、傾向をより正確に把握し、監査ログからインサイトを得ることができます。得られたインサイトを他のユーザーと共有し、レポートのメール配信をスケジュールすると、必要なときに必要な場所にインサイトを届けるために役立ちます。

プロダクト チームは、現在 Log Analytics の埋め込みグラフ作成およびダッシュボード作成オプションの設計と構築に取り組んでいます。これについては、今後のブログ投稿で取り上げます。LookerLooker Studio などの分析ツールは、グラフ作成とダッシュボード作成を含む優れた分析機能を備えています。Log Analytics の重要な機能の一つは、リンクされたデータセットの使用を通じて、BigQuery エコシステムで利用できる任意のツールでログデータを使用できることです。Looker と Looker Studio のダッシュボードでは、同じ CSA クエリを可視化できます。

可視化できるセキュリティ関連の疑問の例を次にいくつか示します。

  • 特定のユーザー ID による異常に多い API 使用はあるか?(CSA 4.01

  • 過去 1 か月で使用された自動スケーリングの 1 日あたりの頻度は?(CSA 4.10

  • 過去 1 週間で最も多くのデータにアクセスしたユーザーは?(CSA 5.02

  • 過去 1 週間でアクセスされた 1 日あたりのデータの量は?(CSA 5.03

  • 過去 1 週間で BigQuery に対して行われた上位 10 件のクエリは?(CSA 5.06

Looker Studio を使用して監査ログを可視化する

Looker Studio は、BigQuery に保存されたデータからグラフとダッシュボードを作成する機能を備えたツールです。以下の Data Access Audit Log Trends ダッシュボードは、IP、ユーザー プリンシパル、メソッド、サービス別のログの傾向に関するインサイトを提供します。Looker Studio レポート ギャラリーでは、Log Analytics に保存されているデータアクセス、管理者アクティビティ、ポリシー拒否、システム イベント用の Looker Studio レポート テンプレートを見つけることができます。
https://storage.googleapis.com/gweb-cloudblog-publish/images/5_Log_Analytics_4g6tIFK.max-800x800.jpg

Looker を使用して監査ログを可視化する

Looker は、データ モデリング機能と分析機能を備えた高度なデータ分析プラットフォームです。Looker の最も強力な機能の一つは、Looker Block を利用したデータ モデリングです。Looker Block は、迅速にデータ モデリングを開始できる事前構築済みのデータモデルを備えており、最適化された SQL と組み込みのダッシュボードを提供します。Looker を使用している場合は、Log Analytics Block を利用して監査ログを分析できます。

たとえば、以下のデータアクセス ダッシュボードは、すべての GCP サービスにおけるデータアクセス監査ログの概要を表示します。このダッシュボードには、サービスおよびユーザー別のアクセスの分類(CSA 5.* を参照)に加えて、このデータアクセス トラフィックのソースと相対ボリュームを表す地理的ヒートマップが含まれています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/6_Log_Analytics.max-1600x1600.jpg
データアクセス ログに基づく、サービス / ユーザー / オリジン別のデータアクセス トラフィックの分類

もう一つの例は、異常に多い API 使用を示すダッシュボードです。これは、特定のユーザーによる最近の異常に多い API 使用(または上記の CSA 4.01)をハイライト表示するものです。このダッシュボードでは、サンプルサイズ、ベースラインを確立するためのルックバック ウィンドウ、外れ値のしきい値を決定するための標準偏差の数などのいくつかのノブを公開することで、分析の感度を簡単に調整できます。


https://storage.googleapis.com/gweb-cloudblog-publish/images/7_Log_Analytics.max-1200x1200.jpg

監査ログに基づいて、いずれかのプリンシパルによる特定の日の異常に多い API 使用をハイライト表示する


今すぐ使用を開始する

Log Analytics の使用を開始するには、ログバケットをアップグレードして Log Analytics を使用可能にします。CSA GitHub リポジトリにある多数の監査およびセキュリティ用クエリを使用して、監査ログの分析を開始できます。Looker を使用している場合は、こちらの手順に沿って、Cloud Logging 専用のサンプル ダッシュボードと Looker Block を利用できます。

Log Analytics と CSA を使用した組織単位のログの有効化、集計、分析に関するエンドツーエンドのチュートリアルについては、Google Cloud のセキュリティ ログ分析をご覧ください。また、Google Cloud コミュニティ サイトの Cloud Operations ページのディスカッションにご参加ください。


Looker と Looker Studio の両方のコミュニティに上記のサンプル ダッシュボードをご提供いただき、多大なご協力を賜った Google Cloud と Google のパートナーである ObservIQ の以下の方々に特に感謝いたします。
Google、データ分析担当カスタマー エンジニア、Eric Hutcheson
ObservIQ、プリンシパル プロダクト マネージャー、Joseph Howell 氏
ObservIQ、シニア ソフトウェア エンジニア、Sam DeHaan 氏


- Google、クラウド ソリューション アーキテクト、Roy Arsan
Google Cloud、プロダクト マネージャー、Charles Baer
投稿先