Cuando los microondas buenos se estropean: por qué la seguridad de los sistemas integrados es la próxima batalla contra los jefes para los desarrolladores

Hay muchas referencias de la cultura pop a la IA y los robots deshonestos, y a los aparatos que se vuelven locos contra sus amos humanos. Está muy impregnado de fantasía y diversión de ciencia ficción, pero a medida que el IoT y los dispositivos conectados son cada vez más frecuentes en nuestros hogares, también debería serlo la conversación en torno a la ciberseguridad y la seguridad. El software está en todas partes, y es muy fácil olvidar lo mucho que dependemos de las líneas de código para hacer todas esas cosas inteligentes que nos proporcionan tanta innovación y comodidad. Al igual que el software basado en la web, las API y los dispositivos móviles, el código vulnerable de los sistemas embebidos puede aprovecharse si un atacante lo descubre en el medio natural.
Si bien es poco probable que un ejército de microondas venga a esclavizar a la raza humana (aunque, Bot Tesla es un poco preocupante) como resultado de un ciberataque, aún es posible que se produzcan cibereventos maliciosos. Algunos de nuestros automóviles, aviones y dispositivos médicos también se basan en intrincados códigos de sistemas integrados para realizar tareas clave, y la posibilidad de que estos objetos se vean comprometidos no solo es alarmante, sino que puede poner en peligro la vida.
Al igual que cualquier otro tipo de software, los desarrolladores son de los primeros en tocar el código, justo al principio de la fase de creación. Y, al igual que cualquier otro tipo de software, este puede ser el caldo de cultivo de vulnerabilidades comunes e insidiosas que podrían pasar desapercibidas antes de que el producto entre en funcionamiento.
Los desarrolladores no son expertos en seguridad, ni ninguna empresa debería esperar que desempeñen ese papel, pero pueden estar equipados con un arsenal mucho más sólido para hacer frente al tipo de amenazas que son relevantes para ellos. Los sistemas embebidos (normalmente escritos en C y C++) se utilizarán con más frecuencia a medida que nuestras necesidades tecnológicas sigan evolucionando, por lo que es esencial que los desarrolladores cuenten con formación especializada en seguridad sobre las herramientas de este entorno.
Freidoras explosivas, vehículos rebeldes... ¿Somos blancos fáciles?
Si bien hay algunos estándares y regulaciones en torno a todo el desarrollo seguro Para mantenernos a salvo, necesitamos avanzar de manera mucho más precisa y significativa hacia todos los tipos de seguridad del software. Puede parecer descabellado pensar en un problema que pueda ser causado por alguien que piratea una freidora, pero ha sucedido en forma de ataque de ejecución remota de código (que permite al actor de la amenaza elevar la temperatura a niveles peligrosos), al igual que las vulnerabilidades que provocan la toma de vehículos.
Los vehículos, en particular, son especialmente complejos, con múltiples sistemas integrados a bordo, cada uno de los cuales se ocupa de microfunciones, desde limpiaparabrisas automáticos hasta capacidades de motor y frenado. Gracias a su combinación con un conjunto cada vez mayor de tecnologías de comunicación, como el Wi-Fi, el Bluetooth y el GPS, el vehículo conectado representa una infraestructura digital compleja que está expuesta a múltiples vectores de ataque. ¿Y con Se espera que 76,3 millones de vehículos conectados lleguen a las carreteras de todo el mundo en 2023, que representa un monolito de bases defensivas para sentar una verdadera seguridad.
MISRA es una organización clave que lucha contra las amenazas de los sistemas integrados, y ha desarrollado directrices para facilitar la seguridad, la portabilidad y la confiabilidad del código en el contexto de los sistemas integrados. Estas directrices son la estrella polar de los estándares por los que toda empresa debe esforzarse en sus proyectos de sistemas integrados.
Sin embargo, para crear y ejecutar código que cumpla con este estándar de referencia, se necesitan ingenieros de sistemas integrados que confíen en las herramientas (por no hablar de la seguridad).
¿Por qué la mejora de las habilidades de seguridad de los sistemas integrados es tan específica?
Los lenguajes de programación C y C++ son geriátricos según los estándares actuales, pero siguen siendo ampliamente utilizados. Constituyen el núcleo funcional de la base de código de los sistemas integrados, y Embedded C/C++ disfruta de una vida moderna y brillante como parte del mundo de los dispositivos conectados.
A pesar de que estos lenguajes tienen raíces bastante antiguas (y muestran comportamientos de vulnerabilidad similares en términos de problemas comunes, como errores de inyección y desbordamiento de búfer), para que los desarrolladores tengan éxito a la hora de mitigar los errores de seguridad en los sistemas integrados, deben ponerse manos a la obra con un código que imite los entornos en los que trabajan. La formación en C genérico sobre prácticas generales de seguridad simplemente no será tan eficaz ni tan fácil de recordar como si se dedicara más tiempo y cuidado a trabajar en un contexto de C integrado.
Con entre una docena y más de cien sistemas integrados en un vehículo moderno, es imprescindible que los desarrolladores reciban una formación precisa sobre qué buscar y cómo solucionarlo, directamente en el IDE.

