Seminario web destacado: Pruebas de API mejoradas con IA: un enfoque de prueba sin código | Vea ahora

Conformidad de software ISO 26262 en la industria automotriz

Resumen

Perspectivas de la industria automotriz

El proyecto de industria del automóvil La industria automotriz sigue evolucionando y creciendo rápidamente en áreas técnicas en las que otras industrias han operado durante muchos años. Por ejemplo, el Laboratorio de Propulsión a Chorro de la NASA publica correcciones de código y nuevas funciones que se encuentran actualmente en desarrollo para una nave espacial que se encuentra a millones de kilómetros de distancia, en camino a su destino. De manera similar, encontramos que la industria automotriz proporciona actualizaciones de software para automóviles que se han vendido y que están siendo conducidos por sus consumidores en todo el mundo.

El futuro de los coches autónomos también parece prometedor, con potencial para una adopción generalizada en las próximas décadas. Varias empresas, entre ellas Waymo, Tesla, Uber y fabricantes de coches tradicionales como GM y Ford, están a la vanguardia del desarrollo de tecnología de conducción autónoma. Muchas están realizando pruebas exhaustivas y algunas han puesto en marcha programas piloto en ciudades seleccionadas. A medida que la tecnología madure, se espera que revolucione el transporte, haciéndolo más seguro, más eficiente y más accesible.

Desafíos en materia de seguridad y protección

Este tipo de evolución, en particular la de los sistemas avanzados de asistencia al conductor (ADAS), conlleva nuevos desafíos en materia de seguridad. Normas como la ISO 26262 abordan la seguridad funcional del desarrollo de sistemas eléctricos y electrónicos (E/E), que incluyen propulsión, sistemas de control dinámico y asistencia al conductor.

Además, plataformas como AUTOSAR ofrecen una arquitectura de capas de software estandarizada y abierta que mejora aún más la seguridad. Incluyen pautas para el uso del lenguaje C++14 en el desarrollo de sistemas críticos y relacionados con la seguridad. Sin embargo, los fabricantes se han dado cuenta de que, debido a la mayor complejidad y las incógnitas de las tecnologías modernas que trabajan juntas, junto con los cambios en el entorno interno y externo, han surgido problemas de seguridad que estas normas no abordan.

Al abordar la norma ISO 21343, es importante comprender que las consideraciones de seguridad recomendadas para la ciberseguridad deben integrarse en sus procesos de desarrollo existentes. ISO 21434 Se hace referencia a la norma ISO 26262, ya que se considera que estas dos disciplinas deben intercambiar estrategias, coordinación e incluso herramientas. Esto significa que su organización debe hacer que sus ingenieros de sistemas trabajen con sus ingenieros de seguridad durante la fase de análisis de requisitos de seguridad y protección.

Paralelamente, se deben realizar análisis de peligros y evaluación de riesgos (HARA) para la seguridad, y análisis de amenazas y evaluación de riesgos (TARA) para la protección. No obstante, se necesita un entorno de colaboración sólido para garantizar un resultado seguro y protegido.

Modelo de proceso V para la seguridad y protección del software. Muestra que la seguridad y protección son parte de todo el proceso.
Modelo de proceso V para seguridad y protección del software.

Garantizar la seguridad en la fase de implementación del software comienza por aplicación de análisis de código estáticoEl estándar de codificación MISRA incorpora pautas de seguridad, pero también puede aumentar y fortalecer la seguridad del código Adopción de CERT.

Continuando por el lado derecho de la V, realice pruebas unitarias de todos los requisitos de seguridad de bajo nivel. En la siguiente fase, cree casos de prueba que incorporen funcionalidad adicional. Estos casos de prueba garantizan que se cumplan los requisitos de alto nivel.

En cuanto a las pruebas del sistema, cree pruebas del sistema para asegurarse de que se verifiquen los requisitos del sistema. Confirme que todos los casos de prueba se corresponden con sus requisitos. Esto garantiza que ningún requisito quede sin probar. Sin embargo, para garantizar que cada requisito se pruebe por completo, incorpore una cobertura de código estructural según lo recomendado por ISO 21434 e ISO 26262. La cobertura de código no solo garantiza que se haya probado cada línea de código, sino que también garantiza que sus casos de prueba de seguridad cubran por completo cada ruta de ejecución posible a través de sus medidas de remediación de la funcionalidad de seguridad.

