¿De verdad se ha encontrado malware para Firefox OS?

miércoles, 23 de octubre de 2013

El poder de un buen titular es hipnótico. El que copa muchas noticias de seguridad estos días es el "descubrimiento del primer malware para Firefox OS". El título es atractivo, pero ¿es correcto? El desarrollo de la noticia invita a la reflexión sobre qué ha ocurrido exactamente, en qué consiste el "descubrimiento" y por qué todavía no se han superado ciertos mitos.

Firefox OS es un reciente sistema operativo basado en web. Todos sus programas son web, creados a partir de JavaScript, CSS3 y HTML5. Esto implica que las aplicaciones se puede distribuir de dos formas: En un zip que lo contenga todo, o a través de una URL que la aloje y se visite.


Un chico de 17 años ha creado una prueba de concepto de malware para Firefox OS. Presentará sus investigaciones en una convención en noviembre. Dice que su aplicación permite realizar ciertas acciones potencialmente no deseadas sobre el dispositivo de forma remota, controlándolo a través de comandos.


Primero, el modelo de seguridad


Según el modelo de seguridad de Firefox OS "Se basa en una estrategia de seguridad en profundidad para proteger al dispositivo de aplicaciones maliciosas. Se utilizan diferentes mecanismos que incluyen niveles implícitos de permisos basados en un modelo de confianza en la app, sandbox en tiempo de ejecución, acceso a través de APIs al hardware, un sistema de permisos robusto y un sistema de instalación y actualización seguro". Hasta aquí (exceptuando la forma en la que se accede al hardware), nada que no implementen todos (y nada que impida realmente "infecciones").


https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Security_model

Algo que diferencia en cierta forma a Firefox OS es cómo clasifica los permisos de las apps. Las habrá de tres tipos:
  • Certificadas: las que instale el fabricante y las críticas para la funcionalidad básica del teléfono (teléfono, SMS, bluetooth, reloj, cámara...). Tendrán acceso a todas las APIs. Por ejemplo, solo las apps certificadas (que son las que vienen con el dispositivo) podrán acceder a la API de teléfono y realizar llamadas.
  • Privilegiadas: las revisadas, aprobadas y firmadas digitalmente por un market autorizado. Tendrán acceso a un subconjunto de APIs menor que las certificadas.
  • No confiables: El resto, que no estarán en un market. A estas se les deja solo acceso a un subconjunto de APIs que se entiende no entrañan peligro.
Veamos ahora qué es lo que se puede deducir del anuncio del programa creado por  Shantanu Gawde.


Diferenciar entre el qué y el cómo

Un chico ha creado una aplicación que realiza acciones no deseadas en el sistema. Habla literalmente de "infectar" y de "controlar como una botnet". De enviar comandos para acceder a la tarjeta SD, de "asustar al usuario controlando la radio FM", "subir y bajar ficheros multimedia". Da la sensación de poder controlar ciertas aplicaciones del dispositivo, pero no sabemos hasta dónde.



Descripción oficial de la charla en http://g0s.org/key-focus-areas/
¿Es esto malware? Depende. Habrá aplicaciones legítimas que necesiten acceder a datos en la SD, a los contactos, etc. Se les permitirá porque el usuario normalmente confiará en el fabricante/programador. Como bien describe el documento sobre seguridad de Firefox OS, existe un modelo basado en la confianza en la aplicación.

Lo que llama la atención es el control de aplicaciones ajenas (habla de controlar la radio). También invita a llamarlo "malware" que el se hable de "enviar comandos", aunque una vez la aplicación está instalada, parece sencillo enviar comandos... así que en general el problema no es tanto qué haga esa prueba de concepto que se ha creado sino cómo lo hace, cómo llega a disponer de esos permisos o cómo ha conseguido hacerlo. Por lo poco que sabemos, suponemos que el usuario lanza una aplicación alojada en un servidor, y esta realiza ciertas acciones que pueden ser potencialmente no deseadas por el usuario. 


Más preguntas que respuestas

Pero para conocer el verdadero alcance del anuncio, deberíamos responder estas cuestiones.

  • ¿El programa creado es capaz de eludir alguna medida o de seguridad de Firefox OS? Esto incluiría elevar privilegios, acceder sin permiso a APIs privilegiadas, evitar diálogos, advertencias que pudieran prevenir al usuario... cualquier método que implique eludir, romper u obviar un modelo de seguridad de Firefox OS. Parece que sí, pero no queda claro.
  • ¿El malware se replica de alguna forma, por ejemplo aprovechando alguna vulnerabilidad o debilidad de diseño? Parece que no. Si Gawde hubiera encontrado una forma de propagar un programa sin apenas interacción humana, la noticia sería más inquietante. Pero por los datos revelados, no parece el caso.
  • ¿El malware se esconde de alguna forma, por ejemplo en apps legítimas? Tampoco parece el caso. Hubiera sido interesante si se declara una forma de lanzar aplicaciones ocultas o incrustadas en otras, tal como hacían los primeros "virus". A lo que sí se presta Firefox OS fácilmente, es a que URLs confusas u ofuscadas oculten aplicaciones que se lanzan solo con visitarlas... y eso sí es un problema grave del que se lleva alertando desde hace tiempo.
  • ¿Se debe dar alguna circunstancia especial para que funcione la prueba de concepto? ¿Ocurre solo en algunos dispositivos, con la configuración por defecto, o es necesario mantener activo algún servicio, aplicación...?
  • ¿Se abusa de alguna técnica para ocultar su ejecución al usuario? Algo que llama la atención es que el propio descubridor afirma que "no hay forma de detectar los ataques ni de detenerlos". Las afirmaciones tan contundentes en seguridad suelen ser desafortunadas. Entendemos que se refiere a un modelo en el que se visita una URL que resulta una aplicación y comienza, sin interacción por parte del usuario, un intercambio de información entre la "víctima" y un atacante que puede ejercer poder sobre el dispositivo.
Sin estas respuestas (entre otras), la información solo puede basarse en la especulación. Y el creador podría haberlas respondido de antemano en su anuncio, como hacen otros investigadores, para entender (sin necesidad de dar detalles técnicos) cómo lo ha conseguido, sin poner tanto el énfasis en qué efecto ha conseguido. Destacar que ha explicado que su prueba de concepto tiene como fin último "concienciar a desarrolladores" y no "inspirar" a atacantes.

Aunque en realidad, la aparición de "malware" (este u otro) no pillará por sorpresa. En el momento en el que se permite la ejecución de aplicaciones no controladas y "markets" alternativos, su abuso está prácticamente garantizado. Aunque sea a través de aplicaciones restringidas, muchas no necesitarán permisos para infectar con "adware" y mostrar publicidad, y otras puede que encuentren métodos para saltarse los permisos, a través de vulnerabilidades o fallos de diseño.


Un portavoz de Firefox OS afirma que posiblemente, Gawde ha usado el modo desarrollador, desactivado por defecto en el equipo y que incluso piensan que requiere que el dispositivo esté conectado a un ordenador y desbloqueado. En otras palabras, creen que ha hecho "trampa". Lógicamente, su interés es quitar hierro al asunto a falta de más información.


Concluyendo, sin más datos en la mano, el titular debería ser que posiblemente, un investigador ha encontrado un fallo de diseño o una forma de eludir cierta seguridad de Firefox OS, realizando acciones privilegiadas de forma remota. Pero no podemos estar totalmente seguros.  Lo que sí es seguro es que hablar de "malware" confunde al usuario final, que se sentirá amenazado sin motivo aparente... todavía.



Sergio de los Santos
ssantos@11paths.com

No hay comentarios:

Publicar un comentario