héroe bg sin separador
Blog

Cuando las microondas funcionan mal: por qué la seguridad de los sistemas integrados es la próxima batalla de los desarrolladores

Doctor Matias Madou
Publicado el 30 de agosto de 2021
Última actualización el 6 de marzo de 2026

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.

¿Cómo es una falla de lógica de negocio en C/C++ integrado? Echa un vistazo y comprueba si puedes identificarla y repararla como un profesional.

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:

Cree un historial de desbordamientos de búfer.



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.

Mostrar el recurso
Mostrar el recurso

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.

¿Desea obtener más información?

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Más información

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ón
Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Doctor Matias Madou
Publicado el 30 de agosto de 2021

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

Compartir en:
marcas de LinkedInSocialx logotipo

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.

¿Cómo es una falla de lógica de negocio en C/C++ integrado? Echa un vistazo y comprueba si puedes identificarla y repararla como un profesional.

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:

Cree un historial de desbordamientos de búfer.



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.

Mostrar el recurso
Mostrar el recurso

Rellene el siguiente formulario para descargar el informe.

Nos gustaría obtener su autorización para enviarle información sobre nuestros productos y/o sobre temas relacionados con la codificación segura. Siempre trataremos sus datos personales con el mayor cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
Iconos SCW
Icono de error scw
Para enviar el formulario, active las cookies «Analytics». No dude en desactivarlas de nuevo una vez que haya terminado.

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.

¿Cómo es una falla de lógica de negocio en C/C++ integrado? Echa un vistazo y comprueba si puedes identificarla y repararla como un profesional.

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:

Cree un historial de desbordamientos de búfer.



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.

Ver el seminario web
Comience
Más información

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ón
Descargar el PDF
Mostrar el recurso
Compartir en:
marcas de LinkedInSocialx logotipo
¿Desea obtener más información?

Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Doctor Matias Madou
Publicado el 30 de agosto de 2021

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

Compartir en:
marcas de LinkedInSocialx logotipo

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.

¿Cómo es una falla de lógica de negocio en C/C++ integrado? Echa un vistazo y comprueba si puedes identificarla y repararla como un profesional.

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:

Cree un historial de desbordamientos de búfer.



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

Descargar el PDF
Mostrar el recurso
¿Desea obtener más información?

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Más información

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ónDescargar
Compartir en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones