Seguridad de dispositivos móviles y aplicaciones: cinco escenarios de ataque populares y formas de protección





Imagen: Unsplash



Los dispositivos móviles modernos son muy complejos y esto les da a los atacantes la oportunidad de lanzar ataques. Todo, desde Wi-Fi y Bluetooth hasta altavoces y micrófonos, se puede usar para liberar su teléfono inteligente .



Los analistas de Positive Technologies han publicado un estudio de escenarios comunes para ataques en dispositivos móviles y aplicaciones. En

nuestro artículo, los puntos principales de este documento.



Cómo se atacan los dispositivos móviles y las aplicaciones





Hay cinco escenarios de ataque principales. Entre ellos:



  • Acceso fisico . Si el teléfono fue robado o perdido, el propietario lo entregó al servicio o lo conectó a un cargador USB falso; todo esto abre la posibilidad de un ataque.
  • Aplicación maliciosa en el dispositivo . A veces, dichas aplicaciones pueden llegar al dispositivo incluso desde fuentes oficiales, Google Play y App Store (para Android , para iOS ).
  • Atacante en el canal de comunicación . Al conectarnos a un Wi-Fi, servidor proxy o VPN no confiable, nos volvemos vulnerables a los ataques en el canal de comunicación.
  • Ataques remotos . Un atacante puede actuar de forma remota, utilizando servidores de aplicaciones móviles u otros servicios para entregar un exploit.
  • Ataques del lado del servidor . Además de todo lo demás, podemos considerar ataques en el lado del servidor de aplicaciones móviles, ya que en este caso el atacante no necesita acceso al dispositivo.


Hablemos con más detalle sobre cada una de las opciones y analicemos posibles formas de protección contra tales ataques.





Existen varios escenarios principales para los ataques de acceso físico. Como regla, implican el acceso de una persona a un teléfono inteligente directamente: esto sucede si el dispositivo es robado, el propietario lo perdió o lo llevó al servicio. Sin embargo, también existe un método de ataque bastante inusual, para el cual se utiliza una estación de carga maliciosa. Consideremoslo.



La estación de carga a la que conecta su teléfono inteligente a través de USB puede no ser completamente segura. Para las versiones modernas del sistema operativo Android e iOS, cuando se conecta desde un teléfono inteligente a una PC a través de USB, se requiere permiso para acceder al dispositivo. Sin embargo, esto no era necesario en Android 4.0 y versiones posteriores. Como resultado, cuando tales dispositivos están conectados a estaciones de carga comprometidas o instaladas por piratas informáticos, se abre la oportunidad de un ataque. Su guión podría verse así:



  • Android 4.0 USB.
  • USB-.
  • adb install malware.apk, .
  • adb am start com.malware.app/.MainActivity .
  • , root . , (, , ) , .




En primer lugar, tenga cuidado de no dejar su teléfono y tableta desatendidos en lugares públicos. Asegúrese de establecer una contraseña para desbloquear su dispositivo o activar la seguridad biométrica si es posible. No eleve los privilegios a administrativos (jailbreak o root), desactive la visualización de notificaciones en la pantalla bloqueada.



Ataques con aplicaciones maliciosas.



Hay varias fuentes de tales aplicaciones:



  • Tiendas de aplicaciones oficiales: Google Play y App Store. En raras ocasiones, pero incluso en los mercados oficiales, puede encontrar una aplicación maliciosa que puede dañarlo a usted y a sus datos. A menudo, estas aplicaciones intentan obtener más instalaciones con nombres de clickbait como "Super Battery", "Turbo Browser" o "Virus Cleaner 2019".
  • (third-party appstore). Android- , apk- . iOS- Safari, , .
  • USB-.
  • Android- — Google Play Instant.


Cuando se instala en un teléfono inteligente, según los permisos recibidos, las aplicaciones maliciosas tendrán acceso a algunos datos almacenados, micrófono, cámara, geolocalización, contactos, etc. También podrán interactuar con otras aplicaciones instaladas a través de mecanismos de comunicación entre procesos (IPC / XPC). Si las aplicaciones instaladas contienen vulnerabilidades que pueden explotarse a través de esta interacción, la aplicación maliciosa puede aprovechar esto. Esto es especialmente cierto para dispositivos Android.



Además, una aplicación maliciosa puede intentar obtener privilegios elevados en el sistema explotando vulnerabilidades que le permiten obtener privilegios de root o jailbreak.



Cómo protegerte



Para protegerse contra tales ataques, se recomienda que primero evite instalar aplicaciones de fuentes no confiables. Las aplicaciones con nombres sospechosos también deben instalarse con precaución, incluso desde las tiendas de aplicaciones oficiales, ya que las comprobaciones no funcionan perfectamente. Mantenga su sistema operativo y sus aplicaciones actualizadas para asegurarse de que no se ataquen vulnerabilidades conocidas.



Ataques de enlace



Para que un atacante pueda operar desde el canal de comunicación, necesita realizar un ataque de hombre en el medio, es decir, para que todo el tráfico transmitido entre la aplicación móvil del cliente y el lado del servidor pase a través del dispositivo del atacante. Algunas veces se encuentran vulnerabilidades en aplicaciones que permiten tales ataques.



Por ejemplo, generalmente al establecer una conexión segura, la aplicación cliente verifica la autenticidad del certificado del servidor y si sus parámetros coinciden con los del servidor. Sin embargo, a veces los desarrolladores, por conveniencia, cuando trabajan en una aplicación, deshabilitan dichos controles, olvidando habilitarlos nuevamente en la versión de lanzamiento. Como resultado, la aplicación acepta cualquier certificado de servidor para establecer una conexión segura, incluido el certificado del atacante.



