Descubrir el panorama de las aplicaciones móviles
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Describir el panorama de las aplicaciones móviles.
- Identificar el predominio de la seguridad de aplicaciones móviles.
- Definir la terminología de la seguridad de aplicaciones móviles.
- Diferenciar la seguridad de aplicaciones web y móviles.
- Describir la superficie de ataque de las aplicaciones móviles.
Antes de empezar
Si completó los módulos Fundamentos de la seguridad de aplicaciones y Responsabilidades de los ingenieros de seguridad de aplicaciones, entonces ya tiene conocimientos sobre la seguridad de aplicaciones y cómo un ingeniero de seguridad de aplicaciones las protege. Ahora abordaremos cómo mejorar la ciberseguridad de una aplicación móvil.
El panorama de las aplicaciones móviles
Nuestros smartphones pueden realizar cosas extraordinarias: grabar videos de 4 K, traducir idiomas extranjeros, tomar dictados, monitorear el ritmo cardíaco y mucho más. Con los rápidos avances tecnológicos, la integración de tecnologías como la inteligencia artificial (IA), Blockchain y las redes móviles de quinta generación (5G) revolucionó la forma de pensar en las aplicaciones móviles.
Estar al día con las tendencias que cambian de manera rápida y tener conocimientos técnicos sólidos resultan clave para que los desarrolladores de aplicaciones móviles creen aplicaciones innovadoras prácticamente para todos los dispositivos. También es muy importante que las personas que quieran desarrollar aplicaciones tengan en cuenta la cibernética.
A medida que el predominio de los dispositivos móviles y las aplicaciones continúa en aumento, son cada vez más las empresas que cambian a una estrategia de diseño centrada en dispositivos móviles. Esta estrategia es una filosofía que tiene como objetivo crear mejores experiencias para los usuarios al iniciar el proceso de diseño desde la pantalla más pequeña: la del dispositivo móvil. La mayoría de las interacciones iniciales de los clientes con una compañía tienen lugar en sus smartphones y tablets, que tienen sus propias complejidades de seguridad y requieren una estrategia integral con respecto a la seguridad de las aplicaciones móviles. Al diseñar y crear prototipos de sus sitios web primero para dispositivos móviles, puede garantizar que la experiencia del usuario sea perfecta en cualquier dispositivo.
El predominio de la seguridad de aplicaciones móviles
En la actualidad, todas las empresas importantes disponen de una aplicación móvil para interactuar con sus clientes de manera más simple, y son cada vez más los usuarios que confían en las aplicaciones móviles para llevar a cabo la mayoría de las tareas digitales: ver las noticias, revisar los emails y las redes sociales, hacer compras en línea y realizar transacciones bancarias.
Estas aplicaciones móviles tienen acceso a grandes cantidades de datos confidenciales que se deben proteger del acceso no autorizado. A través de estas aplicaciones, las empresas pueden recopilar información útil sobre los usuarios, como la ubicación, las estadísticas de uso, los números de teléfono, lo que les gusta, lo que no les gusta y otras métricas importantes. Si los datos de estas aplicaciones móviles caen en manos equivocadas, puede implicar un riesgo para el usuario.
El objetivo de los profesionales de la seguridad es mitigar el riesgo en las aplicaciones móviles de sus organizaciones. La seguridad de aplicaciones móviles es la práctica de proteger las identidades digitales y las aplicaciones móviles de alto valor contra los ataques. Esto incluye la manipulación de dispositivos, la ingeniería inversa, el malware, los registradores de pulsaciones de teclas y otras formas de manipulación o interferencia. Como desarrollador o profesional de la seguridad, debe tener en cuenta las diversas amenazas que se dirigen a las aplicaciones móviles.
Definir la terminología de la seguridad de aplicaciones móviles
Antes de avanzar, conozcamos algunos términos comunes relacionados con la seguridad de aplicaciones móviles.
Término |
Definición |
---|---|
API |
Un intermediario de software que permite que dos aplicaciones se comuniquen entre sí. |
Autenticación |
El acto de identificar a una persona. |
Autorización |
El acto de comprobar que la persona identificada tiene los permisos necesarios para realizar una acción. |
Búfer |
Un área de memoria reservada para guardar datos, a menudo mientras se trasladan de una sección de un programa a otra o entre programas. |
Desbordamiento de búfer |
Una anomalía en la que un programa, al escribir datos en un búfer, sobrepasa el límite del búfer y sobrescribe las posiciones de memoria adyacentes. |
Plataforma de desarrollo |
Un conjunto de normas que permiten a los desarrolladores crear aplicaciones de software basadas en la pila tecnológica adecuada. |
Prueba dinámica |
Un método de prueba de software realizado para analizar el comportamiento del código en tiempo de ejecución. |
Prueba estática |
Un método de prueba de software que evalúa el código fuente de una aplicación para detectar los defectos en el software, sin ejecutar realmente el código de la aplicación de software. |
Diseño de la experiencia de usuario (UX) |
Un enfoque de diseño que se centra en hacer que la aplicación sea más sencilla, coherente y fácil de navegar para el usuario. |
Seguridad de aplicaciones web frente a la de aplicaciones móviles
Una aplicación web es una aplicación que se ejecuta en un sitio web y a la que el usuario accede mediante un navegador de Internet. Funcionan como las aplicaciones que se descargan, pero se ejecutan en el contexto del navegador del teléfono. Las aplicaciones web se adaptan a cualquier dispositivo que use. No son nativas de un sistema específico y no es necesario descargarlas o instalarlas.
La seguridad de aplicaciones móviles se centra en la postura de seguridad del software de las aplicaciones móviles en las plataformas iOS y Android. Esto abarca las aplicaciones que se ejecutan tanto en teléfonos móviles como en tablets. Se trata de evaluar los problemas de seguridad de aplicaciones en el contexto de las plataformas para las que están diseñadas, los marcos de trabajo con los que se desarrollan y el conjunto de usuarios previsto (por ejemplo, empleados frente a usuarios finales). Las aplicaciones móviles pueden recopilar mucha más información sobre el usuario (como la ubicación, y los datos biométricos, de video y de audio) que los navegadores web.
Veamos algunas diferencias entre las aplicaciones web y las aplicaciones móviles.
Código
Las aplicaciones web tienen la opción de alojar el código confidencial en el servidor, donde un atacante no puede acceder. Por otro lado, las aplicaciones móviles contienen un código importante (incluida la lógica y los datos) en el dispositivo del cliente. Las aplicaciones móviles son esencialmente un código disponible públicamente y tienen una mayor superficie de ataque que las aplicaciones web, ya que las aplicaciones pueden descargarse de tiendas públicas y el código se puede inspeccionar.
Red
En el caso de las aplicaciones web, el navegador gestiona la seguridad de la capa de transporte (TLS) y el protocolo seguro de transferencia de hipertexto (HTTPS) para proteger la comunicación a través de una red de computadoras. En el caso de las aplicaciones móviles, la aplicación debe codificar de forma segura la llamada de red. Los ingenieros de seguridad de aplicaciones móviles deben proteger los datos confidenciales mientras recorren la red del operador del dispositivo móvil e Internet; para ello, verifican que se utilicen métodos de comunicación seguros como TLS y HTTPS.
Memoria
En las aplicaciones web, el navegador aísla los datos de los archivos y la memoria de la máquina local. En las aplicaciones móviles, es la aplicación la que debe manejar de manera adecuada la memoria y los archivos locales. Esto significa que los ingenieros de seguridad de aplicaciones móviles necesitan protegerlas contra anomalías como el desbordamiento de búfer, en el que un programa, al escribir datos en un área de la memoria, sobrepasa el límite y sobrescribe las ubicaciones de memoria adyacentes.
Segmentación
Los entornos sandbox de los navegadores aíslan los datos y la lógica de las aplicaciones web entre sí. Por otro lado, las aplicaciones móviles pueden compartir datos entre ellas al escribir en ubicaciones de almacenamiento compartidas o abiertas. Las API de backend, que se utilizan para conectar las aplicaciones móviles a los servidores para transferir datos, pueden exponer datos médicos, financieros y personales confidenciales si no se protegen de manera adecuada.
La superficie de ataque de las aplicaciones móviles
La superficie de ataque describe todos los diferentes puntos desde los que un atacante puede acceder a una aplicación y filtrar datos. La superficie de ataque de una aplicación móvil incluye lo siguiente:
-
Datos en tránsito: la suma de todas las rutas de entrada y salida de datos y comandos de la aplicación.
-
El código que protege estas rutas: la conexión y autenticación de recursos, la autorización, el registro de actividades, la validación de datos y la codificación.
-
Datos en reposo: todos los datos importantes que se utilizan y almacenan en la aplicación, incluidos los secretos y las claves, la propiedad intelectual, los datos de negocio críticos y la información de identificación personal (PII).
-
El código que protege estos datos: cifrado y sumas de comprobación, auditoría de acceso y controles de seguridad operativa y de integridad de los datos.
-
API de backend: las interfaces que se usan para conectar servicios y transferir datos.
Como profesional de la seguridad, su trabajo consiste en evaluar en detalle toda la superficie de ataque de las aplicaciones móviles. Para los atacantes, las aplicaciones móviles siempre resultaron una superficie de ataque interesante. Y aunque las principales plataformas móviles ofrecen su propio conjunto de controles de seguridad diseñados para ayudar a los desarrolladores a crear aplicaciones seguras, a menudo el desarrollador puede elegir entre una variedad de opciones de seguridad. Si los desarrolladores no examinan de manera adecuada las funciones de seguridad, es posible que las implementen de tal manera que los atacantes puedan eludirlas con facilidad.
Resumen
Ahora entiende el panorama de las aplicaciones móviles, el predominio de la seguridad de aplicaciones móviles y la terminología de seguridad de aplicaciones móviles. En la siguiente unidad, aprenderá más sobre las responsabilidades de un ingeniero de seguridad de aplicaciones móviles y descubrirá las habilidades que los ayudan a lograr el éxito.
Recursos
-
Trailhead: Fundamentos de la seguridad de aplicaciones
-
Trailhead: Desarrollo de una estrategia móvil
-
Sitio externo: Open Web Application Security Project® (OWASP): Hoja de referencia sobre el análisis de la superficie de ataque
-
Sitio externo: Fortinet: Superficies de ataque
-
PDF: Instituto Nacional de Estándares y Tecnología de EE. UU. (NIST): Examinar la seguridad de aplicaciones móviles