Bezpečnost na mobilních zařízeních
[email protected] @joshis_tweets
Co je to bezpečnost?
• “Snaha minimalizovat dopady hrozeb”
• Hrozba = situace, která mě může poškodit
• Dopad = peníze, které zaplatím, když se něco stane
Co je to bezpečnost?
• Málo pravděpodobné hrozby mají typicky větší dopad
• ztráta klíčeny PKI v situaci, kdy řeknete kamarádovi heslo do bankovnictví v hospodě
Bezpečnost
AutentizaceAutorizace
Bezpečná komunikaceChráněné úložiště
Sandboxing
Edukace uživatelů
Mobilní zařízení jsou nebezpečná
... různě se povalují, a tak...
Dříve byl svět jednodušší
SIM Toolkit Java ME
Mobilní telefon
(krásný)
Tablet device
(krásný)
Dell Streak
(divný)
Asus EEEPad
(nevyhraněný)
Internet do notebooku?
(Co bude dál? Lékař jen na zuby?)
Autentizace a autorizace
Jak dokážu, že já jsem já?
• Prohlásím to - volný přístup
• Prokážu se znalostí - login/heslo
• Prokážu se vlastnictvím tokenu - certi)kát
• Token mě prokáže - SecurID, secure token, ...
Autentizace a autorizace
• Autorizace = Určení toho, co můžu dělat
• Různým úrovním autorizace mohou odpovídat různé úrovně autentizace
platba
historie
kontakt
Kdokoliv
Login/Heslo
SMS kód, SecurID, ...
Bankovnictví
Mobilní zařízení jsou anonymní
... nejsou jednoznačně identi)kovatelná...
Problém• Žádné IMEI, ICCID, ...
• často není SIM karta, není API v SDK
• Žádná autorizace pomocí SMS
• opět - není SIM
• ... nebo hůř - je SIM
• Žádná USB klíčenka
• není port pro USB
Řešení
• Přiznat si, že zařízení je anonymní
• ... chceme přeci ověřit uživatele...
• Proces personalizace instalace
• “ID zařízení” vs. “ID instalace” vs. “ID aktivace”
• Jiná dvou-faktorová autentizace
• SecurID
• Secure Token s NFC
Autentizace a autorizace• Tustý klient
• Jednofaktorová: OAuth 1.0a (ne OAuth 2.0!!!), XAuth, deriváty
• Vícefaktorová: SecurID, gridkarta
• Mobilní web: Jen pasivní operace
• Neukládat hesla
• iOS: Keychain se dá vykrást do 6 minut
Biometriky... jsou nuda...
... svá biometrická data trousíte kudy jdete...
Bezpečné úložiště dat
Bezpečné úložiště dat• Na mobilním zařízení není obecně možné
zajistit
• Varianta: Zabezpečená cache
• Data chráněná heslem do aplikace
• Druhá komponenta - token ze serveru svázaný s heslem
• Varianta: Heslem zabezpečený klíč
• Náhodnost zamezuje použití brute-force
Vzdálená blokace
Blokuje server po N pokusech
Sandboxing
Sandboxing
• Víte, co je ve vaší aplikaci a co mimo ní?
• Data logovaná přes NSLog se ukládají mimo sandbox
• http://itunes.apple.com/us/app/appswitch/id398317469?mt=8
• Keychain je mimo sandbox
• Clipboard
Bezpečná komunikace
Bezpečná komunikace
• Používejte HTTPS
• Nespoléhejte na výchozí validaci SSL certi)kátu, jde-li vám o ochranu proti MITM útokům
• http://mitmproxy.org/
Edukace uživatelů
Edukace uživatelů
• Nedávejte vašim uživatelům falešný pocit bezpečí
• Upozorňujte je na možná rizika používání mobilních aplikací