Para superar los desafíos de seguridad, los equipos pueden recurrir a soluciones como Parasoft C/C++test, que ha sido certificada por TÜV SÜD para su uso en aplicaciones críticas para la seguridad según la norma ISO 26262 y la norma ISO 21434 a través de la asociación. Ambas normas recomiendan realizar análisis estáticos, análisis dinámicos (que incluyen pruebas unitarias, de integración y de sistema), cobertura de código y trazabilidad de requisitos. Parasoft ofrece exactamente lo que recomiendan las normas ISO 26262 e ISO 21434 para la verificación de software en materia de seguridad y protección, y también proporciona la documentación necesaria para demostrar el cumplimiento de ambas normas.

Requisitos reglamentarios del documento WP.29 de la CEPE

El 23 de junio de 2020, la Comisión Económica de las Naciones Unidas para Europa (CEPE) publicó los requisitos reglamentarios en los que se describen los nuevos procesos y tecnologías que los fabricantes de automóviles deben incorporar tanto a su organización como a sus vehículos. Estas regulaciones también se aplican a los proveedores de nivel 1 y nivel 2 de componentes de software y hardware, incluidos los servicios móviles.

Los fabricantes de vehículos deben incorporar a la estructura organizativa un marco de gestión basado en riesgos para descubrir, analizar y protegerse contra amenazas, vulnerabilidades y ciberataques relevantes.

Las siguientes categorías requieren pruebas de ciberseguridad y aprobar inspecciones.

  • La categoría M comprende los vehículos estándar de cuatro ruedas.
  • La categoría N es para camionetas y furgonetas.
  • Las categorías L6 y L7 incluyen coches eléctricos y capacidades autónomas.

Una calificación aprobatoria en los requisitos clave del WP.29 tanto organizativos como de vehículos significa que el fabricante recibe un certificado de cumplimiento. Los vehículos nuevos sin este certificado no se podrán vender en la UE después de julio de 2024. Tenga en cuenta que Estados Unidos no participa ni tiene sus propias regulaciones similares. Sin embargo, el futuro está por llegar.

Especias para automoción

El programa ASPICE (Automotive Software Process Improvement and Capability Determination) ofrece un marco de medición para que los evaluadores independientes evalúen la capacidad de una organización para el desarrollo de software. Garantizar la seguridad del software y la ciberseguridad no solo se encuentra dentro de los aspectos de ingeniería técnica del desarrollo del sistema electrónico, sino que también requiere que la organización incorpore procesos y controles.

Estos procesos y controles deben incluir formas de rastrear y monitorear el progreso dentro de todas las prácticas de la organización para garantizar:

  1. Se han adoptado prácticas de seguridad y ciberseguridad.
  2. Se cumplen los requisitos de seguridad y ciberseguridad.

Este es también uno de los dos criterios de certificación clave para el WP.29 de la CEPE sobre capacidad de ciberseguridad organizacional.

Escenarios inseguros

Se han materializado otras derivaciones de la norma ISO 26262, como la ISO/PAS 21448, más conocida como SOTIF (seguridad de la funcionalidad prevista). SOTIF le ayuda a analizar y prevenir el uso indebido de la funcionalidad prevista cuando crea una situación insegura. Por ejemplo, su vehículo se apaga inadvertidamente mientras lo conduce, debido a una actualización de software iniciada.

Las vulnerabilidades de seguridad también plantean situaciones peligrosas. Un atacante podría usar la conexión wifi del vehículo para explotar de forma remota un puerto expuesto. De alguna manera, podría abrirse paso desde el sistema de información y entretenimiento avanzado del vehículo (IVI) para tomar el control o influir en componentes críticos para la seguridad, como los frenos o la dirección, gracias a que comparten la misma infraestructura de comunicaciones.

El papel de las normas

Normas como la SAE J3061, sustituida por la ISO/SAE 21434, especifican que se debe realizar un análisis de amenazas y una evaluación de riesgos (TARA) inicial para evaluar las posibles amenazas relacionadas con la operación, la privacidad y otros factores que pueden afectar a un usuario o conductor de la vía. Si el riesgo de cualquier amenaza es suficientemente alto, entonces es necesario un proceso de ciberseguridad. Existen varios enfoques para eliminar las vulnerabilidades de seguridad y requisitos que mitiguen los riesgos. Obtenga más información sobre TARA y por qué su equipo de desarrollo necesita TARA.

