Seminario web destacado: Pruebas de API mejoradas con IA: un enfoque de prueba sin código | Vea ahora
Saltar a la sección
Por qué es importante la ciberseguridad automotriz
Las empresas automotrices ahora dependen de un software complejo para construir autos inteligentes. Esto ha planteado algunos problemas de vulnerabilidad en los automóviles modernos. Lea para saber por qué las empresas automotrices deberían integrar la ciberseguridad en sus estrategias de desarrollo de automóviles.
Saltar a la sección
Saltar a la sección
El paso de muchas empresas automotrices a los vehículos de carretera electrónicos ha cambiado fundamentalmente la industria, aumentando la conectividad y la inteligencia en los automóviles. A medida que se vuelven más conectados y más inteligentes, los vehículos electrónicos (EV) también se vuelven más dependientes de software para operaciones vehiculares, conducción de más características y funcionalidades para mejorar la experiencia de conducción.
Más características y funcionalidades en los vehículos de carretera dan como resultado más complejidad y más código. Más código significa más problemas. Problemas como una mayor superficie de ataque de vehículos podrían generar vulnerabilidades que los atacantes podrían aprovechar para controlar y apoderarse del vehículo de carretera. Esto plantea serios problemas de seguridad y graves preocupaciones en materia de ciberseguridad que, con suerte, revolucionarán la forma en que se diseñan y desarrollan los automóviles modernos.
La ciberseguridad es la nueva seguridad dado que el software impulsa los vehículos de carretera modernos. Un EV estándar ejecuta más de 100 millones de líneas de código, según las características adicionales que tenga. Proteger los vehículos de carretera de las amenazas de ciberseguridad es más crítico que nunca. Uno de los principales vectores de ataque a los que se apunta es la unidad de control electrónico (ECU), que proporciona comunicación vital y capacidades esenciales para operar, monitorear y configurar los subsistemas del vehículo.
Mejores prácticas de DevOps para el desarrollo automotriz
¿Qué es una unidad de control electrónico (ECU)?
Las ECU son dispositivos controlados por microprocesador que brindan una amplia gama de funciones esenciales del vehículo, incluidas las siguientes:
- Motor y dirección asistida
- Inyección de combustible
- Aspectos de confort como elevalunas y asientos eléctricos
- Control de temperatura
- Funciones de seguridad como entrada sin llave y cerraduras de puertas
Las ECU se agrupan en subsistemas en función de su funcionalidad debido a la naturaleza sensible al tiempo de los eventos críticos. Los vehículos de carretera modernos tienen hasta 100 ECU que ejecutan funciones del vehículo. Las ECU se comunican utilizando su bus conectado, donde toda la comunicación de la ECU es manejada por una puerta de enlace para administrar y validar los mensajes enviados por las ECU.
Pruebas de software automotriz para SDV
La implementación de ECU detrás de una puerta de enlace tiene como objetivo garantizar que solo los dispositivos que necesitan comunicarse entre sí lo hagan. Esta es una mejora de los diseños de ECU tradicionales que aceptaban comandos y compartían información con cualquier entidad en el mismo bus de cableado. Este fue el vector de ataque de muchos de los ataques automotrices, como el famoso hackeo de Jeep, que desencadenó muchas mejoras en los estándares de ciberseguridad automotriz.
Las ECU son posibles objetivos de ataques cibernéticos
Hay suficientes pruebas de conceptos, investigaciones y explotaciones de vulnerabilidades reales que demuestran cómo las ECU pueden someterse a ingeniería inversa y comprometerse. Estos van desde el hackeo de Jeep en 2015, los hackeos de Tesla de 2016 y 2017, el hackeo de BMW de 2018 y muchos más en la naturaleza. En todos estos ejemplos, la ECU fue atacada y comprometida con éxito para dar a los atacantes la capacidad de reprogramar y cambiar el comportamiento de las funciones del vehículo.
Aquí hay un breve resumen de cómo los atacantes pudieron apuntar a las ECU en los vehículos de carretera.
- Envío de mensajes CAN alterados a las ECU para que aparezcan como mensajes legítimos para apagar el motor, los frenos y girar el volante.
- Reprogramación y, en algunos casos, actualización del firmware en las ECU para obtener semillas de desbloqueo para realizar operaciones de privilegio como lectura/escritura de memoria.
- Restablecimiento y desactivación de ECU legítimas, lo que impedía recibir y enviar mensajes CAN.
- La detección de mensajes CAN permitió a los atacantes extraer información confidencial que se enviaba desde y hacia las ECU.
En un estudio reciente presentado en Car Hacking Village Def Con 28, "Tendencias realistas en vulnerabilidad basadas en piratería en vehículos", los investigadores analizaron más de 40 ECU de varios fabricantes y proveedores.
Su análisis de las ECU descubrió más de 300 vulnerabilidades tanto en el hardware como en el software de la ECU con todas las vulnerabilidades de alto riesgo que residen en el software. El estudio también indicó que las ECU más complejas presentaban la mayor cantidad de vulnerabilidades. Las ECU de infoentretenimiento contenían la mayoría de las vulnerabilidades que se descubrieron en el estudio.
Seguro por diseño
Construir seguridad desde el principio es el objetivo número uno de la nueva industria automotriz. estándar de ciberseguridad, ISO 21434. Hay un recuento continuo de vulnerabilidades en las ECU que demuestran la seriedad de la ciberseguridad y su impacto en la seguridad, que este estándar intenta abordar con requisitos y recomendaciones que impactan directamente en cómo se diseñan y desarrollan los componentes para los vehículos de carretera.
ISO 21434 busca integrar medidas de seguridad y ciberseguridad de alta calidad a lo largo de todo el ciclo de vida de la ingeniería del producto para garantizar que los vehículos de carretera se hayan diseñado, fabricado e implementado con mecanismos de seguridad para proteger la confianza, la integridad, la disponibilidad y la autenticidad de las funciones del vehículo en los vehículos de carretera. .
Guía de CI/CD para DevOps automotriz
Dos aspectos centrales de ISO 21434 se enfocan en lo siguiente.
- Realización de actividades de análisis de amenazas y evaluación de riesgos (TARA) que se centran en los posibles escenarios de amenazas y vectores de ataque, y cómo estas condiciones pueden afectar la seguridad y la ciberseguridad de los vehículos de carretera. El uso de TARA y la comprensión de los posibles vectores de ataque contra los componentes es la forma ideal de codificar la ciberseguridad en el diseño y la arquitectura para mitigar los ciberataques. Los equipos de productos deben aprovechar TARA para guiar e informar las pruebas de seguridad.
- Garantizar que el desarrollo del producto aborde la ciberseguridad en todas las fases del ciclo de vida de la ingeniería del producto, desde el concepto (diseño) hasta el desmantelamiento. ISO 21434 fomenta la alineación con el modelo V de ingeniería de sistemas para guiar a los fabricantes y proveedores de vehículos en el seguimiento de los requisitos de diseño arquitectónico sólidos para la ciberseguridad. Esto requiere verificación y validación de software como parte de las pruebas del producto.
ISO 21434 Convocatorias para actividades de verificación de software
Las pruebas de software desempeñan un papel fundamental para ayudar a los fabricantes y proveedores a abordar los requisitos y recomendaciones descritos en la norma ISO 21434. Formalizar el análisis de código estático como parte de las actividades de verificación de software es una forma ideal de identificar y eliminar la ambigüedad en el código, así como identificar las debilidades que podrían exponer vulnerabilidades en el software utilizado en los componentes de la ECU. Esto ayuda a minimizar la superficie de ataque que un atacante puede explotar para comprometer las ECU que controlan las operaciones críticas del vehículo.
Específicamente, ISO 21434 hace referencia y llama al análisis estático en la sección 10.4 Requisitos y recomendaciones.
Sección 10.4.1 Diseño
La sección de detalles de requisitos 10.4.1 para el diseño destaca la necesidad de seleccionar lenguajes de programación adecuados para hacer cumplir el código que es sintácticamente correcto con una estructura y gramática válidas. El código debe lógicamente tener sentido semántico y corresponder a un conjunto de reglas para el idioma que se utiliza. El código debe poder compilarse limpiamente para transformarse en una secuencia de instrucciones.
La aplicación de una tipificación segura, el uso de subconjuntos de idiomas y la implementación de técnicas de implementación defensivas son requisitos especificados en ISO 21434. Formalización de la codificación segura prácticas de cumplimiento El uso de verificadores y reglas Parasoft MISRA C y CERT C ayudará a los fabricantes y proveedores a cumplir con los requisitos y recomendaciones de ISO 21434 para mitigar los riesgos potenciales en el software y el diseño.
Emplear prácticas de codificación de seguridad y ciberseguridad para respaldar la verificación y validación del software es una práctica recomendada y esencial para confirmar la especificación de seguridad cibernética descrita en ISO 21434. El uso de las capacidades de análisis de código C/C++ de Parasoft facilita el rigor de las pruebas de software asociadas con el software de seguridad crítica.
Automatización de pruebas de software con Parasoft C/C++test se simplifica con un enfoque integrado que incorpora análisis estático, cobertura de código, pruebas unitarias, trazabilidad de requisitos y análisis de informes para Optimice su cumplimiento de ISO 21434 • Requisitos.
Sección 10.4.2 Integración y Verificación
La sección 21434 de ISO 10.4.2 proporciona una lista de métodos para la verificación de software que se pueden satisfacer utilizando las capacidades de análisis de código C/C++ de Parasoft. Muchos errores de seguridad se pueden detectar mediante el control y el análisis de flujo de datos. El motor de análisis de código C/C++ de Parasoft está preparado para brindar a los equipos de ingeniería de productos la amplitud y profundidad del análisis de flujo complejo, como el uso posterior a la liberación, la liberación doble y los desbordamientos de búfer.
¡Vea la prueba de Parasoft C/C++ en acción!
RC-10-12
Otras actividades de verificación y prueba de software a las que se hace referencia en ISO 21434 incluyen fuzzing, pruebas de penetración y escaneo de vulnerabilidades. Se enumeran como recomendaciones, anotadas por RC-10-12. Dada la complejidad y el tamaño del desarrollo de software moderno, debería ser necesario ejecutar técnicas y herramientas de prueba adicionales porque cada técnica encuentra diferentes tipos de problemas.
Para descubrir los riesgos de seguridad en los equipos de ingeniería de productos de software, se deben utilizar herramientas y técnicas de prueba para cubrir los siguientes escenarios.
- Conocido Conocido. Pruebas para identificar software con CVE conocidos/identificables. Esto incluiría capacidades de prueba como herramientas de análisis de composición de software (SCA) que marcan CVE conocidos en componentes de software.
- Conocido Desconocido. Pruebas para identificar CWE que podrían ser explotables y exponer vulnerabilidades (CVE) en el software. Esto incluiría capacidades de prueba como análisis estático y dinámico.
- Desconocido Desconocido. Pruebas para identificar software con riesgos/problemas no identificados, no hay CWE o CVE asociados con él. Esto incluiría capacidades de prueba como fuzzing.
Ciberseguridad: el conductor del asiento delantero
Poner la ciberseguridad en el asiento delantero de los vehículos de carretera con ISO 21434 ayudará a la industria automotriz a impulsar mejores prácticas para reducir y mitigar las amenazas y ataques cibernéticos que eventualmente podrían provocar muertes.
La conectividad e inteligencia en los automóviles ha cambiado la forma en que se contextualiza y prioriza la ciberseguridad en la ingeniería de productos. Al formalizar la norma ISO 21434, los equipos de ingeniería de productos pueden aprovechar las actividades de análisis y modelado de amenazas para informar las decisiones de diseño y el desarrollo de productos durante todo el ciclo de vida.
Construir seguridad ya no puede ser solo una frase pegadiza porque la seguridad de los conductores está en juego. La ciberseguridad debe estar arraigada en la mentalidad y las actividades de todo el equipo de ingeniería de productos para que todo el equipo piense en las formas en que se debe diseñar y desarrollar el software para prevenir y mitigar los ataques cibernéticos.
ISO 21434 proporciona una hoja de ruta para ayudar a los fabricantes y proveedores a superar los desafíos de seguridad y ciberseguridad en el desarrollo de productos. Este nuevo estándar sirve como elemento básico para reforzar los mecanismos de protección de seguridad en los vehículos de carretera que, en última instancia, salvarán vidas.
Parasoft: El camino hacia la ciberseguridad automotriz
La solución integrada de pruebas automatizadas C/C++ de Parasoft es la mejor de su clase y se adapta a sus esfuerzos de ingeniería de productos y SDLC. Con una posición única con una profunda experiencia y conocimientos en el mercado de software integrado, Parasoft lo ayuda a satisfacer sus necesidades de cumplimiento de seguridad y ciberseguridad.
Una combinación única de herramientas de automatización de pruebas de software, análisis, IA e informes proporciona visibilidad de los problemas de calidad y seguridad desde el principio. Esto permite que los equipos de ingenieros de productos aceleren la verificación del software de acuerdo con los estándares y las mejores prácticas requeridas por el mercado.
Acelere la entrega de software automotriz seguro, protegido y compatible.
“MISRA”, “MISRA C” y el logotipo del triángulo son marcas comerciales registradas de The MISRA Consortium Limited. © The MISRA Consortium Limited, 2021. Todos los derechos reservados.