CarrierIQ ¿Rootkit or not?

Ante la creciente preocupación de los usuarios por el software CarrierIQ, considerado por los expertos como un rootkit, he creído conveniente escribir un articulo al respecto, y tratar de despejar las posibles "dudas", si es que todavía queda alguna, en relación a ¿Qué es CarrierIQ? y ¿Qué hace exactamente?.

Antecedentes

La historia se repite o casi, decía el gran filosofo Giambattista Vico, y cuanta razón tiene. No hace falta irse muy lejos en el tiempo, fue en el año 2005 cuando Mark Russinovich descubrió un software que se instalaba ocultamente en el sistema y que SONY BMG distribuía junto con su esquema de protección DRM.

El investigador de Seguridad de la Información Trevor Eckhart, publico hace unos días un vídeo en youtube (ver vídeo más abajo) donde, en unos 17 minutos muestra a todo el mundo lo que el software CarrierIQ es capaz de hacer, y lo considera "a todos los efectos" como un rootkit.


Fruto de la casualidad, en 2005 se fundo la empresa CarrierIQ, software utilizado por múltiples operadoras de telefonía, sobretodo en EEUU. Cuando Trevor (experto investigador de Seguridad de la Información) denomina a este software, como un rootkit, las alarmas se disparan y la noticia corre como la pólvora.

A continuación, vamos a analizar, el porqué de tanto revuelo. 

¿Qué es CarrierIQ?
 
CarrierIQ (en adelante CIQ), se define a si mismo como:
... is the market leader in Mobile Service Intelligence solutions that have revolutionized the way mobile operators and device vendors gather and manage information from end users.
Una aplicación líder en "Servicios y Soluciones de Inteligencia", la cosa empieza a ponerse fea. Según la propia compañía, que no se esconde, define su aplicación (CIQ) como un software que reune y gestiona la información recibida desde el mismo terminal móvil. Es decir, un software de "captura" de información del usuario.

Dicho, esto, seguramente, comienzas a preguntarte ¿Qué tipo de información?, y esa es la pregunta que yo me estoy haciendo ahora mismo.

¿Que tipo de información obtiene del usuario?

La información que CIQ es capaz de obtener, es tan amplia como la parametrización de lo que deseas medir o capturar. Me explico, una medida se define como: la obtención de información mediante la capacidad de observación y colección de datos. Pues que imagino que todo el mundo sabe, que cualquier tipo de medida siempre conlleva la alteración del "medio/sistema" que deseamos medir, y puede que aferrándose, injustificadamente, a esa condición hayan diseñado la aplicación CIQ para pasar totalmente desapercibida y oculta, con el mínimo impacto para el usuario y el terminal.
Carrier IQ is able to query any metric from a device ....
Bien, en nuestro caso, CIQ desea "medir" todo tipo de información parametrizable en un teléfono móvil, que posteriormente pueda ser "vendido" a los fabricante y operadores de telefonía móvil, como por ejemplo:
  • Modelo del Terminal
  • Memoria utilizada y disponible
  • Uso de la batería
  • Tipo de aplicaciones utilizadas
  • Errores y retardos en la realización de llamadas
  • Niveles de señal (recibida / transmitida)
  • Número de llamadas recibidas, realizadas, interrumpidas
  • Localización geográfica
  • Numero de veces y tipo de teclas presionadas por el usuario (encendido, apagado, volumen)
  • Utilización de la cámara de fotos
  • etc
Incluso, según Trevor (ver vídeo), la herramienta es capaz y realiza la captura de la siguiente información:
  • Registra todos y cada uno de mensaje de texto (SMS)
  • Búsquedas realizadas en Google
  • Los números de los teléfonos tecleados
En los modelos HTC, asegura que además, realiza la captura de las direciones URL, incluso si estas van cifradas con SSL.
Carrier IQ is used to understand what problems customers are having with our network or devices so we can take action to improve service quality.
La compañía, justifica la aplicación diciendo que con la información obtenida permite a operadoras y fabricante mejorar la calidad de sus servicios. ¿A que precio? ¿Es eso legal?


