Bezpečnosť mobilných aplikácií (iPhone) Juraj Bednár [email_address]
Čo je počítač?
Aplikačná bezpečnosť <ul><li>Z pohľadu aplikácie  </li><ul><li>Keď dodáme túto aplikáciu, aká je jej bezpečnosť </li></ul>...
Malware
... </li></ul></ul></ul>
Aplikačná bezpečnosť <ul><li>Robí sa podľa metodológií ako napr. OWASP
Mobilné aplikácie nie sú na trhu dostatočne dlho </li><ul><li>Pre klient-server app sa dá použiť subset OWASPu </li><ul><l...
SQL Injection a iné časti je dobré použiť </li></ul><li>Veľa potenciálnych  bodov nepokrýva žiadna akceptovaná metodika </...
Bezpečnosť mobilných app všeobecne <ul><li>Ukladanie </li><ul><ul><li>Citlivých dát </li><ul><li>Fotografie, privátne dáta...
Prístupové kľúče </li></ul><li>Menej citlivé </li><ul><li>Cache (môže byť citlivé)
Obrázky, kód
Necitlivé konfiguračné nastavenia </li></ul></ul></ul><li>Malware
Ukradnutie zariadenia
Autentifikácia (namiesto SMS autentifikácie) </li></ul>
iPhone <ul><li>Aplikácie oficiálne idú cez AppStore
Možnosť “jailbreaknúť” a nainštalovať iný SW
Časté bezpečnostné chyby (PDF, Safari, ...) </li><ul><li>Užívatelia málokedy updatujú </li><ul><li>Nie je to povinné
Upcoming SlideShare
Loading in...5
×

Phone security

744

Published on

