Se conocen pocos detalles sobre esta vulnerabilidad pero uno de ellos es que afecta a todas las versiones anteriores a Android 4.4, es decir, un porcentaje muy alto de dispositivos están afectados por este fallo de seguridad. Los responsables del sistema operativo han confirmado que los dispositivos que posean Android 4.3 y puedan actualizar a la versión 4.4 y posteriores habrán resuelto la vulnerabilidad.
Sin embargo, la fragmentación existente va a provocar que la mayoría de los dispositivos no puedan resolver nunca este problema de seguridad. Estos usuarios aún poseen una alternativa que podría solucionar este problema: las ROM de desarrolladores. A pesar de la existencia de esta alternativa, esta sería una solución de la que solo podrían beneficiarse un número reducido de usuarios, aquellos que tuviesen en sus manos equipos de no más de dos años de antigüedad.
Volviendo al tema que nos ocupa, se ha sabido que la vulnerabilidad fue descubierta hace nueve meses y que no se dio a conocer antes para evitar problemas mayores y dar más tiempo al equipo de desarrollo del sistema operativo para encontrar una solución, sabiendo incluso que no serían capaces de abarcar todos los terminales que se encuentran en funcionamiento en todo el mundo.
Una función de manejo del stack la causante del fallo de seguridad
La función KeyStore::getKeyForName puede tener un número indefinido de llamadores. Además del propio sistema operativo, cualquier aplicación que lo precise podrá hacer una llamada a esta función ya que la visibilidad que posee es pública. Haciendo uso de esta función se puede conseguir el control sobre el sistema operativo gracias a la ejecución de código, obteniendo el control sobre el dispositivo y también sobre los datos contenidos en este.
En definitiva, se podría controlar la pantalla de bloqueo del terminal, descifrar la información que se encuentra cifrada, el firmado de software utilizando claves legítimas permitiendo la llegada de malware al equipo y así hasta completar una larga lista de acciones que dejan al descubierto al dispositivo y todo lo contenido en él.
El desbordamiento del buffer es la clave
Aunque esta función fuese pública no sucedería nada si los límites que delimitan el stack de esta función se comportasen de forma correcta. El problema es que estos límites pueden ser sobrepasados y acceder a zonas de memoria pertenecientes a otras aplicaciones legítimas, de ahí que se diga que la aplicación puede llegar a controlar completamente el terminal.
Para evitar que esto no suceda se ha utilizado un algoritmo que asigna direcciones de memoria aleatorias cada un cierto periodo de tiempo. Esto provoca que la memoria asignada a esa función nunca se encuentre en el mismo lugar. Sin embargo, expertos en seguridad advierten que se trata de una solución temporal ya que se puede llegar a conocer la ubicación del stack de esta función haciendo uso del método prueba y error.
Android 4.4 es la solución
Solución que de forma nativa van a recibir muy pocos dispositivos. De momento únicamente los dispositivos Nexus se han podido beneficiar de esta actualización y próximamente podrán beneficiarse los equipos de gama alta de los principales fabricantes. Por lo tanto, todos aquellos dispositivos de gama baja o media están excluidos de recibir esta actualización.
Fuente | The Hacker News