Consejos para el desarrollo seguro de aplicaciones móviles: 31 Flavours Summer Edition

El verano ya casi está aquí y para muchos, eso significa helados. Ya sea que sea un desarrollador de aplicaciones móviles novato, un analista de seguridad de aplicaciones móviles experimentado o un punto intermedio, aquí hay un resumen de nuestros 31 mejores consejos y trucos para saborear.

Los expertos de NowSecure comparten las mejores prácticas de desarrollo de aplicaciones móviles seguras y la información sobre pruebas de seguridad de aplicaciones móviles en nuestro «Todas las cosas móviles DevSecOps” boletín entregado el primer y tercer miércoles del mes. Suscríbase ahora y ponte al día con cualquier consejo que te hayas perdido en esta recopilación de lo mejor de nuestros consejos técnicos. Siga leyendo para obtener información que lo ayude a perfeccionar sus habilidades para crear y probar aplicaciones móviles seguras y de alta calidad que brinden una experiencia de usuario segura.

Desarrollo seguro de aplicaciones móviles

Almacenamiento

  • No escriba datos en la tarjeta SD ni en los registros del sistema porque no es necesario y puede causar problemas.
  • Implemente las mejores prácticas de OWASP para la administración de archivos restringiendo los tipos de archivos aceptados y haga que los archivos de su aplicación móvil sean de solo lectura.
  • Administre los permisos de archivo de manera adecuada para los diferentes grupos de usuarios de la aplicación. Asigne permisos de lectura, escritura y ejecución en consecuencia y nunca establezca permisos de archivo universales (WORLD_READABLE/WORLD_WRITABLE) porque eso podría conducir a una vulnerabilidad de ejecución remota de código.
  • Nunca, jamás almacene una contraseña en texto sin formato en un dispositivo. Si debe almacenarse, cree un valor hash utilizando un token de dispositivo único almacenado en el registro.

Comunicación

  • Utilice una versión más segura de enlaces profundos llamada Enlaces de aplicación cuando desarrolle aplicaciones móviles Android para asegurarse de que la aplicación sea la única que pueda manejar URI o URL de redireccionamiento en general.
  • Asegúrese de que los servidores de su aplicación solo acepten versiones actualizadas de TLS (>=1.2) y conjuntos de cifrado.
  • Corrija el código si una aplicación móvil no realiza la verificación del nombre de host ni acepta certificados autofirmados para sesiones TLS.
  • Protecciones del lado del cliente para ayudar a prevenir regresiones y hacer que las tiendas de aplicaciones sean más seguras. Por ejemplo, App Transport Security en iOS puede evitar regresiones comunes como el uso de HTTP y cifrados débiles del lado del servidor.
  • Implemente la seguridad adecuada de la API en función de la estructura de red de su aplicación móvil. Es probable que las malas llamadas a la API provoquen la fuga de datos a terceros no autorizados.
  • Eche un vistazo más de cerca a cómo se manejan los datos generados/ingresados ​​en la aplicación por el usuario. Asegúrese de que la aplicación siga las mejores prácticas de validación de entrada tanto en el lado del cliente como en el del servidor para evitar que la aplicación inyecte y maneje incorrectamente datos mal formados y potencialmente maliciosos.

Autenticación

  • Implemente la autenticación multifactor para evitar el registro o el acceso no autorizado a una aplicación móvil.
  • Asegúrese de que su aplicación pueda detectar cambios en la autenticación biométrica en el dispositivo para solicitar a los usuarios que vuelvan a iniciar sesión después de habilitar una nueva medida biométrica, como una huella digital o reconocimiento facial.

Criptografía

  • Use bibliotecas comunes para criptografía en lugar de código criptográfico personalizado.
  • Firme aplicaciones de Android con una clave del tamaño adecuado, al menos 2048 bits. Evite firmar aplicaciones con una longitud de clave de 1024 bits o menos porque son vulnerables a las firmas digitales falsificadas.

