Muchos usuarios lo desconocen, pero lo cierto es que es así. En tu smartphone y en cualquier otro dispositivo similar equipado con una antena que facilite el establecimiento de comunicaciones vía radio, coexisten dos sistemas operativos: el de usuario (Android, iOS, Windows Phone 8, etc.) y el RTOS (Sistema Operativo en Tiempo Real).
El sistema operativo que percibe el usuario es, grosso modo, el responsable de ejecutar los servicios que dan soporte a la interfaz y nos permiten lanzar las aplicaciones que todos utilizamos. Su función es prácticamente idéntica a la del sistema operativo de un ordenador, de hecho, como sabéis, Android incorpora un núcleo Linux arropado por varias capas de software que facilitan la interacción con un dispositivo equipado con pantalla táctil, Windows Phone 8 deriva de Windows NT y 8, e iOS de OS X. Y este último, a su vez, de Unix.
La razón por la que es necesario contar con un segundo sistema operativo se debe a la naturaleza misma de las comunicaciones de radio. La codificación, la modulación de estas señales y las demás operaciones necesarias para hacer posible la comunicación son muy dependientes del tiempo de respuesta y precisan que la latencia sea mínima, por lo que los procesos que las controlan deben ejecutarse sobre un sistema operativo en tiempo real desligado del sistema que ejecuta las aplicaciones de usuario. Además, es muy importante que el RTOS no se vea afectado por las actualizaciones y cualquier otro proceso que pueda poner en aprietos su integridad.
Peligroso, pero necesario
El sistema operativo en tiempo real suele estar insertado en el firmware del dispositivo, y se ejecuta sobre su propio procesador y su propia memoria. Lo más curioso, y es en este punto donde pueden comenzar nuestras sospechas, es que el RTOS es propietario. Compañías como Qualcomm o Infineon suministran a los fabricantes de smartphones y otros dispositivos de comunicaciones sus propios sistemas operativos en tiempo real. Y los consumidores apenas sabemos nada de este software. Damos por hecho que estas empresas son honestas, pero, si el RTOS incorpora errores y un pirata malintencionado es capaz de aprovecharlos, podría utilizarlos para amenazar la integridad de los datos almacenados en nuestro smartphone.
Precisamente, el investigador especializado en seguridad informática Ralf-Philipp Weinmann, de la Universidad de Luxemburgo, ha conseguido analizar aplicando técnicas de ingeniería inversa los RTOS de Qualcomm e Infineon. Y lo que ha descubierto es preocupante: ambos tienen numerosos errores que podrían ser aprovechados para ejecutar código en el dispositivo en segundo plano y sin el conocimiento del usuario, provocando, así, que nuestros datos queden expuestos.
Esta posible debilidad apenas es conocida, y, sin embargo, todos podríamos ser víctimas de un ataque a través del RTOS de nuestro smartphone. Al menos en teoría. Además, combatirlo no es nada fácil, pues la complejidad de este software es tal, sobre todo debido al ingente número de protocolos de comunicaciones con los que debe ser compatible, que hay pocas personas capaces de manipularlo. Y, encima, está sumido bajo una inmensa montaña de patentes. Esperemos que para los piratas malintencionados el RTOS sea tan inaccesible como para la mayor parte de nosotros.
Vía | OS News En Xataka Móvil | Activation Lock, una capa de seguridad más en iOS 7
Ver 38 comentarios
38 comentarios
Luvared
Si esto es un S.O entonces la BIOS del PC también lo es...
joseseldon
Pero es un realmente un SO? Según tenia entendido era un conjunto de instrucciones comunes (estandarizados), pero SO, lo que se dice SO, no lo era.
asturtorque
Y eso es porque las licencias de 3g y LTE cuestan dinero
El SO es radio.img o modem.img
javieraguera
Es un SO en toda regla que se ejecuta en una CPU ARM9 independiente. Corre independiente del SO principal y se suele comunicar con este mediante comandos AT
ghinzu
Los monopolios SIEMPRE son malos.
cocolio
Lo que no entiendo es que: en que punto de la mentalidad mediocre del maquero no pueden entender que OS X no es Unix!!! es BSD, Unix es propietario, es de SCO Santa Cruz, es por eso que se ha iniciado el GNU y por lo tanto los BSDs y Linux, por favor ya crezcan.
Y volviendo la tema es un hecho que van a haber problemas de seguridad en cualquier sistema operativo, les guste o no, lo que sería bueno es que se pngan en contacto con los fabricantes para hacerles saber y para que corrijan este problema de algún modo, es lo ideal.
umeboshi
Es exactamente la misma idea que los antiguos modems que tambien se utilizaban comandos AT para comunicarse.
O cuando te conectabas a los Nokia para leer SMS o utilizarlos en modo modem GSM. Que tiempos!!
Casi todo hardware que modula senales necesita de un firmware (un mini SO embedido) que interpreta las senales electromagneticas y las abstrae en comandos que el anfitrion pueda entender.
Otro ejemplo seria cuando utilizas una sintonizadora de tv en Linux por ejemplo, este inyecta (carga) su firmware correspondiente a la controladora de la tarjeta para que se encargue de la demodulacion de las senales.
Para entendernos, un pieza de software que abstrae parte de la logica y lo convierte en un nuevo protocolo con el que el anfitrion puede interactuar.
wikipedia Conjunto_de_comandos_Hayes
Sobre la seguridad no hace falta que te espien desde este nivel. Ya puedes ser espiado por la propia operadora de telefonia de origen, de destino, por cualquier relay por el que pasen tus comunicaciones. La clave esta en cifrar en la medida de lo posible tus comunicaciones y utilizar P2P sin intermediarios cuando se pueda.
leburn
Yo conocía esto como TRON, con sus siglas en inglés
josxrv750
No tenia ni idea, pero es de suponer, el sistema de comunicaciones y control de radiofrecuencia y canales de entrada/salida y encriptación del sistema GSM/UMTS/HDSPA es algo que debe funcionar instintivamente y rápidamente para garantizar un buen funcionamiento, no puede estar supeditado a un sistema operativo que maneja todas las demas funciones y su rendimiento depende de muchos factores como RAM, procesos en segundo plano, velocidad de proceso, etc... que como muchas veces sabemos fallan o se bloquean.
El sistema es un firmware estilo BIOS, y supongo que los antiguos terminales de los inicios del GSM (o antes), es lo único que tenían, un sistema embebido y propietario que controlaba todas las funciones, incluso los sencillos menus de manejo de estos antiguos terminales, pero que con el tiempo se tuvo que separar en dos sistemas debido a los avances y incorporacion de nuevas funciones en los móviles que demandaban una mayor capacidad de proceso.
Zac Ybarra
Primera vez veo algo interesante y muy importante en xataka que no sea un Smartphone.
tanchus
Las tonterías que tiene que leer uno... (y va por el de los "herrores", no por el artículo, que me ha parecido realmente interesante)
Usuario desactivado
Las tarjetas de memoria SD tambien tienen su propio procesador, asi que puedes sumar otro sistema operativo a los smartphone.
an0nymous
Un poco exagerado y sensacionalista el articulo, ¿no? empezando porque RTOS es un nombre tan generico como OS, Real Time Operate System los hay a patadas, privativos como libres, e incluso Linux hace años que ha sido modificado para hacer un kernel Linux de RT, RTLinux, y hasta para Arduino hay un RTOS llamado DuinOS, y tambien tenemos FreeRTOS con soporte de 34 arquitecturas para dispositivos embebidos, y la lista es larga, lejos de que sea algo tan unico ni con tantas patentes o tan alejado al comun de los programadores de sistemas operativos, (cuidado no se muera el programador de RTOS sin pasar el secreto a su hijo, jajaja). Si un dispositivo con Linux quiere usar otro sistema operativo dedicado exclusivamente al tiempo real tengan por seguro que no es porque Linux no pueda funcionar en tiempo real, o que incluso el otro sistema operativo sea tambien Linux pero con kernel preparado para tiempo real. Y esta visto que un programador con conocimientos suficientes puede desarrollarlo, igual que se desarrollan sistemas operativos y aplicaciones, el tiempo real no es tan exclusivo a una pequeña elite, y lo de que solo existan privativos totalmente desmentido. Ya el cual use cada fabricante, o si realmente usa dos o si al usar linux usa el kernel para RT y con uno le sobra, sera algo que dependa del fabricante, lo mismo alguno decide un solo sistema operativo con tiempo real, y no duplica el sistema operativo, o si lo duplica sea por motivos diferentes a que no pueda hacerlo el que se encarga de atender al usuario.