
Cuando las microondas funcionan mal: por qué la seguridad de los sistemas integrados es la próxima batalla de los desarrolladores
Existen numerosas referencias en la cultura pop a IA y robots deshonestos, así como a dispositivos que atacan a sus amos humanos. Está muy impregnado de ciencia ficción y fantasía, pero dado que el IoT y los dispositivos conectados están cada vez más extendidos en nuestros hogares, debería ocurrir lo mismo con los debates sobre ciberseguridad y seguridad. El software está omnipresente y es muy fácil olvidar lo mucho que dependemos de las líneas de código para realizar todas esas tareas inteligentes que nos aportan tanta innovación y comodidad. Al igual que el software web, las API y los dispositivos móviles, el código vulnerable de los sistemas integrados puede ser explotado si un atacante lo descubre en la naturaleza.
Aunque es poco probable que un ejército de microondas esclavice a la raza humana (aunque el robot Tesla es un poco preocupante), tras un ciberataque siempre es posible que se produzcan ciberincidentes maliciosos. Algunos de nuestros coches, aviones y dispositivos médicos también se basan en un complejo código de sistemas integrados para realizar tareas clave, y la perspectiva de que estos objetos se vean comprometidos no solo es alarmante, sino potencialmente mortal.
Al igual que con cualquier otro tipo de software, los desarrolladores son los primeros en tocar el código, desde el inicio de la fase de creación. Y al igual que cualquier otro tipo de software, este puede ser el origen de vulnerabilidades insidiosas y comunes que podrían pasar desapercibidas antes de la puesta en servicio del producto.
Los desarrolladores no son expertos en seguridad y ninguna empresa debería esperar que desempeñen ese papel, pero pueden contar con un arsenal mucho más potente para hacer frente al tipo de amenazas que les afectan. Los sistemas integrados, generalmente escritos en C y C++, se utilizarán cada vez con más frecuencia a medida que nuestras necesidades tecnológicas sigan evolucionando, por lo que es esencial impartir formación especializada en seguridad a los desarrolladores sobre las herramientas de este entorno.
Freidoras de aire que explotan, vehículos fraudulentos... ¿Somos unos incautos?
Aunque existen algunas normas y reglamentos relativos a todo desarrollo seguro, para garantizar nuestra seguridad debemos realizar avances mucho más precisos y significativos en materia de seguridad del software en todos sus aspectos. Puede parecer exagerado pensar en un problema que pueda causar el pirateo de una freidora de aire, pero ha ocurrido en forma de un ataque de ejecución remota de código (que permite al autor de la amenaza elevar la temperatura a niveles peligrosos), al igual que las vulnerabilidades que conducen al control de vehículos.
Los vehículos, en particular, son especialmente complejos, ya que cuentan con múltiples sistemas integrados, cada uno de los cuales se encarga de microfunciones, desde los limpiaparabrisas automáticos hasta las capacidades del motor y los frenos. Asociado a un conjunto cada vez mayor de tecnologías de comunicación, como Wi-Fi, Bluetooth y GPS, el vehículo conectado representa una infraestructura digital compleja expuesta a múltiples vectores de ataque. Y con 76,3 millones de vehículos conectados que se prevé que circulen por todo el mundo en 2023, lo que representa un monolito de bases defensivas que hay que establecer para lograr una seguridad real.
MISRA es una organización clave que lucha eficazmente contra las amenazas relacionadas con los sistemas integrados, habiendo elaborado directrices destinadas a facilitar la seguridad, la portabilidad y la fiabilidad del código en el contexto de los sistemas integrados. Estas directrices constituyen la piedra angular de las normas que toda empresa debe respetar en el marco de sus proyectos de sistemas integrados.
Sin embargo, para crear y ejecutar código que cumpla con esta norma de referencia, se necesitan ingenieros de sistemas integrados que confíen en estas herramientas, por no hablar de su nivel de seguridad.
¿Por qué es tan específico el refuerzo de las competencias en materia de seguridad de los sistemas integrados?
Los lenguajes de programación C y C++ son geriátricos según los estándares actuales, pero siguen siendo muy 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 en el mundo de los dispositivos conectados.
Aunque estos lenguajes tienen raíces bastante antiguas y presentan comportamientos de vulnerabilidad similares en términos de problemas comunes, como fallos de inyección y desbordamiento del búfer, para que los desarrolladores logren realmente mitigar los errores de seguridad de los sistemas integrados, deben familiarizarse con un código que imite los entornos en los que trabajan. La formación genérica en C sobre prácticas generales de seguridad simplemente no será tan eficaz y memorable como si dedicaras más tiempo y cuidado a trabajar en un contexto C integrado.
Con entre una docena y más de un centenar de 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.

