+ All Categories
Home > Technology > mDevCamp 2013 - Bezpečnost mobilního bankovnictví

mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Date post: 21-Jun-2015
Category:
Upload: petr-dvorak
View: 384 times
Download: 2 times
Share this document with a friend
Description:
Prezentace z konference mDevCamp 2013 na téma bezpečnosti mobilního bankovnictví.
45
Zabezpeč ení mobilních bankovnictví Petr Dvořák Partner & Mobile Strategy Consultant [email protected] Konference mDevCamp 2013
Transcript
Page 2: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Obsah

• Vlastnosti mobilních zařízení.

• Architektura mobilního bankovnictví.

• Popis současného stavu zabezpečení.

• Témata roku 2013.

Page 3: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Vlastnosti mobilních zařízení

Page 4: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Mobilní zařízení

• Chytré telefony a tablety.

• Zcela běžně dostupná.

• Vysoce přenosná, osobní.

• Vždy on-line (GSM i Wi-Fi).

• Vybavená senzory.

Page 5: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Mobilní operační systémy

• iOS: Mac OS X, Objective-C / Cocoa.

• Android: Linux, Java (Dalvik).

• Relativně snadné zásahy v runtime.

• Benevolentní management paměti.

Snadné napadení po úpravě “jail break”

Page 6: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Architektura mobilních bankovnictví

Page 7: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Celkový pohled shora

Front-endovýserver

Inte

grač

ní m

eziv

rstv

a

Transakčnísystém

Autentizačnísystém

. . .

XML/JSONover REST

Page 8: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Celkový pohled shora

Front-endovýserver

Inte

grač

ní m

eziv

rstv

a

Transakčnísystém

Autentizačnísystém

. . .

XML/JSONover REST

Page 9: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Celkový pohled shora

Front-endovýserver

Inte

grač

ní m

eziv

rstv

a

Transakčnísystém

Autentizačnísystém

. . .

XML/JSONover REST

Penetrační testy vždy před

“většími” release

Page 10: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Celkový pohled shora

Front-endovýserver

Inte

grač

ní m

eziv

rstv

a

Transakčnísystém

Autentizačnísystém

. . .

XML/JSONover REST

Penetrační testy vždy před

“většími” release

Page 11: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Mobilní bankovnictví

Nativní aplikace.

Různé operační systémy

Multiplatformní framework.

Page 12: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Mobilní bankovnictví

Objective-C

Page 13: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Mobilní bankovnictví

Java

Page 14: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Mobilní bankovnictví

C/C++ (sdílený kód)

Page 15: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Popis současného stavu zabezpečení

Page 16: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Současný stav zabezpečení

• Bezpečnost MB - typicky “rozumná” úroveň.

• Neexistuje obecný konsenzus jako u IB.

• Kompromis UX vs. bezpečnost.

• Řeší se stará i nová témata.

• Ví se zhruba o problémech, které přijdou.

Page 17: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Nástroje pro práci

• mitmproxy.

• evasi0n.

• iExplorer, iFunBox.

• dex2jar, IDA, JD-GUI.

• cycript.

Page 18: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Staré dobré útoky

• Útok MITM.

• Podvržená aplikace.

• Útok po ukradení.

• Reverzní inženýrství.

• Další méně drsné útoky.

Page 19: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Útok MITM

• iOS - Snadné (Wi-Fi, e-mail).

• Android - Méně snadné(SD karta).

• Podepisování na aplikační vrstvě.

• Striktní validace SSL certi%kátu.

Page 20: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Útok MITM

• iOS - Snadné (Wi-Fi, e-mail).

• Android - Méně snadné(SD karta).

• Podepisování na aplikační vrstvě.

• Striktní validace SSL certi%kátu.

Page 22: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Útok MITM

• iOS - Snadné (Wi-Fi, e-mail).

• Android - Méně snadné(SD karta).

• Podepisování na aplikační vrstvě.

• Striktní validace SSL certi%kátu.

Problém při vypršení platnosti.

Page 23: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Útok MITMStará dobrá

command-line.

Page 24: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Podvržená aplikace

• iOS - “Nemožné” (review).

• Android - Snadné (otevřenost).

• Manuální kontrola Google Play (a App Store).

• Uživatelská hodnocení.

