Arquitectura de software para infoentretenimiento en el vehículo: GENIVI y más allá

Lunes, 14 de Mayo de 2012 09:22 gm2
Imprimir

Uno de los primeros sistemas informáticos incorporados a un automóvil fue el ordenador de navegación en el Cadillac Seville de 1978, controlado mediante un microprocesador 6802 de Motorola con 128 bytes de RAM y dos kilobytes de ROM.  El código fuente una vez impreso apenas debía ocupar un puñado de páginas.

Arquitectura1En cambio, incluso los automóviles de las gamas más bajas incorporan actualmente como mínimo una docena de microprocesadores; los coches de gamas más altas incorporan más de cien. La Figura 1 muestra algunos ejemplos de los ordenadores embebidos en un automóvil moderno. Con unos sistemas de infoentretenimiento que ejecutan sofisticados sistemas operativos como Microsoft Windows y varias versiones de Linux, el contenido total del software embebido puede superar con facilidad los 100 millones de líneas de código.

 


La complejidad viene impulsada por la inexorable demanda de mayores prestaciones, la digitalización de funciones manuales y mecánicas y la interconexión del mundo actual. Si bien este crecimiento del contenido electrónico ha sido beneficioso para la sociedad, también ha sido un factor clave para nuestras preocupaciones relacionadas con la fiabilidad, seguridad, coste y plazo de comercialización. La arquitectura de los sistemas de infoentretenimiento de próxima generación debe ayudar a los desarrolladores a gestionar esta complejidad.


Consolidación de la electrónica en el automóvil
Otra tendencia importante en el automóvil es la consolidación de la unidad de control del motor (engine control unit, ECU). A medida que el automóvil se sigue transformando en un sistema de sistemas electrónicos se eleva el número de componentes electrónicos, de ahí que se haya disparado el contenido del cableado asociado que incorpora el coche. Este crecimiento de la electrónica representa un gran reto para los fabricantes de automóviles en cuanto al coste de producción, dimensionamiento y plazo de comercialización. La respuesta pasa por invertir la tendencia al alza y en lugar de ello unir funciones dispares en un menor número de componentes electrónicos.


La consolidación del procesador se encuentra estrechamente ligada a la tendencia hacia sistemas de criticidad mixta, en los cuales deben coexistir componentes críticos desde el punto de vista de la protección, la seguridad o el tiempo real y componentes menos críticos. Por ejemplo, la combinación de la unidad principal de infoentretenimiento con la cámara de visión trasera en tiempo real, de seguridad crítica, y/o los componentes del panel de información al conductor da como resultado un sistema de criticidad mixta tal como muestra la Figura 2.


Arquitectura2La arquitectura de un sistema de infoentretenimiento de próxima generación debe garantizar que los componentes no interactúen de forma imprevista, en cuyo caso pondrían en tela de juicio la fiabilidad de los sistemas críticos.


Seguridad de la electrónica en el automóvil
En 2010, los investigadores de dos universidades que estudiaban la seguridad en los automóviles modernos desactivaron el motor y los frenos de un coche en movimiento pirateando el puerto de diagnóstico de a bordo. Es un ejemplo aleccionador de los formidables retos que hay por delante para garantizar la seguridad en los automóviles, como unos componentes existentes con anterioridad y que no habían sido diseñados para seguridad y una cadena de suministro que probablemente ha llegado a sus límites de escalabilidad.


También en 2010, los fabricantes estadounidenses de coches presentaron una función para permitir que los propietarios de los coches manejaran las cerraduras y arrancaran el motor desde cualquier lugar del planeta mediante un smartphone.  Esta conectividad se basa en el sistema telemático remoto del coche, que se incorpora de serie a muchos modelos.
La conexión del automóvil a redes de área amplia (WAN) es el factor que conlleva la amenaza de ataques sofisticados. Un único fallo permitiría que un ataque remoto ocasionara daños en una flota entera de vehículos. Entre las comunicaciones se pueden encontrar las del coche al centro de asistencia u otra infraestructura de tipo OEM, del coche al proveedor de multimedia, de coche a coche, del coche a la red eléctrica (vehículos eléctricos), del coche al smartphone o incluso del coche al banco. La Figura 3 ofrece algunos ejemplos de conexiones de radio a larga distancia en vehículos de próxima generación.