La protección de los sistemas integrados desde la planta baja es responsabilidad de todos.
El statu quo en muchas organizaciones es que la rapidez del desarrollo prevalece sobre la seguridad, al menos en lo que respecta a la responsabilidad de los desarrolladores. Rara vez se evalúa su capacidad para producir código seguro, pero el desarrollo rápido de funciones geniales es la referencia absoluta. La demanda de software no hará más que aumentar, pero esta cultura nos ha preparado para una batalla perdida contra las vulnerabilidades y los ciberataques que estas permiten.
Si los desarrolladores no están capacitados, no es culpa suya, y es una laguna que un miembro del equipo de AppSec debe ayudar a subsanar recomendando programas de refuerzo de competencias adaptados y accesibles (por no decir evaluables) a toda la comunidad de desarrolladores. Desde el inicio de un proyecto de desarrollo de software, la seguridad debe ser una prioridad, y todos, en particular los desarrolladores, deben tener el papel que necesitan para desempeñar su función.
Resolver los problemas de seguridad de los sistemas integrados
El desbordamiento del búfer, las vulnerabilidades de inyección y los errores de lógica empresarial son trampas habituales en el desarrollo de sistemas integrados. Escondidos en lo más profundo de un laberinto de microcontroladores en un solo vehículo o dispositivo, pueden ser catastróficos desde el punto de vista de la seguridad.
El desbordamiento del búfer es especialmente frecuente, y si desea obtener más información sobre cómo contribuyó a comprometer la freidora de aire de la que hablamos anteriormente (permitiendo la ejecución de código remoto), consulte este informe sobre CVE-2020-28592.
Ahora es el momento de familiarizarse con una vulnerabilidad de desbordamiento de búfer en un código C/C++ integrado real. Acepte este reto para ver si es capaz de localizar, identificar y corregir los patrones de codificación incorrectos que causan este insidioso error:
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.


Al igual que el software web, las API y los dispositivos móviles, el código vulnerable de los sistemas integrados puede ser explotado si un atacante lo descubre en la naturaleza.
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 ayudar a su organización a proteger el código a lo largo de todo el ciclo de desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de la seguridad de las aplicaciones, desarrollador, responsable de la seguridad informática o cualquier otra persona involucrada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código no seguro.
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.


