Вы находитесь на странице: 1из 7

Sistemas Operativos cerrados y ocultos en el interior de tu Android

Cuando hablamos de smartphones generalmente asumimos (en nuestro caso) que


se trata de Android como principal sistema operativo. Pero lo que muchas veces se
nos pasa por alto es que no se trata del nico sistema que se encuentra en el mvil.
La electrnica y construccin de nuestro smartphone es un proceso sumamente
complejo en la que intervienen multitud de aspectos. A pesar de ello solemos
imaginarnos que todo se reduce bsicamente a un solo sistema operativo con sus
aplicaciones corriendo sobre l y movido por un hardware concreto.
Sin embargo, sin el conocimiento de la mayora de usuarios, casi todos los equipos
tienen mltiples sistemas operativos funcionando al mismo tiempo. Y lo preocupante
es que estos adems de que no suelen ser libres, contienen errores que pueden
poner en riesgo nuestros datos.
Modems y la segunda CPU
Cuando el smartphone est encendido y se enva un texto o se recibe una llamada
se encarga al sistema operativo que interprete ciertos protocolos y transmita
paquetes de informacin al operador correspondiente.
Los mviles de hoy en da soportan multitud de complejos protocolos tales como los
GSM, 3G, HSDPA, LTE todos ellos requieren de una cantidad significativa de
capacidad de procesamiento para funcionar. Esta potencia sin embargo no est
proporcionada solo por la clsica CPU que tambin dota de energa al resto del
equipo.

Si lo enfocamos desde un punto de vista de la eficiencia del sistema, veremos que


hay muchos computadores que trabajan con ncleos y CPUs en paralelo. Y aqu es
donde entran las CPUs secundarias que se encuentran en el interior de las tarjetas
SIM o de los modems de nuestro Android.
Estas CPUs son los llamados procesadores de banda base (baseband processors).
Bsicamente chips encargados de gestionar las funciones de radio (todas aquellos
que requieren una antena). No hablamos necesariamente del Wi-Fi o Bluetooth,
pero s de las comunicaciones de datos. Estos procesadores de banda base utilizan
su propia memoria RAM y firmware. Y los nombres de sus fabricantes nos son algo
conocidos; Qualcomm, Mediatek e Infineon.
La razn para crear un procesador de banda base separado del procesador principal
se basa principalmente en tres razones.
Rendimiento
La radio controla las funciones de seal modulada, codificacin y variacin de la
frecuencia. Estas dependen en gran medida del tiempo y requieren un sistema
operativo en tiempo-real como en seguida veremos. Estos algoritmos de
procesamiento de la seal digital son muy variables pero tambin muy especficos.
Por lo que una CPU low-cost que no requiera altos requisitos y/o una gran batera
ofrecer una baja latencia y un rendimiento suficientemente elevado, ideal para esta
tarea.
Legal
Algunas autoridades como por ejemplo la Federal Communications Commission
(FCC) requieren que la parte del software que se comunica con la red est
certificada. Separando la CPU y el sistema del modem en distintos componentes
permite obtener esta certificacin sin tener que hacerlo con todo el procesador
principal.
Seguridad
Utilizar una CPU distinta de la principal para encargarse de la radio permite la
independencia de esta de los cambios que puedan existir en las distintas versiones
de Android. Lo que se traduce en una mayor seguridad y estabilidad.

Los hay de muchos tipos, pero estos procesadores de banda de base suelen ser
principalmente ARM, no los potentes Cortex-A15 sino una gama especialmente
diseada para ofrecer un alto rendimieto en sistemas integrados. La serie Cortex-R
es la idnea para estas CPU secundarias y ya se ofrece en cientos de millones de
productos, bsicamente en casi todos los dispositivos mviles de hoy en da. ARM
sabe que cada componente requiere ciertas especificaciones y tiene muy en cuenta
a los Cortex-R tanto para sus planes de desarrollo como de soporte continuo.
Sistemas operativos propietarios
Las CPU de estos chips necesitan una serie de software concreto para realizar sus
diversas funciones. Este software constituye un sistema operativo completo
diseado para trabajar en estas condiciones de recursos mnimos. Ocupan solo
unos cientos de kilobytes y manejan cantidades muy pequeas de memoria, son los
llamados Real Time Operating Systems (RTOS).
Tenemos entonces al final una CPU ARM, algo de memoria y unos cuantos
procesadores de la seal digital embutidos en un chip dentro de cada modem, que
a su vez est dentro de cada smartphone. Estos se encargan de controlar el
software del GPS, GLONASS, de la radio, de la USIM y de todas las
especificaciones 3GPP.
Este software se maneja a travs de unos sistemas operativos de tiempo real que
son bastante desconocidos. Los fabricantes que hay detrs no tienen intencin de
publicar una documentacin detallada y al alcance de cualquiera, por lo que ha

