コアデータフィンテックPerformanceプランとScaleプラン

リアルタイム不正検知

ベロシティカウンター、既知の不正リスト、カードの利用頻度、モデル特徴量を1台のサーバーから読み取り、すべての決済をリクエスト経路の中でスコアリングします。

決済ごとのシグナル
4
承認の前に
経路内
ブロックリストのメモリ
一定
ステップ 1 / 5
カードごとの試行を数える

カードごと、1分ごとに1つのカウンターで、最初の加算の後に1分の有効期限を付けます。

サンプルセッションplaying
# カードごとの試行を数える
hotkv> INCR velocity:card:4f1a:m
(integer) 7

実際のHotKVコマンドと応答例を使ったアニメーションのウォークスルーです。任意のステップをクリックすると、そこに移動します。 コマンドと応答は、HotKVで実際に入力し表示されるとおり英語のままです。

課題

不正チェックは、決済が承認される前に、購入手続きのレイテンシ予算の中で行わなければなりません。このカードが直近1分間に何回試行したか、このデバイスがブロックリストに載っているかといった重要なシグナルは、トランザクションデータベースからすばやく算出するのが困難です。

HotKVでの解決方法

HotKVはシグナルを常に用意しておきます。有効期限の短いカウンターがベロシティを追跡し、Bloomフィルターがカードやデバイスが既知の不正かどうかに答え、Count-minスケッチがカードの1日の利用頻度を推定し、フィーチャーストアがリスクモデルの入力を提供します。ルールエンジンやモデルが、決済が通る前にそれらを組み合わせます。

ステップごとに

コマンドごとに何が起きるか

  1. 01

    カードごとの試行を数える

    カードごと、1分ごとに1つのカウンターで、最初の加算の後に1分の有効期限を付けます。

    INCR velocity:card:4f1a:m
  2. 02

    ブロックリストを確認

    既知の不正デバイスのBloomフィルターを一定のメモリで保持します。

    BF.EXISTS blocked:devices dev:8812
  3. 03

    今日は何回目?

    Count-minスケッチが、カードごとのカウンターなしで数百万枚のカードの利用回数を推定します。

    CMS.QUERY cards:today card:4f1a
  4. 04

    モデル特徴量

    リスクモデル用の、アカウントの経過日数、普段の国、平均購入額です。

    FEATURE.GET risk_features account:42
  5. 05

    請求する前に判断

    作成から3日のアカウントで高いベロシティ。決済は決済代行ではなく審査に回されます。

    XADD fraud:review * card 4f1a account 42 score 0.91
活用シーン

実際のシナリオ

決済プラットフォーム

カードテスティング攻撃はベロシティカウンターによって数秒で検知され、次の試行の前にブロックされます。

マーケットプレイス

購入内容が不自然な新規アカウントや、ブロックリストに載ったデバイスは、手動審査に回されます。

プロモーションと紹介プログラム

デバイスと支払い方法ごとに利用回数を数えることで、クーポンの不正利用を見つけます。

標準搭載

得られるもの

ベロシティカウンター

時間バケットごとに有効期限付きのINCR。ナノ秒の精度まで対応します。

INCREXPIRENEXPIRE

ブロックリスト

カード、デバイス、メールアドレスのためのBloomフィルター。

BF.ADDBF.EXISTS

頻度の推定

巨大なキー空間での利用回数を扱うCount-minスケッチ。

CMS.INCRBYCMS.QUERY

モデル特徴量

リスクモデルのための型付き特徴量。

FEATURE.GET

よくある質問

Bloomフィルターが正当な顧客をブロックすることはありますか?

設定した誤り率で偽陽性を報告することがあります。そのため、即座に拒否するのではなく、追加のチェックを始めるきっかけとして使ってください。

ルールはどこで動きますか?

お客様自身のサービスで動きます。HotKVがシグナルをすばやく提供するため、ルールやモデルは購入手続きのレイテンシ予算の中で判断できます。

どのプランに含まれますか?

カウンターと確率的データ構造はすべてのプランで動作します。フィーチャーストアは、PerformanceプランとScaleプランに含まれます。

関連するユースケース

ご自身のワークロードで試してみましょう

HotKVはRedisプロトコルに対応しているため、既存のクライアントを向けるだけで、これらと同じコマンドを実行できます。