Existen numerosas referencias en la cultura pop a IA y robots deshonestos, así como a dispositivos que atacan a sus amos humanos. Está muy impregnado de ciencia ficción y fantasía, pero dado que el IoT y los dispositivos conectados están cada vez más extendidos en nuestros hogares, debería ocurrir lo mismo con los debates sobre ciberseguridad y seguridad. El software está omnipresente y es muy fácil olvidar lo mucho que dependemos de las líneas de código para realizar todas esas tareas inteligentes que nos aportan tanta innovación y comodidad. Al igual que el software web, las API y los dispositivos móviles, el código vulnerable de los sistemas integrados puede ser explotado si un atacante lo descubre en la naturaleza.
Aunque es poco probable que un ejército de microondas esclavice a la raza humana (aunque el robot Tesla es un poco preocupante), tras un ciberataque siempre es posible que se produzcan ciberincidentes maliciosos. Algunos de nuestros coches, aviones y dispositivos médicos también se basan en un complejo código de sistemas integrados para realizar tareas clave, y la perspectiva de que estos objetos se vean comprometidos no solo es alarmante, sino potencialmente mortal.
Al igual que con cualquier otro tipo de software, los desarrolladores son los primeros en tocar el código, desde el inicio de la fase de creación. Y al igual que cualquier otro tipo de software, este puede ser el origen de vulnerabilidades insidiosas y comunes que podrían pasar desapercibidas antes de la puesta en servicio del producto.
Los desarrolladores no son expertos en seguridad y ninguna empresa debería esperar que desempeñen ese papel, pero pueden contar con un arsenal mucho más potente para hacer frente al tipo de amenazas que les afectan. Los sistemas integrados, generalmente escritos en C y C++, se utilizarán cada vez con más frecuencia a medida que nuestras necesidades tecnológicas sigan evolucionando, por lo que es esencial impartir formación especializada en seguridad a los desarrolladores sobre las herramientas de este entorno.
Freidoras de aire que explotan, vehículos fraudulentos... ¿Somos unos incautos?
Aunque existen algunas normas y reglamentos relativos a todo desarrollo seguro, para garantizar nuestra seguridad debemos realizar avances mucho más precisos y significativos en materia de seguridad del software en todos sus aspectos. Puede parecer exagerado pensar en un problema que pueda causar el pirateo de una freidora de aire, pero ha ocurrido en forma de un ataque de ejecución remota de código (que permite al autor de la amenaza elevar la temperatura a niveles peligrosos), al igual que las vulnerabilidades que conducen al control de vehículos.
Los vehículos, en particular, son especialmente complejos, ya que cuentan con múltiples sistemas integrados, cada uno de los cuales se encarga de microfunciones, desde los limpiaparabrisas automáticos hasta las capacidades del motor y los frenos. Asociado a un conjunto cada vez mayor de tecnologías de comunicación, como Wi-Fi, Bluetooth y GPS, el vehículo conectado representa una infraestructura digital compleja expuesta a múltiples vectores de ataque. Y con 76,3 millones de vehículos conectados que se prevé que circulen por todo el mundo en 2023, lo que representa un monolito de bases defensivas que hay que establecer para lograr una seguridad real.
MISRA es una organización clave que lucha eficazmente contra las amenazas relacionadas con los sistemas integrados, habiendo elaborado directrices destinadas a facilitar la seguridad, la portabilidad y la fiabilidad del código en el contexto de los sistemas integrados. Estas directrices constituyen la piedra angular de las normas que toda empresa debe respetar en el marco de sus proyectos de sistemas integrados.
Sin embargo, para crear y ejecutar código que cumpla con esta norma de referencia, se necesitan ingenieros de sistemas integrados que confíen en estas herramientas, por no hablar de su nivel de seguridad.
¿Por qué es tan específico el refuerzo de las competencias en materia de seguridad de los sistemas integrados?
Los lenguajes de programación C y C++ son geriátricos según los estándares actuales, pero siguen siendo muy 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 en el mundo de los dispositivos conectados.
Aunque estos lenguajes tienen raíces bastante antiguas y presentan comportamientos de vulnerabilidad similares en términos de problemas comunes, como fallos de inyección y desbordamiento del búfer, para que los desarrolladores logren realmente mitigar los errores de seguridad de los sistemas integrados, deben familiarizarse con un código que imite los entornos en los que trabajan. La formación genérica en C sobre prácticas generales de seguridad simplemente no será tan eficaz y memorable como si dedicaras más tiempo y cuidado a trabajar en un contexto C integrado.
Con entre una docena y más de un centenar de 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.

