Dataform と Community Security Analytics を使用して、ログから短時間でセキュリティ分析情報を得る
Google Cloud Japan Team
※この投稿は米国時間 2023 年 9 月 29 日に、Google Cloud blog に投稿されたものの抄訳です。
Google Cloud 環境では、価値の高い多様なログが、速いスピードで大量に生成されます。そのため、監査ログやネットワーク ログなどのセキュリティ ログの内容を確実に把握し、必要な分析情報を得るのは簡単ではありません。短時間でログからセキュリティ分析情報を得ることができるよう、オープンソースの Community Security Analytics(CSA)によって、BigQuery を基盤とするログ分析を通して利用できる事前構築済みのクエリやレポートが提供されています。Google のお客様とパートナーは、CSA クエリをデータ利用状況の監査、脅威の検出と調査、行動分析とネットワーク フォレンジックに役立てています。BigQuery に CSA をデプロイして運用化することで、大幅なクエリ パフォーマンスの向上および費用低減というメリットをこれまでになく簡単に手にできるようになっています。
このたび、プレミア Google Cloud Service パートナーである Onix との連携のもと、BigQuery サービスであり、データの ELT(抽出、読み込み、変換)プロセスを管理するオープンソースのデータ モデリング フレームワークである Dataform を通して CSA をデプロイできるようになったことをお知らせします。これにより、費用対効果の高いサマリー テーブルやエンティティ ルックアップ テーブル(例: 一意のユーザーや IP アドレスの参照)を使用して、CSA レポートおよびアラートの展開を自動化できるようになります。Dataform は、ELT パイプラインのインフラストラクチャおよびオーケストレーションの機能を担っており、ログ分析の未加工のログデータを、フィルタリング、正規化、モデリングを通して、以下の依存関係ツリーに示すような約 50 の CSA ユースケースに対応するキュレートされた最新の BigQuery テーブルおよびビューへと作り変えます。


未加工のログテーブルを一連のデータテーブルに変換し、CSA で定義されたセキュリティに関する問いについてレポートを作成する SQL ワークフローを示す Dataform 有向非巡回グラフ(DAG)
Google Cloud の優れた機能をログ分析に活用


ログを利用しやすく有用なものへと作り変える
Dataform、Cloud Logging のログ分析、BigQuery という Google Cloud の優れた機能を組み合わせ、ログの管理と分析に活用できます。
まず、BigQuery は、すべてのログを保存するための、ペタバイト規模の一元化されたフルマネージド型データ ウェアハウスとなります(SCC の検出結果などのその他のセキュリティ データも保存できます)。
次に、Cloud Logging のログ分析は、BigQuery のログを転送して分析するためのシンプルなネイティブ ソリューションです。ログをエクスポートまたは複製したり、パーティショニング、クラスタリング、検索インデックスの設定などの手間をかけたりすることなく、必要なときにすぐにログを分析できます。
最後に、Dataform では、必要なログデータのモデリングを設定することで、未加工のログから継続的に最新の情報を反映させた正規化済みサマリー テーブルを使用して、ログについてのレポートを作成し、可視化を行い、アラートを生成できます。
Dataform を通して CSA をデプロイする理由
- クエリの費用とパフォーマンスを最適化
サマリー テーブルからログのクエリを実行することで、ソースである BigQuery の _AllLogs ビューに対してクエリを実行する場合と比べて、スキャンするデータ量を大きく削減できます。Google 内部のテスト環境で、大量に発生する未加工のログについてテストした結果によると、多くの場合スキャンするデータ量は 1% 未満となっています(以下のスクリーンショットの例を参照)。


DNS ログのサマリー テーブルを使用し、SQL クエリによってスキャンされるデータ量について 330 倍の効率性向上を実現
これにより、ログについてのレポートやアラートの生成などの、読み取りが多く発生するワークロードで大幅な費用の低減が可能となります。継続的にアラートを生成するために BigQuery のスケジュールされたクエリを利用するお客様や、Looker、モニタリング ソフトウェアである Grafana などのビジネス インテリジェンス(BI)ツールを BigQuery 上で利用するお客様にとって、このことは特に重要です。
注: トラブルシューティングや調査のために、ログ分析のユーザー インターフェースからアドホック検索を行うことができます。この場合は、レポートやアラートの生成のようにクエリで追加費用は発生しません。
- ドメインごとにログを分離し、機密フィールドを削除
一般的に、ログには機密情報が含まれています。ログデータをドメイン固有のテーブルに分けて保存することで、正当な権限を持つユーザーのみが、自身の職務の遂行に必要なログのみを参照するように制限をかけることができます。たとえば、ネットワーク フォレンジック アナリストは、ネットワーク ログのみへのアクセスが必要です。データ監査ログなどの他の機密ログへのアクセスは必要ありません。CSA に対応した Dataform を利用すると、ネットワーク アクティビティに関するサマリー テーブル(CSA 6.*)への読み取り専用アクセス権は付与するものの、データ利用状況に関するサマリー テーブル(CSA 5.*)へのアクセス権は付与しないというように、テーブルレベルで権限を指定することで、このような職掌分散を行うことができます。
さらに、1 時間ごとや 1 日ごとなど、一定期間でデータを集計することで、機密情報を含む可能性のある低レベルのデータを取り除くことができます。たとえば、ユーザー アクションに関するサマリー テーブル(CSA 4.01)では、呼び出し元 IP やユーザー エージェントなどのリクエスト メタデータはキャプチャされません。このようにすることで、たとえば ML 調査担当者が行動分析を行う場合、IP アドレスなどの個々のユーザーの詳細情報にアクセスすることなく、一定の期間においてユーザー アクションに異常が見られないかに注目してデータを分析できます。
- AI / ML および生成 AI 機能を活用
ログデータをシンプルで小規模なテーブルへと正規化することで、価値創出までの時間を大幅に短縮できます。たとえば、集計および正規化されたユーザー アクションの BigQuery テーブル(以下に示す 4_01_summary_daily テーブル)を分析すると、_AllLogs BigQuery ビューを元の未加工形式のまま分析するよりもはるかに分析作業がシンプルとなり、より多くの分析情報を獲得できます。後者のテーブルのスキーマは、ネストされたレコードや JSON フィールドをいくつも含む複雑なもので、わかりづらいこともあるため、ログを効率的に解析してパターンを見つける能力が制限されます。


