Actualizar de forma segura el software de los automóviles
Estos últimos años hemos conocido varios casos de incidentes de seguridad relacionados con automóviles y, en especial, con los llamados smart cars. Los investigadores Charlie Miller y Chris Valasek, de IOActive, demostraron que era posible tomar el control de un Jeep Cheroke remotamente llegando incluso a manipular el acelerador o el sistema de frenos (lo habían hecho antes, con éxito también, con un Ford Escape y un Toyota Prius) mostrando los resultados de sus investigaciones en conferencias como Def Con o Black Hat.
El impacto de un incidente de estas características perjudica la reputación de los fabricantes afectados pero, además, pone de manifiesto que los ciberataques no afectan sólo a los sistemas informáticos, si no que pueden extenderse hacia el mundo físico poniendo en riesgo la vida de las personas. En este escenario, la relación entre la seguridad lógica (ciberseguridad, o “security”) y la seguridad física (o “safety”) es evidente.
Existen varias iniciativas, como el Grupo de Trabajo CaRSEC (Cars and Roads SECurity) de ENISA o el marco de trabajo elaborado conjuntamente por NIST y la National Highway Traffic Safety Administration titulado “Risk Management Framework Applied to Modern Vehicles“.
Considerando que un smart car integra más de 100 microprocesadores y unas 50 unidades de control (ECU), con un total de más de 100 millones de lineas de código, el software -o, mejor dicho, las vulnerabilidades del software- son un punto débil en cuanto a ciberseguridad y pueden suponer una grave amenaza para la seguridad.
Un equipo de investigadores de la University of Michigan y de la New York University ha puesto el foco en la problemática resultante de una mala implementación de los sistemas de actualización de software de los vehículos. Las soluciones convencionales se basan en la prevención de ataques convencionales, como por ejemplo firmar el código para evitar que se pueda instalar una actualización no autorizada, pero no existen soluciones para incidentes más complejos como un compromiso del repositorio, el bloqueo del sistema de actualizaciones del propio vehículo, o el ataque a los sistemas de un proveedor.
Para ello han diseñado Uptane, el primer framework para actualizaciones de software de automóviles. Se trata de un marco flexible que permite ser desplegado por diferentes fabricantes y proveedores independientemente de su infraestructura y entorno de desarrollo, y capaz de soportar una gran variedad de tipos de ataque aportando, como novedad, una gran capacidad de resiliencia ante cualquier ataque. Así, en caso de producirse un compromiso en el código, el sistema debe ser capaz de recuperarse y volver a su estado normal de funcionamiento con el mínimo impacto para el vehículo.
Los investigadores han contado con el apoyo de la industria automovilística norteamericana, y todo el trabajo realizado, detalles técnicos, papers, presentaciones, etc. está disponible aquí: http://uptane.github.io
Descargar Paper “Uptane: Securing Software Updates for Automobiles” [PDF, 11 pag.]