UMI

Si ayer os informábamos de un posible problema de la tienda de aplicaciones de Google, que como sabéis no incluye la posibilidad de devolver elementos comprados desde las propias aplicaciones (lo que se conoce como compras In-App) y que tampoco limita el número de elementos idénticos que pueden adquirirse en un tiempo determinado (lo que puede ocasionar inconvenientes por duplicado de compras), hoy os tenemos que hablar de un bug real que, en nuestra opinión, pone en riesgo parte de la seguridad del sistema de compras de Android.

Como seguramente conocéis, la Play Store de Google incluye la posibilidad de proteger, por medio de un PIN, el acceso a las compras, de forma que no es posible adquirir elementos (incluso si nuestro número de tarjeta de débito o crédito está dado de alta en Google Wallet) si no se introduce previamente el mencionado PIN.

Desgraciadamente, esta configuración es local a la aplicación, por lo que bastaría acceder a la configuración del dispositivo y eliminar los datos de la aplicación para invalidar este sistema de seguridad y adquirir cualquier aplicación, para lo cual no es necesario haber rooteado previamente el dispositivo.

Captura de pantalla de la Play Store de Google

No obstante, aún existe un problema mayor, si bien éste sólo se hace evidente en dispositivos rooteados (recordemos que una aplicación a la que otorguemos permisos de root puede acceder a cualquiera de los archivos que se almacenan en el dispositivo), y es que los desarrolladores de Google almacenan el PIN en el archivo /data/data/com.android.vending/shared_prefs/finsky.xml en formato plano, lo que puede suponer un grave inconveniente para los que usan el mismo número que para desbloquear la SIM del teléfono o sus tarjetas de crédito.

Captura de pantalla de un email de respuesta de Google sobre el tema

Hemos reportado el problema a la empresa californiana, que nos han respondido que el uso del PIN es simplemente para evitar compras accidentales y que no debería usarse como un sistema de seguridad real, algo que dudamos que esté presente en la mente de todos los usuarios.

6 comentarios

    • No les llevaría ni 5 minutos cambiar el código para almacenar el MD5 del PIN (en lugar del PIN) y después comparar con el MD5 en lugar de con el PIN plano.

      Además, el PIN puede confundirse con el PIN de la tarjeta, o de la SIM, por lo que algunos usuarios podrían usar el mismo, lo que compromete otros datos…

    • Y además es algo que ya saben desde hace tiempo porque se lo reportaron hace meses, no recuerdo ahora mismo dónde lo leí. Yo me di cuenta de ese problema porque en el S3 uso otro Google Play (el invertido de Rujelus22) y obviamente al sustituir un apk por otro se pierde la configuración, y el pin. Deberían hacerlo de tal manera que incluso sirva para todos los dispositivos asociados a esa cuenta de Google sin tener que añadirla o quitarla individualmente. Y más ahora que tenemos multiusuario.

      Lo del root para ellos es fácil de responder… “No rotees y no te ocurrirá”.

      • Entiendo que los fabricantes pueden escudarse en que el rooteo no es obligatorio, pero Google no sólo vende dispositivos, sino seguridad, y
        la respuesta de “no rootees y no te ocurrirá” no es válida en ese contexto.

        +1 en cuanto al hecho de que el PIN debería ser global.

Deja una respuesta