ソースの _AllLogs スキーマのスニペット(左)と、ディメンションを削減したサマリー テーブル(右)の比較
ログを正規化することで、データセットが小規模でシンプルになるため、計算の面で ML 活用のチャンスが広がるだけでなく、ML 調査担当者も、Cloud Logging のログスキーマや LogEntry 定義に精通する必要なく、日次ユーザー アクションなどのサマリー テーブルを分析できるようになります。
また、LLM モデルを使用して特定のデータベース スキーマに基づき自然言語から SQL クエリを生成するなど、生成 AI も活用できるようになります。現在、LLM モデルを使用してテキストから SQL を生成するアプリケーションについての数多くの研究が行われています。初期段階の研究によると、スキーマがシンプルで、個別のドメイン固有のデータセットが用意されている場合に、十分な精度を持つ SQL クエリを生成できるという幸先の良い結果が出ています。
ご利用方法


CSA 向けの BigQuery Dataform を利用する前に、一元的なログバケットにログを集約し、ログ分析によって提供される、BigQuery のリンクされたデータセットを作成します。まだ設定していない場合は、セキュリティ ログ分析ソリューションのガイドに記載された手順に沿って、ログバケットにログを転送([Log Analytics] タブを選択)します。
CSA 向け Dataform の README 内の Getting started を参照して、ソースのログビュー(ログ分析の BigQuery ビュー _AllLogs)から CSA テーブルおよびビューを構築します。Dataform は、Google Cloud コンソールから実行することも(こちらの方が一般的です)、Dataform CLI から実行することもできます。
Dataform CLI は、履歴ログを手早く処理する 1 回限りの、またはアドホックな Dataform 実行で使用できます。CLI を使用する場合、対象とする過去の期間(デフォルトは 90 日)を指定します。
ただし、ほとんどの場合、Cloud コンソールを通して Dataform リポジトリを設定するとともに、履歴ログおよびストリーミング ログを処理するスケジュールされた Dataform 実行のための Dataform ワークフローを設定する必要があります。Dataform ワークフローは、1 時間ごとや 1 日ごとなどの定期的なスケジュールに基づき、ターゲットのデータセットを継続的かつ段階的に更新し、新たなデータを反映させます。そのため、費用対効果の高い方法で継続的に新しいデータについてのレポートを生成できます。Cloud コンソールの Dataform ページでも、Dataform リソースを管理し、インラインで Dataform コードを編集して、データセットの依存関係ツリー(先ほど示したようなツリー)を可視化できます。これらすべての操作は、きめ細かな Dataform IAM ロールによりアクセスを制御できます。
パートナー デリバリー サービスの利用
CSA 向け Dataform を使用し、専門の Google Cloud パートナーを利用することで、BigQuery において効率的かつ短時間で独自のセキュリティ データレイクおよびモニタリングの仕組みを構築できます。
プレミア Google Cloud パートナーであるとともに、データ マネジメントおよびセキュリティ ソリューションの大手プロバイダである Onix では、この新しい CSA 向けの Dataform 機能を利用したいとお考えのお客様に以下のようなサービスを提供しています。
- この CSA ソリューションをデプロイするためのセキュリティ基盤の実装
- セキュリティの可視化およびカバレッジのための Google Cloud ログの設定
- Infrastructure as Code とデータ ウェアハウジングのベスト プラクティスに沿った CSA および Dataform のデプロイ
- セキュリティ基盤の一部として含まれるレポートおよびアラートレイヤの管理とスケーリング
まとめると、BigQuery では、ログ分析による Google Cloud ログ、および忠実度の高い Security Command Center アラートをネイティブに保存できます。組織の規模にかかわらず、今すぐ Dataform を通して CSA をデプロイし、Google Cloud のセキュリティ データについてレポートおよびアラートを生成できます。CSA を使用したセキュリティ分析の設計、構築、実装を支援する Onix などの専門的なパートナーを利用することで、個々のセキュリティおよびコンプライアンス要件に適した形で今すぐセキュリティ データレイクを構築できます。
-Onix、クラウド セキュリティおよびコンプライアンス担当ディレクター、Hunter Lynne 氏
-Google、クラウド ソリューション アーキテクト、Roy Arsan