
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.
Aunque 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 ciberataques 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?
Aunque existen algunas normas y regulaciones en torno al 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 piratee 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 el secuestro 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, lo 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 statu 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.


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.
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Secure Code Warrior 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.
Reserve una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.


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.
Aunque 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 ciberataques 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?
Aunque existen algunas normas y regulaciones en torno al 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 piratee 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 el secuestro 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, lo 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 statu 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.

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.
Aunque 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 ciberataques 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?
Aunque existen algunas normas y regulaciones en torno al 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 piratee 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 el secuestro 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, lo 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 statu 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.

Haga clic en el enlace de abajo y descargue el PDF de este recurso.
Secure Code Warrior 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 informeReserve una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.
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.
Aunque 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 ciberataques 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?
Aunque existen algunas normas y regulaciones en torno al 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 piratee 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 el secuestro 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, lo 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 statu 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.
Tabla de contenido
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Secure Code Warrior 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.
Reserve una demostraciónDescargarRecursos para empezar
Temas y contenido de formación sobre código seguro
Nuestro contenido líder en la industria siempre está evolucionando para adaptarse al cambiante panorama del desarrollo de software teniendo en cuenta su función. Se ofrecen temas que abarcan desde la IA hasta la inyección de XQuery para distintos puestos, desde arquitectos e ingenieros hasta directores de productos y control de calidad. Obtenga un adelanto de lo que ofrece nuestro catálogo de contenido por tema y función.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Modelado de amenazas con IA: convertir a cada desarrollador en un modelador de amenazas
Saldrá mejor equipado para ayudar a los desarrolladores a combinar ideas y técnicas de modelado de amenazas con las herramientas de IA que ya utilizan para reforzar la seguridad, mejorar la colaboración y crear software más resistente desde el principio.
Recursos para empezar
Cybermon está de vuelta: las misiones de IA de Beat the Boss ya están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible durante todo el año en SCW. Implemente desafíos de seguridad avanzados de IA y LLM para fortalecer el desarrollo seguro de la IA a gran escala.
Explicación de la Ley de Ciberresiliencia: qué significa para el desarrollo de software seguro por diseño
Descubra qué exige la Ley de Ciberresiliencia (CRA) de la UE, a quién se aplica y cómo los equipos de ingeniería pueden prepararse con prácticas de diseño seguras, prevención de vulnerabilidades y desarrollo de capacidades para desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El habilitador 1 da inicio a nuestra serie Enablers of Success, de 10 partes, mostrando cómo vincular la codificación segura con los resultados empresariales, como la reducción del riesgo y la velocidad para lograr la madurez del programa a largo plazo.




%20(1).avif)
.avif)
