SCW Icons
hero bg no divider
Blog

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

Matias Madou, Ph.D.
Published Aug 30, 2021
Last updated on Mar 06, 2026

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.

¿Qué aspecto tiene una falla de lógica empresarial en C/C++ embebido? Eche un vistazo y compruebe si puede identificarlo y solucionarlo como un profesional.

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:

Haga que el desbordamiento del búfer sea un historial.



¿Cómo te fue? Visita www.securecodewarrior.com para una formación precisa y eficaz sobre la seguridad de los sistemas integrados.

Ver recurso
Ver recurso

Al igual que el software basado en la web, las API y los dispositivos móviles, el código vulnerable de los sistemas integrados puede explotarse si un atacante lo descubre en estado salvaje.

¿Interesado en más?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior está aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Reserva una demostración
Comparte en:
linkedin brandsSocialx logo
autor
Matias Madou, Ph.D.
Published Aug 30, 2021

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

Comparte en:
linkedin brandsSocialx logo

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.

¿Qué aspecto tiene una falla de lógica empresarial en C/C++ embebido? Eche un vistazo y compruebe si puede identificarlo y solucionarlo como un profesional.

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:

Haga que el desbordamiento del búfer sea un historial.



¿Cómo te fue? Visita www.securecodewarrior.com para una formación precisa y eficaz sobre la seguridad de los sistemas integrados.

Ver recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe

Nos gustaría recibir su permiso para enviarle información sobre nuestros productos o temas relacionados con la codificación segura. Siempre trataremos tus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
scw success icon
scw error icon
Para enviar el formulario, habilite las cookies de «análisis». No dudes en volver a desactivarlas una vez que hayas terminado.

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.

¿Qué aspecto tiene una falla de lógica empresarial en C/C++ embebido? Eche un vistazo y compruebe si puede identificarlo y solucionarlo como un profesional.

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:

Haga que el desbordamiento del búfer sea un historial.



¿Cómo te fue? Visita www.securecodewarrior.com para una formación precisa y eficaz sobre la seguridad de los sistemas integrados.

Ver seminario web
Comenzar
learn more

Haga clic en el enlace de abajo y descargue el PDF de este recurso.

Secure Code Warrior está aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Ver informeReserva una demostración
Ver recurso
Comparte en:
linkedin brandsSocialx logo
¿Interesado en más?

Comparte en:
linkedin brandsSocialx logo
autor
Matias Madou, Ph.D.
Published Aug 30, 2021

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

Comparte en:
linkedin brandsSocialx logo

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.

¿Qué aspecto tiene una falla de lógica empresarial en C/C++ embebido? Eche un vistazo y compruebe si puede identificarlo y solucionarlo como un profesional.

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:

Haga que el desbordamiento del búfer sea un historial.



¿Cómo te fue? Visita www.securecodewarrior.com para una formación precisa y eficaz sobre la seguridad de los sistemas integrados.

Tabla de contenido

Descargar PDF
Ver recurso
¿Interesado en más?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior está aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Reserva una demostraciónDescargar
Comparte en:
linkedin brandsSocialx logo
Centro de recursos

Recursos para empezar

Más publicaciones
Centro de recursos

Recursos para empezar

Más publicaciones