Uživatelé vyhlíží aplikace své banky.

Page 25: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Podvržená aplikace

• iOS - “Nemožné” (review).

• Android - Snadné (otevřenost).

• Manuální kontrola Google Play (a App Store).

• Uživatelská hodnocení.

Nejlepší obrana: vydejte aplikaci

včas a komunikujte ji! ☺

Page 26: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Útok po ukradení

• Krádež či ztráta zařízení.

• Malý dopad reálně, velké obavy uživatelů.

• Typy útoků:

• Postranní kanály.

• Hádání hesla.

• Dolování hesla.

Page 27: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Postranní kanály

• Použití stejného hesla napříč aplikacemi s různým zabezpečením.

• Slabá úložiště hesel.

• Otisky prstů na displeji.

Útok jinudy, než skrze aplikaci.

Útok po ukradení

Page 28: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Postranní kanályÚtok po ukradení

Page 29: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Hádání hesla

• Nutné efektivně omezit počet pokusů.

• Sdílený náhodný klíč (symetrická šifra).

• Sekvenčnost.

• Heslo odemykající klíč nemusí být složité.

V případě správné implementace dílčího ověřování.

Útok po ukradení

Page 30: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Hádání hesla

• Nutné omezení možnosti blokování účtu.

• Rozpoznání situace, kdy útočník vlastní zařízení uživatele.

• Dvou-faktorová autentizace.

Opačný požadavek než omezení počtu pokusů pro hádání.

Útok po ukradení

Page 31: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Dolování hesla

• Výpis paměti nebo útok na run-time.

• Nutné zajistit striktní práci s pamětí.

• Low-level implementace (C/C++ modul).

• Android NDK.

Jailbreak + Cycript.

Útok po ukradení

Page 32: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Dolování hesla

Spuštění aplikace

Zavření aplikace

Aplikace ukončena

Uživatel: Aplikace je vypnutá. Útočník zcizí zařízení, nebo jej uživatel ztratí.

Malware?Hra skončila...

Zadání hesla

Systém: Aplikace si chvíli podržím.

Útok po ukradení

Page 33: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Dolování hesla

• Přemazávání klíčů a dočasných hodnot.

• Složitější dekompilace algoritmů.

• Speciální klávesnice.

• Zabezpečení zadávání hesla do textových polí.

Útok po ukradení

Page 34: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Reverzní inženýrství

• Přílišné odkrývání implementačních detailů láká zvědavce.

• Diskuze, které se nemusí vést= reputační riziko.

• Možnost nalezení slabších míst implementace.

• Ukradení privátního klíče? Do každé iOS / Android aplikace někdo začne

nemístně šťourat. ☺

Page 36: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Méně drsné útoky

• Odpozorování hesla.

• Krádež desktopového hesla skrze mobilní telefon.

• Sociální inženýrství.

Kontrast klávesnice, shuffle, ...

Page 37: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Témata 2013

Page 38: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Témata pro iOS 6 / 7

• Protokol NSSecureCoding.

• Přijde Apple s Remote View Controllery?

Page 39: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Mobilní malware

• Problém především na OS Android.

• S rostoucí penetrací poroste intenzita.

• Kradení autorizačních SMS (Eurograbber).

• Podvržení URL schémat a intentů.

• Mobilní antiviry nejsou samospásné.

Žádná zvláštní náročnost.

Page 40: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Silnější autorizace

• Současné mobilní banky směřují na “retail”.

• Chybí řešení pro SME a větší podniky.

• Jak z pohledu funkčnosti, tak bezpečnosti.

Page 41: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

HW token, ARM TrustZone, ...

Možností je mnoho ...

Page 42: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Specializovaný hardware

• Různé typy tokenů.

• Různé komunikační rozhraní.

• Výrobce tokenu dodává SDK.

• Typicky Android, občas iOS.

Page 43: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Přijdou dva světy?

• ARM TrustZone

• Intel Trusted Execution Technology

Page 44: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Hlavní výzva?

Včasné vzdělávání uživatelů ...Včasné vzdělávání programátorů ...

Page 45: mDevCamp 2013 - Bezpečnost mobilního bankovnictví

Děkuji.

Petr DvořákPartner & Mobile Strategy [email protected]


Recommended