Cómo funciona la seguridad en Android

Uno de los principales problemas que se achaca a Android es las seguridad. Ya os hemos hablado sobre como identificar si tu Android está infectado, pero ¿Cómo estamos de desprotegidos ante el malware?

Ejecución en caja de arena heredada de Linux
Cada vez que se instala una aplicación en Android se crea un usuario Linux para esta, de forma que una aplicación sólo tiene acceso a sus recursos y no puede interferir directamente en el hardware, es lo que se conoce como caja de arena o sandbox. Cualquier dato que la aplicación almacene no podrá ser leído o modificado por otras aplicaciones a no ser que se declare como MODE_WORLD_READABLE y/o MODE_WORLD_WRITEABLE,es decir, que otras aplicaciones puedan leer los datos y/o escribir en ellos. Aunque otra aplicación reescriba completamente el contenido de otra el propietario siempre será el usuario asignado a la aplicación que lo creó.
Gracias a la capa Linux se garantiza una seguridad a nivel de proceso, cada aplicación se ejecuta en un proceso diferente con un usuario de linux distinto, evitando en gran medida las interferencias entre aplicaciones. Si queremos que dos aplicaciones se ejecuten en el mismo proceso, deberán tener el mismo usuario asignado y el mismo certificado digital, y serán tratadas como una sola.
Aplicaciones firmadas con un certificado digital
Todas las aplicaciones deben estar firmadas con un certificado digital que identifique al autor. Cada vez que se modifique la aplicación está deberá ser firmada de nuevo y solo podrá hacerlo el propietario de la clave privada.
Se han encontrado diversos bugs que permitían modificar la aplicación saltándose éste certificado, y las diversas compañías lanzaron actualizaciones para sus terminales, no obstante puedes comprobar tu mismo si aún estás afectado con Bluebox Security y en caso de estarlo y ser root puedes usar ésta aplicación para corregirlo
Modelo de permisos
Llegamos al último y más importante pilar de seguridad en Android, los permisos. Si una aplicación desea realizar alguna acción que pueda comprometer la seguridad de nuestro dispositivo debe utilizar los permisos, de forma que el usuario está completamente informado de los riesgos que puede llevar instalar esa aplicación y decidir si instalarla o no. Si una aplicación intenta hacer uso de un permiso no declarado se creará una excepción de permiso y la aplicación se detendrá. Podéis encontrar un esquema de permisos aquí
Además de todo esto Google cuenta con Bouncer, que analiza las apps de Google Play en busca de malware y con la verificación de aplicaciones. Y por si fuera poco, recientemente, ha reforzado su política para desarrolladores
Así pues, podemos decir que Android es seguro y que el mejor antivirus es comprobar los permisos que pide una aplicación y el sentido común (no instaléis una calculadora que te pida enviar SMS) ¿Has tenido alguna vez malware en tu dispositivo?¿Cómo lo detectaste?
Androidcurso | Unidad 7. Seguridad y posicionamiento