Las técnicas para mejorar la seguridad del microcontrolador incluyen Secure Boot y DOTF
[ad_1]
Los miembros pueden Descargue este artículo en formato PDF.
Lo que vas a aprender:
- Métodos para mejorar la seguridad de los microcontroladores.
- ¿Qué preguntas debería hacerse al considerar una solución de seguridad?
Una seguridad sólida requiere una base sólida. Antes de que la MCU pueda proteger todo el sistema, debe protegerse a sí misma. Si bien es importante determinar el modelo de amenaza y la política de seguridad relevantes para un producto específico, algunas soluciones de seguridad son aplicables de manera muy amplia. Parte 1 Miré algunas de las soluciones más simples. La parte 2 analiza otros pasos más agresivos que los ingenieros pueden tomar para proteger las MCU.
Mantener las cosas separadas: mecanismos de aislamiento
El concepto de aislamiento es nuevo para los microcontroladores. Dado que el código de la MCU suele ser desarrollado por un pequeño equipo o incluso por un solo ingeniero, puede parecer inútil proteger la MCU de sí misma. Pero ahora que las MCU están activas en Internet y las aplicaciones se crean a partir de una cantidad significativa de código de terceros, se debe tener en cuenta este nivel de protección. Los mecanismos de aislamiento también pueden proteger contra daños accidentales causados por código fuera de control y potencialmente servir como característica de seguridad.
El mejor mecanismo de protección es el aislamiento impuesto por hardware. Las unidades de protección de memoria (MPU) pueden ser muy efectivas, pero a menudo tienen lagunas de cobertura. Mecanismos propietarios como Arm TrustZone cierran muchas de estas brechas.
Una cosa a la que hay que prestar atención: ¿cómo se determinan los límites entre las regiones confiables y las que no son confiables? Si están configurados en software, podrían modificarse mediante código malicioso. Las soluciones más potentes establecen estos límites invariablemente, pero esto introduce la posible complicación de requerir que las actualizaciones de firmware se mantengan dentro de un tamaño determinado.
Las preguntas que debe hacer incluyen:
- ¿Qué código de terceros podría necesitar aislarse?
- ¿Qué código es tan complejo que es imposible proporcionar una cobertura de prueba del 100%?
- ¿Qué activos y servicios necesita proteger contra modificaciones accidentales o maliciosas?
Protección de actualización de firmware: cargador de arranque seguro
Puede que su producto no sea tan conocido como un teléfono inteligente, pero incluso dispositivos humildes como los termostatos conectados pueden proporcionar a los piratas informáticos una forma de acceder a la infraestructura específica. Como resultado, los consorcios de seguridad y los gobiernos de todo el mundo están reconociendo la necesidad de poder actualizar el firmware de los dispositivos conectados para protegerlos contra amenazas a la seguridad. Para garantizar que esta función no cause más problemas, esta actualización debe realizarse de forma segura.
Hay varias formas de crear un gestor de arranque seguro y, por muy tentador que sea crear uno desde cero, es mucho más eficiente utilizar un proyecto de código abierto confiable. Muchos proveedores de MCU incluso ofrecen versiones de estas soluciones en sus paquetes de software. Estas soluciones se pueden configurar para los casos de uso más comunes y, dado que son de código abierto, puede personalizarlas según sus necesidades específicas.
Lo mejor de estas soluciones es que aprovecha años de “lecciones” de ingenieros de firmware experimentados. Y la implementación está sujeta a inspección y verificación por parte de expertos en seguridad para garantizar que no haya "puertas traseras" ocultas.
Dado que el requisito de admitir actualizaciones de firmware es obligatorio por ley estatal, las preguntas aquí son más limitadas. Muy sencillo: ¿Tienes una interfaz externa a través de la cual se pueda recibir una nueva imagen de firmware?
Modelado sobre microprocesadores: gestor de arranque de primera etapa
La solución de cargador de arranque seguro mencionada anteriormente generalmente se enfoca en garantizar que solo se acepten actualizaciones de firmware auténticas. Muchas de estas soluciones también ofrecen otra característica: la capacidad de autenticar el código de la aplicación antes de ejecutarla. Pero, ¿qué garantiza que el gestor de arranque seguro no se haya dañado?
Los microprocesadores resuelven este dilema utilizando un gestor de arranque de primera etapa. Se trata de una pequeña cantidad de código ejecutable integrado en el silicio que autentica la solución de arranque seguro de la aplicación, que luego se denomina cargador de arranque de segunda etapa.
ilustración 1 ilustra el proceso de arranque seguro cuando también se incluye un mecanismo de aislamiento. Es bueno saber que estos gestores de arranque también pueden servir como característica de seguridad, asegurando que el código no se corrompa accidentalmente. Tenga en cuenta lo siguiente: La autenticación del código llevará algún tiempo. Por lo tanto, investigue las opciones disponibles para encontrar el mejor equilibrio para su producto.
[ad_2]
Deja una respuesta