Your SlideShare is downloading. ×
Bankovní aplikace a jejich bezpečnost
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Bankovní aplikace a jejich bezpečnost

440
views

Published on

Published in: Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
440
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Bankovní aplikace... a jejich bezpečnostPetr Dvořák, Partner & iOS Development Lead@joshis_tweets
  • 2. Má cenu se starat?
  • 3. Business case• Ztráta peněz - nutnost přímé refundace• Ztráta dat - nutnost investic (nové karty, ...)• Reputační riziko
  • 4. Reputační riziko• Špatně odhadnutelný dopad• Problém nemusí nastat, stačí možnost• Běžný uživatel je neinformovaný
  • 5. Nutná oběť...
  • 6. Reputační rizikoCena v Kč Dopad incidentu Cena protiopatření Počet klientů
  • 7. Typické problémy
  • 8. Bezpečná komunikace• iOS • Základní validace certifikátu. • Jednoduchá instalace nové CA do systému.
  • 9. Bezpečná komunikace• iOS • Základní validace certifikátu. • Jednoduchá instalace nové CA do systému.
  • 10. Bezpečná komunikace• iOS • Základní validace certifikátu. • Jednoduchá instalace nové CA do systému.
  • 11. Bezpečná komunikace• iOS • Základní validace certifikátu. • Jednoduchá instalace nové CA do systému.
  • 12. Bezpečná komunikace• iOS • Základní validace certifikátu. • Jednoduchá instalace nové CA do systému.
  • 13. MITM Proxy
  • 14. Co s tím?• Důsledná kontrola certifikátu na klientovi.• Problém: Vypršení platnosti certifikátu.• Pouze EV certifikáty od trusted CA.• Dodatečné podepisování (OAuth 1.0a)
  • 15. Logování informací • Většinou již vyřešeno. • Proč se tím ještě zabývat?
  • 16. Oddělená prostředí• Prostředí pro vývoj: chci logovat, nemám certifikát.• Prostředí pro produkci: nechci logovat, mám certifikát.• Nastavení procesu na úrovni sestavení aplikace.
  • 17. Jailbreak• Nutnost pro vývojáře.• Zapovězeno uživatelům.• Vhodné nějak otestovat v aplikaci.
  • 18. Jailbreak #pragma mark - Basic 90% test + (BOOL) deviceIsJailbroken { NSString *filePath = @"/Applications/Cydia.app"; return [[NSFileManager defaultManager] fileExistsAtPath:filePath]; }
  • 19. Proč ne jailbreak?• Útočník získá kompletní přístup ke všemu.• Jakákoliv ochrana je pak marná.• Keychain je odkrytý.• MobileSubstrate (run-time patche)
  • 20. Demo Cycript
  • 21. Cycript - Demo// helper functionsfunction CGPointMake(x, y) { return {x:x, y:y}; }function CGSizeMake(w, h) { return {width:w, height:h}; }function CGRectMake(x, y, w, h) { return {origin:CGPointMake(x,y), size:CGSizeMake(w, h)}; }// add UIView to the main windowvar v = [[UILabel alloc] initWithFrame:CGRectMake(0,0,320,480)];v.text = "Hacked by Inmite!";v.textAlignment = 1;v.font = [UIFont boldSystemFontOfSize:25];v.alpha = 0.85;[[UIApplication sharedApplication].keyWindow addSubview:v];
  • 22. Ochrana hesla• Samozřejmě hesla neukládat “na disk”.• A co ani do paměti?
  • 23. iOS aplikace v akci Mallware? Game over... App Zadává se App App Startuje heslo Zavřena Mrtvá User: Aplikace skončila... Útočník ukradne telefon... System: Ještě si ji tu nechám... ... nebo ho ztratíte...iOS Docs: “The system [iOS] keeps suspended apps in memory for as long aspossible, removing them only when the amount of free memory gets low.”
  • 24. Práce s pamětí• Tajné = nemělo by na zařízení dlouho zůstávat.• iOS: Objective-C• Android: Java• Společný jmenovatel: C
  • 25. Mechanism illustration UITextField C_Ln Sent appended [C_Li]i=1..Length App & Keyboard User taps User H/TOTP App Sends Keyboard App fetches Keyboard a letter presses sign- signature Signed Created [C_Li]i=1..Length Destroyed. Ln in Received Request.C Securtity Security Context H/TOTP Password module Letter Ln Ciphered Context Deciphers signature & Context using OTP Created Password computed Destroyed
  • 26. Mechanism illustration UITextField C_Ln Sent appended [C_Li]i=1..Length App & Keyboard User taps User H/TOTP App Sends Keyboard App fetches Keyboard a letter presses sign- signature Signed Created [C_Li]i=1..Length Destroyed. Ln in Received Request. Ln C_LnC Securtity Security Context H/TOTP Password module Letter Ln Ciphered Context Deciphers signature & Context using OTP Created Password computed Destroyed
  • 27. Mechanism illustration UITextField C_Ln Sent appended [C_Li]i=1..Length [C_Li]i=1..Length App & Keyboard User taps User H/TOTP App Sends Keyboard App fetches Keyboard a letter presses sign- signature Signed Created [C_Li]i=1..Length Destroyed. Ln in Received Request. [C_Li]i=1..Length binary garbageC Securtity Security Context H/TOTP Password module Letter Ln Ciphered Context Deciphers signature & Context using OTP Created Password computed Destroyed
  • 28. Tečka na závěr...
  • 29. Věděli jste, že ...• ... iOS při přechodu aplikace na pozadí dělá screenshot aplikace?• Nutnost ošetřit v rámci aplikace zobrazením dummy view.
  • 30. Děkuji, otázky?

×