Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>

Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>
El industria del automóvil se está transformando rápidamente en un complejo ecosistema de movilidad inteligente, introduciendo nuevos niveles de sofisticación del software y vulnerabilidades potenciales. El uso cada vez mayor de software y funciones de intercambio de datos en los vehículos de carretera son importantes motores de crecimiento en el sector automovilístico; sin embargo, los informes muestran que nuevos vectores de ataque capaces de provocar perturbaciones a gran escala podrían poner a la industria de rodillas si no se aplican los factores mitigantes adecuados. en su lugar. Los ciberataques a vehículos pueden comprometer la seguridad, la privacidad y el rendimiento de los conductores, pasajeros y otros usuarios de la vía.
Una de las iniciativas clave para abordar esta necesidad es el desarrollo de ISO/SAE 21434, un estándar internacional para la ingeniería de ciberseguridad en vehículos de carretera. El objetivo principal de ISO/SAE 21434 es garantizar que los fabricantes de vehículos incorporen medidas de ciberseguridad desde el inicio hasta el desmantelamiento de los vehículos de carretera.
Los requisitos de cumplimiento de ISO/SAE 21434 implican la implementación de un sistema de gestión de ciberseguridad que cubra todas las etapas del ciclo de vida del desarrollo del producto. Los requisitos también incluyen la necesidad de que los sistemas de software que impulsan los vehículos de carretera se sometan a rigurosas rondas de pruebas, evaluación de riesgos, monitoreo y revisión, y más.
Profundicemos en los desafíos y soluciones comunes para implementar ISO/SAE 21434 y cómo las soluciones de pruebas automatizadas pueden respaldar y facilitar el proceso de cumplimiento.
ISO/SAE 21434 es un estándar para ingeniería de ciberseguridad en vehículos de carretera que se publicó en septiembre de 2021. El estándar fue desarrollado por la Organización Internacional de Normalización (ISO) en colaboración con expertos de la industria automotriz, el mundo académico y agencias gubernamentales. Se basa en las mejores prácticas y experiencias de diversos ámbitos, como la tecnología de la información, el aeroespacial y la defensa.
El objetivo principal de ISO/SAE 21434 es proporcionar un marco integral y consistente para gestionar las actividades de ciberseguridad a lo largo del ciclo de vida de los vehículos de carretera y cubre todo tipo de vehículos de carretera, como turismos, camiones, autobuses, motocicletas y remolques, así como como sus componentes, sistemas, software y servicios. La norma también se aplica a todas las partes interesadas involucradas en el desarrollo, producción, operación, mantenimiento y eliminación de vehículos de carretera, como fabricantes, proveedores, prestadores de servicios, operadores y usuarios.
Los objetivos clave de ISO/SAE 21434 son los siguientes:
Implementar ISO/SAE 21434 no es una tarea fácil. Implica una serie de desafíos. Si bien algunos de los problemas conocidos incluyen la diversidad y heterogeneidad de los vehículos de carretera y la naturaleza en constante evolución de las amenazas cibernéticas, la complejidad del software necesario para impulsar los vehículos de carretera modernos también es un factor clave que a menudo se oculta bajo la alfombra.
Según McKinsey, la creciente Complejidad de las aplicaciones de software para automóviles. es un tema crítico para muchas organizaciones. Esto se evidencia en para informar por el Centro Nacional de Ciencias de la Fabricación (NCMS) que demostró que los vehículos avanzados pueden contener entre 1,000 y 3,000 microchips y hasta 150 unidades de control electrónico (ECU) que funcionan mediante un código de software que consta de hasta 150 millones de líneas. Esto demuestra el nivel de complejidad de los vehículos modernos.
La complejidad de integrar líneas masivas de código, sistemas electrónicos complejos, algoritmos de inteligencia artificial (IA) y enlaces de datos externos en vehículos modernos proporciona a los atacantes innumerables puntos de entrada para explotar. Estas amenazas adquieren mayor urgencia a medida que ingresan al mercado más vehículos autónomos y conectados.
Gestionar la ciberseguridad de estos sistemas masivos requiere un enfoque holístico y sistemático que considere las interacciones, dependencias e interdependencias entre los diversos elementos que componen el software que impulsa estos vehículos.
Por lo tanto, satisfacer el rigor de los protocolos ISO/SAE 21434 en sistemas tan complejos requerirá pruebas exhaustivas del software que sustenta los vehículos modernos. Dado que los componentes básicos del software de las aplicaciones automotrices se ejecutan en millones de códigos, los fabricantes de automóviles deben implementar procedimientos de prueba sólidos para identificar vulnerabilidades en toda la superficie de ataque, segmentar los sistemas de conducción críticos, realizar auditorías y escaneos periódicos de ciberseguridad y evaluar las capacidades de detección de amenazas.
Las pruebas integrales de software también implican pruebas de penetración exhaustivas, revisiones de código, análisis estáticos y dinámicos del código fuente, pruebas fuzz y otras metodologías para validar los estándares de los controles de seguridad. Los procedimientos de prueba también deben tener en cuenta los riesgos potenciales de los componentes de software de terceros y los servicios de vehículos conectados. Sólo a través de estas medidas exhaustivas y proactivas podrán los fabricantes de automóviles reforzar el software de sus vehículos contra las crecientes amenazas cibernéticas dirigidas a sistemas críticos para la seguridad y datos confidenciales de los conductores.
Por lo tanto, el camino hacia el cumplimiento de ISO/SAE 21434 comenzará con la eliminación de este nivel de complejidad integrado en el software del vehículo.
Dentro de ISO/SAE 21434, las pruebas de software se abordan como parte del proceso general de ingeniería de ciberseguridad. Más allá del punto de vista de la ciberseguridad, las pruebas de software de esta escala ayudan a los ingenieros a separar y comprender mejor el laberinto de complejidad que compone los sistemas de software automotrices.
Estas pruebas a menudo dependen del poder de las soluciones de automatización de pruebas, como Parasoft C/C++test, Jtest y SOAtest. Las soluciones de prueba de software automatizadas pueden ayudar a los fabricantes de automóviles a lograr el cumplimiento de las pruebas dentro de ISO/SAE 21434, al proporcionar las siguientes características y funcionalidades.
Este tipo de prueba analiza el código fuente sin ejecutarlo e identifica e informa problemas como errores de codificación, vulnerabilidades de seguridad y desviaciones de cumplimiento que pueden comprometer la calidad, confiabilidad o seguridad del software. El análisis estático ayuda a las organizaciones del sector automovilístico para mejorar la calidad y seguridad de su software y adherirse a los estándares de codificación relacionados con ISO/SAE 21434, como MISRA, CERT y CWE.
Pruebas unitarias de aplicaciones C y C++. ayuda a verificar y validar la funcionalidad, el rendimiento y la seguridad de los componentes individuales del software. Con las pruebas unitarias, las organizaciones del sector automotriz pueden garantizar la corrección y solidez de su software. Al hacerlo, están en camino de alcanzar los requisitos y criterios de prueba de ISO/SAE 21434.
Las pruebas de integración pueden ayudar a los fabricantes de automóviles a garantizar la compatibilidad e interoperabilidad de su software. Las soluciones de prueba de software pueden realizar pruebas de integración en las interacciones e interfaces entre las unidades o módulos de aplicaciones de software, y verificar y validar su funcionalidad, rendimiento y seguridad.
En las pruebas basadas en requisitos, los casos de prueba se crean centrándose en los objetivos y condiciones descritos en los requisitos que se descompusieron o eliminaron durante las fases de desarrollo en el SDLC. Estas pruebas tienen como objetivo cubrir funciones o aspectos específicos como seguridad, confiabilidad y usabilidad. Básicamente, se diseñan casos de prueba de acuerdo con lo que establecen los requisitos, asegurando que el software cumpla con los criterios especificados según lo establecido en ISO/SAE 21434.
Los fabricantes de automóviles también pueden medir e informar la cobertura del código de las actividades de prueba de software e indicar el porcentaje del código fuente que ha sido probado o analizado con una solución de prueba de software de calidad. Cobertura de código garantiza la integridad y amplitud de las pruebas de software, que es uno de los criterios críticos para tener software de calidad. Para ser más específico de ISO/SAE 21434, la cobertura del código se utiliza para garantizar que cada rama y ruta MC/DC de un requisito de seguridad o capacidad funcional se pruebe completamente.
ISO/SAE 21434 no es la única norma o regulación que afecta a la industria automotriz y sus prácticas de ingeniería de ciberseguridad. Existen normas y reglamentos específicos para la conducción autónoma y la seguridad. Otros son aplicables a los procesos generales de desarrollo y producción de software. Comprender estos estándares también allana el camino para el cumplimiento de ISO/SAE 21434.
A continuación se detallan algunos de estos estándares y regulaciones y cómo se relacionan con ISO/SAE 21434.
Se trata de una norma internacional para la seguridad funcional de los sistemas eléctricos y electrónicos de los vehículos de carretera. La norma define el proceso, los requisitos y las actividades para garantizar la seguridad funcional de los vehículos de carretera y sus elementos, como hardware, software y sistemas, a lo largo de su ciclo de vida, desde el concepto hasta el desmantelamiento.
La norma ISO 26262 cubre todos los tipos y niveles de automatización de vehículos de carretera, incluida la conducción autónoma, y proporciona orientación y métodos para realizar análisis de peligros y evaluaciones de riesgos, objetivos de seguridad, diseño de seguridad, validación y pruebas de seguridad, y gestión de la seguridad.
Aunque la norma ISO 26262 se centra en la seguridad funcional de los vehículos de carretera y sus elementos, complementa a la norma ISO 21434. Como tal, deben aplicarse juntas para lograr una ingeniería de seguridad integral y consistente de los vehículos de carretera y sus elementos.
Conocida como Seguridad de la funcionalidad prevista (SOTIF), esta norma describe medidas para garantizar la seguridad de la funcionalidad prevista de los vehículos de carretera. Es particularmente relevante para sistemas que requieren altos niveles de conciencia situacional para la seguridad, como sistemas de intervención de emergencia y sistemas de automatización de conducción que van del nivel 1 al 5. ISO 21448 e ISO/SAE 21434 son estándares automotrices y cada uno aborda un aspecto único de la seguridad del vehículo. y seguridad general.
El Foro Mundial de la CEPE para la Armonización de las Regulaciones de Vehículos (WP.29) establece estándares globales para la seguridad de los vehículos y el impacto ambiental. Complementa ISO/SAE 21434 al exigir a los fabricantes que demuestren un sistema de gestión de ciberseguridad (CSMS) apropiado de acuerdo con el estándar ISO/SAE 21434.
Las cuatro normas y regulaciones son complementarias, compatibles y deben aplicarse juntas para lograr una ingeniería de seguridad integral y consistente de los vehículos de carretera y sus elementos.
Si bien los estándares discutidos anteriormente son cruciales para construir sistemas de software automotriz ciberrresilientes, no podemos negar que se necesita mucho para satisfacerlos. A lo largo de los años, las empresas de pruebas de software como Parasoft han simplificado el proceso para cumplir con este espectro de cumplimiento incorporándolos a su solución de pruebas de software. A continuación se muestran algunas de las capacidades.
Soluciones de prueba de software de Parasoft automatizar pruebas de software flujos de trabajo y tareas como las siguientes para reducir el esfuerzo manual y la intervención necesarios para las pruebas de software.
La automatización ayuda a las organizaciones del sector automotriz a mejorar la eficiencia y efectividad de sus pruebas de software, ahorrando tiempo, dinero y recursos.
Este es otro ingrediente clave en las pruebas de software para automóviles. Las herramientas de prueba de software automotriz están integradas con técnicas y algoritmos avanzados, como IA, aprendizaje automático (ML)y heurísticas, para priorizar, seleccionar y ejecutar las pruebas de software más relevantes e importantes y proporcionar los resultados y comentarios de las pruebas de software más precisos y procesables. Con esta función, los ingenieros de software pueden mejorar la calidad y precisión de sus pruebas de software, así como reducir el costo, el esfuerzo y la duración de las pruebas de software.
Algunas soluciones de prueba de software orientadas a cumplir con los estándares de codificación se integran con entornos y herramientas de producción y desarrollo de software existentes, que incluyen:
También proporcionan capacidades y funcionalidades de prueba de software uniformes y consistentes entre los diferentes elementos y partes interesadas involucradas en el desarrollo de software. Esta integración ayuda a las organizaciones del sector automotriz a mejorar la consistencia y coherencia de sus pruebas de software y alinear sus pruebas de software con su flujo de trabajo de producción y desarrollo de software.
La colaboración es una de las características distintivas del desarrollo de software moderno. Las soluciones de prueba de software de calidad facilitan la colaboración y la comunicación entre los diferentes elementos y partes interesadas involucradas en el desarrollo de software. La colaboración genera transparencia y responsabilidad en las pruebas de software y garantiza la alineación e integración de las pruebas de software con los requisitos y expectativas del software. Muchas organizaciones han adoptado métodos ágiles para implementar y automatizar la colaboración.
El cumplimiento de ISO/SAE 21434 no se trata solo de seguir los requisitos y actividades especificados por la norma, sino también de adoptar y aplicar las mejores prácticas que puedan respaldar y mejorar. Ciberseguridad para la industria del automóvil.
A continuación se presentan algunas de las mejores prácticas para cumplir con ISO/SAE 21434 y cómo pueden ayudar a las organizaciones a mejorar la calidad, confiabilidad y seguridad de su software y otros sistemas integrados.
La revisión de código es el proceso de examinar y evaluar el código fuente del software y proporcionar comentarios y sugerencias para mejorar. La revisión de código ayuda a los ingenieros de software a detectar y corregir cualquier problema que pueda afectar la calidad, confiabilidad o seguridad de su software, incluidos los siguientes:
Las revisiones de código pueden ser desafiantes y llevar mucho tiempo, especialmente cuando el software es complejo, grande o se actualiza con frecuencia, como lo que se puede obtener en la industria automotriz. Como tal, las organizaciones deben desarrollar una cultura de revisión continua del código, que es la práctica de realizar revisiones del código de forma regular y consistente, durante todo el ciclo de vida de desarrollo de software (SDLC).
Una de las mejores prácticas de estándares de codificación para cumplir con ISO/SAE 21434 es establecer estándares de codificación como CERT y/o MISRA desde el principio. Las organizaciones pueden aprovechar las soluciones de prueba de software automatizadas como la prueba Parasoft C/C++ para respaldar y simplificar la definición y las tareas de los estándares de codificación, como la selección, personalización y documentación de los estándares de codificación, y reducir el esfuerzo manual, lo que reduce los costos.
Para mitigar los riesgos de ciberseguridad de la cadena de suministro asociados con el software de terceros, las empresas automotrices deben instituir estrictos requisitos de validación de integridad, entrega y desarrollo de códigos seguros para los proveedores.
Los proveedores deben desarrollar código de forma segura utilizando las mejores prácticas, como modelado de amenazas, análisis estático y lenguajes seguros para minimizar las vulnerabilidades, y luego aprobar digitalmente el software. Se deben aplicar controles de acceso y cifrado sólidos para proteger los canales de distribución contra la manipulación.
Una vez recibidas, los OEM deben autenticar las firmas, ejecutar sumas de verificación para validar la corrección y escanear en busca de fallas o malware antes de la integración. También es importante que los proveedores mantengan la transparencia sobre sus controles y procesos de seguridad a través de auditorías e informes para una supervisión continua. Además, deben abordar con prontitud cualquier vulnerabilidad identificada según las políticas de divulgación de OEM.
Prueba continua es otra mejor práctica para cumplir con ISO/SAE 21434. Es la práctica de realizar pruebas de forma regular y consistente en todo el SDLC.
Las pruebas continuas facilitan la identificación y resolución de defectos, errores o vulnerabilidades en el software lo antes posible. También ayuda a evitar la acumulación y propagación de defectos, errores o vulnerabilidades que pueden resultar más difíciles y costosos de solucionar más adelante. La puntualidad permite a las organizaciones del sector automotriz mejorar la eficiencia y eficacia de sus procesos de producción y desarrollo de software y reducir el tiempo, el esfuerzo y los recursos necesarios para las pruebas y depuración de software.
Las organizaciones automotrices deben exigir que los proveedores de componentes proporcionen documentación detallada de sus políticas, programas y prácticas internas de ciberseguridad. Esta documentación debe revisarse minuciosamente para confirmar la alineación con la lista de verificación de seguridad del OEM. Se deben abordar todas las lagunas o desviaciones.
El análisis de amenazas y evaluación de riesgos (TARA) es otra parte clave para cumplir con el estándar ISO/SAE 21434 para ciberseguridad automotriz. TARA proporciona una forma sistemática de identificar, analizar y evaluar los riesgos de ciberseguridad para vehículos y sistemas automotrices.
Ejecutando la estrategia TARA proporciona información crucial sobre las actividades de ciberseguridad automotriz descritas en ISO/SAE 21434, como las siguientes:
Parasoft C / C ++test proporciona soluciones de prueba de software automatizadas para ayudar a las organizaciones a cumplir con la norma ISO/SAE 21434.
Soporte integral para estándares automotrices como MISRA, CERT y AUTOSAR C++14. El conjunto de reglas empaquetado de verificadores de estándares de codificación de seguridad y automoción, junto con informes de cumplimiento dedicados, ayuda a las organizaciones automotrices a alcanzar los niveles requeridos de seguridad en sus sistemas.
Informes de cumplimiento personalizados y análisis avanzados con DTP de Parasoft, que centraliza, procesa y presenta datos relacionados con la calidad del software. Recopila resultados de diversos métodos de prueba, lo que permite una supervisión continua de los resultados de las pruebas. DTP proporciona un panel consolidado para ver los resultados del análisis estático, pruebas unitarias, pruebas manuales, cobertura de código, trazabilidad de requisitos y más. También incluye widgets de análisis listos para usar para comprender los riesgos y mejorar la productividad. Para satisfacer las necesidades de cumplimiento, DTP automatiza la recopilación de datos de calidad en todos los métodos de prueba.
Pruebas continuas de software para reducir el tiempo, el esfuerzo y el costo de entregar software seguro, confiable y compatible. Las capacidades de prueba de software automatizadas de C/C++test están diseñadas para los entornos Agile DevOps modernos de hoy y se integran en el IDE del desarrollador, la canalización de CI/CD y las implementaciones en contenedores para detectar defectos antes en el SDLC y exigir automáticamente el cumplimiento de los estándares de la industria.
Verificación automatizada de estándares de codificación internos. con el editor de reglas especializado de Parasoft. Los equipos pueden crear fichas personalizadas para ampliar o personalizar las reglas integradas. Esto reemplaza el proceso manual de verificación de cumplimiento, automatizando la verificación de estándares de codificación internos.
AI y ML para un mejor análisis de código y ayudar a las organizaciones con Adopción de soluciones de análisis estático Un obstáculo común que encuentran los equipos es la gestión de una gran cantidad de advertencias y el manejo de falsos positivos percibidos. Independientemente de los requisitos de cumplimiento (MISRA, CWE, OWASP y más), la solución de análisis estático automatizado de Parasoft señala y prioriza las infracciones de las reglas que el equipo debe corregir primero.
La solución mejorada con IA y ML revisa los nuevos hallazgos del análisis estático en el contexto de las interacciones históricas con la base del código y los hallazgos del análisis estático previo para predecir la relevancia y priorizar los nuevos hallazgos. Un motor de detección de puntos de acceso funciona con un modelo avanzado basado en IA para asignar infracciones a desarrolladores que coincidan con sus mejores habilidades y experiencia, aprendiendo de las infracciones que solucionaron en el pasado.
Creación automatizada de pruebas unitarias permite la generación de pruebas unitarias aplicables a pruebas de todo el proyecto y pruebas de archivos específicos. El procedimiento incluye el establecimiento de una infraestructura de pruebas y la creación de conjuntos de pruebas. Las pruebas unitarias ayudan a garantizar la seguridad y confiabilidad del código al probar pequeñas secciones del mismo de forma independiente. Para hacer esto, los desarrolladores y evaluadores utilizan una técnica llamada stubbing, donde ayudan a aislar partes específicas del código denominadas unidad o función. Estos resguardos imitan el comportamiento de otras partes del código o sirven como reemplazos temporales para secciones que aún no se han desarrollado.
La industria automotriz necesita garantizar la ciberseguridad de los vehículos de carretera, ya que se vuelven más dependientes del software y están más expuestos a los ciberataques. La ciberseguridad afecta la seguridad, la privacidad y el desempeño de los conductores, pasajeros y otros usuarios de la vía, así como la innovación, la competitividad y el cumplimiento del sector automotriz.
Cumplir con los estándares estipulados en ISO/SAE 21434 es una de las formas en que el software que impulsa los vehículos de carretera está protegido contra los ciberataques. Además de cumplir con ISO/SAE 21434, las organizaciones deben prestar atención a cumplir con estándares relacionados como ISO 26262, ISO 21448, UNECE WP.29, CERT, MISRA y OWASP.
El cumplimiento de ISO/SAE 21434 y estos otros estándares conlleva desafíos que van desde la complejidad, la diversidad y la dinámica hasta los recursos utilizados para acoplar sistemas de software automotrices. La industria automotriz puede superar estos desafíos adoptando las mejores prácticas de codificación y automatizando las pruebas de software con soluciones como Parasoft C/C++test para experimentar los siguientes beneficios:
“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.