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.