La protección de los sistemas integrados desde la planta baja es responsabilidad de todos.
El statu quo en muchas organizaciones es que la rapidez del desarrollo prevalece sobre la seguridad, al menos en lo que respecta a la responsabilidad de los desarrolladores. Rara vez se evalúa su capacidad para producir código seguro, pero el desarrollo rápido de funciones geniales es la referencia absoluta. La demanda de software no hará más que aumentar, pero esta cultura nos ha preparado para una batalla perdida contra las vulnerabilidades y los ciberataques que estas permiten.
Si los desarrolladores no están capacitados, no es culpa suya, y es una laguna que un miembro del equipo de AppSec debe ayudar a subsanar recomendando programas de refuerzo de competencias adaptados y accesibles (por no decir evaluables) a toda la comunidad de desarrolladores. Desde el inicio de un proyecto de desarrollo de software, la seguridad debe ser una prioridad, y todos, en particular los desarrolladores, deben tener el papel que necesitan para desempeñar su función.
Resolver los problemas de seguridad de los sistemas integrados
El desbordamiento del búfer, las vulnerabilidades de inyección y los errores de lógica empresarial son trampas habituales en el desarrollo de sistemas integrados. Escondidos en lo más profundo de un laberinto de microcontroladores en un solo vehículo o dispositivo, pueden ser catastróficos desde el punto de vista de la seguridad.
El desbordamiento del búfer es especialmente frecuente, y si desea obtener más información sobre cómo contribuyó a comprometer la freidora de aire de la que hablamos anteriormente (permitiendo la ejecución de código remoto), consulte este informe sobre CVE-2020-28592.
Ahora es el momento de familiarizarse con una vulnerabilidad de desbordamiento de búfer en un código C/C++ integrado real. Acepte este reto para ver si es capaz de localizar, identificar y corregir los patrones de codificación incorrectos que causan este insidioso error:
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Existen numerosas referencias en la cultura pop a IA y robots deshonestos, así como a dispositivos que atacan a sus amos humanos. Está muy impregnado de ciencia ficción y fantasía, pero dado que el IoT y los dispositivos conectados están cada vez más extendidos en nuestros hogares, debería ocurrir lo mismo con los debates sobre ciberseguridad y seguridad. El software está omnipresente y es muy fácil olvidar lo mucho que dependemos de las líneas de código para realizar todas esas tareas inteligentes que nos aportan tanta innovación y comodidad. Al igual que el software web, las API y los dispositivos móviles, el código vulnerable de los sistemas integrados puede ser explotado si un atacante lo descubre en la naturaleza.
Aunque es poco probable que un ejército de microondas esclavice a la raza humana (aunque el robot Tesla es un poco preocupante), tras un ciberataque siempre es posible que se produzcan ciberincidentes maliciosos. Algunos de nuestros coches, aviones y dispositivos médicos también se basan en un complejo código de sistemas integrados para realizar tareas clave, y la perspectiva de que estos objetos se vean comprometidos no solo es alarmante, sino potencialmente mortal.
Al igual que con cualquier otro tipo de software, los desarrolladores son los primeros en tocar el código, desde el inicio de la fase de creación. Y al igual que cualquier otro tipo de software, este puede ser el origen de vulnerabilidades insidiosas y comunes que podrían pasar desapercibidas antes de la puesta en servicio del producto.
Los desarrolladores no son expertos en seguridad y ninguna empresa debería esperar que desempeñen ese papel, pero pueden contar con un arsenal mucho más potente para hacer frente al tipo de amenazas que les afectan. Los sistemas integrados, generalmente escritos en C y C++, se utilizarán cada vez con más frecuencia a medida que nuestras necesidades tecnológicas sigan evolucionando, por lo que es esencial impartir formación especializada en seguridad a los desarrolladores sobre las herramientas de este entorno.
Freidoras de aire que explotan, vehículos fraudulentos... ¿Somos unos incautos?
Aunque existen algunas normas y reglamentos relativos a todo desarrollo seguro, para garantizar nuestra seguridad debemos realizar avances mucho más precisos y significativos en materia de seguridad del software en todos sus aspectos. Puede parecer exagerado pensar en un problema que pueda causar el pirateo de una freidora de aire, pero ha ocurrido en forma de un ataque de ejecución remota de código (que permite al autor de la amenaza elevar la temperatura a niveles peligrosos), al igual que las vulnerabilidades que conducen al control de vehículos.
Los vehículos, en particular, son especialmente complejos, ya que cuentan con múltiples sistemas integrados, cada uno de los cuales se encarga de microfunciones, desde los limpiaparabrisas automáticos hasta las capacidades del motor y los frenos. Asociado a un conjunto cada vez mayor de tecnologías de comunicación, como Wi-Fi, Bluetooth y GPS, el vehículo conectado representa una infraestructura digital compleja expuesta a múltiples vectores de ataque. Y con 76,3 millones de vehículos conectados que se prevé que circulen por todo el mundo en 2023, lo que representa un monolito de bases defensivas que hay que establecer para lograr una seguridad real.
MISRA es una organización clave que lucha eficazmente contra las amenazas relacionadas con los sistemas integrados, habiendo elaborado directrices destinadas a facilitar la seguridad, la portabilidad y la fiabilidad del código en el contexto de los sistemas integrados. Estas directrices constituyen la piedra angular de las normas que toda empresa debe respetar en el marco de sus proyectos de sistemas integrados.
Sin embargo, para crear y ejecutar código que cumpla con esta norma de referencia, se necesitan ingenieros de sistemas integrados que confíen en estas herramientas, por no hablar de su nivel de seguridad.
¿Por qué es tan específico el refuerzo de las competencias en materia de seguridad de los sistemas integrados?
Los lenguajes de programación C y C++ son geriátricos según los estándares actuales, pero siguen siendo muy 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 en el mundo de los dispositivos conectados.
Aunque estos lenguajes tienen raíces bastante antiguas y presentan comportamientos de vulnerabilidad similares en términos de problemas comunes, como fallos de inyección y desbordamiento del búfer, para que los desarrolladores logren realmente mitigar los errores de seguridad de los sistemas integrados, deben familiarizarse con un código que imite los entornos en los que trabajan. La formación genérica en C sobre prácticas generales de seguridad simplemente no será tan eficaz y memorable como si dedicaras más tiempo y cuidado a trabajar en un contexto C integrado.
Con entre una docena y más de un centenar de 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.