Mobile phone security

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Transcript of "Phone security"

  1. 1. Bezpečnosť mobilných aplikácií (iPhone) Juraj Bednár [email_address]
  2. 2. Čo je počítač?
  3. 3. Aplikačná bezpečnosť <ul><li>Z pohľadu aplikácie </li><ul><li>Keď dodáme túto aplikáciu, aká je jej bezpečnosť </li></ul><li>Trochu užívateľského pohľadu </li><ul><li>Dokumentovať riziká </li><ul><li>Ukradnutie
  4. 4. Malware
  5. 5. ... </li></ul></ul></ul>
  6. 6. Aplikačná bezpečnosť <ul><li>Robí sa podľa metodológií ako napr. OWASP
  7. 7. Mobilné aplikácie nie sú na trhu dostatočne dlho </li><ul><li>Pre klient-server app sa dá použiť subset OWASPu </li><ul><li>V závislosti od aplikácie je možné preskočiť časti ako napríklad XSS alebo JavaScript útoky
  8. 8. SQL Injection a iné časti je dobré použiť </li></ul><li>Veľa potenciálnych bodov nepokrýva žiadna akceptovaná metodika </li></ul></ul>
  9. 9. Bezpečnosť mobilných app všeobecne <ul><li>Ukladanie </li><ul><ul><li>Citlivých dát </li><ul><li>Fotografie, privátne dáta, dokumenty
  10. 10. Prístupové kľúče </li></ul><li>Menej citlivé </li><ul><li>Cache (môže byť citlivé)
  11. 11. Obrázky, kód
  12. 12. Necitlivé konfiguračné nastavenia </li></ul></ul></ul><li>Malware
  13. 13. Ukradnutie zariadenia
  14. 14. Autentifikácia (namiesto SMS autentifikácie) </li></ul>
  15. 15. iPhone <ul><li>Aplikácie oficiálne idú cez AppStore
  16. 16. Možnosť “jailbreaknúť” a nainštalovať iný SW
  17. 17. Časté bezpečnostné chyby (PDF, Safari, ...) </li><ul><li>Užívatelia málokedy updatujú </li><ul><li>Nie je to povinné
  18. 18. Je to zložité, častokrát sa stratia dáta
  19. 19. Malá pridaná hodnota “point releasov” pre väčšinu užívateľov
  20. 20. O “hacknutí” a zabezpečení telefónu málokto rozmýšľa </li></ul></ul><li>Operačný systém založený na BSD a OSX
  21. 21. Veľa inštalácií rovnakého systému – známe prostredie </li></ul>
  22. 22. iPad <ul><li>Rovnaké aplikácie, rovnaký OS, rovnaké chyby
  23. 23. Viac interakcie s užívateľom, ale tiež veľmi nízka viditeľnosť “do systému” </li></ul>
  24. 24. iPhone keystore <ul><li>Databáza kľúčov a citlivých informácií
  25. 25. Uložená v SQLite3 databáze
  26. 26. Zašifrovaný kľúčom unikátnym pre zariadenie </li><ul><li>Tento kľúč zariadenie nikdy nevydá, vie len spraviť operáciu (TPM)
  27. 27. Backup je možné obnoviť len na rovnakom kuse zariadenia (pri reklamácii výmenou zariadenia to nie je možné)
  28. 28. Ak má útočník prístup do userlandu telefónu, vie si samozrejme vyžiadať dešifrovanie akéhokoľvek ciphertextu </li></ul></ul>
  29. 29. iPhone keystore <ul><li>“Šifrované backupy” </li><ul><li>iTunes nastaví symetrický šifrovací kľúč do telefónu (neukladá si ho)
  30. 30. Backupy sú od tohto momentu šifrované (telefónom) na tento symetrický kľúč
  31. 31. Jeho brute-force (keďže kľúč volí užívateľ, ...) sa dajú z iPhone backupu získať senzitívne informácie </li></ul><li>Ako bezpečne ukladať dáta? </li><ul><li>Časť do keystoru, XOR s random dátami ukladanými mimo časti, ktorá sa zálohuje
  32. 32. Radšej nech sa užívateľ reautentifikuje alebo musí začať “from scratch”, ako riskovať únik citlivých informácií. </li></ul></ul>
  33. 33. Všeobecne k ukladaniu citlivých autentifikačných informácií <ul><li>V prípade ukradnutia telefónu má väčšinou útočník čas na bruteforce </li><ul><li>Používať schémy, ktoré bruteforce maximálne sťažujú (padding ho uľahčuje, off-line overovanie tiež)
  34. 34. Server by mal pri akomkoľvek podozrení odmietnuť ďalšie požiadavky a žiadať reautentifikáciu alebo novú výmenu kľúčov </li></ul></ul>
  35. 35. Malware <ul><li>iPhone je štandardná platforma, stačí písať malware pre jeden typ OS
  36. 36. Ak je aplikácia pre viacero mobilných platforiem, efektivita sa prudko znižuje
  37. 37. Malware je možný, vie robiť to, čo bežný unix proces (čítať súbory, posielať signály, debuggovať cudzí kód, čítať cudziu pamäť) </li><ul><li>Dvaja užívatelia </li></ul></ul>
  38. 38. Malware <ul><li>Riziko je cca rovnaké ako pri klasickom PC </li><ul><li>+ štandardná platforma (nie milión príchutí windowsu)
  39. 39. - užívatelia nemôžu “spúšťať” ľubovoľné 3 rd party aplikácie. Treba exploitovať. </li></ul><li>Malware je prakticky neviditeľný </li><ul><li>Žiadny antimalware
  40. 40. Užívateľ nevidí systémové informácie, nemá shell
  41. 41. Môže bežať malware mesiace, bez toho, aby si to všimol </li></ul><li>Malware je zatiaľ cielený, rozšírené malware pre iPhone prakticky neexistujú. </li></ul>
  42. 42. Forenzná analýza <ul><li>Dump FS je možný
  43. 43. Štandardný UNIX prístup
  44. 44. Telefón obsahuje väčšinou veľmi citlivé informácie </li></ul>
  45. 45. Disassemblovanie a analýza kódu <ul><li>Štandardná architektúra (ARM)
  46. 46. Objective-C veľmi uľahčuje disassemblovanie </li><ul><li>Všetky volania metód idú cez jednu low-level funkciu </li><ul><li>Možnosť rekonštrukcie objektovej štruktúry, symbolických názvov (analýza sa dá ľahko automatizovať) </li></ul><li>Binárky obsahujú veľmi veľa debug informácií (častokrát X-Code pridá cesty k zdrojákom, ktoré boli kompilované) </li></ul><li>Neexistuje ekvivalent kdump, strace, truss
  47. 47. Možnosť online debugovania cez gdb (krokovanie, čítanie pamäte)
  48. 48. Možnosť odchytávania sieťovej prevádzky (tcpdump)
  49. 49. Možnosť odchytenia kľúčov (client-side certifikát pre SSL nepomôže, overovanie server-side SSL možné podvrhnúť a malware vie spraviť man in the middle) </li></ul>
  50. 50. Distribučný kanál <ul><li>AppStore
  51. 51. Developer účet vie tlačiť nové verzie
  52. 52. Užívatelia málokedy upgradujú OS, aplikácie upgradujú častejšie </li></ul>
  53. 53. Thanks to <ul><li>Tomáš Zaťko
  54. 54. Martin Mocko (assembler guru) </li></ul>
  55. 55. Otázky? <ul>Juraj Bednár [email_address] </ul>

×