portada

Un agujero de seguridad en Android parece ser un tonto error

avatar
Manuel López Michelone Miércoles, 10 de Julio de 2013, 12:00 AM

android-flaw

Todos hemos leído historias sobre hackeos de sistemas operativos, ya sea en teléfonos celulares, computadoras de escritorio y navegadores de Internet, entre otros. Y hemos notado que son elaboradísimos procedimientos de alguien que explota una debilidad, un agujero en la seguridad, para hacer algo que potencialmente podría ser desastroso para nuestra máquina. Entendemos sin embargo que estos hackeos están lejos de la mayoría de los programadores.

Sin embargo, ahora se ha hallado un error de seguridad en Android que parece estar lejos de tanta sofisticación, más bien parece un error burdo, incluso algunos lo han catalogado como estúpido. Para entenderlo, una de las protecciones claves de Android es que el código viene firmado. Cuando una aplicación de Android se instala, también se instala una firma criptográfica que verifica que la aplicación es la real y no una que ha sido modificada por terceros de alguna manera. Este mecanismo es estándar en muchísimos sistemas pero la semana pasada Jeff Forristal hizo público un error de Android en la seguridad.

Forristal indica que es posible cambiar una app de Android y poderla instalar sin tener que modificar su firma. El gran problema con esto es que la firma de Android es vulnerable a ser modificada sin afectar el valor de la firma calculada. Ahora tenemos una prueba de esto en la forma de un script de demostración, el cual prueba que la explotación puede hacerse prácticamente. El script, creado por Paul Oliva Fora, usa solamente las herramientas estándar de Android. Primero toma un programa válido verificable y usa la APKTool para decompilarlo. Una vez hecho esto, añade nuevos archivos que hacen lo que se le antoja al programador (con privilegios de administrador). El nuevo archivo APK entonces se carga en Android sin que se cheque que los nuevos archivos insertados verifican con la firma.

La razón de que ocurra esto es que cuando el sistema pide al objeto correspondiente a la llave, solamente se regresa el objeto, incluso si hay más de uno. Si el primer objeto es el archivo que se valida correctamente, entonces la segunda versión es el mismo archivo, el cual sigue teniendo la misma llave de encripción.

Esto es un serio problema de seguridad que podría ser explotado, pero es un error muy tonto y no puede considerarse un profundo problema en la seguridad del sistema operativo. La solución es que se haga el proceso de signado a todos los archivos en el APK incluso si hay duplicados, o tal vez, simplemente deshabilitando los duplicados. Ya algunos fabricantes de teléfonos que usan Android han empezado a manra la corrección al problema, por ejemplo Samsung, incluyendo sus dispositivos Google Nexus.

Referencias:

Explicación del hackeo por Al Sutton

Reacciones 0

Más noticias

También te puede interesar

postOpera Max: navega ahorrando hasta 50% de datos móviles postCon Android 5.0 desbloquear el smartphone será obsoleto postUnboxing: Moto X segunda generación postEl WhatsApp más seguro que se haya creado está aquí postFacebook Groups: una nueva app para Android y iOS postTwo Dots: el juego que te dejará pegado a tu Android

Comentarios

  • Alonso Lira

    Que mal por los que usan android, pero tengo entendido que este problema no afecta a los galaxy s4, por otra parte me gustaria ver un reportaje sobre cual es la plataforma movil mas segura.

  • Gmz

    Si se le ve desde un punto positivo, se puede usar este error para usos mas interesantes (root mas que nada), lastima que taparán ese error

  • Sergi

    Este error solo te afecta si bajas aplicaciones pirata, si compras tu aplicaciones desde Google Play no tienes por que preocuparte, al final lo gratis sale caro, así que mejor compren o bajen sus aplicaciones de Google Play, saludos