この参照アーキテクチャでは、運用トランザクション データ、ベクトル埋め込み、 動的リスクモデル を使用して、 MongoDB Atlasにリアルタイム不正検出を実装する方法を説明します。
このアーキテクチャは、トランザクションを取り込み、動作パターンをキャプチャするための埋め込みを生成し、 MongoDB Atlas Vector Searchで同様の履歴イベントを検索し、類似性スコアを確定的リスクモデルと組み合わせて、承認、ステップアップ、または拒否の決定を実現します。リスク モデルと監視リストはMongoDBコレクションに保存されます。 MongoDB Change Streams はスケーリング サービスへの更新をリアルタイムで伝達するため、本番環境の決定では常に最新のロジックが使用されます。
図
図の 1。フラグメント検出リファレンス アーキテクチャ
データフロー
トランザクションの開始
支払いチャネル( 、カード認可、アカウント間転送、デジタル ウォールなど)は、 不正検出APIにトランザクションリクエストを送信します。リクエストには、カスタマー識別子、商品データ、 チャネルメタデータ、デバイスのフィンガープリント、 IP情報、金額、通貨、タイムスタンプなどの基本的なトランザクション属性が含まれます。
トランザクションの豊富性と永続性
不正検出サービスはリクエストを検証し、トランザクションドキュメントをMongoDB Atlasのトランザクションコレクションに書込みます。各ドキュメントには、販売業者の詳細、GeoJSON ロケーション、デバイス情報、スコア、フラグ、診断を保存するネストされた
risk_assessment構造が埋め込まれています。動作パターンの埋め込み生成
サービスは、マーチャントカテゴリ、チャネル、デバイスのフィンガープリント、 IP範囲、時間パターン、説明フィールドなど、トランザクションのカテゴリおよび動作の要素をキャプチャするベクトル埋め込みを生成します。この埋め込みを同じ トランザクションドキュメントの操作フィールドと一緒に保存します。
同様の不正パターンのベクトル検索
このサービスは、 トランザクションコレクションのMongoDB Atlas Vector Searchインデックスに対して
$vectorSearchクエリを発行します。クエリは、新しく生成された埋め込みを使用して、明示的なルールに一致していたものの、既知の不正とパターンを共有したイベントを含む、動作が同様の過去のトランザクションを検索します。決定的なリスクモデルの評価
前のステップのベクトル検索と並行して、リスクエンジンは、量、バランス変更、速度カウンター、地理空間制約など、埋め込みの外部にある数値および構造化属性に対して、ルールベースのモデルとスコアカード スタイルのモデルを評価します。これにより、数値制限と規制しきい値の分離を決定的なロジックで保持しながら、埋め込みは動作の類似性を重視して実行されます。
スコア集計と決定のリスク
このサービスは、ベクトル類似性スコアと決定的なリスク スコアを組み合わせて、トランザクションの全体的なリスク評価を提供します。設定されたしきい値とポリシーに基づいて、エンジン は次のことを行います。
リスクの低いトランザクションを承認し、支払いチャンネルに返す。
高リスクのトランザクションを拒否
境界線のケースに対してステップアップチャレンジ(例、3-D Secure、OTP、または biometric)を発行し、オプションで拒否されたケースやチャレンジに失敗したケースは、調査者の追跡のために手動レビューキューにルーティングされます。
最終決定とサポート診断は、 トランザクションレコードの skip_assessment サブドキュメントに書き込まれます。
Change Streams によるリスクモデルのリアルタイム更新
リスク モデル、監視リスト、構成ドキュメントは、 MongoDB Atlasの専用
risk_modelsコレクションに保存されます。 MongoDB Change Streams は、これらのコレクションからの挿入、アップデート、置換、削除などの変更イベントを不正検出とリスクエンジンサービスにブロードキャストします。アナリストがモデルをアクティブ化または調整すると、すべてのスケーリング エンジンは ミリ秒以内に変更を受け取り、バッチする遅延や手動キャッシュ無効化なしに更新されたルールを新しいトランザクションに適用します。再開トークンを 使用すると、障害や再起動後に更新を失うことなく処理を再開できます。監査、 モニタリング 、下流処理
コア支払いシステムは承認されたトランザクションを処理しますが、拒否されたトランザクションまたはチャレンジされたトランザクションはトランザクションコレクションに詳細なリスク診断機能が付与されています。アナリスト ジョブとモニタリング ジョブは同じコレクションをクエリして、モデルのパフォーマンス、誤検知、および出現する不正パターンを一定の期間追跡します。
コンポーネント
MongoDB Atlasクラスターとコア コレクション
単一マネージド クラスターで、不正検出、運用、分析、構成データの最新のデータプラットフォームとして MongoDB Atlas を使用します。
MongoDB Atlas は、不正決定に必要なすべてのデータをトランザクションの近くに保持し、分析や調査のためにセカンダリ ストアに抽出、変換、ロードすることはありません(ETL)。
提案されたアプローチ
リアルタイムの決定事項で使用されるカスタマー、トランザクション、リスク構成データを保存します。
ETLなしで、分析、ダッシュボード、調査などのセカンダリ ワークロードをサポートします。
実装ノート
本番環境または大規模なデモ ワークロードには、Atlas M10 以上から開始します。
レプリカセット (Atlasデフォルト)を使用すると、変更ストリームを有効にして、同時読み取りワークロードを処理できます。
フラグメント検出のためのデータモデル パターン
不正の決定に必要なすべてのデータをトランザクションの近くに保持するドキュメントスキーマを設計する一方で、エンティティと構成を中心としたビューを有効にします。
提案されたアプローチ
Entity/Customersコレクション
個人と組織を 360 度のプロファイルで保存します: 識別子、Kubernetes 属性、動作分析、リスク評価、エンティティ類似性のためのオプションの埋め込み。
デバイスのフィンガープリント、通常のロケーション、動作パターンを埋め込みまたは参照、「新しいデバイス」や「異常なロケーション」などの異常なチェックをサポートします。
トランザクションコレクション
各金融トランザクションを、金額、通貨、販売業者、GeoJSON ロケーション、デバイス情報、埋め込み
risk_assessmentサブドキュメント(スコア、レベル、フラグ、診断)を含むスタンドアロンドキュメントとして表します。このパターンにより、不正エンジンは決定と診断を、下流のツールがクエリするトランザクションレコードに直接書き込むことができます。
リスクモデルと構成コレクション
バージョン化されたリスクモデルを、係数、重み、しきい値、パフォーマンスメトリクスを含むドキュメントとして保存します。このコレクションを、不正スコアリングの単一の構成ソースとして使用します。
詳細については、「 データモデルによるアプローチ - 金融機関の軽減 」を参照してください。
MongoDB Atlas ベクトル検索動作類似性
MongoDB Atlas Vector Search を使用して、明示的なルールに一致しない場合でも、既知の不正パターンや過去の高リスク イベントのように動作するトランザクションを検出します。
提案されたアプローチ
トランザクション ドキュメントに高次元の埋め込みを保存し、販売業者カテゴリ、チャネル、デバイス、時間パターン、テキストなどの動作シグナルをキャプチャします。
$vectorSearchを使用して新しいイベントごとに最も類似した履歴トランザクションを取得し、類似性スコアを リスクエンジンに提供します。
実装ノート
マルチファクター スコアリング エンジン
MongoDBドキュメントを消費し、エンティティコンテキスト、決定的ルール、ベクトル類似性を単一のリスク スコアに結合する不正スコアリング サービスを実装します。すべての不正をキャッチする単一の検出戦略ではありません。階層化スコアリングにより、誤検知と誤検知の両方が削減されます。
提案されたアプローチ
MongoDBからカスタマーまたはエンティティ プロファイルをロードして、動作ベースラインとコンテキストを生成します。
以下の独立したチェックを実行します。
このカスタマーの通常の金額に対して例外的な金額。
通常の場所からの地理空間距離を使用して、例外的にロケーションを作成します。
既知のデバイスとIP範囲に基づくデバイスの例外。
スライディング タイムウィンドウでのカウントを使用する速度の異常。
ベクトル検索結果を使用した動作の類似性(スコープによっては任意)。
要素スコアとベースラインのカスタマーリスク スコアを組み合わせて 0-100 リスク スコアを作成し、
low、medium、またはhighレベルにマッピングします。
実装ノート
コントローラーにロジックを埋め込む代わりに専用サービス(
FraudDetectionService例)でこれらのチェックをカプセル化することで、チャネルやワークロード全体で再利用できます。
リアルタイム フロー決定要素の API
リスクエンジンとMongoDBアクセス パターンをラップするサービス API を公開します。
提案されたアプローチ
トランザクションとその
risk_assessmentドキュメントをMongoDBに書込む永続性とスコアリングの操作を提供します(例: 、POST/transactionsと同等)。トランザクションを永続化せずにリスクエンジンを実行するステートレスな評価操作を提供し、シミュレーションや事前認可チェックに役立ちます。
最近の高リスク トランザクションを閲覧し、フラグでフィルタリングして、調査のためにカスタマーレベルの履歴を取得するための読み取りエンドポイントを提供します。
実装ノート
これらのエンドポイントを記述するには OpenAPI または類似するものを使用することで、チャネルチーム(モバイル、ウェブ、コア 金融機関)が一貫して統合できます。
MongoDBクエリ(フィルター、集計、
$vectorSearch)は、コントローラーではなくサービス層の抽象化に保持します。
MongoDB Change Streams によるリスクモデル管理
MongoDB Change Streams と専用の構成コレクションを使用して、リスク モデルの変更をリアルタイムで管理および配布します。
提案されたアプローチ
係数の定義、重み、しきい値、ステータスを含む完全なドキュメントとして永続的なリスクモデルを作成します(例: 、
active、draft、archived)。モデル管理APIとUIを提供することで、リスクチームはコード変更なしで および バージョン モデルを有効化できます。
Change Streams を使用して、WebSockt などを介して不正サービスと UI へのモデル変更をプッシュすることで、すべてのコンポーネントが同じアクティブなモデルをすぐに適用します。
埋め込みプロバイダーの統合
埋め込みプロバイダー(例: 、 AWS )を統合して、トランザクションと不正パターンのベクトル表現を生成します。
提案されたアプローチ
トランザクションコンテキスト(金額、マー別、チャネル、デバイス、テキスト フィールド)から埋め込みを生成し、ドキュメントスキーマの一部としてMongoDBに保存します。
不正パターンの説明またはタイプの埋め込みを生成し、それを
fraud_patternsコレクションに保存し、パターンベースのベクトル検索を可能にします。
実装ノート
パターンは、 Atlas ベクトル検索と互換性のある決定的な高次元埋め込みを返す任意のプロバイダーをサポートします。
例外、注意事項、トレードオフ
レイテンシとモデルの複雑さ: 埋め込み生成とベクトル検索により、決定パスにレイテンシが追加されます。レイテンシバケットが厳密なチャネルでは、埋め込みを簡素化したり、次元を削減したり、セマンティック マッチングを高値または高リスクのセグメントにのみ適用したりして、低リスクのトラフィックでは純粋な決定的なルールを実行中。
インデックス サイズと操作オーバーヘッド: 高次元ベクトルインデックスと豊富なトランザクション ドキュメントにより、ストレージとコンピューティング要件が増加します。 Atlas クラスターのサイズ設定、インデックス構成、アーカイブ戦略を計画して、取得品質、運用ワークロードのパフォーマンス、コスト のバランスをとります。操作クエリと地理空間ルールには標準インデックスと2 dsphere インデックスを使用し、動作類似性によって明確な検出値が追加されるシナリオではベクトル検索を予約します。
構成管理の複雑さ: Change Streams を通じてリスクモデルの更新をストリーミングすると応答性は向上しますが、構成管理とテストは複雑になります。新しいモデルの明確な昇格ワークフロー、検証ステップ、ロールバック手順を設計して、リアルタイム環境のスケーリングエンジンに誤ったルールを伝播しないようにする必要があります。
スコープの制限: このアーキテクチャは、トランザクション フローのリアルタイム検出に焦点を当てています。本人確認、マネージド(AML )と KB
実装と詳細
このアーキテクチャを最初から最後まで実装するには、 MongoDB Atlasアーキテクチャ センターのソリューションであるMongoDB Atlasでの金融攻撃の軽減 にアクセスしてください。このガイドを使用して環境を構成し、手順に従って、トランザクション シミュレーター、ウェブ インターフェース、および不正検出とリスク モデル管理のためのサポート サービスを配置します。このソリューションには、金銭的な負の発生を軽減するための追加機能も含まれています。