
Kittipong Jirasukhanont(Alamy経由)
4年前、あるセキュリティインシデントが私たちのエンジニアリングチームを新たな道へと導きました。ログ収集に奔走し、SaaS(ソフトウェア・アズ・ア・サービス)アプリケーションに伴う可視性の限界にますます苛立ちを感じた末、最終的に私たちはセキュリティの可観測性を自分たちの手に取り戻すことにしました。この過程で、時系列テレメトリは何度もその価値を証明し続け、ついには私たちのエンジニアがこのテレメトリを社内のセキュリティ監視プラットフォーム「DiSCO」の原動力として活用することを決断しました。
適切なデータ、適切な構造、そして適切なエンジンがあれば、時系列テレメトリは強力なセキュリティ監視システムの基盤となり得ます。これは、サードパーティSaaSやクラウドサービスの不透明さを打ち破ることができるものです。DiSCO(Digital Supply Chain Observability)は、時系列データをセキュリティ監視やアラートにどう活用できるかを探求する、InfluxDataのセキュリティチームによる継続中のプロジェクトです。ここでは、DiSCOがどのように誕生したかをご紹介します。
死角から学んだ教訓
2021年、私たちのエンジニアの一人がサードパーティツール「Codecov」をビルドパイプラインに統合しました。無料サービスだったため、法務やセキュリティの審査をすり抜けてしまいました。その年の後半、Codecovが侵害され、そのインシデントを特定したのは顧客の一人でした。私たちがそれを知った時には、侵害発生からすでに4か月が経過していました。
もし私のクレジットカードが不正利用されたら、数分以内に通知が来ます。では、なぜSaaSプロバイダーは見知らぬIPや不審な場所からの異常なアクセスを検知できないのでしょうか?
このインシデントは、私たちがSaaSに関してすでに解決に取り組んでいた最大のセキュリティ懸念の一つを浮き彫りにしました。それは、「観測できないサプライチェーンをどうやって守るのか?」という問題です。
厳しい現実として、ほとんどのSaaSプロバイダーは監査ログを提供しないか、プレミアムライセンスの壁の裏に隠しています。これらのアカウントタイプは通常、ベースプランの3倍のコストがかかり、何千人ものユーザーを持つチーム向けに設計されています。私たちは複数のSaaSアプリケーションを利用していますが、それぞれでプレミアムプランを契約するのは現実的ではありません。そもそも、私たちが求めていたのは多くありません。知りたかったのは、「すでに料金を支払っているサービスを誰が使っているのか?」ということだけです。ログを解放せよ!
DiSCOはログをどう活用しているか
何か月(場合によっては数年)もの交渉を経て、ようやく予算を圧迫することなく、いくつかの重要なSaaSアプリケーションの監査ログへのアクセス権を得ることができました。しかし、データを手に入れるのは最初の一歩に過ぎません。次は、そのデータをどう活用するかが課題でした。
これらのログを処理するために、完全なセキュリティ情報・イベント管理(SIEM)システムを導入するのは過剰でした。なぜなら、私たちにはそれを適切に展開・管理するための人員も時間もなかったからです。しかし、自社の時系列データベース「InfluxDB」にはアクセスできました。InfluxDBはもともと高精度なメトリクス収集用に設計されていましたが、ログファイルから重要なデータ要素を抽出してプラットフォームに取り込むのはそれほど難しくありませんでした。これにより、失敗・成功したログイン試行などの基本的な傾向を可視化できるようになりました。
これこそがDiSCOの役割です。私たちのSaaSやクラウドシステム全体で、監査ログをほぼリアルタイムで収集・集約・分析できるようになりました。DiSCOのコレクターは各SaaSプロバイダーから生の監査ログデータを取得し、オープンソースの収集エージェント「Telegraf」に渡します。Telegrafはデータをバッファし、構造化されたタグ・タイムスタンプ・コンテキストと共にInfluxDBに書き込みます。推論エンジン「DiSCO Inferno」は、従業員による企業SaaS利用の行動(通常の場所、典型的なログイン時間、既知のIPアドレスなど)からモデル化された期待される行動の知識ベースと、リアルタイムのイベントを比較します。
プライバシーへの配慮として、DiSCOはユーザー名をランダムに生成されたUUID(ユニバーサル一意識別子)に置き換えた後で、異常検知やアラートなどの処理を行います。アラートはSlack、PagerDuty、メールにルーティングされ、可視化はGrafanaが担当します。また、DiSCOは時系列プラットフォーム上で動作しているため、パースの強化や知識ベースの拡張時に過去データを再生でき、多くの商用SIEMに匹敵するフォレンジック分析の深さを、コストや運用負荷なしで実現できます。
DiSCOで見えるようになったこと
時系列エンジンを活用することで、DiSCOは以下のような潜在的に重要なイベントの可視性を提供します。
-
異常な地理的場所からのログインやAPIアクセス
-
サービスアカウントによる異常なデータ取得量
-
数分以内に2つの異なる場所からの「不可能な移動」によるログイン
-
クロスSaaS相関、つまり1つのプラットフォームでの活動の直後に、別の地理から別のプラットフォームへのアクセスがある場合
-
想定される勤務時間外や通常の場所パターン外でのアクセス
-
頻度ベースの異常検知や外れ値の利用
-
サードパーティの保持ポリシーに依存しないフォレンジック用の過去データ再生
DiSCOは、私たちのシステムがどのようにアクセスされているかを可視化し、見逃していたであろう行動を浮き彫りにしてくれています。このプロセスが私の最悪のセキュリティ悪夢の一つから始まったことは残念ですが、時系列データの価値を証明できたのは大きな成果でした。何より、重大な問題解決をイノベーションへと昇華させたチームを率いることができたことを誇りに思います。