Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM

735 views

Published on

Sicurezza è “protezione”, sintetizza il creatore dell’OSSTMM. Quando sviluppiamo applicazioni, i nostri “beni” vanno protetti dalle “minacce” tramite alcuni “controlli”. Il talk spiegherà, tramite un linguaggio semplice ed esempi, come proteggere le applicazioni Mobile e le varie componenti andando in profondità con l’approccio OSSTMM nei temi di OWASP e del Mobile: capire i controlli più efficaci e convenienti. Dopo una breve introduzione sull’OSSTMM verrà effettata la modellazione delle minacce su un tipico scenario mobile e quindi capire quali controlli applicare.

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
735
On SlideShare
0
From Embeds
0
Number of Embeds
172
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM

  1. 1. Hackers  vs  Developersproteggere  le  applicazioni  mobile  tra  OWASP  e  OSSTMM
  2. 2. Cri$cal  ServicesSecurity
  3. 3. Grazie!
  4. 4. proteggere  le  applicazioni  mobile  tra  OWASP  e  OSSTMM HACKERS  VS  DEVELOPERS
  5. 5. “In  breve,  questo  è  il  metodo  per  organizzare  le  operazioni  militari”  –  Sun   Tzu  (L’arte  della  guerra) OSSTMM
  6. 6. minaccia  -­‐>  controllo  (-­‐ limitazioni)  -­‐>  bene
  7. 7. “security  is  about   protec$on” Pete  Herzog  -­‐  No  More  of  the  Same  Bad  Security
  8. 8. Visibility opera7ons
  9. 9. Exposure! visibility  -­‐  limita7on
  10. 10. Access opera7ons
  11. 11. Trustopera7ons
  12. 12. Vulnerability! Visibility/trust  -­‐  limita7on
  13. 13. Authen;ca;on controls  –  class  a  (interac7ve)
  14. 14. Indemnifica;on controls  –  class  a  (interac7ve)
  15. 15. Resiliencecontrols  –  class  a  (interac7ve)
  16. 16. Subjuga;oncontrols  –  class  a  (interac7ve)
  17. 17. Con;nuitycontrols  –  class  a  (interac7ve)
  18. 18. Weakness!limita7on  –  class  a  (interac7ve)
  19. 19. Non-­‐Repudia;on controls  –  class  b  (process)
  20. 20. Confiden;ality controls  –  class  b  (process)
  21. 21. Privacycontrols  –  class  b  (process)
  22. 22. Integritycontrols  –  class  b  (process)
  23. 23. Alarmcontrols  –  class  b  (process)
  24. 24. Concern!limita7on  –  class  b  (process)
  25. 25. category opesec limita;ons Visibility Exposure! opera;ons Access Vulnerability! Trust Authen;ca;on Indemnifica;on Class  A Resiliance Weakness! Subguga;on Con;nuitycontrols Non-­‐Repudia;on Confiden;ality Class  B Privacy Concern! Integrity Alarm Anomalies OSSTMM  -­‐  Limita;ons  mapping
  26. 26. “Conosci  il  tuo  nemico”  –  Sun  Tzu  (L’arte  della  guerra)THREAT  MODELING  FOR  DUMMIES
  27. 27. Minacce  e  ARacchi Mobile Web  Server Applica;on  Server Database   server  App D.V.  Web  Service S.M. HTTP/CM D.V.  (I/O) Source T.L.P D.A. B.L. AT Data E.H.A.L. AZ API  /  Apps E.H.A.L. E.H.A.L. E.H.A.L O.S. FS Host Host Host HW Beni Stru?ura  ;po  di  una  app  mobile  MVC
  28. 28. Insecure  Data   Storage
  29. 29. Weak  Server  Side  Controls
  30. 30. Insufficient  Transport  Layer   Protec;on
  31. 31. Client  Side   Injec;on
  32. 32. Poor  Authoriza;on   and  Authen;ca;on
  33. 33. Improper   Session  Handling
  34. 34. Security  Decisions  Via   Untrusted   Inputs
  35. 35. Side  Channel  Data  Leakage
  36. 36. Broken  Cryptography
  37. 37. Sensi;ve  Informa;on   Disclosure
  38. 38. “never  trust  the  user  input,  output  too”DATA  VALIDATION  (INPUT/OUTPUT)
  39. 39. M4  Client  Side  Injec;on,  M7  Security  Decisions  via  untrusted  inputsAu Id Re Su Ct NR Cf Pr It Al Data  Valida$on  su  Mobile verificare  SEMPRE  i  da7    che  riceviamo codice  (X)HTML URL/URI  con  vari  protocolli privilegi  minini  per  le  applicazioni le  sandbox
  40. 40. Skype  iOS  insecure  handling
  41. 41. M2  Weak  Server  side  controls (OWASP  TOP  10  WEB  in  generale)Au Id Re Su Ct NR Cf Pr It Al Il  web  server  (Data  Valida$on  e  altro...) anche  se  i  da7  sono  gia  sta7  valida7   dall’applicazione,  vanno  verifica7  anche  sul   server* (inoltre  anche  la  componente  web  deve  essere   proteQa)
  42. 42. “Avrebbero  potuto  analizzare  e  meVere  su  carta,  nei  minimi  parWcolari,  tuVo  quello  che  sera  faVo,  sera  deVo  e  sera  pensato”  –  Winston  Smith   (1984) ERROR  HANDLING  AND  LOGGING
  43. 43. M8  Side  Channel  Data  LeakageAu Id Re Su Ct NR Cf Pr It Al File  Systemnon  devono  essere  salvate  informazioni  riservate   su  filesystem  (chache,  log,  screenshot,  temp) cancellare  sempre  i  file  dopo  l’u7lizzo... ...  e  aQenzione  ai  permessi  sui  file!
  44. 44. lion  exposes  filevault  password
  45. 45. “Sì,  ma  tu  chi  sei?”  –  Neo  a  Seraph  (The  Matrix:  Reloaded) AUTENTICAZIONE  (AT)
  46. 46. M5  Poor  Authen;ca;on  and  Authoriza;onAu Id Re Su Ct NR Cf Pr It Al Il  sistema  di  auten$cazione Implementata  lato  server AVenzione  ad  usare  idenWficaWvi  hw ProteVa  nella  comunicazione  (TLP*)
  47. 47. u;lizzo  del  deviceid
  48. 48. “sa  dirmi  cosa  darebbe  pur  di  mantenere  viva  tale  interazione?”  –  Rama   (The  Matrix:  RevoluWons) SESSION  MANAGEMENT  (S.M.)
  49. 49. M6  Session  Handling (Session  Fixa;on,  Session  Hijacking/Cookie  Stealing,  Session  ID  Analysis)Au Id Re Su Ct NR Cf Pr It Al La  sessione  di  per  se  (tra  device  e  server) Sempre  verificata Non  permeVere  sessioni  contemporanee* DistruVa  per  Wmeout  relaWvo  e  assoluto (cookie,  token,  oauth)
  50. 50. session  aIer  death
  51. 51. “Sei  sicuro  che  questa  linea  è  sicura?”  –  Trinity  (The  Matrix)TRANSPORT  LAYER  PROTECTION
  52. 52. M3  Insufficent  Transport  Layer  Protec;onAu Id Re Su Ct NR Cf Pr It Al La  comunicazioneVanno  proteU  tuU  i  da7  sensibili  (credenziali,  id   di  sessione,  cookie,  da7  degli  uten7…)
  53. 53. richiesta  authToken  per  ClientLogin  (Picasa)
  54. 54. “Ecco  faVo,  il  segreto  è  questo”  –  Oracolo  (The  Matrix  -­‐  RevoluWons) DATI  (CODICE  E  SEGRETI)
  55. 55. M10  Informa;on  disclosureAu Id Re Su Ct NR Cf Pr It Al Il  codice  sorgentepassword  o  altre  informazioni  sensibili  hardcoded algoritmi  e  procedure  proprietarie
  56. 56. M9  Broken  Crypto M1  Insecure  Data  StorageAu Id Re Su Ct NR Cf Pr It Al I  da$  da  mantenere  segre$ U7lizzare  le  Crypto  API  specifiche  del  S.O. evitare  il  filesystem tenerla  sul  server
  57. 57. ldc literal_876:"QlVtT0JoVmY2N2E=”!invokestatic byte[]decode( java.lang.String )invokespecial_lib java.lang.String.<init> //pc=2!astore 8!!private final byte[]com.picuploader.BizProcess.SendRequest.routine_12998 ! (com.picuploader.BizProcess.SendRequest,byte[], byte[] );! {! enter! new_libnet.rim.device.api.crypto.TripleDESKey!! cri?ografia  vs  encoding
  58. 58. :)GRAZIE!  Q/A?
  59. 59. ISECOM  OSSTMMMicrosok  SDLOWASP  TesWng  GuideOWASP  Developer’s  GuideOWASP  Code  Review  GuideOWASP  ASVSOWASP  ASDRRIFERIMENTI

×