La protección de los sistemas integrados desde la planta baja es responsabilidad de todos.
El statu quo en muchas organizaciones es que la rapidez del desarrollo prevalece sobre la seguridad, al menos en lo que respecta a la responsabilidad de los desarrolladores. Rara vez se evalúa su capacidad para producir código seguro, pero el desarrollo rápido de funciones geniales es la referencia absoluta. La demanda de software no hará más que aumentar, pero esta cultura nos ha preparado para una batalla perdida contra las vulnerabilidades y los ciberataques que estas permiten.
Si los desarrolladores no están capacitados, no es culpa suya, y es una laguna que un miembro del equipo de AppSec debe ayudar a subsanar recomendando programas de refuerzo de competencias adaptados y accesibles (por no decir evaluables) a toda la comunidad de desarrolladores. Desde el inicio de un proyecto de desarrollo de software, la seguridad debe ser una prioridad, y todos, en particular los desarrolladores, deben tener el papel que necesitan para desempeñar su función.
Resolver los problemas de seguridad de los sistemas integrados
El desbordamiento del búfer, las vulnerabilidades de inyección y los errores de lógica empresarial son trampas habituales en el desarrollo de sistemas integrados. Escondidos en lo más profundo de un laberinto de microcontroladores en un solo vehículo o dispositivo, pueden ser catastróficos desde el punto de vista de la seguridad.
El desbordamiento del búfer es especialmente frecuente, y si desea obtener más información sobre cómo contribuyó a comprometer la freidora de aire de la que hablamos anteriormente (permitiendo la ejecución de código remoto), consulte este informe sobre CVE-2020-28592.
Ahora es el momento de familiarizarse con una vulnerabilidad de desbordamiento de búfer en un código C/C++ integrado real. Acepte este reto para ver si es capaz de localizar, identificar y corregir los patrones de codificación incorrectos que causan este insidioso error:
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Haga clic en el enlace siguiente y descargue el PDF de este recurso.
Secure Code Warrior aquí para ayudar a su organización a proteger el código a lo largo de todo el ciclo de desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de la seguridad de las aplicaciones, desarrollador, responsable de la seguridad informática o cualquier otra persona involucrada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código no seguro.
Mostrar el 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.
Existen numerosas referencias en la cultura pop a IA y robots deshonestos, así como a dispositivos que atacan a sus amos humanos. Está muy impregnado de ciencia ficción y fantasía, pero dado que el IoT y los dispositivos conectados están cada vez más extendidos en nuestros hogares, debería ocurrir lo mismo con los debates sobre ciberseguridad y seguridad. El software está omnipresente y es muy fácil olvidar lo mucho que dependemos de las líneas de código para realizar todas esas tareas inteligentes que nos aportan tanta innovación y comodidad. Al igual que el software web, las API y los dispositivos móviles, el código vulnerable de los sistemas integrados puede ser explotado si un atacante lo descubre en la naturaleza.
Aunque es poco probable que un ejército de microondas esclavice a la raza humana (aunque el robot Tesla es un poco preocupante), tras un ciberataque siempre es posible que se produzcan ciberincidentes maliciosos. Algunos de nuestros coches, aviones y dispositivos médicos también se basan en un complejo código de sistemas integrados para realizar tareas clave, y la perspectiva de que estos objetos se vean comprometidos no solo es alarmante, sino potencialmente mortal.
Al igual que con cualquier otro tipo de software, los desarrolladores son los primeros en tocar el código, desde el inicio de la fase de creación. Y al igual que cualquier otro tipo de software, este puede ser el origen de vulnerabilidades insidiosas y comunes que podrían pasar desapercibidas antes de la puesta en servicio del producto.
Los desarrolladores no son expertos en seguridad y ninguna empresa debería esperar que desempeñen ese papel, pero pueden contar con un arsenal mucho más potente para hacer frente al tipo de amenazas que les afectan. Los sistemas integrados, generalmente escritos en C y C++, se utilizarán cada vez con más frecuencia a medida que nuestras necesidades tecnológicas sigan evolucionando, por lo que es esencial impartir formación especializada en seguridad a los desarrolladores sobre las herramientas de este entorno.
Freidoras de aire que explotan, vehículos fraudulentos... ¿Somos unos incautos?
Aunque existen algunas normas y reglamentos relativos a todo desarrollo seguro, para garantizar nuestra seguridad debemos realizar avances mucho más precisos y significativos en materia de seguridad del software en todos sus aspectos. Puede parecer exagerado pensar en un problema que pueda causar el pirateo de una freidora de aire, pero ha ocurrido en forma de un ataque de ejecución remota de código (que permite al autor de la amenaza elevar la temperatura a niveles peligrosos), al igual que las vulnerabilidades que conducen al control de vehículos.
Los vehículos, en particular, son especialmente complejos, ya que cuentan con múltiples sistemas integrados, cada uno de los cuales se encarga de microfunciones, desde los limpiaparabrisas automáticos hasta las capacidades del motor y los frenos. Asociado a un conjunto cada vez mayor de tecnologías de comunicación, como Wi-Fi, Bluetooth y GPS, el vehículo conectado representa una infraestructura digital compleja expuesta a múltiples vectores de ataque. Y con 76,3 millones de vehículos conectados que se prevé que circulen por todo el mundo en 2023, lo que representa un monolito de bases defensivas que hay que establecer para lograr una seguridad real.
MISRA es una organización clave que lucha eficazmente contra las amenazas relacionadas con los sistemas integrados, habiendo elaborado directrices destinadas a facilitar la seguridad, la portabilidad y la fiabilidad del código en el contexto de los sistemas integrados. Estas directrices constituyen la piedra angular de las normas que toda empresa debe respetar en el marco de sus proyectos de sistemas integrados.
Sin embargo, para crear y ejecutar código que cumpla con esta norma de referencia, se necesitan ingenieros de sistemas integrados que confíen en estas herramientas, por no hablar de su nivel de seguridad.
¿Por qué es tan específico el refuerzo de las competencias en materia de seguridad de los sistemas integrados?
Los lenguajes de programación C y C++ son geriátricos según los estándares actuales, pero siguen siendo muy 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 en el mundo de los dispositivos conectados.
Aunque estos lenguajes tienen raíces bastante antiguas y presentan comportamientos de vulnerabilidad similares en términos de problemas comunes, como fallos de inyección y desbordamiento del búfer, para que los desarrolladores logren realmente mitigar los errores de seguridad de los sistemas integrados, deben familiarizarse con un código que imite los entornos en los que trabajan. La formación genérica en C sobre prácticas generales de seguridad simplemente no será tan eficaz y memorable como si dedicaras más tiempo y cuidado a trabajar en un contexto C integrado.
Con entre una docena y más de un centenar de 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.