Entonces, ¿Cuando se produce la captura la información por la CIQ?, además de las métricas definidas, existen los "disparadores", es decir, para cada métrica existe un disparador que actúa como sensor/alarma advirtiendo a la aplicación que hay nuevos datos que capturar. Ejemplo, de disparadores encontrados en teléfonos HTC con Android:
  • Key in HTCDialer Pressed or Keyboard Keys pressed: Intent – com.htc.android.iqagent.action.ui01
  • App Opened – Intent – com.htc.android.iqagent.action.ui15
  • Sms Received – Intent – com.htc.android.iqagent.action.smsnotify
La pulsación de un tecla, en los terminales HTC, disparan una alerta de modo que la aplicación CIQ se activa y pueda capturar la información correspondiente, es la forma que tiene la herramienta de "alterar" lo mínimo el Sistema que esta midiendo, o dicho de otro modo, es la forma en que la herramienta se "muestra" lo mínimo posible dificultando y evitando ser detectada.

¿Es o no CIQ un rootkit?

Hasta este momento todo nos hace sospechar, que el funcionamiento de la herramienta es lo más parecido, por ser politicamente correcto, a lo que suelen hacer los rootkit. Es sigilosa, instalada sin nuestro consentimiento, captura información del usuario y se ejecuta "oculta" en el sistema manteniendo de esta forma la "supervicencia" en el terminal.
A rootkit is software that enables continued privileged access to a computer while actively hiding its presence from administrators by subverting standard operating system functionality or other applications. The term rootkit is a concatenation of “root” (the traditional name of the privileged account on Unix operating systems) and the word “kit” (which refers to the software components that implement the tool).
Comparando lo visto hasta el momento, y la definición de "rootkit" en la wikipedia, se puede decir, que, al menos yo, encuentro ligeras diferencias: en principio, la herramienta no parece habilitar/facilitar el acceso al terminal, sino que más bien, es la herramienta la que proporciona/exporta la información. Por tanto su funcionamiento se parece más un agente Malware o los llamados Advanced Persistent Threat (APT), que a un rootkit en su "sentido más ortodoxo". Además, habitualmente los APT/Rootkit no suelen encontrarse en el mercado habitual, sino en el mercado underground. Entonces, salvando la distancia y obviando las matizaciones anteriores, la definición de CarrierIQ como un rootkit, en cuanto a su operatividad,  podría aceptarse como  acertada.

Ahora bien, ¿Se sabe que compañias y en que paises se esta utilizando la herramienta CIQ?

¿Donde se esta utilizando?

En principio, ha sido detectada en los terminales HTC, Samsung, se rumorea que Nokia, Blackberry e iPhone, también podrían estar afectados. Los modelos exactos de los fabricantes, se desconocen por el momento.

Nokia se ha apresurado a desmentir, la información que indicaba de la existencia de CarrierIQ en sus terminales [3].
Nokia es consciente de las informaciones inexactas en las que se afirma que el software de Carrier IQse encontrado en dispositivos Nokia. Carrier IQ no está presente en ningún Nokia, por lo que estos informes están equivocados
Las investigaciones también informan que la compañía Verizon Wireless, habría introducido este programa en los terminales adquiridos a través del operador, y en su tweetter ha informado que:

!Que la aplicación CarrierIQ, no se encuentra presenten en el 100% de los terminales de Verizon, es decir, que la utilizan, aunque no en todos sus terminales. Dicho esto, como sugerencia, podrían publicar una lista con los terminales que están libres de dicho programa ¿no?.

Principalmente, la presencia del programa CarrierIQ ha sido, por el momento, detectado en EEUU, y en terminales HTC, y Samsung con el Sistema Android.

No obstante, es conveniente, resaltar lo siguiente:
Se han buscado signos del programa en diversos teléfonos Nexus: Google Nexus One, Nexus S, y Galaxy Nexus. No se ha encontrado ni rastro del proceso en estos teléfonos, y tampoco en la Tablet de Motorola: Xoom. Con esto podemos demostrar que, ya que estos terminales reciben actualizaciones de Android directas de Google, CarrierIQ no viene en el sistema Android, sino que se integra mas adelante por fabricantes u operadoras.
Sin embargo, para los poseedores de un iPhone:
Pero sí se han encontrado rastros del CarrierIQ en el sistema operativo de Apple para móviles: iOS. Un conocido desarrollador para esta plataforma, Chpwn, ha anunciado en su Twitter que ha encontrado pruebas de que este programa está en el software de Apple, en todas la versiones, incluyendo el reciente iOS 5.
Pero, existe un "Pero", este programa, aunque presente en iOS y por tanto en (iPhone, iPad, etc), se encuentra desactivada por defecto en todos los iOS, y afirman que sus funciones son muy limitadas, reducidas a llamadas y localización.