Proteger los sistemas embebidos desde la planta baja es responsabilidad de todos
El status quo en muchas organizaciones es que la velocidad de desarrollo triunfa sobre la seguridad, al menos en lo que respecta a la responsabilidad del desarrollador. Rara vez se evalúa su capacidad para producir código seguro, pero el desarrollo rápido de funciones asombrosas es el estándar de referencia. La demanda de software no hará más que aumentar, pero esta es una cultura que nos ha llevado a perder la batalla contra las vulnerabilidades y los consiguientes ciberataques que permiten.
Si los desarrolladores no están capacitados, no es su culpa, y es un vacío que alguien del equipo de AppSec debe ayudar a cubrir recomendando los programas de mejora de habilidades correctos y accesibles (por no hablar de evaluables) para toda la comunidad de desarrolladores. Desde el principio de un proyecto de desarrollo de software, la seguridad debe ser una de las principales consideraciones, para que todos, especialmente los desarrolladores, reciban lo que necesitan para desempeñar su papel.
Familiarízate con los problemas de seguridad de los sistemas integrados
El desbordamiento del búfer, las fallas de inyección y los errores de lógica empresarial son errores comunes en el desarrollo de sistemas integrados. Cuando está enterrado en lo profundo de un laberinto de microcontroladores en un solo vehículo o dispositivo, puede significar un desastre desde el punto de vista de la seguridad.
El desbordamiento de búfer es especialmente frecuente, y si quieres profundizar en cómo ayudó a comprometer la freidora de la que hablamos antes (que permitía la ejecución remota de código), consulta este informe en CVE-2020-28592.
Ahora es el momento de ponerse manos a la obra con una vulnerabilidad de desbordamiento de búfer, en código C/C++ real embebido. Juega a este desafío para ver si puedes localizar, identificar y corregir los patrones de codificación deficientes que conducen a este insidioso error:
.png)
¿Cómo te fue? Visita www.securecodewarrior.com para una formación precisa y eficaz sobre la seguridad de los sistemas integrados.
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

El futuro de la gobernanza de software de IA se construye sobre asociaciones sólidas
Descubra por qué Secure Code Warrior se está convirtiendo en una empresa centrada en el canal y cómo los socios de confianza ayudan a las organizaciones a adoptar la gobernanza de software de IA de forma segura y a escala.
.webp)
Por qué la mayoría de los CISO navegan a ciegas en la adopción de la IA (y cómo pueden quitarse la venda)
Hoy, Secure Code Warrior ha publicado un nuevo informe técnico que presenta un modelo prescriptivo y orientativo de adopción de IA, diseñado para que los líderes de seguridad puedan identificar su etapa de adopción y avanzar de forma efectiva en el control de los riesgos de seguridad relacionados con la IA en sus organizaciones.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.
