¿Cómo verifico las conexiones HTTPS en las aplicaciones móviles?

35

Hay muchas aplicaciones móviles hoy en día con soporte de pasarelas de pago. Sin embargo, a diferencia de los navegadores de escritorio, estas aplicaciones móviles no nos muestran una 'Barra de direcciones' mediante la cual podemos identificar una conexión HTTPS. ¿Cómo puedo asegurarme de realizar un pago en una aplicación móvil con una conexión HTTPS?

    
pregunta Adarsh Konchady 14.03.2016 - 16:20
fuente

4 respuestas

11

Como dice @StefHeylen, generalmente no puedes. Y como dice @ d1str0, Burp es una forma de ver si el tráfico está encriptado, si puedes hacer proxy de la aplicación a través de él.

En realidad es peor que eso, ya que las aplicaciones móviles no siempre hacen una única conexión a un servidor. No es raro que utilicen HTTP para algunas partes, y HTTPS para otras. También pueden hacer algunos otros trucos que los navegadores normales generalmente no tocan. Por ejemplo, pueden certificar pin y rechazar su ejecución si no pueden establecer una conexión segura a un servidor específico.

Por lo tanto, es perfectamente posible tener aplicaciones móviles que se nieguen a ejecutarse cuando se procesan por proxy (porque se conectan a un servidor HTTPS específico con un certificado específico, lo que significa que Burp falla), pero que luego envían datos de pago a través de medios no cifrados a un diferente servidor. La única forma de observar esto es a través de la inspección de paquetes usando algo como Wireshark: verás un montón de datos encriptados, y luego algunos datos sin cifrar (a menudo JSON o XML) se envían a un servidor diferente.

También es posible que los datos de pago se envíen correctamente, y luego los scripts de terceros para el monitoreo de estadísticas (por ejemplo, ver qué tan lejos llegan los usuarios a través de los formularios dentro de la aplicación) para enviar los mismos detalles a través de canales no cifrados porque el desarrollador de la aplicación no ha No se excluyen los campos de pago.

Todo el sistema de aplicaciones móviles está desordenado. Respaldé el consejo de Stef para evitar realizar pagos utilizando aplicaciones, si es posible. Si no puede, considere usar una tarjeta específica para esos pagos, que monitorea regularmente para transacciones inusuales.

    
respondido por el Matthew 14.03.2016 - 18:04
fuente
26

Desafortunadamente, a menos que huela e inspeccione su propio tráfico, no puede ... Mi consejo es que no utilice navegadores integrados que no indiquen el protocolo que se utiliza para manejar información confidencial

    
respondido por el Stef Heylen 14.03.2016 - 16:28
fuente
6

El uso de una herramienta proxy como BurpSuite le permitirá probar si esa aplicación específica permite o no permite conexiones HTTPS incorrectas.

    
respondido por el d1str0 14.03.2016 - 17:47
fuente
3

En iOS 9 HTTPS en aplicaciones está habilitado para cualquier llamada de red. Puede omitirlo temporalmente, pero pronto será solo HTTPS para todas las llamadas de la red siempre.

  

A partir de iOS 9.0 y OS X v10.11, hay una nueva función de seguridad llamada App Transport Security (ATS) disponible para las aplicaciones y está habilitada de forma predeterminada. Mejora la privacidad y la integridad de los datos de las conexiones entre una aplicación y los servicios web al imponer requisitos de seguridad adicionales para las solicitudes de redes basadas en HTTP. Específicamente, con ATS habilitado, las conexiones HTTP deben usar HTTPS (RFC 2818). Los intentos de conexión utilizando HTTP inseguro fallan. Además, las solicitudes HTTPS deben utilizar las mejores prácticas para comunicaciones seguras.

NSAppTransportSecurity

    
respondido por el lostAtSeaJoshua 15.03.2016 - 04:26
fuente

Lea otras preguntas en las etiquetas