![アイキャッチ_06](https://assets.st-note.com/production/uploads/images/17222027/rectangle_large_type_2_0e78a1b14069c52b63b70ab2a54d3b03.png?width=1200)
モバイル決済のあんしん・あんぜんを支える不正検知システムの裏側
はじめに
※ Product Manager Advent Calendar 2019への寄稿です。昨年の投稿はこちら。
こんにちは。株式会社メルペイでAML(アンチマネーロンダリング) 不正検知システムのプロダクトマネージャーを担当している、itohiro(@hirorirorn)です。
2019年にリリースされた様々なモバイル決済サービスと切っても切り離せないのが「不正」に対しての対策です。今年は不正決済やマネーロンダリングなど、決済事業×不正に対しての注目度が高かった一年だったと思います。本記事では、それらの不正と戦うために、私たちが0から開発を進めた不正検知システムについて、リリースからこの1年間の日々のプロダクト改善について振り返ります。
不正検知というあまり馴染みがない方が大半かもしれませんが、今回の記事では、表からは見えない裏側のシステム開発において、プロダクトマネージャーが何を課題として取り組み、どのように解決まで至ったかを記載します。
今回はシステム的な話がメインとなります。よりリアルな不正との戦いの部分などは書きたくても書けないことがありますので、それは別途、お茶でもしながらお話ししましょう!
自己紹介
新卒2年目。高専で電気電子を専攻、筑波大学に編入。大学在学時にメルカリのインターンに参加し、souzohでメルカリNOWの立ち上げ -> メルカリに新卒入社 -> 2019年1月 メルペイ AML systemに異動
メルペイについて
メルペイはフリマアプリ「メルカリ」の売上金を外部で使える決済システムとして、今年の2月にリリースされました。リリースからの登録者数は500万人を突破しており、ID決済やQRによるコード払い、ネット決済など様々な決済方法で利用することが可能で、使える店舗もどんどん拡大しています。
やっていること
私が所属するAML Product チームは決済システムの主要な守りの部分を担っており、大きく分けて「ユーザースクリーニング」と「トランザクションモニタリング」の2つの要件を満たす機能の開発を行なっています。
1. ユーザースクリーニング(疑わしい人を見つけ出す)
2. トランザクションモニタリング(疑わしい取引を見つけ出す)
疑わしい「人」と「取引」を見つけだす。メルペイという金融事業をドライブさせるために、これらの要件を高い精度で達成するプロダクトを作ることが私たちのチームのミッションです。
また、決済を検知した上でCS Ops (カスタマーサクセス) のオペレーターが目視確認する社内ツールや、疑わしい取引を見つけた場合に当局に報告するレポーティングツールの開発も私たちのチームで行なっています。
ここで紹介した機能やツールは、私たちチームで開発しているうちのごく一部であり、これに関わる様々なコンポーネントの開発をチーム一丸となって日々進めています。
どのように不正を検知する?
不正を検知すると言っても、どのようにして不正決済を検知するのでしょうか。
不正決済を検知するためには、多数のデータを掛け合わせて様々な観点から監視する監視ルールを大量に作成する必要があります。
そのルールエンジンとしてメルペイはSplunkを採用し、検知に利用するデータを各マイクロサービスからAMLシステムまで適切な形と適切なデータ取得方法を用いて、データを流し込んでいます。
メルペイはGCP(Google Cloud Platform) 上に分散化されたマイクロサービスに各ドメインごとにオーナーがいる形でプロダクト開発が行われています。
しかし、AMLシステム自体は過去の様々な経緯があり、AWS (アマゾンウェブサービス) 上で開発が進められています。そのため、GCP -> AWS間でデータのやりとりが行なわれています。これらの実装部分についても私たちのチームのエンジニアメンバーが記事を書いているので、そちらもぜひご覧ください。
理想的な不正検知システムの条件
私は不正検知システムが満たすべき要件を以下の四つに定義できると考えています。
1. 速度
決済から検知までの時間差を限りなく0にすること。リアルタイム検知を実現すること。
2. 精度
疑わしい取引のみを検知すること。問題のない取引を多量に検知しすぎないこと。
3. 柔軟性
常に変わる不正の手口に対して、即座に対応できるシステムになっていること。開発体制もそれに準じた組織構成になっていること。
4. 堅牢性
多量なトランザクションの負荷にも耐えうることができること。システムにおける高い冗長性を兼ね備えていること。
決済システムにおける不正検知システムはこれらの全てにおいて高いクオリティを保持した上で24時間365日稼働し続ける必要があります。
私たちの不正検知システムが抱えていた課題
しかし、私たちが運用を進めるシステムは、メルペイがリリースされた2019年2月の時点では、まだまだ完璧と呼べるシステムではなく、様々な課題を抱えていました。それらの課題を抜粋してご紹介します。
1. キャパシティを超える多量の検知
リリース当初は様々な不正を考慮し、大量の監視ルールを実装しました。しかし、それらの中には、疑わしいと思われる取引だけではなく、問題のない取引も大量に検知する監視ルールが存在していました。疑わしい取引だけではなく、問題のない取引も大量に検知することで、カスタマーサクセスのオペレーターの負荷が非常に高くなっており、業務が逼迫していました。
検知数を削減し、カスタマーサクセスのメンバーが目視確認するアラートの件数を減らす。また検知数に対してそれを実現するために、検知数とクロ判定の割合の可視化とルール精度の改善を行なっていきました。
さらに、監視ルールの精度を測るためにPDCAフローを導入しました。
新しいルールをリリースする前に、オペレーションの負荷は発生しないか。高い精度で疑わしい取引を検知できるルールなのか。監視ツールにアラートを投げる前に、一度Slackに送付し、実際にサンプリングした取引を目視確認して、精度の検証を行なった上でリリースを行うようにしました。
その結果、これまで検知しすぎていた問題のない取引の検知を大幅に削減することができ、検知量をコントロールできる状態まで持っていくことができました。
2. 監視にかかるインフラコストが急増
次に取り組んだのがインフラコストの最適化です。
決済システムに関わらず、どんなプロダクトにおいてもコストが常に最適な形でコントロールされているのが理想のプロダクトだと思います。
しかし、私たちのシステムでは決済回数が増えたり、監視ルールが追加されるたびにインフラの増強を繰り返しており、常にコストが右肩上がりで増えていく状態にありました。
そこで、リリースから数ヶ月経過したタイミングで、改めて性能の見直しを行いました。まず最初に監視ルールのクエリを最適化し、ルール実行にかかる処理時間を短くしました。これにより、検知までの速度も改善されます。
また、処理時間が減ったのに合わせて、AWSのEC2インスタンスのスペックも適切なものに切り替え、大幅にコストカットを実現しました。
最後に、適正化されたスペックの基準に合わせて、これまで月額契約だった契約形態を年間契約のものに切り替え、更なるコストカットを行いました。
結果、トータルで73%のコスト改善が行われました。さらに、チーム内でもコストを可視化を進め、チーム内でのコスト意識も上がりました。エンジニアとPdMでどのコストを削減するか、改善の余地はどの程度あるのかを議論しながら改善を進めることができた非常に良いプロジェクトだったと思います。
3. 技術負債の解消
最後に、チーム全体で取り組んだ技術負債解消のプロジェクトについて話します。
メルペイのリリース以降、急ぎで作ったことにより大量の技術負債が存在していました。技術的な負債は、時間が経てば経つほど開発速度を遅くしますし、思いもよらない事故につながる可能性があります。
そこで2019年3月から6月までの間は、技術負債の解消をチームOKR(Obejective Key Result) のトップに置いてプロジェクトを進めました。
週次のスプリントでは、技術負債解消に関わるタスクを可視化し、それらの進捗を追う形で進めました。また、このタイミングでコード払いやネット決済など、メルペイの機能拡張も同時に行われたため、それぞれの決済で想定しうる不正に対して、その度に監視ルールの実装を行いました。
「技術負債の解消」と「事業を伸ばすための不正対策の強化」の両軸でプロジェクトを進め、6月にはリリース当初に大量にあった技術負債は解消し、より早い速度で新規の開発を実施することができるようになりました。
まとめ
AML不正検知システムという、決済サービスの裏側で動くプロダクトが抱えていた課題と解決までのアプローチについてお話ししました。
現在は機械学習を用いた不正検知の導入であったり、より高い精度で不正検知を行うためのいくつかのプロジェクトを進んでおり、チーム全体でメルカリ・メルペイの更なる安心安全の向上に向けて取り組んでいます。
守りのプロダクトというのは、裏側のシステムのため正直目立ちません。黒子の存在だと思います。しかし、メルペイのような金融事業を行う上で、サービスを使ってくださるお客さまを守るために間違いなくなくてはならないシステムです。
私はこの領域でのプロダクト開発にやりがいを感じていますし、PdMの立場からシステム的な理解を持った上でプロダクトの改善を進めていくことに面白さを感じています。また、モバイル決済業界全体のセキュリティレベルを次のステップに引き上げていくことが、私達のチームの次のミッションだと思っています。
実は来月に私たちのチームで行っている不正決済対策の技術について発表するイベントを行います。色んな最先端の技術を使いながら、高いレベルの不正対策を行っているメルペイの不正対策について興味がありましたらぜひご参加ください!
▼こちらのリンクよりご参加ください
また、もしitohiroとご飯でも行っていいよーという方がいましたら、ぜひTwitterから連絡ください。
最後までご覧頂きありがとうございました。
更新 2020/10/15