Análisis ISO 21434: prácticas y directrices de cumplimiento para desarrolladores de software automotriz

ISO 21434 es una norma que ayuda a los desarrolladores de automóviles, los fabricantes de equipos originales y sus proveedores a garantizar la seguridad de los vehículos. A medida que los vehículos modernos estén más conectados y aumenten los vehículos autónomos, será aún más importante garantizar que el software automotriz pueda diseñarse e implementarse de forma segura.

Este artículo le dirá qué es ISO 21434 y brindará algunas sugerencias para los equipos de desarrollo de software integrado en automóviles.

¿Qué es la norma ISO 21434?

ISO 21434 "Vehículos de carretera - Ingeniería de ciberseguridad automotriz" es un estándar de la industria automotriz. Se centra principalmente en los riesgos de ciberseguridad en los sistemas electrónicos de los vehículos de carretera.

ISO 21434 cubre todas las etapas del ciclo de vida del vehículo, desde el diseño inicial hasta el final de su vida útil, garantizando la seguridad del vehículo mediante la aplicación de ingeniería de ciberseguridad. Esto se aplica a todos los sistemas electrónicos, componentes y software del vehículo, así como a cualquier conexión externa.

Además, el estándar proporciona a los desarrolladores un enfoque integral para implementar salvaguardas de seguridad que cubren toda la cadena de suministro.

¿Por qué es importante la ISO 21434?

A medida que aumenta la conectividad de los vehículos (como Wi-Fi y Bluetooth) y se desarrollan los vehículos autónomos, también aumenta el riesgo de ciberataques y daños causados.

La norma ISO 21434 se estableció para proporcionar un proceso estructurado que garantice que las cuestiones de ciberseguridad se consideren durante todo el ciclo de vida de los productos automotrices.

Este estándar exige que los fabricantes de automóviles y proveedores ejerzan el debido cuidado al implementar la ingeniería de ciberseguridad y apliquen la gestión de la ciberseguridad en toda la cadena de suministro para respaldar este proceso. Alienta a las empresas a construir una cultura de ciberseguridad e incorporar consideraciones de seguridad en todos los diseños desde el principio.

Cumple con la norma ISO 21434

ISO/SAE 21434 tiene requisitos específicos para el desarrollo de software, incluido el análisis para verificar posibles vulnerabilidades y garantizar que los requisitos de ciberseguridad sean consistentes, correctos y completos.

La ciberseguridad debe estar a la vanguardia de todas las decisiones de diseño, incluida la elección de lenguajes de programación para el desarrollo de software.

Hay varios criterios a considerar al elegir un lenguaje de programación, que incluyen:

  • Técnicas seguras de diseño y codificación.

  • definición clara de sintaxis y semántica

Sin embargo, es posible que el idioma elegido no cumpla plenamente con estos criterios. Por lo tanto, existen varias formas de solucionar estas deficiencias del lenguaje, que incluyen:

  • Usar subconjuntos de idiomas

  • Aplicar escritura fuerte

  • Utilice técnicas de implementación defensiva

Recomendamos utilizar pautas de codificación para compensar las deficiencias del idioma elegido.

¿Por qué ISO 21434 recomienda el uso de MISRA C:2012 Revisión 1 y las Directrices CERT C?

Se sabe que los lenguajes de programación como C y C++ contienen características que pueden hacer que un programa muestre un comportamiento indefinido o poco claro en determinadas situaciones. En un sistema seguro, esto es inaceptable . Puede reducir la probabilidad de problemas de ciberseguridad en su programa restringiendo el uso de ciertas construcciones de lenguaje y subconjuntos de lenguaje riesgosos , haciendo que su lenguaje de programación sea adecuado para sistemas con mayores requisitos de ciberseguridad.

C sigue siendo el lenguaje más utilizado en software automotriz. ISO/SAE 21434 recomienda específicamente que los proyectos que utilizan el lenguaje C utilicen MISRA C:2012 Revisión 1 y las Directrices CERT C.

La creación de subconjuntos de idiomas es el núcleo de las directrices MISRA C:2012 y CERT C. MISRA C: 2012 Revisión 1 establece: "La Guía MISRA C define un subconjunto del lenguaje C".

Ambas pautas logran esto limitando el uso de ciertas funciones riesgosas.

Por ejemplo, en MISRA C:2012 Revisión 1, la Regla 21.5 prohíbe el uso de funciones en <signal.h>, y la Regla 21.21 prohíbe el uso de funciones del "sistema".

Del mismo modo, el bloqueo de manejadores de señales específicos se especifica en la regla CERT C Señal 11 (SIG), y ENV33-C ya no llama al sistema().

La escritura segura garantiza la comprensión de los tipos de datos del lenguaje y evita ciertos tipos de errores de programación. El uso de pautas de codificación fuertemente tipadas garantiza la corrección y coherencia en la codificación.

MISRA C:2012 Revisión 1 tiene un modelo de tipo básico diseñado específicamente para imponer una tipificación estricta, mientras que CERT C aborda implícitamente la tipificación estricta en reglas individuales, como la regla INT32-C para evitar el desbordamiento de enteros con signo.