resultado bastante difcil dilucidar algo concreto acerca de estos sistemas privativos.
Intentaremos en la medida de lo posible arrojar un poco ms de luz acerca de un
par de ellos.
Nucleus
El primer RTOS del que hablaremos es Nucleus, un conjunto de herramientas
creado por la Embedded Systems Division of Mentor Graphics compatible con varias
plataformas. Nucleus es un software integrado en ms de 3000 millones de
dispositivos (ao 2010), una cantidad enorme pero lgica si pensamos la cantidad
de dispositivos mviles que hay en circulacin.
Desarrollar para este sistema se hace a travs de Windows o Linux y las
aplicaciones se compilan para ser utilizadas en todo tipo de dispositivos, no solo
mviles, tambin electrnica de consumo y dispositivos como auriculares o
micrfonos. Es compatible con procesadores ARM Cortex-M3/M4 y puede llegar a
ocupar tan solo 13KB.
Nucleus se utiliza para acceder a los sensores que controlan el Bluetooth, el USB
Host, OTG, la trasferencia multimedia MTP y hasta el sistema de archivos FAT o el
CD-ROM. PCI, PCI-X y hasta 60 drivers y protocolos distintos como son los TCP/IP
o el wifi IEEE 802.11. Un RTOS con una amplia compatibilidad que encontramos en
lugares muy dispares.

Desde la industria de la aviacin, pasando por los GPS Garmin hasta dispositivos
ms comerciales como videocmaras de Logitech, procesadores de Mediatek, la
extinguida gama Creative Zen, un nmero enorme de mviles de hace aos de LG,
Samsung, Motorola o Siemens y tambin en el Infineon S-Gold2 que se utiliza en el
procesador de banda base del Iphone que cuesta unos 13 dlares.

Desafortunadamente, el sistema Nucleus tiene el cdigo cerrado. Y la fuente solo


est disponible, en forma de binarios, para unos cuantos desarrolladores que
quieran corregir bugs.
REX OS
Quizs el mejor ejemplo de RTOS sea REX OS, el kernel creado y soportado por
Qualcomm desde 1999. Hay ciertos indicios de que Qualcomm substituy este
sistema el ao pasado por otro ms avanzado, pero a falta de informacin
detallaremos el antiguo cdigo que ha sido el sistema de los procesadores de banda
de base ARMv5 desde hace muchos aos.

El sistema se llama REX por Real-Time Executive y est basado a su vez en el


micro-kernel de licencia libre L4 y el sistema operativo Iguana. REX es simple, con
un cdigo fuente conciso y muy rpido a la hora de compilar programas pequeos.
Las tareas principales son la creacin y manejo de funciones, sealizaciones de
tiempo e interrupciones y comunicacin entre funciones. Con estos parmetros
bsicos tenemos un kernel que funciona en un procesador simple. Adems cuenta
con una caracterstica principal, en el momento en que una tarea tiene prioridad, se
interrumpe cualquiera otra con lo que se consigue un sistema totalmente enfocado
en la tarea que se realice como los protocolos de llamada, redes y dems utilidades
que ya hemos nombrado con Nucleus.
Qualcomm mantiene el kernel REX de manera propietaria, a pesar de que est
basado en otros sistemas que s son libres. El sistema operativo general se llama
AMSS, trabaja con el framework BREW y se encarga de hasta 69 tareas distintas.
Sistemas muy tcnicos que quedan fuera de nuestro conocimiento general pero que
nos sirven un poco ms para entender como puede ser Gobi y los modems de
Qualcomm como el MDM9625.
Google ofrece los binarios de sus dispositivos Nexus, pero al igual que ocurre con
REX o Nucleus se guardan la oportunidad de poder trabajar con ellos libremente. Si
descargamos alguno de esos binarios vislumbraremos el nombre de Qualcomm por
ah pero no conseguiremos gran cosa, bsicamente errores.
La lista de RTOS es muy extensa, no todos ellos estn centrados en chips de
modems y telefona, pero los fabricantes de dispositivos con ARM en su interior
estn muy al tanto de los Nucleus, REX, ThreadX, QP, QNX que estn escondidos
en el interior de nuestros Android. Para todos excepto para los propios creadores
los entresijos de estos sistemas se nos mantiene ocultos, solo accesibles a base de
aplicar ingeniera inversa.
Haberlos, haylos. Pero el material de cdigo abierto que encontramos es muy
reducido. Qualcomm ha semiliberado el SDK de su procesador de seal digital

