Buenas prácticas sobre el desarrollo de aplicaciones seguras para móviles

  • May 31, 2012
  • tuxotron
  • bestpractices Via Forensics ha liberado un extenso artículo con un conjunto de buenas prácticas que deberíamos seguir cuando desarrollamos una aplicación móvil. Aunque el documento está enfocado en Android y iOS, muchas de las prácticas que se describen son comunes a cualquier plataforma.

    El documento se titula en su versión original: 42+ Best Practices Secure mobile development for iOS and Android (PDF). En total contiene 49 prácticas a tener en cuenta. Por cada una de ellas nos explica brevemente el por qué de tenerla en cuenta.

    Además de la extensa lista, de hecho, antes de empezar con la misma, dan un repaso a los distintos tipos de ataques a los que un dispositivo móvil está expuesto:

    • Ataques basado en el navegador: phishing, framing, clickjacking, etc.
    • Ataques basado en SMS o el teléfono en si: SMSiShing, RF, etc.
    • Ataques a aplicaciones: alamcenamiento de datos sensibles, no cifrado, no certificación de certificados SSL, etc.
    • Ataques al sistema operativo: iOS jailbreaking, Android rooting, software instalado por tu proveedor, etc.
    • Ataques de red: WiFi sin cifrado o cifrado débil, Rogue Access Point, Man in the middle, etc.
    • Ataques servidores web: XSS, XSRF, no validación de entrada de datos, etc.
    • Ataques a base de datos: inyección SQL, inyección comandos de sistema, escalación de privilegios, etc.
    Incluso toca temas de cifrado, tipos de aplicaciones (web, nativa, etc).

    Aquí va la lista de que nos proporciona dicho documento:

    1. Avoid storing sensitive data on the device
    2. Avoid caching app data on the device
    3. Avoid use of query string for sensitive data
    4. Avoid crash logs
    5. Fully validate SSL/TLS
    6. Institute Local Session Timeout
    7. Disable debug logs
    8. Hide account numbers and use tokens
    9. Use SECURE setting for Cookies
    10. Limit caching of username
    11. Implement code complexity and obfuscations
    12. Use Address Space Layout Randomization
    13. Avoid simple logic
    14. Avoid simple logic variables
    15. Be aware of the keyboard cache
    16. Be aware of copy/paste
    17. Test third-party libraries
    18. Use geolocation carefully
    19. iOS: Avoid cached application snapshots
    20. Android: implement file permissions carefully
    21. Android: implement Intents carefully
    22. Android: Check Activities
    23. Android: implement Broadcasts carefully
    24. Android: implement PendingIntents carefully
    25. Android: validate Services
    26. Android: avoid intent sniffing
    27. Android: implement Content Providers carefully
    28. Android: WebView best practices
    29. Android: avoid storing cached camera images
    30. Android: Avoid GUI objects caching
    31. iOS: Use the Keychain carefully
    32. Implement secure data storage
    33. Limitations of UUID
    34. Tamper checking
    35. Implement enhanced / two-factor authentication
    36. Protect application settings
    37. Securely store sensitive data in RAM
    38. Understand secure deletion of data
    39. Avoid use of MEID as user identifier
    40. Protect against SSLStrip
    41. Certificate Pinning
    42. Validate input from client
    43. Web server: check session settings
    44. Prevent framing and clickjacking
    45. Web server configuration
    46. SSL Configuration
    47. Protect against CSRF with form tokens
    48. Protect and pen test Web services
    49. Protect internal resources
    Como véis el documento es bastante completo y es una guía perfecta para tenerla siempre a mano.

(IN)SECURE #34

  • May 30, 2012
  • tuxotron
  • issue-34-large.jpg

    Nuevo número de esta, ya veterana, revista sobre seguridad. El índice de este número es:

    • Fitness as a model for security
    • Security and migrating to the cloud: Is it all doom and gloom?
    • Solid state drives: Forensic preservation issues
    • Introduction to Android malware analysis
    • Hack in The Box Conference 2012 Amsterdam
    • ISO 27001 standard: Breaking the documentation myth with Dejan Kosutic
    • Preparing a breach response plan
    • Security beyond the operating system: Into the cloud and beyond
    • Amphion Forum 2012 Munich
    • The challenges of data recovery from modern storage systems
    • Two-factor authentication for the cloud: Does it have to be hard?
    Podéis descargarla desde aquí (PDF).

    Web oficial