mysql backed - fraud prevention

12
01 LA MySQL MeetUp April 13, 2015 Speaker: Ran Grushkowsky FRAUD PREVENTION MySQL BACKED @egblue

Upload: ran-grushkowsky

Post on 19-Jul-2015

257 views

Category:

Technology


0 download

TRANSCRIPT

01

LA MySQL MeetUp April 13, 2015

Speaker: Ran Grushkowsky

FRAUD PREVENTION MySQL BACKED

@egblue

WireCash  is  an  online  money  transfer  marketplace.  We  enable  U.S.  residents  to  access  a  wide  range  of  money  transfer  companies,  compare  services,  and  complete  money  transfers  around  the  world  in  the  WireCash  marketplace.

Some  of  the  companies  I  am  involved  with:

02

WIRECASHSEND MONEY WORLDWIDE

Background

About Me

TheDriverslabArchegos Partners

Fraud  is  increasing  and  is  affec@ng  all  of  us.  

The  average  American  has  never  done  more  of  their  daily  tasks  online.  Companies  of  all  sectors  con=nue  to  suffer  data  breaches  making  consumer  data  into  a  highly-­‐traded  commodity  -­‐  easily  accessible  to  fraudsters.  

Companies  who  transact  online  have  to  deal  with  the  influx  of  stolen  informa=on  and  siD  through  the  good  customers  and  the  fraudsters.  

Tools  to  help  in  this  task  are  not  accessible  to  small/medium-­‐sized  businesses  making  it  necessary  to  develop  in-­‐house  proprietary  systems.

03The Problem

Identity & Payment Fraud are Rising

14%

10%

62% 42%

Americans  are  credit  card  fraud  vic@ms

Financial  providers  suffered  known  data  breaches

Companies  targeted  by  fraudsters

Americans  who  were  fraud  vic@ms  in  last  5  years  

Using  Proxy?

Behaves  Normally?Stolen  

CC?

Valid  Phone?  

Voice  Sample

Using  a  combina@on  of  machines  and  humans  we  can  effec@vely  siP  through  transac@ons  We  ask  a  lot  of  ques=ons  about  each  transac=on.  We  need  to  answer  those  ques=ons  and  come  to  conclusions  in  real-­‐=me.  

Efficient  storage  and  quick  retrieval  of  data  is  paramount  to  the  processing  of  informa=on  and  successful  opera=ons

04The Solution

Algorithms To The Rescue

Real  Person?

Facebook  Page

Consumer  Provided  Data Environment Historical Velocity  Checks Human  Input Decision

There  is  a  chain  of  data  that  needs  to  be  accounted  for  prior  to  a  decision  being  made.  Each  piece  of  data  is  collected  and  fed  through  different  algorithms  to  reach  a  conclusion  about  its  validity  and  an  ul=mate  decision.  The  availability  of  each  data  point  is  crucial  for  processing  the  next  step  in  the  algorithm.  Therefore,  the  data  retrieval  speed  has  a  direct  impact  on  the  fluidity  of  the  consumer  experience.

05Data Flow

Information Instrumental to Decisioning

06

We Do Not! …Divide and Conquer

Responsiveness

How can we do it with just MySQL?

MySQL  should  be  not  used  exclusively  Take  advantage  of  all  system  components

Processing  &  RAM  is  cheap,  use  it!  Take  advantage  of  lowering  costs  to  leverage  memory  for  quick  temporary  storage

System  Architecture  is  Key  When  designing  your  system,  account  for  processes  that  have  high  data  intensity  and  are  data  dependent.

! " #

We  collect  a  lot  of  data  to  aid  in  the  decisioning  process,  which  must  be  op@mized  across  different  components  of  the  stack.  

Although  all  data  is  ul=mately  being  stored  in  MySQL,  it  is  not  all  being  retrieved  from  the  database  when  used.

Store  data  in  the  appropriate  app-­‐layer  Last  country  a  customer  sent  money  to  can  be  retrieved  from  a  cookie

Cache  queries  that  do  not  change  oDen  MySQL  queries  that  are  being  executed  oDen  but  do  not  change  should  be  cached  at  the  closest  layer  to  the  request

Batch  non-­‐mission  cri=cal  data  to  DB  Data  that  is  retrievable  from  other  layers  in  the  stack  does  not  need  to  overwhelm  the  DB  and  can  be  wriQen  later

07Data Storage

How is Data Stored?

Browse

r

Web  Sessi

on

Web  Cach

e

Back  En

d  Cache

MySQL

Frontend  Web  Server   Database   Backend  Server  

0

0.75

1.5

2.25

3

Before  Scaling Scaled

Scaling  of  servers

08Scalability

Major Savings in ScalingW

eb

Web

Back

end

Back

end

DB

DB

Asymmetric ScalingSince  data  is  distributed  across  components  of  the  stack,  when  scaling  up,  it  is  not  necessary  to  scale  all  components.  

The  database  is  the  last  link  in  the  chain  of  data-­‐flow.  If  high-­‐demand  data  is  stored  at  a  previous  link  (server),  it  is  not  necessary  to  scale  the  database,  only  the  link  that  is  storing  that  data.

5

32

435%

#  of  users  same    

password

#  of  users    with  same  ip

#  of  users  same  city  last  hour

#  of  users  sending  $33  last  hour

%  above    historical  

transac@ons  

09Use Case

Velocity Checks

Velocity  checks  test  whether  different  customers  are  ac@ng  in  a  similar  way    

With  a  lot  of  data  being  compared,  execu=ng  mul=ple  MySQL  queries  is  extremely  complex  and  would  highly  burden  the  database  

Having  a  rolling  cache  in  the  back-­‐end  layer  storing  a  summary  of  historical  data  in  a  hash  map  yields  faster  lookups,  while  limi=ng  RAM  usage.

4

#  of  users  same    

area  code

10

Q&A

11

Presented By

Building  a  company  is  hard  with  tough  decisions  and  many  ques@ons.  We've  been  working  in  Santa  Monica  for  7  years  (pre-­‐Silicon  Beach!).  We're  excited  to  announce  Startup  Technology  &  Strategy  Office  Hours  to  help  others  in  the  community  however  we  can!    

Stop  by  with  a  technical  challenge,  strategy  dilemma,  or  a  random  thought.    Enjoy  the  view  from  Ocean  Ave.  with  a  beverage  and  some  noshies  and  we'll  provide  some  insight.  (Oh  ya,  it's  all  free,  and  we  aren't  selling  anything!)

Community

Startup Technology and Strategy Office Hours

April

20

Mark the dateWIRECASHSEND MONEY WORLDWIDE

Ran [email protected]

twitter.com/egblue

linkedin.com/in/rangrushkowsky

Contact

$