Hexagon por ejemplo pero la mayor parte de estos sistemas operativos de banda
de base est cerrado y esto implica graves consecuencias.
Vulnerabilidades en la seguridad
Como seguramente estis de acuerdo, un cdigo cerrado que encima implanta
estndares antiguos no es una muy buena idea. Sistemas y kernels como REX OS
muchos veces funcionan de manera semi-automtica, generando una respuesta
predefinida y ejecutando un cdigo concreto que no podemos manipular desde
Android. Todas estas acciones se generan sin nuestro consentimiento ni
conocimiento, pues forman parte de la microelectrnica del dispositivo.
Por la propia seguridad del sistema, los fabricantes ocultan las partes del cdigo
para que los programadores interesados no fisgoneen. Esta curiosidad es
precisamente la que lleva a estos hackers a encontrar exploits en los RTOS y que
permiten acceder luego a partes del smartphone ms elevadas y en principio
prohibidas.

En la prctica, estos sistemas operativos contienen una cantidad muy variable de


errores. Y al ser sistemas privativos, son los propios ingenieros de la marca los que
tienen el trabajo de solucionar todos los bugs. Como encima nadie tiene acceso
legal a los dispositivos, normalmente hay pocas razones para mostrar
documentacin pblica sobre como el sistema funciona. Cmo certificar entonces
su seguridad? Bsicamente a travs de terceros.

La tendencia afortunadamente parece que est cambiando, y los procesadores de


banda de base estn abrazando soluciones open source. Tenemos por ah algn
intento libre como OKL4 o FreeRTOS.
Qualcomm, el mayor fabricante de todos los nombrados, no parece por la labor de
compartir sus avances. El modo de proceder se remonta a la poca de los ochenta,
cuando el compartir la informacin era algo comn y la va de acceder al cdigo
fuente era hackendolo, lo que programadores como Guillaume Delugre han hecho
con REX OS.
Delugre pudo comprobar lo que hace unos aos el investigador en seguridad RalfPhilipp Weinmann public en su libro Baseband apocalypse. Si hay bugs y
vulnerabilidades, hay problemas de seguridad y puertas traseras. Y los RTOS
secundarios de los chips de Qualcomm o Infineon actualmente presentan una gran
probabilidad de ser explotados por cdigo malicioso externo por aquellos con
conocimiento suficiente.
Un poco de luz en el interior de nuestro Android
El interior de nuestro smartphone estar seguro mientras se quede en su sitio. Pero
tenemos unos procesadores de banda de base masivamente utilizados y muy poco
conocidos. Con toda la conmocin que ha habido con las escuchas procedentes de
organizaciones gubernamentales no deberamos sorprendernos si el tema de la
seguridad de estos chips preocupa hasta a la industria aeroespacial.
Esperamos que a medida que este software vaya convirtindose en algo ms
complejo no aumenten ni el nmero de bugs ni su oscurantismo. Necesitamos
seguridad en nuestros dispositivos, y al menos la sensacin de ella se consigue con
una informacin pblica y clara.
Hemos intentado recopilar y resumir la informacin encontrada. Pero sera de gran
ayuda si entre todos pudiramos arrojar un poco ms de informacin a un tema que
presenta tantos claroscuros y que tiene un rol principal en nuestra seguridad.

Вам также может понравиться