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 móvil.
La electrónica y construcción 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 básicamente a un solo sistema operativo con sus
aplicaciones corriendo sobre él y movido por un hardware concreto.
Sin embargo, sin el conocimiento de la mayoría de usuarios, casi todos los equipos
tienen múltiples sistemas operativos funcionando al mismo tiempo. Y lo preocupante
es que estos además 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 envía un texto o se recibe una llamada
se encarga al sistema operativo que interprete ciertos protocolos y transmita
paquetes de información al operador correspondiente.
Los móviles de hoy en día 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 clásica CPU que también dota de energía al resto del
equipo.

. No hablamos necesariamente del Wi-Fi o Bluetooth. Qualcomm. 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. La razón para crear un procesador de banda base separado del procesador principal se basa principalmente en tres razones.Si lo enfocamos desde un punto de vista de la eficiencia del sistema. codificación y variación de la frecuencia. Estas dependen en gran medida del tiempo y requieren un sistema operativo en tiempo-real como en seguida veremos. veremos que hay muchos computadores que trabajan con núcleos y CPUs en paralelo. Y los nombres de sus fabricantes nos son algo conocidos. 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. Mediatek e Infineon. Lo que se traduce en una mayor seguridad y estabilidad. 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. Separando la CPU y el sistema del modem en distintos componentes permite obtener esta certificación sin tener que hacerlo con todo el procesador principal. Rendimiento La radio controla las funciones de señal modulada. Estos procesadores de banda base utilizan su propia memoria RAM y firmware. Por lo que una CPU low-cost que no requiera altos requisitos y/o una gran batería ofrecerá una baja latencia y un rendimiento suficientemente elevado. Básicamente chips encargados de gestionar las funciones de radio (todas aquellos que requieren una antena). pero sí de las comunicaciones de datos. Estas CPUs son los llamados procesadores de banda base (baseband processors). Estos algoritmos de procesamiento de la señal digital son muy variables pero también muy específicos.

Este software constituye un sistema operativo completo diseñado para trabajar en estas condiciones de recursos mínimos. Sistemas operativos propietarios Las CPU de estos chips necesitan una serie de software concreto para realizar sus diversas funciones. algo de memoria y unos cuantos procesadores de la señal digital embutidos en un chip dentro de cada modem. Tenemos entonces al final una CPU ARM. de la USIM y de todas las especificaciones 3GPP. que a su vez está dentro de cada smartphone. básicamente en casi todos los dispositivos móviles de hoy en día. no los potentes Cortex-A15 sino una gama especialmente diseñada para ofrecer un alto rendimieto en sistemas integrados. por lo que ha .Los hay de muchos tipos. GLONASS. son los llamados Real Time Operating Systems (RTOS). 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. de la radio. Este software se maneja a través de unos sistemas operativos de tiempo real que son bastante desconocidos. pero estos procesadores de banda de base suelen ser principalmente ARM. Estos se encargan de controlar el software del GPS. Los fabricantes que hay detrás no tienen intención de publicar una documentación detallada y al alcance de cualquiera. Ocupan solo unos cientos de kilobytes y manejan cantidades muy pequeñas de memoria. La serie Cortex-R es la idónea para estas CPU secundarias y ya se ofrece en cientos de millones de productos.

Desarrollar para este sistema se hace a través de Windows o Linux y las aplicaciones se compilan para ser utilizadas en todo tipo de dispositivos.resultado bastante difícil dilucidar algo concreto acerca de estos sistemas privativos. Nucleus es un software integrado en más de 3000 millones de dispositivos (año 2010). OTG. un número enorme de móviles de hace años de LG. el USB Host.11. Motorola o Siemens y también en el Infineon S-Gold2 que se utiliza en el procesador de banda base del Iphone que cuesta unos 13 dólares. una cantidad enorme pero lógica si pensamos la cantidad de dispositivos móviles que hay en circulación. Samsung. procesadores de Mediatek. PCI. Nucleus se utiliza para acceder a los sensores que controlan el Bluetooth. un conjunto de herramientas creado por la Embedded Systems Division of Mentor Graphics compatible con varias plataformas. Un RTOS con una amplia compatibilidad que encontramos en lugares muy dispares. Nucleus El primer RTOS del que hablaremos es Nucleus. Intentaremos en la medida de lo posible arrojar un poco más de luz acerca de un par de ellos. la extinguida gama Creative Zen. . Desde la industria de la aviación. PCI-X y hasta 60 drivers y protocolos distintos como son los TCP/IP o el wifi IEEE 802. Es compatible con procesadores ARM Cortex-M3/M4 y puede llegar a ocupar tan solo 13KB. la trasferencia multimedia MTP y hasta el sistema de archivos FAT o el CD-ROM. también electrónica de consumo y dispositivos como auriculares o micrófonos. no solo móviles. pasando por los GPS Garmin hasta dispositivos más comerciales como videocámaras de Logitech.

