Detekce zneužití online kanálů Petr Paščenko
© 2014 Profinit. All rights
2. 10. 2015
• Základní údaje
10
Mezi TOP 10 IT společností v regionu střední a východní Evropy (Gartner 2012)
5 pr 250 g15 400 nfg Mezi TOP 5 firmami v oblasti vývoje software na zakázku (IDC 2012)
Top 5 ČR
250 stálých zaměstnanců v ČR
Obrat za rok 2012 dosáhl 400 mil. Kč
Sídlo společnosti v centru Prahy
Praha
15 let
250+
400 mil.
© 2014 Profinit. All rights
Top 10 CEE
Již 15 let působíme na trhu v oblasti IT
2007
Od roku 2007 jsme členem skupiny NFG
• Rodina NFG
Od roku 2006
1600+ zaměstnanců v 16 zemích Sídlo ve Vídni
25 let zkušeností v IT
Obrat za 2012 200 mil. EUR © 2014 Profinit. All rights
• Osnova o Fraud v internetovém bankovnictví – Identifikace útočníka – Jehla v kupce sena
o Fraud jako odlehlé pozorování – Detekce lokální odlehlosti
o False positive – Problém a řešení
© 2014 Profinit. All rights
4
• Internetové bankovnictví o Klient se připojuje k internetovému bankovnictví o Zabezpečení – Autentizace: přihlašovací jméno (ID) a heslo
o Provedení platby – Autorizace: potvrzení formou sms kódu
© 2014 Profinit. All rights
5
• Internetové bankovnictví – útok o Škodlivý software současně do obou zařízení klienta o Útočník prochází zabezpečením – Provádí shodné autentizační i autorizační kroky
o Technicky neodlišitelný od skutečného klienta – Autorizace: potvrzení formou sms kódu
© 2014 Profinit. All rights
6
• Identifikace útočníka o Škodlivý software současně v obou zařízeních klienta o Útočník prochází zabezpečením – Provádí shodné autentizační i autorizační kroky
o Technicky neodlišitelný od skutečného klienta – Autorizace: potvrzení formou sms kódu
o Snažíme se poznat, že já nejsem já
VS
© 2014 Profinit. All rights
7
• Základní jednotka SESSION o Pro datové modelování potřebujeme základní jednotku o Session popisuje posloupnost akcí na ose prohlížeč – aplikační server – Datum, čas, kód akce (1400), částka, výsledek akce – Posloupnost má variabilní délku od jednotek po stovky akcí ID
SESSION ID
DATETIME
1234567890
vs3T … dGpf
2015-04-03 13:03:58
112
0
1234567890
vs3T … dGpf
2015-04-03 13:03:58
130
0
1234567890
vs3T … dGpf
2015-04-03 13:04:14
1248
0
1234567890
vs3T … dGpf
2015-04-03 13:04:14
120
1234567890
vs3T … dGpf
2015-04-03 13:07:21
530
1234567890
vs3T … dGpf
2015-04-03 13:07:38
120
1234567890
vs3T … dGpf
2015-04-03 13:09:03
68
© 2014 Profinit. All rights
ACTION
AMOUNT
12400
RESULT
530 0
12400
0 0
8
• Jehlu v kupce sena o Uvažujme banku s milionovou klientskou bází – Každý klient provede denně v průměru jednu návštěvu v IB
o Denně průměrně 1 000 000 session o Z toho zhruba 12% session s platbou – 120 000 session s platbou
o Denně v průměru 1 fraud – To není moc ;-)
o Naučíme klasifikátor? – Zastoupení tříd 1:120000 – Fraudy jsou rozmanité… – Asi ne © 2014 Profinit. All rights
9
• Jiný přístup – detekce anomalit ala tramvaj o Předpoklad – Podvržená session vybočuje ze svého okolí
o Jak poznáme, že session je divná? – Posuzujeme objekt v jeho kontextu
o Metody detekce lokální odlehlosti – Local Outlier Factor [1] – Local Outlier Probability [2] – …
[1] Breunig, M. M.; Kriegel, H.-P.; Ng, R. T.; Sander, J. (2000). LOF: Identifying Densitybased Local Outliers [2] Kriegel, H.-P.; Kröger, P.; Schubert, E.; Zimek, A. (2009). LoOP: Local Outlier Probabilities © 2014 Profinit. All rights
10
• Jiný přístup – detekce anomalit ala výroba šroubků o Předpoklad – Podvržená session vybočuje z průměru
o Jak poznáme, že session je divná? – Je moc dlouhá, moc krátká nebo moc široká
o Příznakový vektor – Délka sezení – Počet plateb – …
o Problém: vysoká variabilita – neexistuje jedna typická session
o Směs vícero rozdělení – Kontrola zůstatku – Jednorázová platba – …
© 2014 Profinit. All rights
11
• Local Outlier Factor [1] o Zavádí pro každý bod k-distance(A) – Vzdálenost k-tého nejbližšího souseda
o Reachability_distance(A,B) – Maximum z k-distance(B) a d(A,B)
o Local_reachability_density(A) – LRD(A) – Převrácená hodnota průměru rd okolních bodů – Jak daleko to mají okolní body k bodu A
o Local_outlier_factor(A) – LRD(B) / LRD(A) – Kolikrát blíže to mají okolní body k sobě navzájem než k bodu A [1] Breunig, M. M.; Kriegel, H.-P.; Ng, R. T.; Sander, J. (2000). LOF: Identifying Density-based Local Outliers © 2014 Profinit. All rights
12
• Local Outlier Factor
© 2014 Profinit. All rights
13
• Local Outlier Probability [2] o Modifikace původní metody o Předpoklad, že k sousedů bodu tvoří gaussovský shluk o Vzdálenosti bodů vyjádřeny jako vzdálenosti v pravděpodobnostním prostoru – Pravděpodobnost, že body leží ve shluku definovaném k sousedy bodu
o Výsledkem je Local Outlier Probability – Výsledná hodnota odpovídá pravděpodobnosti, že bod není generován z téhož rozdělení jako body v jeho okolí
o Porovnatelnost hodnot mezi datasety (klienty) o Praktická výhoda – Škálování výsledné hodnoty v intervalu [0-1] [2] Kriegel, H.-P.; Kröger, P.; Schubert, E.; Zimek, A. (2009). LoOP: Local Outlier Probabilities © 2014 Profinit. All rights
14
• Shrnutí postupu o Pro každou session spočteme příznakový vektor – Příznaky identifikovány na základě datové analýzy
o Porovnání session s ostatními session daného klienta – Při výpočtu vzdáleností ve vekt. prostoru využity váhy
o Identifikace podezřelých session k prověření o Jak hodnotíme výsledek – True positive – kolik najdeme fraudů – False positive – kolik musíme prověřit session
o Podstatnější je false positive – Limitovaná lidská kapacita
© 2014 Profinit. All rights
15
• Local Outliers – výpočetní složitost o Proč řešíme výpočetní složitost? – Denně ohodnocujeme milion session
o Pro každou session musíme z DB načíst všechny session daného klienta – Řádově tisíc session na klienta
o Ve špičce je třeba ohodnotit cca 100 session za sekundu o Local outlier factor – složitost pro nalezení k sousedů O(kN)
o Úzké hrdlo – Relační databáze (mnohé optimalizace) – Batchové výpočty příznakových vektorů
o Úloha vhodná pro Big Data řešení – Přirozená paralelizace po klientech © 2014 Profinit. All rights
16
• Funguje to? Ano
© 2014 Profinit. All rights
17
• A co false positive?
LOP = 0.887
© 2014 Profinit. All rights
True Positive = 0.25
False positive = 0.038
Num. false positive = 4508.809
18
• Problém false positive o Druhé (a další) síto o Je třeba přijít s novými příznaky nebo novou metodou o Menší počet položek – vyšší výpočetní výkon o Dva přístupy v náznaku – Bridges • Zastoupení přechodů ze stavu do stavu
– Využití sekvenčního charakterů session • Pořadí akcí se pro různé klienty liší
o Triviální heuristiky – Opakované platby, bezpečné účty…
o Ekonomická návratnost prověřování – Vyřazení malých částek © 2014 Profinit. All rights
19
• Literatura [2] – LOF: Identifying Density-Based Local Outliers Markus M. Breunig, Hans-Peter Kriegel, Raymond T. Ng, Jörg Sander http://www.dbs.ifi.lmu.de/Publikationen/Papers/LOF.pdf [2] – LoOP: Local Outlier Probabilities Hans-Peter Kriegel, Peer Kröger, Erich Schubert, Arthur Zimek http://www.dbs.ifi.lmu.de/Publikationen/Papers/LoOP1649.pdf [3] – Diplomová práce Jana Krejcara na FIT ČVUT vedoucí doc. RNDr. Marcel Jiřina, PhD
© 2014 Profinit. All rights
20
Diskuze
© 2014 Profinit. All rights
Shaping future, delivering results! Společnost PROFINIT je členem nadnárodní skupiny New Frontier Group, která je leadrem v oblasti digitální transformace organizací a firem ve střední a východní Evropě. S více než 2000 zaměstnanci v 17 zemích patří mezi deset největších poskytovatelů ICT služeb v celém CEE regionu a řadí se ke špičce v oblasti vývoje software na zakázku, data managementu, datových skladů a business intelligence. PROFINIT má řadu významných zákazníků z finančního a telekomunikačního sektoru, utilit a státní správy. Společnost se primárně zaměřuje na konzultační služby v oblasti digitální transformace, technologické služby a outsourcing. Podle údajů IDC (2012) patří PROFINIT mezi 5 největších firem v oblasti vývoje software na zakázku v České Republice a je držitelem řady dalších ocenění.
Profinit, s.r.o., Tychonova 2, 160 00 Praha 6, +420 224 316 016, www.profinit.eu
© 2014 Profinit. All rights