Android y la falta de confianza en un ecosistema tecnológico no maduro

Habrá leído el titular y se habrá preguntado qué demonios querría decir Pablo con este.

confianza en android

El caso es que hay un tema que me hace desconfiar de Android sobremanera, y aprovecho que la semana pasada ocurrieron dos sucesos recogidos a nivel global por los medios para hablar de la importancia de la confianza en ecosistemas tecnológicos.

Entendiendo que nos referimos a seguridad (seguridad a secas, que esto puede ser aplicado a seguridad informática, o a cualquier otro tipo de auditoría), podríamos definir la confianza como el nivel de seguridad y responsabilidad vertido por un sistema para que sus elementos (tanto de dentro del propio sistema, como externos (usuarios, por ejemplo)) gocen de ciertas garantías en su utilización.

La confianza es complementaria al riesgo, y esto es importante tenerlo presente ya que no hay confianza sin riesgo, y a más de la una, menor de la otra.

Adentrándonos ya en materia, Google avisaba recientemente que dejaría de dar soporte a actualizaciones en versiones inferiores a terminales Android 4.3 a una de las partes más críticas de su sistema, WebView. Y teniendo en cuenta que a día de hoy el 60% de terminales Android están por debajo de la 4.3, esto significa que Google dejará de actualizar este componente (al menos directamente, que si un tercero lo hace están obligados a agregarlo al repositorio) a tan solo 939 millones de dispositivos (EN). “Tan solo” (recalco las comillas) 939 millones de dispositivos que estarán indefensos ante cualquier 0-day que surja en WebView.

WebView es una característica que permite a los desarrolladores empaquetar un navegador capado dentro de sus aplicaciones, de tal manera que el usuario no tenga que salir de la aplicación para visualizar contenido web.

Esta característica la tenemos presente en la gran mayoría de aplicaciones sociales (el más claro ejemplo que se me ocurre es el cómo se abre un enlace en la app de Facebook), y el motivo es muy sencillo: retiene al usuario dentro de la aplicación, de tal manera que aumenta el tiempo de uso en la misma, y esto puede ser aprovechado para mostrar más publicidad o enriquecer las estadísticas de cara a posibles inversores y/o accionistas.

Y digo que esta parte es crítica puesto que casualmente es el vector de ataque más extendido para la ejecución de código remoto en este sistema operativo, debido a que al abrir una web desde WebView, buena parte de los controles de seguridad dejan de funcionar.

  • El usuario no ve la barra de dirección, por lo que no puede estar seguro de que está visitando la página correcta (es relativamente sencillo ofuscar un dominio en la API de compartición de la mayoría de redes sociales, de forma que el enlace interno parezca que apunta a un domino X, y el real vaya hacia otro lado), ni tampoco consultar la identidad del mismo.
  • Las conexiones mediante protocolo seguro no están aseguradas, por la misma razón antes mencionada (no podemos saber que de verdad estamos accediendo mediante HTTPs).
  • El WebView corre una versión capada del navegador nativo de Android. Este navegador ya de por sí es vulnerable a algunos ataques de ejecución remota, pero es que además al correr de forma capada, cualquier aviso y/o petición al usuario se acepta por defecto (para mejorar la usabilidad, y por restricciones de popups dentro de aplicaciones…).

El resultado es el esperado. Con la hegemonía del móvil frente al escritorio, volvemos a vivir una época dorada del phishing, apoyado esta vez tanto en correos como en redes sociales y mensajería directa (que previsiblemente serán abiertos desde clientes móviles). Y como muchos de estos utilizan WebView para aumentar el tiempo del usuario dentro de sus aplicaciones, las páginas de phishing pueden campar a sus anchas, utilizando ingeniería social para engañar a los usuarios e instarles a instalar aplicaciones fraudulentas o robarles credenciales de acceso a cuentas.

El segundo punto que quería tratar es el de la regulación del ecosistema de aplicaciones del SO, y esto afecta a Android por tener una política de actualización más laxa, pero en definitiva podría afectar a iOS, a WP y al resto de markets, tanto móviles como escritorio (Windows 8, Ubuntu One, OS X App Store, Chrome Web Store,…), aunque sea de agradecer que algunos de estos cuenten con una moderación humana.

Imagínase que de la noche a la mañana, esa aplicación de gestión de batería que tiene instalada en su smartphone o tablet pasa a ser un antivirus.

Parece absurdo, ¿verdad? Pues eso le pasaba recientemente a Pixel Battery Saver, que sin comerlo ni beberlo se actualizaba esta pasada semana a Complete Antivirus Protection (EN), con el aumento (esperable) en la petición de permisos.

La mayoría de usuarios ni habrán caído en el cambio, y con él, pasamos de una aplicación que entendemos era legítima a una que claramente es maliciosa.

¿Qué a ocurrido entonces? Lo mismo que comentábamos hace unos meses respecto a la confianza en desarrollos de terceros, esa vez enfocado al market de Chrome.

El desarrollador vendió la aplicación por 699 dólares (EN) a vaya usted a saber quién… Y este nuevo dueño, se ha encargado de aprovechar la cantidad de usuarios que ya la tenía (250ks), y el ASO (posicionamiento en markets de aplicaciones) conseguido por la app legítima, para servir a nuevos intereses (¿una botnet móvil? ¿la suscripción a servicios SMS de pago? ¿malware de publicidad?… Próximamente en los mejores cines).

Al final, tanto en el primer caso, como en el segundo, nos encontramos con el mismo problema. Android (y los ecosistemas de apps de prácticamente cualquier market) no ofrece las garantías, la confianza suficiente como para sentir que estamos protegidos.

Si un componente crítico del sistema operativo pierde el soporte al año de haber comprado el terminal. Si un desarrollador puede revender su app y el market no avisa adecuadamente a los usuarios de la misma, ¿no estamos ante un problema de seguridad alarmante?

Hablamos de un 60% de los clientes de Android. Un 60%, que se dice pronto. Windows XP perdió el soporte después de ¡12 años!

Hablamos de que el usuario de apps es vulnerable a cualquier cambio de dueño o intereses por parte del desarrollador. Una app legítima puede transformarse en maliciosa en la próxima actualización, y si usted no está con los ojos puestos en todos y cada uno de los detalles, será la próxima víctima. No porque usted tenga la culpa, ni porque el desarrollador esté en todo su derecho de revender, abandonar o cambiar de idea en su desarrollo (pese a que era de esperar un mínimo de ética en favor a su comunidad), sino porque la plataforma no ofrece la confianza suficiente.

No implanta las medidas de seguridad oportunas, durante el tiempo adecuado al ciclo de vida del servicio.