Pero el material de código abierto que encontramos es muy reducido. Hay ciertos indicios de que Qualcomm substituyó este sistema el año pasado por otro más avanzado. ThreadX. Para todos excepto para los propios creadores los entresijos de estos sistemas se nos mantiene ocultos. básicamente errores. Sistemas muy técnicos que quedan fuera de nuestro conocimiento general pero que nos sirven un poco más para entender como puede ser Gobi y los modems de Qualcomm como el MDM9625. REX OS Quizás el mejor ejemplo de RTOS sea REX OS. redes y demás utilidades que ya hemos nombrado con Nucleus. El sistema operativo general se llama AMSS. no todos ellos están centrados en chips de modems y telefonía. Haberlos. el kernel creado y soportado por Qualcomm desde 1999. solo accesibles a base de aplicar ingeniería inversa. REX. haylos. Las tareas principales son la creación y manejo de funciones. Si descargamos alguno de esos binarios vislumbraremos el nombre de Qualcomm por ahí pero no conseguiremos gran cosa. con un código fuente conciso y muy rápido a la hora de compilar programas pequeños. REX es simple. trabaja con el framework BREW y se encarga de hasta 69 tareas distintas. señalizaciones de tiempo e interrupciones y comunicación entre funciones. para unos cuantos desarrolladores que quieran corregir bugs. en forma de binarios. se interrumpe cualquiera otra con lo que se consigue un sistema totalmente enfocado en la tarea que se realice como los protocolos de llamada. 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. Google ofrece los binarios de sus dispositivos Nexus. pero a falta de información detallaremos el antiguo código que ha sido el sistema de los procesadores de banda de base ARMv5 desde hace muchos años. QP. Y la fuente solo está disponible. pero los fabricantes de dispositivos con ARM en su interior están muy al tanto de los Nucleus. el sistema Nucleus tiene el código cerrado. pero al igual que ocurre con REX o Nucleus se guardan la oportunidad de poder trabajar con ellos libremente. a pesar de que esté basado en otros sistemas que sí son libres. Qualcomm mantiene el kernel REX de manera propietaria. La lista de RTOS es muy extensa. en el momento en que una tarea tiene prioridad. Qualcomm ha semiliberado el SDK de su procesador de señal digital .Desafortunadamente. Además cuenta con una característica principal. Con estos parámetros básicos tenemos un kernel que funciona en un procesador simple. QNX que están escondidos en el interior de nuestros Android.

. son los propios ingenieros de la marca los que tienen el trabajo de solucionar todos los bugs. Todas estas acciones se generan sin nuestro consentimiento ni conocimiento. ¿Cómo certificar entonces su seguridad? Básicamente a través de terceros. normalmente hay pocas razones para mostrar documentación pública sobre como el sistema funciona. Vulnerabilidades en la seguridad Como seguramente estéis de acuerdo. 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 más elevadas y en principio prohibidas. Como encima nadie tiene acceso legal a los dispositivos. generando una respuesta predefinida y ejecutando un código concreto que no podemos manipular desde Android. Y al ser sistemas privativos. un código cerrado que encima implanta estándares antiguos no es una muy buena idea. pues forman parte de la microelectrónica del dispositivo. Sistemas y kernels como REX OS muchos veces funcionan de manera semi-automática. En la práctica. los fabricantes ocultan las partes del código para que los programadores interesados no fisgoneen. Por la propia seguridad del sistema.Hexagon por ejemplo pero la mayor parte de estos sistemas operativos de banda de base está cerrado y esto implica graves consecuencias. estos sistemas operativos contienen una cantidad muy variable de errores.

el mayor fabricante de todos los nombrados. hay problemas de seguridad y puertas traseras. cuando el compartir la información era algo común y la vía de acceder al código fuente era hackeándolo. Hemos intentado recopilar y resumir la información encontrada. Delugre pudo comprobar lo que hace unos años el investigador en seguridad RalfPhilipp Weinmann publicó en su libro “Baseband apocalypse”. Esperamos que a medida que este software vaya convirtiéndose en algo más complejo no aumenten ni el número de bugs ni su oscurantismo. Tenemos por ahí algún intento libre como OKL4 o FreeRTOS. y al menos la sensación de ella se consigue con una información pública y clara. Un poco de luz en el interior de nuestro Android El interior de nuestro smartphone estará seguro mientras se quede en su sitio. lo que programadores como Guillaume Delugre han hecho con REX OS. no parece por la labor de compartir sus avances. Pero tenemos unos procesadores de banda de base masivamente utilizados y muy poco conocidos. y los procesadores de banda de base están abrazando soluciones open source. Pero sería de gran ayuda si entre todos pudiéramos arrojar un poco más de información a un tema que presenta tantos claroscuros y que tiene un rol principal en nuestra seguridad. . Y los RTOS secundarios de los chips de Qualcomm o Infineon actualmente presentan una gran probabilidad de ser explotados por código malicioso externo por aquellos con conocimiento suficiente. Qualcomm. Con toda la conmoción que ha habido con las escuchas procedentes de organizaciones gubernamentales no deberíamos sorprendernos si el tema de la seguridad de estos chips preocupa hasta a la industria aeroespacial.La tendencia afortunadamente parece que está cambiando. Necesitamos seguridad en nuestros dispositivos. Si hay bugs y vulnerabilidades. El modo de proceder se remonta a la época de los ochenta.