Iconos SCW
héroe bg sin separador
Blog

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

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

Hay muchas referencias de la cultura pop a la IA y los robots deshonestos, y a los aparatos que se vuelven locos contra sus amos humanos. Está muy impregnado de fantasía y diversión de ciencia ficción, pero a medida que el IoT y los dispositivos conectados son cada vez más frecuentes en nuestros hogares, también debería serlo la conversación en torno a la ciberseguridad y la seguridad. El software está en todas partes, y es muy fácil olvidar lo mucho que dependemos de las líneas de código para hacer todas esas cosas inteligentes que nos proporcionan tanta innovación y comodidad. Al igual que el software basado en la web, las API y los dispositivos móviles, el código vulnerable de los sistemas embebidos puede aprovecharse si un atacante lo descubre en el medio natural.

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.

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

Proteger los sistemas embebidos desde la planta baja es responsabilidad de todos.

El 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:

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



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

Ver recurso
Ver recurso

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

¿Interesado en más?

Matias Madou, Ph.D. 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.

Más información

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

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.

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.

Comparte en:
marcas de LinkedInSocialx logotipo

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.

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

Proteger los sistemas embebidos desde la planta baja es responsabilidad de todos.

El 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:

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



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

Ver recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe.

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

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

Hay muchas referencias de la cultura pop a la IA y los robots deshonestos, y a los aparatos que se vuelven locos contra sus amos humanos. Está muy impregnado de fantasía y diversión de ciencia ficción, pero a medida que el IoT y los dispositivos conectados son cada vez más frecuentes en nuestros hogares, también debería serlo la conversación en torno a la ciberseguridad y la seguridad. El software está en todas partes, y es muy fácil olvidar lo mucho que dependemos de las líneas de código para hacer todas esas cosas inteligentes que nos proporcionan tanta innovación y comodidad. Al igual que el software basado en la web, las API y los dispositivos móviles, el código vulnerable de los sistemas embebidos puede aprovecharse si un atacante lo descubre en el medio natural.

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.

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

Proteger los sistemas embebidos desde la planta baja es responsabilidad de todos.

El 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:

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



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

Ver seminario web
Comenzar
Más información

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ón
Ver recurso
Comparte en:
marcas de LinkedInSocialx logotipo
¿Interesado en más?

Comparte en:
marcas de LinkedInSocialx logotipo
autor
Doctor Matias Madou
Publicado el 30 de agosto de 2021

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.

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.

Comparte en:
marcas de LinkedInSocialx logotipo

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.

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

Proteger los sistemas embebidos desde la planta baja es responsabilidad de todos.

El 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:

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



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

Tabla de contenido

Descargar PDF
Ver recurso
¿Interesado en más?

Matias Madou, Ph.D. 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.

Más información

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

Recursos para empezar

Más publicaciones
Centro de recursos

Recursos para empezar

Más publicaciones