サイバーセキュリティに Bigtable を活用している Stairwell の事例
Google Cloud Japan Team
※この投稿は米国時間 2023 年 12 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。
2006 年、Mike Wiacek 氏は Google のマウンテンビューのオフィスに初めて足を踏み入れ、その後およそ 14 年間を Google で過ごしました。その間、Google の脅威分析グループを立ち上げたほか、Alphabet のサイバーセキュリティ ベンチャーである Chronicle(現在は Google Cloud の一部)を共同で設立しています。この投稿では、同氏の Google 社員としての経験が、新会社 Stairwell の立ち上げにどのように影響を与えたのかを紹介します。
サイバーセキュリティは、デジタルの防御壁を築く作業と思われがちですが、その根幹にはデータ分析の課題があります。Stairwell は、この複雑な課題を理解したうえで、適応型の脅威に対抗すべく、適応型のレジリエントなシステムを設計しています。
Stairwell では、組織のシステム上のすべての実行ファイルを収集して永久保存し、最新情報を含む脅威インテリジェンスと照らし合わせて、再スキャン、分析を繰り返し行っています。これにより、リアルタイムのモニタリングや、脅威の事後検証、検出エンジニアリング ワークフローのカスタマイズ、最新のセキュリティ ハンティングが可能となっています。