A diferencia de los centros de datos de alto nivel, no es de prever que el coche incorpore un conjunto completo de IDS, IPS, cortafuegos y UTM. Con independencia de ello, las recientes intrusiones en Sony, Citigroup, Amazon, Google, Sony y RSA demuestran a las claras que estos mecanismos de defensa no son capaces de resistir ataques sofisticados.
Cuando salió a la luz el ataque Stuxnet en 2010, el Director del Cibercomando del Departamento de Defensa de EE.UU., el general Keith Alexander, sugirió que la infraestructura crítica estadounidense debería estar aislada en su propia red de seguridad, distinta a Internet. Si bien puede parecer una solución radical, es precisamente el planteamiento necesario. Los sistemas críticos del coche deben estar fuertemente aislados respecto a las ECU y las redes no críticas para que su funcionamiento sea seguro.


Si bien el aislamiento físico de la red es deseable, existirán inevitablemente algunos puntos de contacto. Por ejemplo, el sistema de navegación del coche, en algunos mercados, se debe desconectar mientras el coche está en movimiento, lo cual implica una comunicación entre sistemas de muy distinta criticidad respecto a la seguridad. Estas conexiones aumentan el riesgo de amenazas relacionadas con el  software como los niveles de privilegios debido a las vulnerabilidades del sistema operativo, los ataques laterales sobre la criptografía o los fallos del servicio.
La arquitectura de un sistema de infoentretenimiento de próxima generación debe superar estas importantes amenazas emergentes para la seguridad desde un principio. Las interacciones entre sistemas y redes críticos y no críticos se debe justificar en los más altos niveles de gestión, con un control riguroso en tiempo real y un análisis y una certificación libre de vulnerabilidades con los más altos niveles de garantía.


Arquitectura3Solución: entornos seguros
Los sistemas operativos de código abierto como MeeGo o Ubuntu resultan muy apropiados por su conformidad a los principales estándares para multimedia, así como por su disponibilidad de aplicaciones de terceros. No obstante, no podemos depender obligatoriamente del sistema operativo multimedia para controlar todos los aspectos relacionados con los sistemas combinados de infoentretenimiento de próxima generación. Los sistemas operativos de tipo general no pueden arrancar con la suficiente rapidez, no pueden garantizar una respuesta en tiempo real para protocolos como CAN y no son lo suficientemente fiables y seguros para funciones de seguridad crítica como la cámara de visión trasera y el panel de instrumentos. Por tanto necesitamos una arquitectura de sistema en la cual los sistemas operativos multimedia y sus aplicaciones puedan coexistir en armonía con aplicaciones en tiempo real de muy alta fiabilidad gestionadas por un sistema operativo en tiempo real especialmente indicado para ofrecer  protección.
Una solución potencial consiste en disponer de múltiples procesadores dedicados a las diferentes tareas. Sin embargo, esto da como resultado los mismos problemas que las múltiples ECU en la actualidad: disminuye la velocidad de la comunicación entre las aplicaciones y aumenta la complejidad en los límites.


La necesidad de integrar estas funciones en un único procesador es muy real ya que permite optimizar el coste, los ciclos de proceso, la disponibilidad de datos y la complejidad. Necesitamos entornos seguros de ejecución (sandboxes) para estas cargas de trabajo de criticidad mixta. Podemos identificar cada uno de estos entornos seguros con un perfil aislado.
Estas cuatro técnicas para múltiples perfiles se han comercializado de una u otra forma:

•    Multiarranque
•    Webtop
•    Hipervisor de tipo 2
•    Hipervisor de tipo 1
Multiarranque
El concepto de multiarranque ha sido puesto en práctica en algunos ordenadores portátiles y de red desde hace pocos años. En un ordenador portátil con doble arranque se puede activar un sistema operativo secundario, generalmente una versión simplificada de Linux, en lugar del sistema operativo principal de la plataforma. Este sistema simplificado se suele utilizar únicamente para navegar por la web y su principal objetivo es permitir que el usuario pueda navegar apenas unos pocos segundos después de arrancar. El sistema operativo secundario se encuentra almacenado por separado y nunca se ejecuta al mismo tiempo que el sistema operativo principal de la plataforma. En algunos casos, este entorno más ligero se ejecuta en un microprocesador secundario (p.ej., un SoC ARM independiente respecto al procesador principal Intel del ordenador).


Arquitectura4El sistema operativo secundario se caracteriza por su buen aislamiento desde el punto de vista de la seguridad; sin embargo, el inconveniente del rearranque y su incapacidad de conmutar entre diferentes perfiles ha limitado mucho su adopción. La opción de multiarranque tampoco resulta práctica en el entorno del infoentretenimiento integrado, que exige la ejecución concurrente de los perfiles, por ejemplo del sistema de infoentretenimiento multimedia junto con el panel de instrumentos y las comunicaciones en tiempo real.