Actualmente existen normas como la UL 4600 específicamente para el funcionamiento de vehículos totalmente autónomos. Esto significa que no hay supervisión humana y que la autonomía asume toda la responsabilidad. Esta norma se centra en la elaboración de un caso de seguridad para el despliegue de vehículos SAE Nivel 4/5, no en cómo probar la seguridad de los vehículos autónomos en las vías públicas. Eso implicaría una norma diferente.

Estas normas y otras desempeñan un papel crucial en la seguridad de la industria automotriz. Los fabricantes de equipos originales (OEM) asumen los costos de responsabilidad por entregar vehículos inseguros a las masas. Para mitigar estos riesgos, los OEM deben adoptar y cumplir estas normas. Sin embargo, los OEM deben exigir la misma calidad y cumplimiento por parte de sus proveedores. Una debilidad en un componente puede socavar la seguridad de todo el sistema.

Creación de estándares de codificación personalizados

Parasoft, en colaboración con algunos de sus fabricantes de equipos originales (OEM) de automóviles, ha creado estándares de codificación personalizados que incorporan MISRA, AUTOSAR C++14, CERT, CWE y otras reglas personalizadas para que las utilicen sus proveedores. Esto garantiza que exista el mismo nivel de calidad de software en toda la cadena de suministro.

Parasoft C/C++test es una solución de pruebas unificada que incluye pruebas unitarias y cobertura de código estructural como parte de su funcionalidad. Esta solución para el desarrollo de software C/C++ admite un conjunto integral de objetivos de hardware y ecosistemas de desarrollo que los proveedores y OEM pueden usar con diversas infraestructuras de desarrollo. C/C++test ha sido certificado por TÜV SÜD para su uso en sistemas críticos de seguridad. Para ADAS y automóviles conectados seguros, las integraciones perfectas de C/C++test con Prueba SOA y Virtualizar Combine pruebas de API con cobertura de aplicaciones en tiempo de ejecución y bancos de pruebas virtuales simulados.

¿Qué es ISO 26262?

La ISO 26262 es una norma de seguridad funcional que abarca todo el proceso de desarrollo de productos automotrices. Incluye actividades como la especificación de requisitos, el diseño, la implementación, la integración, la verificación, la validación y la configuración.

La norma proporciona orientación sobre las actividades del ciclo de vida de seguridad automotriz al especificar los siguientes requisitos:

  • Gestión de seguridad funcional para aplicaciones de automoción
  • La fase de concepto para aplicaciones automotrices
  • Desarrollo de productos a nivel de sistema para el diseño arquitectónico de software de aplicaciones automotrices
  • Desarrollo de productos a nivel de hardware para pruebas unitarias de software de aplicaciones automotrices
  • Desarrollo de productos a nivel de software para aplicaciones de automoción
  • Producción, operación, servicio y desmantelamiento.
  • Procesos de soporte: interfaces dentro de desarrollos distribuidos, requisitos de gestión de seguridad, gestión de cambios y configuración, verificación, documentación, uso de herramientas de software, calificación de componentes de software, calificación de componentes de hardware y argumentos de uso probado.
  • Análisis orientados a la seguridad y al nivel de integridad de seguridad automotriz (ASIL)

La ISO 26262 es una adaptación de la IEC 61508 para la industria automotriz. La IEC 61508 es una norma básica de seguridad industrial funcional para dispositivos eléctricos, electrónicos y electrónicos programables, y aplicable a todo tipo de industrias. Otros sectores como IEC 62304 médica y Ferrocarril EN 50128 También se han derivado de IEC 61508.

Dado que la norma ISO 26262 se extrajo y amplió a partir de la norma IEC 61508 para la industria automotriz, se trata por herencia de una norma de seguridad funcional que proporciona orientación para regular todo el proceso del ciclo de vida del producto, a nivel de software y hardware, desde el desarrollo conceptual hasta el desmantelamiento. Abarca los sistemas automotrices eléctricos y electrónicos y su proceso de desarrollo, incluida la especificación de requisitos, el diseño, la implementación, la integración, la verificación, la validación y la configuración.

La última versión, ISO 26262:2018, se subdivide en 12 partes. La norma ha ido evolucionando desde su primera edición, publicada en 2011.

¿Cuáles son las partes de ISO 26262?