Autorización

  • Certificate Transparency es un marco abierto para registrar, monitorear y auditar la emisión de certificados de CA. Considere usarlo como una defensa adicional para las aplicaciones móviles que requieren un alto grado de seguridad.
  • Implemente la fijación de certificados para las aplicaciones que manejan datos confidenciales como contramedida contra los ataques de intermediarios (MiTM).

Calidad del código

  • El código que ayuda a depurar problemas en aplicaciones de preproducción puede causar fugas de datos en aplicaciones de producción si se deja el código de depuración.

Ingeniería inversa

  • Las aplicaciones móviles de ingeniería inversa pueden proporcionar información valiosa sobre cómo funciona y exponer secretos corporativos. Hacer que una aplicación sea más compleja internamente hace que sea más difícil para los atacantes ver cómo funciona la aplicación, lo que puede reducir la cantidad de vectores de ataque.

Funcionalidad extraña

  • Tenga cuidado con cualquier aplicación móvil que solicite permisos no relacionados con la funcionalidad de la aplicación, como contactos, SMS y datos de ubicación para una linterna.

Modelado de amenazas

  • Evalúe el riesgo de seguridad de una aplicación móvil mediante el modelado de amenazas, el modelado de ataques, el mapeo de superficie de ataque y/u otras formas de modelado de riesgos.
  • Para realizar el modelado de amenazas, comience con los Estándares de verificación de seguridad de aplicaciones móviles de OWASP para determinar el nivel de prueba necesario para administrar el riesgo de acuerdo con las características de la aplicación.

Capacitación

  • Manténgase actualizado sobre todas las características de la cadena de herramientas DevSecOps.
  • La capacitación en seguridad garantizará que su equipo de desarrollo conozca los últimos requisitos de seguridad de aplicaciones móviles y las mejores prácticas de codificación.

Pruebas de seguridad de aplicaciones móviles

  • Busque una herramienta de prueba de seguridad de aplicaciones que asigne los resultados de la evaluación directamente a los requisitos de su programa de seguridad y los estándares de la industria, como CVSS, OWASP MASVS y el marco Common Weakness Enumeration (CWE).
  • Comprenda que usar herramientas de código abierto como Drozer, Frida, Mitmproxy y Radare para probar aplicaciones móviles puede ser difícil porque necesita mucha experiencia para unir estas herramientas y usarlas de manera efectiva. Recomendamos elegir una herramienta comercial de prueba de appsec móvil en su lugar.
  • Pruebe aplicaciones en dispositivos móviles reales en lugar de emuladores. Las pruebas con un emulador pierden una serie de vectores de ataque móvil.
  • No cometa el error de suponer que las bibliotecas de terceros son seguras: actualice este código regularmente y pruébelo a fondo para detectar vulnerabilidades de seguridad y privacidad.
  • Reconozca que las aplicaciones móviles complejas o altamente seguras pueden requerir una revisión manual del código y pruebas de penetración para detectar posibles amenazas.

Remediación

  • Concéntrese en probar automáticamente el nuevo código y las compilaciones a diario para reducir el valor del tiempo de ciclo (CTV) y eliminar los errores manuales.
  • Sepa qué arreglar evaluando el riesgo de cualquier problema que encuentre en su aplicación. El uso de CVSS ofrece una excelente manera de comenzar.
  • Defina minuciosamente el proceso para cuando los errores de seguridad interrumpan la compilación e instituya un circuito de retroalimentación para mejorar los procesos de CI/CD.

Esperamos que estas mejores prácticas satisfagan su ansia de conocimiento. Para obtener más consejos sobre el desarrollo de aplicaciones móviles seguras, consulte nuestro popular libro electrónico «Prácticas recomendadas de desarrollo móvil seguro». El equipo de NowSecure Services también está disponible para ayudarlo a capacitar a su equipo, implementar un programa de pruebas de seguridad de aplicaciones móviles o realizar pruebas de penetración de aplicaciones móviles para usted. Comuníquese con nosotros en cualquier momento para analizar las necesidades de prueba de appsec móvil de su organización.

Deja un comentario