ProShield-AIの構築:MongoDB Atlasがリアルタイム・サイバーセキュリティプラットフォームを支える方法

Dev.to / 2026/4/30

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • この記事では、不審なアクティビティを検出し、アナリストの対応時間を短縮することを目的としたリアルタイム・サイバーセキュリティプラットフォーム「ProShield-AI」の構築について説明します。
  • 中核となるエンジニアリング上の課題は、非常に一貫性のない、かつ進化し続けるサイバーセキュリティログを扱うことだと強調しています。イベントの構造やフィールドは、出所ごとに大きく異なります。
  • 著者らは、問題が単なる脅威検出から、下流のワークフローを壊さずに予測不能なログ形式を取り込み、管理できるデータレイヤーの設計へと移っていくと述べています。
  • 本稿の中心では、ProShield-AIのシステムアーキテクチャの中で、リアルタイムのデータ取り扱いニーズを支えるためにMongoDB Atlasがどのように活用されているかを扱っています。

Chidurala Sai Pavani、
khajamoinuddin、J.Sirisha、Kalluri Vishal Reddyによる。

Professor @chanda_rajkumar の指導のもとで開発され、
本プロジェクトを通じて貴重なサポートをいただきましたことに感謝します。

ProShield-AIに取り組み始めたとき、この構想はシンプルに思えました。つまり、不審な活動を検知でき、アナリストがより迅速に対応できるシステムを作る、ということです。

しかし開発のごく初期の段階で、すべてのサイバーセキュリティシステムの背後に静かに潜む課題に直面しました——データです。

単に大量のデータというだけではありません。不整合があり、予測しにくく、そして常に進化しています。すべてのログが、異なる構造を持ち、異なる粒度の情報を含み、時にはまったく新しい形式で出力されることもありました。

その時点で、課題は単なる「脅威を検知すること」ではなくなりました。この種のデータを、壊さずに扱えるシステムを設計することが重要になったのです。

サイバーセキュリティデータの性質

一般的なアプリケーションでは、データは構造化されていて予測可能です。しかしサイバーセキュリティでは、そうであることはほとんどありません。

たとえば、単純なログは次のようになるかもしれません。


{
  "source_ip": "192.168.1.15",
  "activity": "failed_login"
}

しかし、同じシステムから別のイベントが出力されると、追加の属性が含まれることがあります。

{
  "source_ip": "10.0.0.25",
  "activity": "malware_detected",
  "file_hash": "xyz",
  "severity": "high"
}

時間が経つにつれて、新しいフィールドが現れ、形式が変わり、そしてデータ量は急速に増えていきます。この種のデータに固定のスキーマを無理に押し付けようとすると、解決策というよりむしろ制約になります。

そこで私たちは、どのデータベースを選ぶかが、システム全体の成功を左右するのだと気づきました。

なぜMongoDB Atlasなのか

私たちはMongoDB Atlasを選びました。これはデータを、その自然な構造を反映する形で保存できるためです。

あらかじめ定義されたテーブルにログを無理やり当てはめるのではなく、MongoDBはログをドキュメントとして保存します。これにより、どのような形式のログでも受け入れ、再構築や移行なしでそのまま保存できるようになりました。

この柔軟性は、システムが進化するにつれて不可欠になりました。

さらに重要なのは、MongoDB Atlasが追加の複雑さなしにスケーリングを処理できることです。ログの数が増えても、システムは一貫した性能を維持し続けました。これはリアルタイムのサイバーセキュリティ用途において極めて重要です。

システムの中核としてのMongoDB

開発が進むにつれ、MongoDB Atlasは単なるストレージ層にとどまりませんでした。システムのあらゆる部分が接続される中心的なポイントになったのです。

ProShield-AIの各段階はMongoDBと連携します。

  1. 生のログを保存する
  2. 処理済みのイベントを更新する
  3. インシデントを追跡する
  4. 攻撃者プロファイルを維持する
  5. レポートを生成する

その結果、MongoDBは単なるデータベースではなく、プラットフォーム全体の基盤となりました。

ログからインテリジェンスへ

システムはシンプルですが効果的な流れに従います。

ログを収集し、MongoDBに保存し、AIモデルで処理し、その後、追加の洞察を添えて書き戻します。

この継続的なサイクルにより、システムは新しいデータが入るたびに進化できます。

ログの取り込みと保存

最初のステップは、ログを収集し、それをそのままMongoDBに保存することです。

以下は、ログがシステム内でどのように表示されるかの例です。

これらのログは、構造を強制することなく、受け取ったそのままの形で保存されます。これにより、取り込みの過程で情報が失われないことが保証されます。

イベント処理

保存された後、ログは異常検知の手法とルールベースのロジックを組み合わせて分析されます。

システムは通常ではない挙動を特定し、リスクスコアを付与し、重大度に基づいてイベントを分類します。

この段階で、生のログは、さらなる分析に利用できる意味のあるイベントへと変換されます。

インシデントの構築

個々のイベントだけでは、全体像はなかなか伝わりません。サイバー攻撃は、一連の行動で構成されます。

たとえば、失敗したログインの試行の後に特権昇格が続き、その後でデータへのアクセスが行われる、ということがあり得ます。

これらを別々に扱うのではなく、システムはそれらをインシデントとしてまとめます。

MongoDBは、関連するデータを効率的に保存し、一緒にクエリできるようにすることで、これを可能にします。

攻撃者インテリジェンス

処理されるデータが増えるにつれて、パターンが現れ始めます。

システムは、反復されるアクション、攻撃スタイル、進行パターンなどの行動に基づいて、攻撃者のプロファイルを構築します。

MongoDBは厳格なスキーマを強制しないため、新しいデータが観測されるにつれて、これらのプロファイルは自然に進化できます。

次に何が起こるかを予測する

ProShield-AIの最もインパクトのある機能の1つは、攻撃の次に起こり得るステップを予測できることです。

過去のパターンを分析することで、システムは攻撃者が次に何を試みる可能性があるかを見通すことができます。

これによりシステムは反応型から予防型へと切り替わり、現代のサイバーセキュリティにおいて重要な要件を満たします。

レポートと洞察

最終段階では、処理されたすべてのデータがレポートにまとめられます。

これらのレポートは、システムの稼働状況、検出された脅威、潜在的なリスクを明確に要約します。

MongoDBはこの情報のための中核となるリポジトリとして機能し、素早いアクセスと信頼できる保存を保証します。

MongoDBが不可欠だった理由

振り返ると、MongoDB Atlasを適切な選択にした要因はいくつかあります:

予測できないデータを、スキーマ変更なしで扱えた
ログのボリューム増加に合わせて、難なくスケールできた
高速な読み取りおよび書き込み操作をサポートしていた
AIベースの処理とシームレスに統合できた

最も重要なのは、データベースの管理に時間を費やすのではなく、システムの構築に集中できたことです。

結論

ProShield-AIを構築することで、1つのことが明確になりました。現代のシステムでは、データベースは単なる保存コンポーネントではありません。データがどのように処理され、関連付けられ、洞察として変換されるかの中心的な役割を担っています。

MongoDB Atlasにより、現実のサイバーセキュリティデータを、その自然な形のまま、制約なく扱えるようになりました。

それにより、脅威を検出するだけでなく、それらを理解し、予測できるシステムを構築することができました。

その意味で、MongoDB Atlasは単にProShield-AIを支えるものではなく、システムを成立させているものです。

デモ動画:
https://youtu.be/zQQrSXcCysk?si=Q3DmLMt3PxlqqVEp

Githubリポジトリ:
https://github.com/vishalreddy2006/Proshield-AI