Mejores prácticas al diseñar aplicaciones críticas para la seguridad mediante el uso de microcontroladores
Introducción
Si bien todos nos preocupamos por la seguridad de los sistemas controlados electrónicamente con los que nos rodeamos, la mayoría de las personas no se da cuenta del esfuerzo que se requiere para desarrollar productos críticos para la seguridad. Es probable que cualquier producto controlado electrónicamente que pueda causar daño a las personas, el entorno o la propiedad tenga un conjunto de funciones de seguridad destinadas a protegerlo a usted y a mí. Lo que la mayoría de la gente no se da cuenta es que los sistemas críticos para la seguridad van un paso más allá: las normas de seguridad internacionales, como IEC 61508, requieren que el sistema verifique que las características de seguridad funcionen según lo previsto y que sean seguras incluso si fallan. Bueno, la verdad es que las fallas nunca se pueden evitar al 100 %, por lo que lo que realmente hacen los ingenieros de seguridad y los gerentes de seguridad es reducir el riesgo de fallas peligrosas de dichos sistemas a un nivel aceptable. Esto se logra al seguir rigurosas especificaciones de seguridad y procesos de diseño y verificación en los que se evalúan y mitigan todas las fallas posibles (e imposibles) del sistema.
Los ingenieros de seguridad o los gerentes de seguridad profesionales comprenden los requisitos de seguridad de alto nivel del sistema que diseñan y son los expertos indiscutibles en su campo. Sin embargo, su experiencia puede ser insuficiente ya que los requisitos de seguridad se desglosan a nivel de componente, y puede que no sea obvio cómo usar un componente electrónico dado (por ejemplo, un microcontrolador) de la manera más segura posible. Aquí es donde el soporte del proveedor del componente es fundamental para garantizar que el sistema sea lo más seguro posible y, al mismo tiempo, mantener el costo del producto dentro del presupuesto para seguir siendo competitivo.
Las mejores prácticas están más allá de la hoja de datos
Al evaluar el uso seguro de un IC (seguimos hablando de microcontroladores), ya que estos son sistemas críticos para la seguridad muy utilizados, ya no se puede usar solamente la hoja de datos del microcontrolador. Se necesita documentación sobre cómo el microcontrolador puede fallar a nivel de hardware, ya sea una falla temporal causada por una perturbación electromagnética o una falla de hardware permanente causada por la radiación de fondo, por ejemplo. ¡Lo que necesita es el informe de modo de falla, efecto y análisis de diagnóstico (FMEDA) del dispositivo y el manual de seguridad! Microchip distribuye dicha documentación en lo que se conoce como paquetes de seguridad.
El FMEDA es un documento que describe todos los modos de falla identificados de cada función en el microcontrolador y el efecto (síntoma) de cada una de estas fallas para que sea posible diagnosticarlas (detectarlas). Aquí es importante comprender que una falla diagnosticada normalmente se considera segura, ya que el sistema puede tomar las medidas adecuadas cuando se la detecta. El FMEDA incluso proporciona la probabilidad estadística de las fallas en base a modelos estadísticos reconocidos para que sea posible determinar la tasa de falla del producto, teniendo en cuenta las medidas de diagnóstico aplicadas. Esta es información necesaria para evaluar si el sistema crítico para la seguridad es seguro, es decir, si el riesgo está suficientemente mitigado.
El otro documento fundamental que necesita para desarrollar un sistema integrado seguro es el manual de seguridad. El manual de seguridad describe cómo detectar las fallas descritas en el FMEDA desde una perspectiva de implementación. También proporciona una descripción completa de lo que se debe y no se debe hacer al usar el microcontrolador, donde los más estrictos son los supuestos de uso (AoU), que debe seguir para alcanzar el nivel de seguridad declarado en la documentación.
Tanto los FMEDA como los manuales de seguridad contienen información que es prácticamente imposible de generar para cualquiera que no sea el proveedor del microcontrolador. Los auditores de los sistemas críticos para la seguridad entienden esto y aplauden el uso de dicha documentación, ya que ayuda a garantizar que se cubran todos los aspectos del uso seguro del microcontrolador.
Las mejores prácticas van más allá de las herramientas de desarrollo estándar

Si bien el FMEDA y el manual de seguridad pueden ayudar a mitigar el riesgo de fallas de hardware en el microcontrolador del sistema integrado, también debe considerar las fallas en el software. Tales fallas se clasifican como fallas sistemáticas, lo que se debe a que el software no puede tener fallas aleatorias como el hardware. Obviamente, el software puede fallar si falla el hardware, pero esto se clasifica como una falla de hardware. Las fallas sistemáticas se pueden controlar mediante procesos, especificaciones y verificaciones estrictos y exhaustivos. Muchas industrias usan procesos de software bien desarrollados para reducir las fallas del software, pero en los sistemas críticos para la seguridad, hay una capa adicional: se debe evaluar si una herramienta de desarrollo puede causar errores en el producto final y, de ser así, qué impacto pueden tener sobre la seguridad y si son detectables.
Un análisis de clasificación de herramientas revelará si una herramienta puede causar errores y, de ser así, se requiere calificar la herramienta para su uso al desarrollar sistemas críticos para la seguridad. Como puede imaginar, un compilador es una herramienta que potencialmente puede causar errores en el software que se ejecuta en el microcontrolador utilizado en el sistema integrado, e incluso puede ser difícil de detectar a menos que tenga una cobertura de prueba extremadamente alta. Aquí es donde la calificación de la herramienta impulsada por el proveedor es útil: Microchip tiene herramientas de desarrollo para microcontroladores PIC y AVR que están calificados para su uso en sistemas críticos para la seguridad. Este es un proceso formal en el que un tercero independiente evalúa si el producto está diseñado, verificado y documentado lo suficientemente bien como para calificarlo para su uso en sistemas críticos para la seguridad. En cuanto a los microcontroladores, esto significa que tales herramientas de desarrollo vienen con documentación adicional: por ejemplo, un manual de seguridad.

Las herramientas de desarrollo de MPLAB admiten las mejores prácticas comunes, como el análisis de código estático y los informes de cobertura de código, y los requisitos de seguridad más especializados.
Para obtener más información
El seminario web "Mejores prácticas al diseñar aplicaciones críticas para la seguridad mediante el uso de microcontroladores" proporciona una breve descripción general tanto de la seguridad funcional como de los procesos utilizados al desarrollar productos de acuerdo con la norma de seguridad IEC 61508. También proporciona información sobre las herramientas de desarrollo y garantía de seguridad que puede obtener para los microcontroladores PIC y AVR de Microchip.
Regístrese para el seminario web aquí: https://event.on24.com/wcc/r/3846286/B1FA21901DA6E9FA3A288BD9AF167C21?partnerref=blog
También puede obtener más información sobre la seguridad funcional en la clase a pedido de Microchip University "Introducción a la seguridad funcional" o encontrar información sobre productos recomendados para diseños críticos para la seguridad en las páginas web dedicadas a la seguridad funcional de DigiKey y Microchip.
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum

