Diseño UX y Psicología Cognitiva PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Diseño UX y Psicología Cognitiva

Los ataques cibernéticos y el robo de datos se han vuelto tan comunes en estos días, especialmente cuando se trata de aplicaciones móviles. Como resultado, las aplicaciones móviles que experimentan violaciones de seguridad pueden sufrir pérdidas financieras. Dado que muchos piratas informáticos buscan robar datos de los clientes, asegurar estas aplicaciones se ha convertido en la prioridad número uno para las organizaciones y en un serio desafío para los desarrolladores. Según una investigación reciente de Gartner, Hype Cycle para la seguridad de las aplicaciones, la inversión en seguridad de aplicaciones aumentará más del doble en los próximos años, de $6 mil millones este año a $13.7 mil millones para 2026. Además, el informe indicó: “La seguridad de las aplicaciones es ahora una prioridad para los desarrolladores y la seguridad. profesionales, y el énfasis ahora se está volviendo a las aplicaciones alojadas en nubes públicas”, es crucial obtener los componentes fundamentales de la seguridad de DevOps correctos. Aquí están los 12 consejos para asegurar su aplicación móvil: 

1. Instale aplicaciones de fuentes confiables:

Es común que las aplicaciones de Android se vuelvan a publicar en mercados alternativos o que sus APK e IPA estén disponibles para su descarga. Tanto APK como IPA se pueden descargar e instalar desde una variedad de lugares, incluidos sitios web, servicios en la nube, unidades, redes sociales y redes sociales. Solo se debe permitir que Play Store y App Store instalen archivos APK e IPA confiables. Para evitar el uso de estas aplicaciones, debemos tener una detección de verificación de fuente (Play Store o App Store) al iniciar la aplicación.

También lea, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Detección de raíces:

Android: un atacante podría iniciar una aplicación móvil en un dispositivo rooteado y acceder a la memoria local o llamar a actividades o intentos específicos para realizar actividades maliciosas en la aplicación. 

iOS: las aplicaciones en un dispositivo con jailbreak se ejecutan como root fuera del espacio aislado de iOS. Esto puede permitir que las aplicaciones accedan a datos confidenciales almacenados en otras aplicaciones o instalen software malicioso que anule la funcionalidad de sandboxing. 

Más sobre la detección de raíz- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Almacenamiento de datos:

Los desarrolladores usan Preferencias compartidas y valores predeterminados de usuario para almacenar pares clave-valor como tokens, números de teléfono móvil, correo electrónico, valores booleanos, etc. Además, al crear aplicaciones, los desarrolladores prefieren bases de datos SQLite para datos estructurados. Se recomienda almacenar cualquier dato en formato de encriptación para que los piratas informáticos dificulten la extracción de la información.

4. Claves secretas seguras:

Las claves de API, las contraseñas y los tokens no deben estar codificados en el código. Se recomienda utilizar diferentes técnicas para almacenar estos valores para que los piratas informáticos no puedan escapar rápidamente manipulando la aplicación. 

Aquí hay un enlace de referencia: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Ofuscación del código

Un atacante puede descompilar el archivo APK y extraer el código fuente de la aplicación. Esto puede exponer información confidencial almacenada en el código fuente de la aplicación al atacante que puede usarse para realizar ataques personalizados. 

Es mejor ofuscar el código fuente para evitar toda la información confidencial contenida en el código fuente.

6. Comunicación segura:

Un atacante puede realizar actividades maliciosas para aprovechar el nivel de los ataques, ya que toda la comunicación se realiza a través de canales no cifrados. Por lo tanto, siempre use las URL de HTTPS en lugar de las URL de HTTP.

7. Fijación SSL:

La fijación de certificados permite que las aplicaciones móviles restrinjan la comunicación solo a servidores con un certificado válido que coincida con el valor esperado (pin). La fijación asegura que ningún dato de la red se ve comprometido, incluso si se engaña a un usuario para que instale un certificado raíz malicioso en su dispositivo móvil. Cualquier aplicación que ancle sus certificados frustraría tales intentos de phishing al negarse a transmitir datos a través de una conexión comprometida.

Consulte: 

https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning

8. Solicitud de API segura y datos de respuesta

La práctica estándar es usar HTTPS para la protección de referencia de las llamadas a la API REST. La información enviada al servidor o recibida del servidor puede cifrarse aún más con AES, etc. Por ejemplo, si hay contenidos confidenciales, puede optar por seleccionarlos para cifrarlos, de modo que incluso si HTTPS está roto o mal configurado de alguna manera, usted tener otra capa de protección de su encriptación.

9. Autenticación segura de aplicaciones móviles:

En caso de que una aplicación no asigne tokens de sesión distintos y complejos después de iniciar sesión a un usuario, un atacante puede realizar phishing para atraer a la víctima a usar un token generado personalizado proporcionado por el atacante y omitir fácilmente la página de inicio de sesión con la sesión capturada. mediante el uso de un ataque MiTM.

i) Asignar un token de sesión distinto y complejo a un usuario cada vez que inicie sesión correctamente en la aplicación. 

ii) Terminar la duración de la sesión inmediatamente después de cerrar la sesión. 

iii) No utilice el mismo token de sesión para dos o más direcciones IP. 

iv) Limitar el tiempo de caducidad de cada token de sesión.

10. Permitir copia de seguridad 

No permitir que los usuarios realicen una copia de seguridad de una aplicación si contiene datos confidenciales. Al tener acceso a los archivos de respaldo (es decir, cuando android:allowBackup=”true”), es posible modificar/leer el contenido de una aplicación incluso en un dispositivo no rooteado. Por lo tanto, se recomienda hacer que permitir la copia de seguridad sea falso. 

11. Restrinja el acceso a las pantallas de aplicaciones de Android desde otras aplicaciones

Lo ideal es que sus actividades no prevean la apertura desde otros servicios o aplicaciones. Hágalo realidad solo cuando tenga un requisito específico para acceder a sus pantallas flutter desde otras aplicaciones; de lo contrario, cambie a android:exportado= ”falso”

12. Restrinja la instalación de paquetes desde la aplicación de Android

SOLICITUD_INSTALACIÓN_PAQUETES el permiso permite que las aplicaciones instalar nuevos paquetes en el dispositivo de un usuario. Estamos comprometidos a prevenir el abuso en la plataforma Android y proteger a los usuarios de las aplicaciones que se actualizan automáticamente utilizando cualquier método que no sea el mecanismo de actualización de Google Play o que descargan APK dañinos.

Conclusión: 

Las aplicaciones móviles se han vuelto más personalizadas que nunca con montones de datos personales de los clientes almacenados en ellas todos los días. Para generar confianza y lealtad entre los usuarios y evitar pérdidas financieras y de credenciales significativas para las empresas, ahora es crucial asegurarse de que la aplicación sea segura para el usuario. Seguir las listas de verificación de seguridad de aplicaciones móviles mencionadas anteriormente definitivamente ayudará a evitar que los piratas informáticos pirateen la aplicación.

Sobre el Autor:

Raviteja Aketi es ingeniera de software sénior en Mantra Labs. Tiene amplia experiencia en proyectos B2B. A Raviteja le encanta explorar nuevas tecnologías, ver películas y pasar tiempo con familiares y amigos.

Lea nuestro último blog: Implementando una arquitectura limpia con Nest.JS

Conocimiento que vale la pena entregar en su bandeja de entrada

Sello de tiempo:

Mas de Laboratorios Mantra