Gráfico que muestra una descripción general de la norma ISO 26262. Cada parte tiene una descripción más detallada a continuación.
Descripción general de ISO 26262
Parte 1Sección de vocabulario de la norma. Aquí encontrará términos, definiciones y abreviaturas. 
Parte 2Gestión de la seguridad funcional, que define un proceso interno de seguridad funcional para el equipo o la empresa. Esto incluye contar con una organización de seguridad que supervise las actividades de planificación, coordinación y documentación relacionadas con la seguridad funcional.
Parte 3La fase de concepto que incluye los requisitos de las partes interesadas e impulsa lo que se va a construir y, en última instancia, entregar. En la imagen de Descripción general de la norma ISO 26262, observe en el lado derecho del cuadro de la fase de concepto el comienzo de una marca de agua en forma de V sombreada en gris. Las V sombreadas representan la interconexión entre las partes 3, 4, 5, 6 y 7 de la norma. Estas series de partes se basan en el ciclo de vida del desarrollo de software en forma de V. Tiene las diferentes fases de desarrollo representadas a la izquierda y las fases de verificación y validación o prueba a la derecha. Si es un ingeniero de sistemas o software en la industria integrada, el modelo en forma de V es muy conocido.  
Parte 4Comienzo del desarrollo del producto a nivel de sistema, que incluye las partes 5 y 6, pero se analizan desde un alto nivel de abstracción. Se define la arquitectura, incluidos los casos de prueba funcionales que verifican y validan la arquitectura. Para profundizar en el diseño y la implementación detallados, se definen las partes 5 y 6.
Parte 5La Parte 5 se centra en el desarrollo de hardware, que está fuera del alcance de este documento.
Parte 6Se centra en el desarrollo de software. Se puede ver una marca de agua en forma de V más pequeña y de color gris más claro para el desarrollo de software y, nuevamente, el lado izquierdo de la V encapsula las fases de descomposición de requisitos, diseño e implementación, pero ahora con un nivel de granularidad mucho menor. En el lado derecho de la V, las secciones 6.9, 6.10 y 6.11 representan las pruebas o la verificación y validación del software. Esto incluye pruebas unitarias, análisis estático, cobertura de código estructural, trazabilidad de requisitos y más.

También incluye requisitos para el desarrollo de software de aplicaciones automotrices. Esto incluye obligaciones para el inicio del desarrollo del producto, la especificación de los requisitos de seguridad del software, el diseño arquitectónico del software, el diseño y la implementación de la unidad de software. En cuanto a la verificación y validación del componente de software, existen múltiples métodos recomendados o obligatorios según el nivel de integridad de seguridad asignado (ASIL).
Parte 7Se ocupa de la producción y el funcionamiento del producto una vez que se encuentra en el campo. Esto significa que debe tener en cuenta aspectos como el mantenimiento y el desmantelamiento o la puesta fuera de servicio del producto.
Parte 8Especifica los distintos procesos y soluciones de apoyo necesarios para el desarrollo del sistema que ayudan a garantizar la seguridad funcional. Esto incluye contar con una solución de gestión de configuración, una de gestión de cambios, una de gestión de documentación y otras soluciones.

Otro aspecto importante de la Parte 8 es la calificación de las herramientas de software que se utilizan. No conviene utilizar una herramienta de código abierto o una herramienta no certificada de un proveedor que socave la seguridad de su producto al introducir problemas. Utilice una herramienta que haya sido certificada por la Asociación de Inspección Técnica (TUV) y que tenga un historial o argumento de uso comprobado. 
Parte 9Una sección fundamental que debe comprenderse porque tiene que ver con la asignación de una clasificación de riesgo al sistema en desarrollo. Esto significa que debe tener en cuenta el riesgo que corren los pasajeros o peatones si el sistema eléctrico o electrónico en desarrollo falla o funciona mal. 
Parte 10Una descripción general de la norma ISO 26262 con explicaciones adicionales que mejoran la comprensión y los conceptos de las otras partes de la norma, por lo que es informativo.
Parte 11Adaptación de las directrices de seguridad funcional a los semiconductores para la automoción. Ofrece orientación e información a los fabricantes de semiconductores sobre cómo desarrollar una propiedad intelectual que cumpla con la norma ISO 26262. Ayuda a incorporar la seguridad funcional porque los usuarios de semiconductores pueden no saber cómo utilizar el semiconductor de forma segura. Esto se produjo porque los sistemas automotrices se han vuelto muy complejos y los semiconductores han hecho posible la mayoría de las innovaciones recientes. Eso incluye tecnología basada en visión, unidades de procesamiento gráfico (GPU) mejoradas, procesadores de aplicaciones, sensores, DRAM y otros componentes que potencian los sistemas avanzados de asistencia al conductor o ADAS.
Parte 12Adaptación de la norma para motocicletas, que se ha omitido intencionalmente de la Figura 2-1 y de este libro electrónico.

