español

Seleccione el idioma

EnglishDeutschFrançaisрусский한국의ItaliaNederlandespañolPortuguêsMagyarországDanskΕλλάδαpolskiPilipinoČeštinaTiếng ViệtMelayuMaoriSvenskaSuomiУкраїнаromânescSlovenija
Casa > Noticias > Calificación de la herramienta del compilador para seguridad funcional y ciberseguridad

Calificación de la herramienta del compilador para seguridad funcional y ciberseguridad

En 2020, la Comisión Económica de las Naciones Unidas para Europa publicó la regulación sobre disposiciones uniformes sobre la aprobación de vehículos con respecto al Sistema de Gestión de Ciberseguridad y Ciberseguridad, también conocido como WP.29.

En la UE, Japón, Corea y el Reino Unido, esta regulación se está incorporando a la legislación para la aprobación del tipo de vehículo, lo que hace que el cumplimiento de la ciberseguridad sea no negociable para asegurar el acceso al mercado.

Aunque WP.29 no menciona el estándar de ingeniería ISO/SAE 21434: 2021 Road -Cybersecurity Engineering, se entiende que si un OEM y su cadena de suministro pueden demostrar el cumplimiento de este estándar, entonces ese cumplimiento puede usarse para demostrar el cumplimiento con el WP.29 Regulación. Demostrando el cumplimiento del estándar de seguridad cibernética ISO debería proteger a los OEM y sus proveedores de responsabilidad.




Calificación del compilador

El estándar ISO 26262 dedica un capítulo a los criterios para determinar el nivel de confianza requerido en una herramienta de software y proporciona métodos para calificar la herramienta para crear evidencia de que es adecuado para ser utilizado para el desarrollo de software relacionado con la seguridad funcional.

Cuatro métodos califican una herramienta de software: mayor confianza del uso; evaluación del proceso de desarrollo; validación de la herramienta de software; y desarrollo de acuerdo con un estándar de seguridad.

Para niveles más altos de integridad de seguridad automotriz (ASIL), solo los dos últimos métodos son adecuados. La validación de la herramienta significa usar medidas para demostrar que la herramienta de software cumple con los requisitos especificados para su propósito.

Se están utilizando dos enfoques diferentes para cumplir con los requisitos de validación de la herramienta ISO 26262. Algunos proveedores de compiladores realizan la validación de la herramienta internamente e invitan a un organismo de evaluación de conformidad para certificar que la herramienta y su documentación de seguridad son adecuadas para su propósito. El cliente recibe un conjunto de herramientas de compilador certificado y solo necesita aplicar las pautas del manual de seguridad para mostrar que el caso de uso es compatible con un caso de uso calificado. Otros proveedores ofrecen un conjunto de herramientas de compilador certificable (versus certificado) más una metodología de calificación de herramientas con herramientas y documentación de soporte.

La metodología de calificación de la herramienta generalmente está certificada y el cliente debe realizar la calificación de la herramienta, que se puede resumir como:

* Especificar el caso de uso para definir los requisitos que deben satisfacer la herramienta
* Seleccionar las pruebas apropiadas para verificar esos requisitos
* Realizar las pruebas y analizar los resultados de las pruebas
* Generar la documentación de seguridad y aplicar la guía de los documentos de seguridad.
Existen costos ocultos con este enfoque, como aprender la metodología de calificación y las herramientas asociadas, licenciar las suites de pruebas necesarias, realizar el proceso de validación de herramientas, interactuar con el certificador y, finalmente, qué hacer si las pruebas fallan.

Calificación del compilador

Un compilador puede modificar (optimizar) el comportamiento de un programa de manera que el programador no previó. La intención estructural del desarrollador del software puede no ser representada con precisión en la representación final del programa fuente y el compilador puede afectar la seguridad del software.

A diferencia del estándar de seguridad funcional ISO (FUSA), el estándar de seguridad cibernética ISO (ISO 21434 Sección 5.4.7 Gestión de herramientas) no especifica los requisitos de calificación de la herramienta. Se desconocen los criterios para determinar el nivel de confianza requerido en un conjunto de herramientas del compilador para el desarrollo del software relacionado con la ciberseguridad y no se especifica ningún método para demostrar que se han cumplido los criterios relacionados con la ciberseguridad.

El estándar ISO contiene referencias al estándar de seguridad funcional ISO. El método probado de validación de herramientas del estándar ISO 26262 es adecuado para calificar un conjunto de herramientas del compilador utilizado en el desarrollo de un software compatible con la regulación de ciberseguridad. Para aplicar este método, se deben establecer los criterios de validación de herramientas para el desarrollo del software relacionado con la ciberseguridad.

Validación de herramientas

Análogos a los criterios de validación de la herramienta para la seguridad funcional, los criterios para la validación de la herramienta para la ciberseguridad se pueden especificar como medidas para proporcionar evidencia de que la herramienta de software cumple con los requisitos de seguridad cibernética especificadas.

Los riesgos de ciberseguridad que pueden introducir la herramienta de software y sus comportamientos correspondientes se analizarán con información sobre posibles consecuencias y medidas para evitarlas o detectarlas.

También se examinará la reacción de la herramienta de software a las condiciones de operación anómalas.

El proceso de Ingeniería de Aseguramiento de Misión (MAE) desarrollado por el National Cyber ​​Security FFRDC se puede utilizar para especificar los requisitos de ciberseguridad del conjunto de herramientas del compilador. Este proceso es compatible con ISO 21434 Capítulo 15 Análisis de amenazas y métodos de evaluación de riesgos. Si el proveedor de herramientas realiza el proceso MAE y los resultados se describen en la documentación de seguridad y ciberseguridad, esto elimina la necesidad de que el usuario de la herramienta realice una validación de herramientas.