La pregunta que todos estábamos esperando...

¿Cómo se que no tengo el CarrierIQ? y en caso que lo tenga ¿Cómo puedo eliminarlo?

El desarrollador TrevE de XDA-Developers ha desarrollado un aplicación para Android denominada "Logging Test App v7" que permite eliminar y detectar el software, en otras muchas funciones relacionadas.

No obstante, esta aplicación para muchas de sus funciones necesita ser "root", es decir, necesita un terminal "desbloqueado" con acceso "administrador" al Sistema Operativo Android. Según, su desarrollador para practicamente la totalidad de las funciones se necesita ser "root", e incluso algunas funciones están solo disponibles en su versión "premium".

Descargar aplicación para Android:

File Type: apk TrevE_Logging_TestApp_v4.apk (22.5 KB)
File Type: apk TrevE_Logging_TestApp_v5.apk (24.0 KB)
File Type: apk TrevE_Logging_TestApp_v5.1.apk -  (26.1 KB)
File Type: apk TrevE_Logging_TestApp_v6.apk -  (29.8 KB)
File Type: apk TrevE_Logging_TestApp_v7.apk -  (49.2 KB)


Conclusión

No hay que ser alarmistas, aunque si precavidos, por el momento, la existencia del uso de esta aplicación (CarrierIQ) - no es un malware (virus o troyano) - sino una aplicación desarrollada para obtener la mayor cantidad de información proveniente de los terminales móviles, del estilo de una aplicación utilizada por desarrolladores para monitorización, depuración y "rodaje" de los terminales.

Como muchas otras herramientas, con este tipo de capacidades puede ser utilizada con fines "dudosamente" legales o directamente "ilegales". En este caso, CarrierIQ ha sido detectada y utilizada en los EEUU, donde las autoridades del país estan estudiando la "legalidad" de su uso. Aunque con el tipo de información que "recolecta"  información del usuario, dudo que eso pueda ser legal, al violar la privacidad del mismo, en incluso, puede, que el "secreto de las comunicaciones".

En Europa, la legislación al respecto no "permite" el uso de este tipo de aplicaciones, y en caso de su uso, la aplicación sería limitada, para el uso de tipo estadistico, con consentimiento del usuario, y preservando la privacidad del mismo.

Por ejemplo, el Sistema Operativo Windows, te pregunta si deseas enviar información "estadistica" a Microsoft de forma totalmente anónima, o incluso Android tiene un apartado que pregunta lo mismo. Otras aplicaciones como Mozilla Firefox, Google Chrome, etc. tiene funciones para enviar "datos" estadistico a los desarrolladores para mejorar sus productos, siempre "claro" con el consentimiento del usuario, y quiero "pensar" con las funciones límitadas.

Dicho todo, esto, podemos estar de acuerdo que el software CIQ guarda muchas similitudes con un "rootkit", y no cabe duda, que su uso ha atentado contra la privacidad de los usuarios. Es por ello, que seguiremos de cerca la evolución del "Caso CIQ".

(Añadido 2/12/2011): CarrierIQ dicen !que no son el enemigo¡

Summary of CIQ press release "We're not evil. Our software can't do that. But, we are on the telco side if this". M'kay
Esto refuerza mi opinión, CIQ puede o tiene la capacidad para obtener una gran cantidad de información de los terminales móviles, es un software que ha sido diseñado especificamente para esa función, NO ES UN ROOTKIT, en su sentido estricto, NO ES MALWARE, por lo que no podríamos considerarlo como una amenaza. Pues CIQ es instalado a conciencia por la operadoras / fabricantes en sus terminales. 
 
Ahora bien, lo que si es preocupante, es su utilización "indebida", sin consentimiento del usuario, y en modo sigiloso. Yo me atravería a clasificar CIQ como un "excelente software espía",al servicio de las operadoras de comunicaciones, que deben de dar explicaciones, y justicar encarecidamente su utilización. Además por supuesto de "avisar" de dichas practicas al usuario y permitir la elección de instalar o no dicha herramienta software en el terminal adquirido.

Lo que evidencia este tipo de prácticas, a mi juicio, es el escaso control y la desprotección que tenemos los usuarios ante estos sucesos.
Referencias

0 comentarios:

Publicar un comentario