Realización de análisis de peligros y evaluación de riesgos

En la norma ISO 26262, se debe realizar un análisis de peligros y evaluación de riesgos (HARA) en el sistema en desarrollo. Una vez completado el HARA, se asigna un ASIL al componente de software y existen niveles del A al D. El nivel A representa la asignación de peligro más baja y el nivel D representa la asignación de peligro más alta. Esto significa que el fallo de un sistema con asignación de ASIL D podría ser catastrófico.

También existe una asignación de nivel de gestión de calidad (QM), lo que significa que no hay ningún requisito de seguridad. El ASIL se asigna tomando la gravedad de la lesión por la probabilidad de la falla por la capacidad de control. La siguiente tabla detalla cada nivel de gravedad, exposición y capacidad de control.

Tabla de severidad, exposición y controlabilidad automotriz (ASIL).
Análisis de peligros y evaluación de riesgos
Gravedad = ¿Cuál sería el impacto o daño si ocurriera la falla?

Exposición = La frecuencia o probabilidad de que ocurra la falla.

Controlabilidad: El grado en el que podemos garantizar que el evento no suceda.

Existen varias tablas disponibles gratuitamente que ayudan a determinar el valor ASIL. La tabla que aparece a continuación es un ejemplo de una tabla mucho más fácil de leer que muestra los niveles ASIL en colores según la gravedad, la exposición y la capacidad de control.

Tabla de evaluación ASIL simplificada
Tabla de evaluación ASIL simplificada

Seguridad activa y pasiva

Los vehículos que circulan por la carretera disponen de numerosos sistemas de seguridad, algunos de los cuales se consideran seguridad activa y otros seguridad pasiva.

La seguridad activa se utiliza para referirse a la tecnología que ayuda a prevenir un choque o accidente. Tienes el control de tracción, el sistema de frenos antibloqueo, el sistema de visión ADAS y otros.

Los sistemas de seguridad pasiva sirven para mantener seguros a los pasajeros. Por ejemplo, en caso de accidente, tienes bolsas de aire y cinturones de seguridad. El limpiaparabrisas electrónico y el cuadro de instrumentos también son sistemas de seguridad pasiva.

Componentes activos y pasivos automotrices y sus niveles ASIL.
Seguridad activa y pasiva

Realización de pruebas de verificación y validación del diseño e implementación de unidades de software

Dado que esta guía se centra en el software, es importante cubrir los siguientes aspectos: métodos de verificación y validación de pruebas recomendado por la norma. Por ejemplo, la Tabla 7 captura los métodos de verificación 1a a 1k que se aplicarán durante el diseño e implementación de la unidad. El método 1h, “Análisis de código estático”, es altamente recomendado para los niveles ASIL A a D.

Las columnas de la Tabla 7 a la derecha muestran los niveles ASIL de A a D. Un solo símbolo “+” indica que la norma lo recomienda, dos “++” indican que es muy recomendable y una “o” indica que no se recomienda.

ISO 26262 Parte 6, 9.4.2:2018 - Métodos para la verificación de unidades de software
ISO 26262 Parte 6, 9.4.2:2018
Otros métodos clave de verificación se realizan a través del análisis dinámico, para pruebas basadas en requisitos e inyección de fallas. Por ejemplo, la Tabla 26262 de la norma ISO 8 tiene “Análisis de valores límite”. Este es un método para derivar un caso de prueba para eliminar defectos mediante la comprobación de entradas en la unidad que no son solo el mínimo, el medio y el máximo, sino los límites fuera del alcance de su rango, para ver si la unidad es lo suficientemente robusta para manejar estos casos atípicos.

ISO 26262 Parte 6, 9.4.3:2018 - Métodos para derivar casos de prueba
ISO 26262 Parte 6, 9.4.3:2018
Y la Tabla 9 enumera las métricas de cobertura de código estructural recomendadas para garantizar la cobertura de pruebas, eliminar el código muerto y los defectos ocultos.

ISO 26262 Parte 6, 9.4.4:2018 - Métricas de cobertura estructural
ISO 26262 Parte 6, 9.4.4:2018
Pancarta azul oscuro con imagen de un hombre hablando con una mujer sosteniendo una tableta en la mano en una sala de servidores.
Imagen de un hombre y una mujer con una tableta en la mano conversando en una sala de servidores.

Mejore sus pruebas de software con las soluciones de Parasoft.