El usuario de la herramienta debe evaluar el riesgo residual asociado con el caso de uso específico que permanece después de aplicar las pautas.

El proveedor de herramientas debe analizar la reacción de la herramienta de software a condiciones de funcionamiento anómalas utilizando el proceso MAE. Los hallazgos se traducen en pautas y se incluyen en el manual de seguridad y ciberseguridad de las herramientas. El usuario de la herramienta debe implementar las pautas proporcionadas y evaluar el riesgo residual para un caso de uso.

El proceso MAE (Figura 1) proporciona un enfoque analítico para identificar los activos cibernéticos más críticos para el cumplimiento de la misión, comprender las amenazas cibernéticas y los riesgos asociados para esos activos y seleccionar medidas de mitigación para prevenir y/o luchar a través de ataques.

Un análisis de modo de falla y análisis de efectos (FMEA) y un análisis de evaluación y remediación de amenazas (TARA) garantizan la integridad del software del usuario de la herramienta, en lugar de la integridad del conjunto de herramientas del compilador con el objetivo de ISO 21434 para abordar la ciberseguridad en la electricidad y Los sistemas electrónicos dentro de los vehículos de carretera donde los sistemas externos al vehículo no están dentro del alcance de ISO 21434. La integridad del conjunto de herramientas del compilador y los archivos operados se rigen por otros estándares como ISO/IEC 27001 (gestión de seguridad de la información). Es importante que tanto el proveedor de herramientas como el usuario también cumplan con un estándar de seguridad de TI.

El FMEA se utiliza para identificar los riesgos potenciales de ciberseguridad que el conjunto de herramientas del compilador puede introducir en el software del usuario. El objetivo de la herramienta del compilador es el comportamiento del software que se compila para cumplir con las intenciones del usuario en condiciones normales y en condiciones de ataque de seguridad cibernética. La especificación del lenguaje ISO C y C ++ permite a los ingenieros de compiladores aplicar transformaciones en el software que son correctos en función de una interpretación legalista de los estándares ISO C y C ++, pero que sorprenderían a muchos programadores de software. Por lo tanto, es beneficioso si el FMEA es ejecutado por un equipo de ingenieros que tienen una comprensión profunda de los requisitos, arquitectura, diseño e implementación de los compiladores. Para cada modo de falla identificado, se deben proporcionar una o más medidas de mitigación para reducir el riesgo.

La metodología de Tara identifica y evalúa las vulnerabilidades cibernéticas y selecciona contramedidas para mitigar esas vulnerabilidades. La metodología es compatible con los requisitos de ISO 21434.

El flujo de trabajo de Tara (Figura 2) utiliza detalles técnicos del sistema para construir un modelo cibernético de la arquitectura del sistema. Esto proporciona una base para buscar vectores de ataque plausible. La base de datos de enumeraciones y clasificaciones de patrón de ataque comunes se puede usar y la lista de vectores de ataque se filtra y clasifica de acuerdo con el riesgo evaluado. La lista de vulnerabilidades se combina con los datos de mapeo de mitigación del catálogo para identificar una lista inicial de contramedidas, que se filtra y se clasifica en función del costo de utilidad y ciclo de vida evaluado, produciendo una tabla de mapeo de mitigación.

Las contramedidas se seleccionan en función del costo y el nivel de tolerancia al riesgo para crear una tabla de efectividad de la solución que enumera las contramedidas/mitigaciones recomendadas y proporciona detalles sobre la efectividad de cada contramedida sobre el rango de vulnerabilidades evaluadas. También se puede utilizar información de otras bases de datos, como CWE (tipos de debilidad de software y hardware) y CVE (vulnerabilidades de seguridad cibernética revelada).

La naturaleza dinámica de la ciberseguridad significa que es necesaria la repetición regular de los análisis anteriores.

El resultado de FMEA y Tara

Las vulnerabilidades inducidas por el compilador pueden clasificarse como relacionadas con las clases de vulnerabilidad estándar, los ataques de canales laterales, el comportamiento indefinido y las violaciones del estado persistentes. Las mitigaciones asociadas son los requisitos relacionados con la ciberseguridad que el proveedor de herramientas debe implementarlo. Estos incluyen protección contra ataques de agitación de pila a través de canarios de pila colocados en el compilador, medidas para detectar el buffer-superflujo o las disposiciones para admitir la aleatorización del diseño de la memoria.

Se requiere que el usuario de la herramienta cumpla con las pautas de codificación genérica y las pautas específicas para el conjunto de herramientas de compilador particular que se utiliza. El cumplimiento de la Asociación de Confiabilidad de Software de la Industria del Motor (MISRA) se considera un mínimo, y el cumplimiento de las pautas de codificación SEI CERT C/C ++ proporciona una prevención más completa. Las pautas para un conjunto de herramientas de compilador particular dependen en gran medida de la optimización del proveedor del compilador.

Algunos proveedores afirman que los requisitos de FUSA y ciberseguridad inhiben todas las optimizaciones aplicadas por el compilador, mientras que algunos desarrolladores de compiladores aplican una interpretación muy legalista del estándar ISO C y consideran los riesgos de seguridad cibernética inducida por el compilador como un efecto secundario de la comprensión insuficiente del usuario del lenguaje de programación de la programación de la programación del lenguaje de programación .

El término medio es sostenido por aquellos que creen que las optimizaciones no tienen que introducir los riesgos de FUSA y ciberseguridad si, y solo si, el compilador proporciona suficiente información de diagnóstico sobre las optimizaciones aplicadas para que el usuario de la herramienta consciente de las posibles consecuencias.

Sobre el Autor

Gerard Vink es especialista en la industria, definición de productos, en TASKING