Stairwell の一般提供が始まって 1 年が経った現在、顧客環境全体で目撃、追跡しているファイルの数は 82 億件以上にのぼります。
データベースのジレンマ
Stairwell では当初、信頼性が高くて使いやすい、オープンソースの PostgreSQL を使用していました。当時は、顧客からのフィードバックを参考にしながら製品と市場の適合性を探っている段階であり、このデータベースは短期的には有効で、作業に専念することができました。
しかし、顧客のニーズに応じてスケールアップするに従って、より堅牢なソリューションが必要となりました。次第に、データベースの制約が生じ始め、製品開発やビジョンに及ぼす影響が無視できなくなりました。
昨年にはこうした制約が顕著になり、Key-Value データのストレージを Bigtable に移行するという戦略的な決断を下しました。BIgtable は Google のスケーラブルな高パフォーマンスの NoSQL データベースで、バッチとリアルタイムの両方のワークロードに対応する汎用性の高さで知られています。この変更が、Stairwell のスケーリング能力の革新を決定付けることになります。
Bigtable: スケーリング革命
従来のデータベースはスケーリングの面で課題があり、意欲的なエンジニアリング チームの足を引っ張るおそれがあります。そんなときは、Bigtable のようなプラットフォームの出番です。Bigtable は、チームの意欲を高める触媒のような存在です。数か月で、以前のデータベースでは想像もできなかった規模の巨大なテーブルを処理できるようになりました。適切なインフラストラクチャがあれば、エンジニアリング チームはやる気と底力を発揮できるのです。
技術的には、どんなデータベースでも Key-Value ストアとして使用できますが、Bigtable のデータモデルおよびパフォーマンスは明らかに他を上回っています。特に、キーが辞書順に並べられる Bigtable のモデルは、当社のユースケースに欠かせません。キースキーマと列ファミリーの修飾子を最適化することによって、リクエストの件数と、読み取り / 書き込みオペレーションあたりのデータ量を減らすことに成功しました。
リーダー式と組み合わせれば、Bigtable はインデックス データストアと、分散ハッシュ テーブルの両方の役割を果たします。関連データを並置することによって、キーのルックアップを正確かつ効率的に行えるほか、1 回のクエリで隣接行を高速にスキャンできます。さらに、Bigtable のガベージ コレクションによって古いレコードが自動削除されるため、ストレージの量が抑えられます。このように、Bigtable の優れた設計のデータモデルは、単に役立つというだけでなく、できることの可能性を広げてくれます。
当社の最大のテーブルは、行数が 3 億 2,800 万件以上、列のカウントがわずか 1 から最大で 10,000 に及ぶという、圧倒的な規模です。このひとつのテーブルに数千億のデータポイントを格納し、読み取りのレイテンシの平均値をわずか 1.9 ミリ秒、最大でも 4 ミリ秒以下に抑えています。これはもはや、マジックの領域です。
Bigtable は、単に巨大な格納庫ではありません。バッチとストリーミングの大規模なクエリを実行してくれる、高パフォーマンスの分析エンジンでもあります。当社は、数億行を挿入する大規模な Dataflow ジョブを頻繁に実行する一方で、ライブユーザーにクエリの結果を 10 ミリ秒未満で返しています。極端な例では、負荷の高い Dataflow ジョブを実行しながら、Bigtable で 1 秒あたり 2,200 万件以上の行を楽々と処理したこともあります。これは、単に速いというレベルではなく、データ処理の新たな段階に到達しているといっていいでしょう。
負荷の急増、マルウェア検出、Go
NoSQL データベースの多くは、拡張性を謳い文句にしていますが、往々にして隠れた制約があります。それは、スケーリングの速度です。Bigtable は Google の Colossus ファイル システムを使用しており、新しいノードをリアルタイムで追加して直ちにオンラインで利用可能な状態にし、入力されるデータ リクエストに対応できます。その際、データの再バランシングや再シャーディングは不要です。また、他の NoSQL システムと異なり、ダウンスケール時もスループットが落ちることはありません。
Bigtable では、オートスケーラーによってスケーリングが自動的に行われ、クエリの負荷の変化に応じてノード数が調整されるため、パフォーマンス レベルが一定に保たれます。この高効率は費用対効果に直結しており、支払いは使用した分だけで済み、一連の処理においてダウンタイムが発生することはありません。
Bigtable は、当社の ML ベースのマルウェア検出システムである MalEval のバックボーンとしての役割も果たしています。この検出システムはニューラル ネットワークを利用しており、トレーニングには、社内のスキャンツールでファイルの数千の特徴から抽出した広範なメタデータを使用しています。
Bigtable は、このトレーニング パイプラインをサポートし、数百万行におよぶギガバイト規模のデータからトレーニング用サンプルを収集するために役立っています。また、リアルタイムのマルウェア スキャナもサポートしています。スキャナは、新しいメタデータを読み込んでトレーニング済みモデルにフィードし、悪意のあるファイルである可能性を推測する仕組みになっていますが、効率性の高い Bigtable のおかげで、厳しいレイテンシ要件を満たしながら、1 日あたり数百万件におよぶ顧客のファイルを処理することが可能となっています。
Stairwell のバックエンドはすべて Go でコーディングしています。この言語は、当社の目的に抜群にフィットしていました。Bigtable の優れた特徴のなかでも、私たちにとって特に便利だったのが Go Cloud SDKの「bttest」パッケージです。このパッケージはインメモリの Bigtable サーバーを提供してくれ、ローカルの開発はもちろん、単体テストにも理想的です。他のデータベースでは、単体テスト用に類似環境をセットアップする際に多くのリソースが必要となりがちですが、その点で Bigtable は明らかに異なります。
今後の展望: 明日の課題に先回りして応える
Bigtable に移行したことで、それまでは想像すらできなかった展望や機能を思い描くことが可能となりました。しかし、Bigtable は現在のデータ要件に対応するだけではありません。Bigtable は将来を見据えたソリューションであり、サイバーセキュリティの将来に備えるとともに、顧客のセキュリティを守るという真の課題に注力できるようにしてくれます。Bigtable のスケーラビリティによって、現在のセキュリティ動向はもちろん、予測のつかない今後の課題にも対応することが可能となります。
その他のリソース
Stairwell のほかにも、多数の企業が Bigtable を使って目標をレベルアップしています。小売、フィンテック、データ品質、ソーシャル メディアの分野で同様のアプローチを採用している企業の例を紹介した以下のリソースもどうぞご覧ください。
- How Discord & Tamr built ML-driven applications with Bigtable(Discord & Tamr が ML ドリブンのアプリケーションを Bigtableで構築した方法)
- Credit Karma が Bigtable で 1 日あたり 630 億件のパーソナライズされたレコメンデーションを提供
- Home Depot delivers personalized experiences with Bigtable(Home Depot が Bigtable を使ってパーソナライズしたエクスペリエンスを提供)
Bigtable の無料トライアルをどうぞご利用ください。
-Stairwell CEO / 創設者 Mike Wiacek 氏
-Stairwell 機械学習担当シニアスタッフ エンジニア Bill Pentney 氏