Un fallo de seguridad en la App Store permite hacer compras a través de las aplicaciones sin pagar nada

Con la versión 3.0 de iOS llegaron las compras in-app, o dentro de la aplicación. Este sistema permitía comprar productos dentro de las aplicaciones (por ejemplo, un nuevo coche para un juego o temas distintos para una aplicación de lectura) usando el sistema de pagos de la App Store. Es una buena idea pero con fallos de seguridad, tal y como ha demostrado Alexey Borodin.

Es un ataque del tipo MITM (man-in-the-middle, literalmente hombre en el medio). Instalando unos certificados y cambiando las DNS del teléfono, las compras in-app son interceptadas y pasan al servidor de Borodin en lugar de al de Apple.

El servidor de Borodin devuelve a la aplicación un certificado de compra, que hace pensar a la aplicación que el usuario ya ha pagado aunque en realidad no se haya desembolsado nada. ¿De dónde sale ese certificado de compra? Dado que no contienen ningún dato sobre el comprador, lo único que necesita Borodin es un único certificado real, que pasa a todos los que hacen la misma compra

No todas las aplicaciones son vulnerables
La forma en la que está diseñado el proceso de compras a través de la aplicación hace que no todas sean vulnerables. Hay dos modelos distintos que los desarrolladores pueden adoptar. El más seguro es el modelo con servidor externo: la aplicación procesa la petición de compra y recibe el certificado, que es enviado al servidor externo de la aplicación. En cuanto lo recibe, lo verifica con la App Store y, si es válido, devolverá a la aplicación el contenido comprado.

Los desarrolladores que usen este modelo no son vulnerables, ya que el ataque MITM sólo afecta al teléfono. Las comunicaciones entre la aplicación y su servidor, y entre el servidor y la App Store no se interceptan y por lo tanto el fraude queda detectado.

Sin embargo, hay otro modelo en el que sólo participa la aplicación. Según las directrices de Apple, en este caso no se verifica el certificado de compra y por lo tanto son totalmente vulnerables. Y, de todas formas, aunque se hiciese, el servidor de Borodin interceptaría la petición y haría pensar a la aplicación que la transacción es válida.

Usando este hack, podrían haberse hecho más de 30.000 ventas falsas en las aplicaciones. Ahora mismo, lo único que pueden hacer los desarrolladores es o bien verificar las compras con un servidor propio o esperar a que Apple corrija este fallo en su API.

 Fuente

__________

NOTA: Los interesados en información sobre contrato de soporte Asistencia Tecnica de SATINFO y/o licencia de uso/actualizaciones de sus utilidades, contacten con info@satinfo.es
__________

Este blog no se hace responsable de las opiniones y comentarios de los textos en los que se cita la Fuente, ofreciendo su contenido solo para facilitar el acceso a la información del mismo.

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Los comentarios y los pings están cerrados.

Los comentarios están cerrados.

 

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies