Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
データ×エンジニアリング×CSで実現するクレジットカードの不正対策
Search
0x6b
August 20, 2025
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データ×エンジニアリング×CSで実現するクレジットカードの不正対策
0x6b
August 20, 2025
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Un-Boring Meetings
codingconduct
0
460
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Ethics towards AI in product and experience design
skipperchong
2
430
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Speed Design
sergeychernyshev
33
2.2k
Transcript
データ×エンジニアリング×CS で実現する クレジットカードの不正対策 Welcome Fintech #5 カード決済の運用現場を支えるエンジニアリング
2 SmartBank, Inc. Engineering Manager 佐藤 薫 @0x6b
@0x6b
3
1. 資金移動業とその法的義務 2. オンラインカジノのリスク 3. スマートバンクのオンラインカジノ対策 4. 実際の効果 5. まとめ
4 今日話すこと
1. 資金移動業とは? — 銀行以外がお金の送金を行う事業 ◦ PayPay による個人間送金、LINE Pay による友達への送金、電子マネーから銀行口座への資金移動など
2. 法的義務 (の一部) ◦ 資金決済に関する法律 (資金決済法 ): 資金移動業としての基本的義務 ▪ 財務局への登録制 ▪ 利用者保護のための資金分別管理 ▪ 履行保証金の供託・分別管理の実施 ▪ 送金限度額の設定 ◦ 犯罪による収益の移転防止に関する法律 (犯収法): マネーロンダリング・テロ資金供与防止 ▪ 本人確認義務・疑わしい取引の届出 ▪ 取引記録の保存・内部管理体制の整備 5 資金移動業とその法的義務
6 オンラインカジノのリスク 警察庁オンラインカジノ注意喚起より引用
1. 行政当局からの要請・注意喚起 ◦ 金融庁・警察庁からの要請 : オンラインカジノに係る賭博事犯防止及び電子マネーを利用した特殊 詐欺被害防止のための対応について(要請) (2025 年
5 月) ◦ 警察庁による注意喚起 : 賭博罪での摘発事例あり 2. 実務上の課題 : 多数の取引からの検知困難性 ◦ 数百万件/月の決済取引 ◦ 数十億円超/月の流通金額 ◦ 月間平均800件程度のオンラインカジノ決済が発生 ◦ 目視確認による全件チェックは事実上不可能 7 オンラインカジノのリスクと課題
オンラインカジノ対策における データ×エンジニアリング×CS の連携
9 決済ブロック機能の実装、管理画面・支援ツールの提供、ブロック候補の抽出 既存データの活用 人による判断、お客さま対応とフィードバックのプロセス データ エンジニアリング カスタマーサポート (CS)
10 ユーザー オンラインカジノ 決済システム CS カード利用 決済要求 決済拒否 エラー通知 ブロックルール
評価 定期的なブロックルール見 直し オンラインカジノ決済がブロックされるまでの大まかな流れ 参考: B/43カード決済システムのしくみ (前編) - inSmartBank
1. データ基盤 ◦ MySQL: データを格納 ◦ Redash: データ抽出・可視化ツール 2.
活用しているデータ ◦ 取引データ : これまで蓄積された決済履歴 ◦ 加盟店マスタ : 加盟店カテゴリ、店舗名などの基本情報 11 データ: 既存データの活用 MySQL/Redash を Snowflake/Lightdash へ移行中: 戦略と実行を爆速でつなぐデータ活用の現在地 - inSmartBank
決済だけでなくブロック機能も自社開発のため柔軟な制御が可能 • オンラインカジノ決済ブロック機能の実装 ◦ 加盟店 ID・端末 ID・理由に基づいて決済をブロックするルールを実装 ◦ 決済時にリアルタイムでブロックルールを評価
• CS チームが管理画面で直接ルールを登録・無効化できる仕組みの提供 ◦ 専用管理画面 ◦ ブックマークレット • Redashによるブロック候補の抽出 12 エンジニアリング: 決済ブロック機能の実装、管理画面・支援ツールの提供、ブロック候補の抽出
13 加盟店 ID・端末 ID・理由に基づいて決済をブロックするルールを Ruby on Rails におけるモデルとして実装 class AuthorizationBlockRule
< ApplicationRecord # ... enum :reason, { no_authorization: 1, # 無許可加盟店 other: 2, # その他の理由 credit_master: 3, # クレジットマスター攻撃(手動検知) credit_master_auto_detection: 4, # クレジットマスター攻撃(自動検知) fraud_authorization: 5, # 不正利用の疑い online_casino: 6 # オンラインカジノ ← 今回の対策 } # ... class << self def create_by_administrator!( administrator:, acquiring_id:, reason:, acceptor_id: nil, merchant_terminal_id: nil, memo: nil ) # ... end # ... end
14 決済時にリアルタイムでブロックルールを評価 class Processing class Validators # ... # 指定されたパラメータに一致するAuthorizationBlockRuleの理由一覧をキャッシュして返す
# 複数のvalidationメソッドで使用されるため、インスタンス変数でメモ化することでクエリ数を削減 # @return [Array<String>] マッチした認可ブロックルールの理由一覧 def matched_authorization_block_rules @matched_authorization_block_rules ||= AuthorizationBlockRule.matched_rules_for_all_reasons( acquiring_id:, # アクワイアラ(決済代行業者) acceptor_id:, # 加盟店 merchant_terminal_id: # 決済端末 ) end # ... end end
15 CS チームが管理画面で直接ルール登録・無効化できる仕組み 参考: 細かな技術を駆使して CS 業務を効率化する - inSmartBank
加盟店カテゴリ情報による機械的な判定が困難な境界は人による判断が必要 1. データ抽出 : Redashから加盟店リスト取得 2. スプレッドシート管理 : 判定記録を管理 3.
手動判定: 加盟店サイトを目視確認 4. ブロックルール定義 : 管理画面でルール登録 5. コンプライアンス連携 : 現業部門とは異なる間接管理部門にて適切性を確認 16 CS: 人による判断、お客さま対応とフィードバックのプロセス
17 ブロック判定基準の例 ブロック対象外 ブロック対象 国内公営ギャンブル : 競馬・競輪・パチンコなど 海外オンラインカジノ
: KKpoker.net、mystino など ギャンブル外商材 : 加盟店のカテゴリがギャンブ ル・賭博関連であったとしても非ギャンブル商品を 取り扱う場合もある 高リスク加盟店 : CS スタッフがサイトを目視してリ スクが高いと判明した加盟店
実際の効果
19 実際の効果: 金融庁・警察庁の要請に対応し、違法賭博への資金流入とレピュテーションリスクを削減 月平均決済件数 月平均決済金額 76% 削減 79%
削減 注: オンラインカジノを含む MCC (加盟店コード) 7995 における削減状況を示したグラフです
まとめ
常に新たな法制度や手法が登場するためエンジニアリングによる自動化と人による 判断のバランスが重要 ◦ 微妙なケースへの適切な対応には人間の判断が必要 ◦ 自社開発による柔軟な対応力は非常に有効だが、ビジネス状況に合わせてオー バーエンジニアリングを避ける 今後のチャレンジ
◦ ブロック率向上 : 決済代行会社を経由するなど新しいパターンへの対応や類似加盟 店名の自動検出について、機械学習・LLM の検証 ◦ 業界連携: 知見共有による効果拡大 21 まとめ
2 2
• AI家計簿アプリワンバンク • 株式会社スマートバンク • 資金決済に関する法律 • 犯罪による収益の移転防止に関する法律施行規則 • オンラインカジノに係る賭博事犯防止及び電子マネーを利用した特殊詐欺被害防止のための対応
について(要請) • 警察庁オンラインカジノ注意喚起 • ワンバンクカードはオンラインカジノなどのギャンブルサイトでご利用できません • 細かな技術を駆使して CS 業務を効率化する - inSmartBank 23 参考資料