Las técnicas de implementación defensiva permiten que el software continúe funcionando normalmente en circunstancias inesperadas. Requiere pensar en “lo que podría pasar”. Por ejemplo, considere posibles datos contaminados y comprenda el orden en el que se evalúan las funciones aritméticas. Lo más importante es que el código debe ser simple y fácil de entender.

Todas las técnicas de implementación defensiva deben comenzar con el uso de pautas de codificación aceptadas. MISRA C:2012 Revisión 1 y CERT C logran esto (identificando comportamientos de lenguaje críticos y no especificados), haciendo que el código generado sea más confiable, menos propenso a errores y más fácil de mantener.

CERT C es un estándar de seguridad de lenguaje completo, por lo que está diseñado para identificar vulnerabilidades exclusivas de la seguridad de la red. MISRA C:2012 Revisión 1 define un subconjunto del lenguaje adecuado para seguridad y defensa, y tiene reglas específicas para técnicas de implementación defensiva, incluidas declaraciones de cambio (Reglas 16.2 y 16.3) y gestión de recursos (Regla 22.x).

¿Qué son las herramientas ISO 21434?

Para identificar eficazmente vulnerabilidades y debilidades y hacer cumplir las pautas de codificación recomendadas, como MISRA y CERT C, debe utilizar herramientas estandarizadas en la industria, específicamente analizadores de código estático.

Las herramientas de análisis de código estático, como Helix QAC, pueden verificar el cumplimiento de las pautas de codificación y proporcionar evidencia del cumplimiento de los estándares. Esto proporcionará coherencia, corrección e integridad generales a los requisitos de ciberseguridad.

Las herramientas de software son un componente esencial de cualquier proceso de desarrollo de vehículos y deben gestionarse teniendo en cuenta el impacto en la ciberseguridad del producto. Esto también incluye herramientas de verificación como analizadores estáticos.

Es importante garantizar que las herramientas utilizadas durante el desarrollo sean seguras y que no afecten negativamente a la seguridad de la red. Esto incluye la gestión de las herramientas, garantizar que se utilicen correctamente y garantizar que el acceso esté controlado. Es necesario proporcionar pruebas que demuestren qué tan bien se está administrando la herramienta, incluidos resultados certificados.

Las herramientas adecuadas facilitarán la demostración del cumplimiento y los analizadores estáticos como Helix QAC pueden ayudar a cumplir las directrices de desarrollo y producir software seguro y confiable.

Helix QAC cumple totalmente con las directrices MISRA C:2012 y CERT C, y anteriormente pasó la certificación de sistema crítico de seguridad TÜV-SÜD, lo que le ayuda a verificar fácilmente si su software tiene vulnerabilidades de seguridad de código comunes.

Además, al utilizar un analizador de código estático como Helix QAC, puede acelerar el cumplimiento de la verificación al:

  • Haga cumplir los estándares de codificación y detecte conflictos de reglas

  • Detecte problemas de cumplimiento en las primeras etapas del desarrollo

  • Acelere la revisión de código y los esfuerzos de prueba manual

  • Informes de cumplimiento en el tiempo y en las versiones del producto

Longzhi pronto aparecerá en la Semana de tecnología de software y electrónica automotriz de ACT, brindando soluciones de desarrollo eficientes, seguras y a gran escala.

Como se mencionó anteriormente, las herramientas de software son una parte integral de cualquier proceso de desarrollo de vehículos. Las dos herramientas de la solución de análisis de código estático Perforce ( Helix QAC y Klocwork ) se dirigen a diferentes lenguajes de desarrollo y aportan código de alta calidad, bajo mantenimiento y que cumple con los estándares y las reglamentaciones para el desarrollo de software automotriz.

En la próxima Semana de tecnología de software y electrónica automotriz de ACT, Longzhi presentará una solución para la industria automotriz que integra las herramientas de análisis de código estático Perforce para ayudar a equipos a gran escala a colaborar fácilmente, acelerar la innovación y desarrollar software para automóviles seguro, confiable y compatible.

¡Le invitamos sinceramente a visitar el stand n.° 26 de Longzhi del 17 al 18 de agosto (jueves a viernes)! Además de mostrar las soluciones de análisis de código estático de Perforce, también trajimos soluciones como el control de versiones Helix Core, la gestión de proyectos Jira, la base de conocimientos Confluence y ITSM basado en Jira Service Management para ayudar a las empresas automotrices a lograr un desarrollo ágil y eficiente y mejorar la seguridad de los productos. y cumplimiento, y mejorar la colaboración en equipo para entregar productos mejor y más rápido.

Al visitar el stand también podrá participar en emocionantes sorteos y ganar generosos premios. Los expertos de Longzhi DevSecOps también se comunicarán con usted cara a cara en el sitio para responder varias preguntas sobre el desarrollo de software automotriz y compartir nuestras mejores prácticas y experiencias.

Fuente del artículo: https://bit.ly/43ZYvFZ

Supongo que te gusta

Origin blog.csdn.net/weixin_49715102/article/details/132210310
Recomendado
Clasificación