Incluso si los certificados se verifican correctamente, el atacante todavía tiene una laguna: bajo algún pretexto para obligar a la víctima a instalar el certificado del atacante como un certificado de confianza en su dispositivo. Además, si la aplicación en sí misma funciona de manera segura con el servidor, pero contiene enlaces a recursos de terceros descargados a través de HTTP, esto todavía constituye una oportunidad para ataques de phishing.



Si un atacante logra controlar el tráfico entre la aplicación del cliente y el servidor, esto le dará varias posibilidades:



  • respuestas falsas del servidor, por ejemplo, para falsificar datos bancarios o de phishing;
  • sustituir solicitudes de solicitud del cliente, por ejemplo, cambiar el monto de la transferencia y la cuenta del destinatario;
  • interceptar datos, como inicios de sesión, contraseñas, contraseñas de un solo uso, datos de tarjetas bancarias, historial de transacciones.


Como resultado, aprende los inicios de sesión y las contraseñas de la víctima de varias cuentas y puede usarlos para robar datos y robar dinero.



Cómo protegerte



No se conecte a puntos de acceso cuestionables, no use servidores proxy y VPN en los que no confíe su información personal y bancaria. No instale certificados de terceros en el dispositivo.



Como regla, la mayoría de las aplicaciones populares de mensajería instantánea y redes sociales están bien protegidas de tales ataques; si, por ejemplo, de repente alguna de estas aplicaciones se niega a funcionar a través de la conexión Wi-Fi actual, esto puede significar que este punto de acceso no es seguro y es mejor desconectarse de él para no poner en peligro otras aplicaciones, incluido su banco móvil.



Ataques remotos



Algunas vulnerabilidades en aplicaciones móviles pueden explotarse de forma remota, y esto ni siquiera requiere el control de la transferencia de datos entre la aplicación y el servidor. Muchas aplicaciones proporcionan funcionalidad para manejar enlaces especiales, como myapp: //. Estos enlaces se denominan enlaces profundos y funcionan tanto en Android como en iOS. Al hacer clic en dicho enlace en un navegador, aplicación de correo o mensajería, se puede abrir la aplicación que puede procesar dichos enlaces. Todo el enlace, incluidos los parámetros, se pasará a la aplicación del controlador. Si el controlador de enlaces contiene vulnerabilidades, para explotarlas, será suficiente para obligar a la víctima a seguir el enlace malicioso.



Del mismo modo, los enlaces más familiares http: // y https: // se pueden procesar en dispositivos móviles; se pueden enviar a la aplicación en lugar del navegador, en algunos casos esto puede ocurrir sin la confirmación del usuario.



Para dispositivos Android, hacer clic en el enlace puede desencadenar la descarga de la aplicación instantánea, lo que podría permitir la explotación remota de vulnerabilidades asociadas con la instalación de una aplicación maliciosa.



Cómo protegerte



La instalación oportuna de actualizaciones de aplicaciones y sistemas operativos en este caso es la única forma de protegerse. Si no puede instalar la actualización o aún no se ha lanzado, puede dejar de usar temporalmente la aplicación afectada: desinstálela de su dispositivo o simplemente cierre la sesión.



Ataques del lado del servidor



Para atacar un servidor de aplicaciones móviles, un atacante, por regla general, solo necesita estudiar cómo interactúa la aplicación cliente con el servidor y, en función de la información recopilada sobre los puntos de entrada, tratar de modificar las solicitudes para detectar y explotar vulnerabilidades.



A menudo, el dispositivo del back-end de una aplicación móvil no es diferente de una aplicación web. Como regla general, los servidores de aplicaciones móviles son aún más simples y a menudo representan json- o xml-api, rara vez funcionan con marcado HTML y JavaScript, como suelen hacer los sitios web.



Si comparamos las vulnerabilidades de las aplicaciones web y el back-end de las aplicaciones móviles, vemos que las siguientes vulnerabilidades prevalecen en las aplicaciones móviles:



  • protección insuficiente contra credenciales de fuerza bruta: el 24% de las aplicaciones web y el 58% de los servidores de aplicaciones móviles contienen tales vulnerabilidades,
  • errores de lógica de negocios: 2% de las aplicaciones web y 33% de los servidores de aplicaciones móviles.


Nuestra investigación muestra que, a menudo, los usuarios de la aplicación pueden acceder a los datos de otros usuarios: números de tarjeta, nombres y apellidos, números de teléfono, etc. Además, el acceso puede proporcionarse erróneamente tanto en nombre de otro usuario como sin autenticación, lo que se debe a La presencia de debilidades en la autenticación y autorización.



Cómo protegerte



En este caso, hay poco que el usuario promedio pueda hacer. Sin embargo, puede mitigar los riesgos de ataques al servidor utilizando una contraseña segura y configurando la autenticación de dos factores con contraseñas de un solo uso en todas las aplicaciones de misión crítica que hacen esto.



Para minimizar la probabilidad de un ataque exitoso en una aplicación móvil, sus desarrolladores deben verificar la viabilidad de cada uno de los escenarios descritos. Al desarrollar, es necesario tener en cuenta varios modelos de intrusos, y se deben tomar algunas medidas de protección en la etapa de diseño.



Una buena recomendación para los desarrolladores es implementar un ciclo de vida de desarrollo de seguridad (SDL) y revisar periódicamente la seguridad de la aplicación. Dichas medidas no solo ayudarán a identificar oportunamente las posibles amenazas, sino que también aumentarán el nivel de conocimiento de seguridad de los desarrolladores, lo que aumentará el nivel de seguridad de las aplicaciones desarrolladas a largo plazo.



Publicado por Nikolay Anisenya, jefe del grupo de investigación de seguridad de aplicaciones móviles de Positive Technologies



All Articles