Webtop
El concepto webtop (escritorio con red integrada) ofrece un entorno de navegación limitada independiente respecto al entorno del sistema operativo primario. No obstante, en lugar de un doble arranque, el webtop funciona como una aplicación ubicada en la parte superior del sistema operativo primario. Mientras el webtop ejecute las secciones del sistema que no sean críticas para la seguridad y el sistema operativo primario sea capaz de asumir aplicaciones críticas, aislado del webtop, esta opción puede cumplir todos los requisitos. Ahora bien, es posible que un entorno basado en navegador no cumpla los exigentes requisitos de funcionalidad de los modernos sistemas de infoentretenimiento.


Una opción parecida consiste en ejecutar el webtop o visualizador reproducido desde un smartphone conectado a una base. De esta forma también podrían cumplirse los requisitos (el procesador del smartphone se emplea para las aplicaciones multimedia en lugar del ordenador de infoentretenimiento del vehículo). Esta técnica con smartphone remoto se ha comercializado en algunos vehículos y sigue siendo una opción interesante. Una de sus dificultades estriba en garantizar que el smartphone pueda proporcionar una experiencia adaptada al automóvil.


Arquitectura5Hipervisor de tipo 2
Los hipervisores de tipo 2 son parecidos a los webtops ya que un perfil secundario ejecuta una aplicación en la parte superior del sistema operativo primario. No obstante, en lugar de incorporar sólo un navegador, el perfil secundario es un sistema operativo huésped totalmente funcional que funciona en una máquina virtual creada por la aplicación del hipervisor (Figura 4). Este sistema operativo huésped podría ser un sistema operativo en tiempo real apropiado para albergar aplicaciones críticas como la cámara de visión trasera o el panel de instrumentos. El hipervisor utiliza el sistema operativo primario para manejar las E/S. La técnica basada en la virtualización cumple el requisito de proporcionar entornos funcionales completos para perfiles críticos y no críticos.


No obstante, el modelo de tipo 2 no consigue ofrecer un potente aislamiento. Los fallos o vulnerabilidades de seguridad del sistema operativo primario de tipo general influirán sobre las funciones críticas en tiempo real que se ejecutan en la máquina virtual. Asimismo también se ha averiguado que las aplicaciones del hipervisor de tipo 2 instalados en el espacio de la compañía también albergan vulnerabilidades como para romper el entorno seguro de ejecución.


Hipervisor de tipo 1
Los hipervisores de tipo 1 también proporcionan toda la funcionalidad y la ejecución concurrente de múltiples perfiles. Ahora bien, dado que el hipervisor se ejecuta al descubierto, el aislamiento del perfil no puede ser violado por las debilidades del sistema operativo del perfil. De ahí que un hipervisor de tipo 1 represente una solución prometedora desde el punto de vista de la funcionalidad y de la protección. No obstante, la amenaza de la vulnerabilidad del hipervisor sigue existiendo y no todos los hipervisores de tipo 1 están diseñados para alcanzar altos niveles de protección y de seguridad.


Una versión en concreto, el hipervisor de tipo 1 basado en micronúcleo (microkernel), está especialmente diseñado para cubrir los exigentes requisitos en cuanto a tiempo real, arranque rápido y protección de los modernos entornos de infoentretenimiento. Los micronúcleos ofrecen una arquitectura superior para protección y seguridad que los grandes sistemas operativos de tipo general como Linux, MeeGo, Android y Windows. Un micronúcleo sólo ejecuta un mínimo número de servicios críticos para el sistema, como gestión de procesos, manejo de excepciones y comunicación entre procesos, en modo supervisor, y proporciona una arquitectura que permite la ejecución de software en sistemas complejos en modo usuario cuando sólo se les permita acceder a los recursos que el diseñador del sistema considera apropiados. Una vulnerabilidad o fallo en un componente no puede dañar un componente crítico porque el subsistema infectado sencillamente no puede acceder a ese recurso. Dado que el micronúcleo es relativamente simple, puede ser verificado y certificado formalmente por reguladores independientes hasta los más altos niveles de protección y seguridad.


En un hipervisor de tipo 1 con micronúcleo, la virtualización del sistema se añade como servicio en el propio micronúcleo. Por tanto, además de las máquinas virtuales aisladas, el micronúcleo proporciona un interface estándar abierto para aplicaciones críticas ligeras como la información al conductor, subsistemas criptográficos y controladores de bus CAN, que no se pueden confiar a un huésped de tipo general. La Figura 5 muestra la arquitectura de micronúcleo de tipo 1.