La protección de los sistemas integrados desde la planta baja es responsabilidad de todos.
El statu quo en muchas organizaciones es que la rapidez del desarrollo prevalece sobre la seguridad, al menos en lo que respecta a la responsabilidad de los desarrolladores. Rara vez se evalúa su capacidad para producir código seguro, pero el desarrollo rápido de funciones geniales es la referencia absoluta. La demanda de software no hará más que aumentar, pero esta cultura nos ha preparado para una batalla perdida contra las vulnerabilidades y los ciberataques que estas permiten.
Si los desarrolladores no están capacitados, no es culpa suya, y es una laguna que un miembro del equipo de AppSec debe ayudar a subsanar recomendando programas de refuerzo de competencias adaptados y accesibles (por no decir evaluables) a toda la comunidad de desarrolladores. Desde el inicio de un proyecto de desarrollo de software, la seguridad debe ser una prioridad, y todos, en particular los desarrolladores, deben tener el papel que necesitan para desempeñar su función.
Resolver los problemas de seguridad de los sistemas integrados
El desbordamiento del búfer, las vulnerabilidades de inyección y los errores de lógica empresarial son trampas habituales en el desarrollo de sistemas integrados. Escondidos en lo más profundo de un laberinto de microcontroladores en un solo vehículo o dispositivo, pueden ser catastróficos desde el punto de vista de la seguridad.
El desbordamiento del búfer es especialmente frecuente, y si desea obtener más información sobre cómo contribuyó a comprometer la freidora de aire de la que hablamos anteriormente (permitiendo la ejecución de código remoto), consulte este informe sobre CVE-2020-28592.
Ahora es el momento de familiarizarse con una vulnerabilidad de desbordamiento de búfer en un código C/C++ integrado real. Acepte este reto para ver si es capaz de localizar, identificar y corregir los patrones de codificación incorrectos que causan este insidioso error:
.png)
Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.
Índice
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 ayudar a su organización a proteger el código a lo largo de todo el ciclo de desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de la seguridad de las aplicaciones, desarrollador, responsable de la seguridad informática o cualquier otra persona involucrada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código no seguro.
Reserve una demostraciónDescargarRecursos para ayudarle a empezar
Temas y contenidos de formación sobre el código seguro
Nuestro contenido de vanguardia evoluciona constantemente para adaptarse al panorama en constante cambio del desarrollo de software, teniendo en cuenta su función. Temas que abarcan desde la IA hasta la inyección de XQuery, ofrecidos para una variedad de puestos, desde arquitectos hasta ingenieros, pasando por jefes de producto y control de calidad. Descubra una visión general de lo que nuestro catálogo de contenidos tiene para ofrecer por tema y por 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 ayudarle a empezar
Cybermon está de vuelta: las missions Beat the Boss ya están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible todo el año en SCW. Implemente desafíos de seguridad avanzados relacionados con la IA y el LLM para reforzar el desarrollo seguro de la IA a gran escala.
Explicación de la ley sobre ciberresiliencia: lo que significa para el desarrollo de software seguro desde el diseño.
Descubra qué exige la ley europea sobre ciberresiliencia (CRA), a quién se aplica y cómo los equipos de ingenieros pueden prepararse mediante prácticas de seguridad desde el diseño, la prevención de vulnerabilidades y el refuerzo de las capacidades de los desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El facilitador 1 da inicio a nuestra serie de 10 partes titulada «Facilitadores del éxito», mostrando cómo combinar la codificación segura con resultados comerciales, como la reducción de riesgos y la rapidez, para garantizar la madurez a largo plazo de los programas.




%20(1).avif)
.avif)
