Detekce zneužití online kanálů Petr Paščenko 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. 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
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í 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 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 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 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 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 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 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 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 12
Local Outlier Factor 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 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 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 16
Funguje to? Ano 17
A co false positive? LOP = 0.887 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 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 20
Diskuze
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