Apple está respondiendo al
problema de seguridad que ha permitido que algunos usuarios realizaran compras
en las aplicaciones de iOS de manera gratuita. Estas compras se realizan por el
conocido sistema que Apple proporciona a los desarrolladores a través de una
API, para realizar ventas en sus aplicaciones, denominado “In-App Purchases” - de ahora en adelante IAPs -, y así maximizar sus oportunidades de negocio, junto con “iAd” la plataforma de publicidad.
Es curioso que, a principios de este año, Apple comenzó a rechazar aplicaciones que utilizasen el identificador UDID, para aumentar la privacidad del usuario, ya que identifica a los dispositivos de manera unívoca. Sin embargo, parece que ellos si que lo utilizan y han liberado ese API privada para que los programadores puedan defenderse de estos hackeos, en un primer paso de reforzar la seguridad del sistema de ventas IAPs. Los programadores podrán averiguar qué dispositivos están hackeando el sistema de ventas.
El hackeo del sistema lo realizó el hacker ruso Alexey Borodin, hace menos de una semana, y se calcula que ya se han podido realizar más de 30.000 transacciones virtuales de manera ilegal, a través de la web que montó el hacker, todavía online, y que es In-AppStore.com. Ahora miso, el sistema ha sido extendido también al sistema IAP de la Mac App Store, con lo que no solo afecta a los desarrolladores iOS, sino también a los desarrolladores Mac OS X.
Prueba de Concepto del Sistema de Alexey Borodin
Es curioso que, a principios de este año, Apple comenzó a rechazar aplicaciones que utilizasen el identificador UDID, para aumentar la privacidad del usuario, ya que identifica a los dispositivos de manera unívoca. Sin embargo, parece que ellos si que lo utilizan y han liberado ese API privada para que los programadores puedan defenderse de estos hackeos, en un primer paso de reforzar la seguridad del sistema de ventas IAPs. Los programadores podrán averiguar qué dispositivos están hackeando el sistema de ventas.
El hackeo del sistema lo realizó el hacker ruso Alexey Borodin, hace menos de una semana, y se calcula que ya se han podido realizar más de 30.000 transacciones virtuales de manera ilegal, a través de la web que montó el hacker, todavía online, y que es In-AppStore.com. Ahora miso, el sistema ha sido extendido también al sistema IAP de la Mac App Store, con lo que no solo afecta a los desarrolladores iOS, sino también a los desarrolladores Mac OS X.
Prueba de Concepto del Sistema de Alexey Borodin
La primera noticia de esto fue publicada
en el blog ruso I-ekb.ru. El hackeo conocido como “In-App Proxy”, que el propio autor explicó, consiste en cuatro sencillos pasos:
- Desconectarse o cerrar sesión de la cuenta asociada a App Store en el terminal, accediendo a “General >Store”, seleccionando la cuenta y cerrando sesión.
- Instalación de dos certificados que se encuentran disponibles a través de In-AppStore.com, seleccionando la opción “Getting Started”. En dicha web viene documentado todo el proceso, y están alojados los dos certificados que hay que instalar respetando el orden:
- Primero (CA Certificate): http://91.224.160.136/certs/cacert.pem
- Segundo (In-AppStore.com certificate): http://91.224.160.136/certs/itcert.pem
Para
la instalación de los certificados, basta con cargar la web In-AppStore.com, seleccionarlos e
instalarlos, tal y como se aprecia en las siguiente captura:
Figura 1: Instalación de certificados de In-AppStore |
A continuación se muestran las capturas
de la instalación del primer certificado (CA certificate):
Figura 2:
Instalación del primer certificado (CA certificate)
Y a continuación se muestran las capturas
de la instalación del segundo certificado, en este caso el certificado de In-AppStore.com:
Figura 3:
Instalación del segundo certificado
- El tercer paso consiste en realizar una compra, y cuando salga el mensaje de confirmación “Esta seguro de que desea realizar esta compra” hay que seleccionar la opción “Cancelar”.
- El cuarto y último paso es cambiar los DNS de la configuración de la red Wi-Fi. A continuación se muestra una captura en donde se aprecia el cambio:
Figura 4:
Cambio de los DNS de la red Wi-Fi a la que se está conectado.
Y listo. Ya se puede realizar la compra IAP dentro de una aplicación. Como prueba de concepto he escogido este juego al que personalmente estoy un poco enganchado, para obtener unas moneditas de oro extra, y aumentar los niveles de la varita mágica de mi clérigo. A continuación se muestra una captura del sistema de ventas IAP del juego:
Figura 5: Aspecto del sistema IAP del juego "Heroes vs Monsters - H vs M" |
Se selecciona la compra deseada, en nuestro ejemplo se ha elegido el pack más pequeño de monedas, es decir el de 3.000, y acto seguido aparecerá un mensaje como el siguiente, en lugar del habitual mensaje de Apple:
Figura 6: Mensaje de compra de "In-App Proxy" |
Se acepta la compra, y se va a la sección
“Store” o la tienda del juego, en
donde se puede comprobar como ahora se poseen las 3.000 ansiadas moneditas de
oro.
Figura 7: Comprobando que se han adquirido las 3.000 moneditas de oro |
Varias cosas a tener en cuenta con este sistema de hacking:
- La primera es que el sistema solo funciona a través de la conexión Wi-Fi.
- Otro factor a tener en cuenta, es que “In-App Proxy” sólo sirve para realizar compras gratuitas de el sistema de ventas IAPs, pero no en la App Store. De hecho si se intenta realizar alguna compra, aparece la siguiente imagen:
Figura 8:
Intentando realizar una compra en App Store.
Por tanto, después de realizar nuestras "compras" (ya que son ilegales) en IAPs, habría que cambiar los DNSs de nuevo para poder acceder correctamente a la App Store.
- Otro aspecto a tener en cuenta es que todo el sistema “In-App Proxy” es una versión beta, y no funciona en todos los casos, dependiendo de markets, apps, países, etc. Y se puede ver que hay una sección en la web del desarrollador, en donde se pueden ver mensajes de fallos del sistema, reportados por usuarios. Además Apple provee de un sistema a los desarrolladores, para comprobar los recibos en las ventas IAPs, tal como se puede ver aquí. Característica que deberían utilizar todos los desarrolladores.
- Por último cabe decir que no es necesario realizar el jailbreak a nuestro dispositivo.
Reacción de Apple
Al parecer Apple ha hecho un comunicado al respecto, alegando lo siguiente: “La seguridad de la App Store es increíblemente importante para nosotros y para la comunidad de desarrolladores”, declaró la representante de Apple Natalie Harrison a The Loop. "Tomamos todos los informes de actividades fraudulentas muy en serio, y estamos investigando”.
Al parecer Apple ha hecho un comunicado al respecto, alegando lo siguiente: “La seguridad de la App Store es increíblemente importante para nosotros y para la comunidad de desarrolladores”, declaró la representante de Apple Natalie Harrison a The Loop. "Tomamos todos los informes de actividades fraudulentas muy en serio, y estamos investigando”.
Para
finalizar el artículo, decir que el propio autor ha declarado que no ha almacenado datos de los
usuarios, pero que el hecho de que se envíen datos del terminal, debería ser
suficiente para que la gente no lo intente. Así que aquellos que deseen
intentarlo deben tener en cuenta que se envían datos de vuestros dispositivos…y
que Apple se toma en serio el fraude. Nosotros hemos comprado las monedas de forma legítima a posteriori, para hacer esta POC.
También ha declarado que aquellos desarrolladores que utilicen el sistema de recibos mencionado anteriormente, tampoco están seguros, y que tan sólo aquellos que hayan desplegado sus propios servidores para comprobar las compras IAPs, podrán evitar el hackeo.
No hay comentarios:
Publicar un comentario