Arquitectura6Un ejemplo de hipervisor de tipo 1 con micronúcleo es INTEGRITY Multivisor de Green Hills Software, que se basa en el micronúcleo
INTEGRITY, ampliamente utilizado en infoentretenimiento para el automóvil y en otras aplicaciones críticas de protección en tiempo real.
La aplicación de la arquitectura de hipervisor de tipo 1 con micronúcleo al sistema de infoentretenimiento de criticidad mixta antes mencionado, formado por el sistema operativo principal para infoentretenimiento y aplicaciones críticas de protección para la cámara de visión trasera e información al conductor, el resultado es la arquitectura mostrada en la Figura 6.


Transacciones seguras en la red
La Figura 6 también muestra una aplicación de manejabilidad. Otra aplicación útil de la arquitectura de tipo 1 con micronúcleo consiste en albergar subsistemas seguros de comunicación remota que sean nativos en el micronúcleo. Entre los ejemplos de transacciones seguras en redes de próxima generación en los sistemas de infoentretenimiento se encuentran el contenido multimedia protegido y la transmisión de derechos digitales, así como la gestión remota del sistema (p.ej. actualizaciones del firmware e instrucciones de diagnóstico remoto) por parte de técnicos y OEM.


En este sentido, una idea fundamental es que esta solución genera una conexión protegida, lógicamente fuera del alcance del sistema principal. Dado que las claves de criptografiado, los certificados del servidor y el software del protocolo están gestionados en procesos nativos, estos datos críticos no pueden ser robados o corrompidos por el sistema operativo huésped, con independencia de la infiltración de malware. Además, el subsistema de seguridad nativo es capaz de aprovechar su capacidad de TPM (o equivalente), si es que está presente, para el almacenamiento basado en hardware de claves así como para la autenticación de la plataforma. La conexión segura rechaza ataques de intromisión (man-in-the-middle) y ataques de malware que trataran de apropiarse de las claves criptográficas utilizadas para comunicaciones seguras.


GENIVI

GENIVI es una alianza de la industria que promueve plataformas de referencia para infoentretenimiento en los vehículos, con el objetivo de reducir el plazo de comercialización y el coste de desarrollo. Estas plataformas de referencia incorporan las funciones precompetitivas que se consideran necesarias en todo sistema, permitiendo así que las organizaciones se concentren en funciones innovadoras que impulsan la ventaja competitiva. Un principio fundamental para cumplir estos objetivos consiste en recurrir a estándares abiertos y a la certificación de conformidad asociada. Si en los sistemas de infoentretenimiento tradicionales se recurre a potentes sistemas operativos de tipo general, no debería extrañar que las primeras plataformas de referencia de GENIVI estén basadas en distribuciones de Linux que cumplen los requisitos de la declaración de conformidad de GENIVI.


De cara al futuro, los participantes en el ámbito del infoentretenimiento para el automóvil, incluyendo OEM y sus proveedores, reguladores gubernamentales y pasajeros, deben mirar más allá del sistema multimedia y plantear un nuevo mundo de requisitos de criticidad mixta. Se necesitan arquitecturas de software de sistemas de próxima generación con el fin de garantizar que los futuros sistemas de infoentretenimiento, caracterizados por su complejidad y gran número de funciones, proporcionen la fiabilidad, seguridad, funcionamiento en tiempo real y tamaño controlado que exigen la industria del automóvil y los consumidores. Los sistemas incorporados a los coches en el futuro experimentarán una convergencia de funcionalidad crítica de protección junto con aplicaciones de telemática tradicional y de entretenimiento digital. El suministro de esta funcionalidad en una sola plataforma informática tiene una importancia crítica con el fin de minimizar el tamaño, peso, consumo, coste de producción y complejidad de la electrónica. Ahora bien, para hacerlo de forma segura se necesita un nuevo planteamiento para la arquitectura del sistema.


Una opción prometedora para los entornos seguros de ejecución es la virtualización del sistema de tipo 1, que puede aislar y gestionar aplicaciones de seguridad crítica para protección en tiempo real así como potentes sistemas operativos multimedia de código abierto. Además, la disponibilidad de la tecnología de virtualización para una amplia variedad de plataformas informáticas ofrece a desarrolladores y tecnólogos la plataforma abierta definitiva: la capacidad de ejecutar cualquier tipo de sistema operativo en cualquier combinación, creando así una flexibilidad sin precedentes para su instalación y utilización. Esta flexibilidad resulta bienvenida tanto en el automóvil como en ordenadores de sobremesa y servidores.

Autores: David Kleidermacher Director de Tecnología, Green Hills Software

Matt Jones, Vicepresidente, GENIVI Alliance

Más información o presupuesto