héroe bg sin separador
Blog

Les codeurs conquièrent l'infrastructure de sécurité en tant que série de codes - Business Logic

Doctor Matias Madou
Publicado el 22 de junio de 2020
Última actualización el 8 de marzo de 2026

Bueno, esto es todo (por ahora). Hemos llegado al final de nuestra serie de Infraestructura como Código. Esperamos que te hayas divertido conquistando problemas de seguridad en Docker, Ansible, Kubernetes, Terraform y CloudFormation. Sin embargo, antes de despedirnos, tenemos una vulnerabilidad más que dominar: los errores de lógica de negocio.

¿Crees que ya estás preparado para poner a prueba tus habilidades? Prueba el último desafío gamificado:

Si todavía no tienes claras algunas cosas, sigue leyendo:

Las vulnerabilidades en las que queremos centrarnos hoy son los fallos de lógica de negocio. Estos pueden ocurrir cuando los codificadores no implementan adecuadamente las reglas de lógica de negocio que podrían dejar sus aplicaciones vulnerables a diferentes tipos de ataques si un usuario malicioso decide explotarlos. Dependiendo del propósito y la funcionalidad implementada dentro de cada aplicación, un fallo de lógica de negocio puede permitir la escalada de privilegios, el uso inadecuado de recursos o cualquier número de procesos de negocio no deseados.

A diferencia de muchas vulnerabilidades, la implementación incorrecta de reglas de lógica de negocio puede ser sorprendentemente sutil. Requieren una vigilancia especial para garantizar que no se cuelen en las aplicaciones y el código.

¿Cuáles son algunos ejemplos de fallos en la lógica empresarial?

Como ejemplo de lo fácil que puede ser inducir fallos en la lógica de negocio, considere el siguiente ejemplo de un entorno Docker definido con un archivo Docker Compose. Para preparar los contenedores para realizar funciones, un desarrollador podría utilizar una política de recursos estándar, definida en el archivo Docker Compose, como el siguiente ejemplo:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"

Aunque a primera vista parece que está bien, esta política de recursos para contenedores no está limitando adecuadamente el uso de recursos. Un atacante podría aprovechar el fallo de la lógica de negocio para implementar un ataque de denegación de servicio (DoS).

Para intentar limitar que los usuarios ocupen demasiados recursos, un desarrollador podría intentar definir mejor lo que puede soportar cada contenedor. Así, el nuevo código podría incluir una restricción de colocación:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"
colocación:
restricciones:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"

A primera vista, parece que esto resolvería el fallo de la lógica empresarial. Sin embargo, la nueva restricción de colocación no afecta al límite de uso de recursos para el servicio de contenedores Docker. Sólo se utiliza para seleccionar un nodo para programar el contenedor. En este caso, un ataque DoS sigue siendo posible. El atacante necesitaría comprometer un contenedor Docker primero, pero podría drenar los recursos sin límites después de eso.

Como puede ver, pensar en los fallos de la lógica de negocio y programar para eliminarlos puede ser una tarea complicada.

Eliminación de los fallos de la lógica empresarial

Con los defectos de la lógica de negocio, la clave es saber que existen. Hay que estar atento para mantenerlos fuera del entorno mientras se escribe el nuevo código. Las reglas de negocio y las mejores prácticas deben estar claramente definidas y comprobadas en todas las fases del proceso de desarrollo de la aplicación, incluyendo el diseño, la implementación y las pruebas.

Por ejemplo, para evitar que un fallo de lógica de negocio permita un ataque DoS como el del ejemplo anterior, una buena práctica es limitar la cantidad de recursos que puede utilizar cada contenedor Docker que se cree. Específicamente, la sección de límites debe especificar el número de CPUs y la cantidad de memoria que un contenedor Docker puede utilizar. Un ejemplo sería:

desplegar:
recursos:
límites:
cpus: "0.5"
memoria: 100M
reservas:
cpus: "0.5"
memoria: 50M

El uso de un código como el del ejemplo anterior como política eliminaría un importante fallo de lógica empresarial del entorno y evitaría los ataques DoS. Esto funcionaría incluso si un atacante comprometiera uno de los contenedores Docker. En ese caso, el atacante seguiría sin poder utilizar su punto de apoyo para agotar los recursos.

El modelado de amenazas puede ser útil al definir cómo se producen los diferentes ataques y garantizar que se utilicen reglas de lógica empresarial para prevenirlos y restringirlos. Las pruebas basadas en las reglas de cumplimiento y los casos de abuso conocidos también podrían ser útiles para detectar los fallos de la lógica empresarial que se escapan.

Los fallos en la lógica de negocio son algunas de las vulnerabilidades más sutiles que pueden colarse en las aplicaciones, pero no son menos peligrosas que otros riesgos más destacados. Conocer cómo pueden producirse y utilizar las mejores prácticas puede mantenerlos fuera de su entorno durante el desarrollo de la aplicación, asegurando que nunca lleguen a un entorno de producción donde puedan ser abusados por atacantes que están muy familiarizados con la forma de explotarlos.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puedes probar una demostración de este desafío de IaC en la plataforma de formación Secure Code Warrior para mantener todos tus conocimientos de ciberseguridad perfeccionados y actualizados.


Mostrar el recurso
Mostrar el recurso

Cette vulnérabilité peut survenir lorsque les codeurs ne parviennent pas à implémenter correctement les règles de logique métier, ce qui pourrait rendre leurs applications vulnérables à différents types d'attaques si un utilisateur malveillant choisissait de les exploiter.

¿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 22 de junio de 2020

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

Bueno, esto es todo (por ahora). Hemos llegado al final de nuestra serie de Infraestructura como Código. Esperamos que te hayas divertido conquistando problemas de seguridad en Docker, Ansible, Kubernetes, Terraform y CloudFormation. Sin embargo, antes de despedirnos, tenemos una vulnerabilidad más que dominar: los errores de lógica de negocio.

¿Crees que ya estás preparado para poner a prueba tus habilidades? Prueba el último desafío gamificado:

Si todavía no tienes claras algunas cosas, sigue leyendo:

Las vulnerabilidades en las que queremos centrarnos hoy son los fallos de lógica de negocio. Estos pueden ocurrir cuando los codificadores no implementan adecuadamente las reglas de lógica de negocio que podrían dejar sus aplicaciones vulnerables a diferentes tipos de ataques si un usuario malicioso decide explotarlos. Dependiendo del propósito y la funcionalidad implementada dentro de cada aplicación, un fallo de lógica de negocio puede permitir la escalada de privilegios, el uso inadecuado de recursos o cualquier número de procesos de negocio no deseados.

A diferencia de muchas vulnerabilidades, la implementación incorrecta de reglas de lógica de negocio puede ser sorprendentemente sutil. Requieren una vigilancia especial para garantizar que no se cuelen en las aplicaciones y el código.

¿Cuáles son algunos ejemplos de fallos en la lógica empresarial?

Como ejemplo de lo fácil que puede ser inducir fallos en la lógica de negocio, considere el siguiente ejemplo de un entorno Docker definido con un archivo Docker Compose. Para preparar los contenedores para realizar funciones, un desarrollador podría utilizar una política de recursos estándar, definida en el archivo Docker Compose, como el siguiente ejemplo:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"

Aunque a primera vista parece que está bien, esta política de recursos para contenedores no está limitando adecuadamente el uso de recursos. Un atacante podría aprovechar el fallo de la lógica de negocio para implementar un ataque de denegación de servicio (DoS).

Para intentar limitar que los usuarios ocupen demasiados recursos, un desarrollador podría intentar definir mejor lo que puede soportar cada contenedor. Así, el nuevo código podría incluir una restricción de colocación:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"
colocación:
restricciones:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"

A primera vista, parece que esto resolvería el fallo de la lógica empresarial. Sin embargo, la nueva restricción de colocación no afecta al límite de uso de recursos para el servicio de contenedores Docker. Sólo se utiliza para seleccionar un nodo para programar el contenedor. En este caso, un ataque DoS sigue siendo posible. El atacante necesitaría comprometer un contenedor Docker primero, pero podría drenar los recursos sin límites después de eso.

Como puede ver, pensar en los fallos de la lógica de negocio y programar para eliminarlos puede ser una tarea complicada.

Eliminación de los fallos de la lógica empresarial

Con los defectos de la lógica de negocio, la clave es saber que existen. Hay que estar atento para mantenerlos fuera del entorno mientras se escribe el nuevo código. Las reglas de negocio y las mejores prácticas deben estar claramente definidas y comprobadas en todas las fases del proceso de desarrollo de la aplicación, incluyendo el diseño, la implementación y las pruebas.

Por ejemplo, para evitar que un fallo de lógica de negocio permita un ataque DoS como el del ejemplo anterior, una buena práctica es limitar la cantidad de recursos que puede utilizar cada contenedor Docker que se cree. Específicamente, la sección de límites debe especificar el número de CPUs y la cantidad de memoria que un contenedor Docker puede utilizar. Un ejemplo sería:

desplegar:
recursos:
límites:
cpus: "0.5"
memoria: 100M
reservas:
cpus: "0.5"
memoria: 50M

El uso de un código como el del ejemplo anterior como política eliminaría un importante fallo de lógica empresarial del entorno y evitaría los ataques DoS. Esto funcionaría incluso si un atacante comprometiera uno de los contenedores Docker. En ese caso, el atacante seguiría sin poder utilizar su punto de apoyo para agotar los recursos.

El modelado de amenazas puede ser útil al definir cómo se producen los diferentes ataques y garantizar que se utilicen reglas de lógica empresarial para prevenirlos y restringirlos. Las pruebas basadas en las reglas de cumplimiento y los casos de abuso conocidos también podrían ser útiles para detectar los fallos de la lógica empresarial que se escapan.

Los fallos en la lógica de negocio son algunas de las vulnerabilidades más sutiles que pueden colarse en las aplicaciones, pero no son menos peligrosas que otros riesgos más destacados. Conocer cómo pueden producirse y utilizar las mejores prácticas puede mantenerlos fuera de su entorno durante el desarrollo de la aplicación, asegurando que nunca lleguen a un entorno de producción donde puedan ser abusados por atacantes que están muy familiarizados con la forma de explotarlos.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puedes probar una demostración de este desafío de IaC en la plataforma de formación Secure Code Warrior para mantener todos tus conocimientos de ciberseguridad perfeccionados y actualizados.


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.

Bueno, esto es todo (por ahora). Hemos llegado al final de nuestra serie de Infraestructura como Código. Esperamos que te hayas divertido conquistando problemas de seguridad en Docker, Ansible, Kubernetes, Terraform y CloudFormation. Sin embargo, antes de despedirnos, tenemos una vulnerabilidad más que dominar: los errores de lógica de negocio.

¿Crees que ya estás preparado para poner a prueba tus habilidades? Prueba el último desafío gamificado:

Si todavía no tienes claras algunas cosas, sigue leyendo:

Las vulnerabilidades en las que queremos centrarnos hoy son los fallos de lógica de negocio. Estos pueden ocurrir cuando los codificadores no implementan adecuadamente las reglas de lógica de negocio que podrían dejar sus aplicaciones vulnerables a diferentes tipos de ataques si un usuario malicioso decide explotarlos. Dependiendo del propósito y la funcionalidad implementada dentro de cada aplicación, un fallo de lógica de negocio puede permitir la escalada de privilegios, el uso inadecuado de recursos o cualquier número de procesos de negocio no deseados.

A diferencia de muchas vulnerabilidades, la implementación incorrecta de reglas de lógica de negocio puede ser sorprendentemente sutil. Requieren una vigilancia especial para garantizar que no se cuelen en las aplicaciones y el código.

¿Cuáles son algunos ejemplos de fallos en la lógica empresarial?

Como ejemplo de lo fácil que puede ser inducir fallos en la lógica de negocio, considere el siguiente ejemplo de un entorno Docker definido con un archivo Docker Compose. Para preparar los contenedores para realizar funciones, un desarrollador podría utilizar una política de recursos estándar, definida en el archivo Docker Compose, como el siguiente ejemplo:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"

Aunque a primera vista parece que está bien, esta política de recursos para contenedores no está limitando adecuadamente el uso de recursos. Un atacante podría aprovechar el fallo de la lógica de negocio para implementar un ataque de denegación de servicio (DoS).

Para intentar limitar que los usuarios ocupen demasiados recursos, un desarrollador podría intentar definir mejor lo que puede soportar cada contenedor. Así, el nuevo código podría incluir una restricción de colocación:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"
colocación:
restricciones:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"

A primera vista, parece que esto resolvería el fallo de la lógica empresarial. Sin embargo, la nueva restricción de colocación no afecta al límite de uso de recursos para el servicio de contenedores Docker. Sólo se utiliza para seleccionar un nodo para programar el contenedor. En este caso, un ataque DoS sigue siendo posible. El atacante necesitaría comprometer un contenedor Docker primero, pero podría drenar los recursos sin límites después de eso.

Como puede ver, pensar en los fallos de la lógica de negocio y programar para eliminarlos puede ser una tarea complicada.

Eliminación de los fallos de la lógica empresarial

Con los defectos de la lógica de negocio, la clave es saber que existen. Hay que estar atento para mantenerlos fuera del entorno mientras se escribe el nuevo código. Las reglas de negocio y las mejores prácticas deben estar claramente definidas y comprobadas en todas las fases del proceso de desarrollo de la aplicación, incluyendo el diseño, la implementación y las pruebas.

Por ejemplo, para evitar que un fallo de lógica de negocio permita un ataque DoS como el del ejemplo anterior, una buena práctica es limitar la cantidad de recursos que puede utilizar cada contenedor Docker que se cree. Específicamente, la sección de límites debe especificar el número de CPUs y la cantidad de memoria que un contenedor Docker puede utilizar. Un ejemplo sería:

desplegar:
recursos:
límites:
cpus: "0.5"
memoria: 100M
reservas:
cpus: "0.5"
memoria: 50M

El uso de un código como el del ejemplo anterior como política eliminaría un importante fallo de lógica empresarial del entorno y evitaría los ataques DoS. Esto funcionaría incluso si un atacante comprometiera uno de los contenedores Docker. En ese caso, el atacante seguiría sin poder utilizar su punto de apoyo para agotar los recursos.

El modelado de amenazas puede ser útil al definir cómo se producen los diferentes ataques y garantizar que se utilicen reglas de lógica empresarial para prevenirlos y restringirlos. Las pruebas basadas en las reglas de cumplimiento y los casos de abuso conocidos también podrían ser útiles para detectar los fallos de la lógica empresarial que se escapan.

Los fallos en la lógica de negocio son algunas de las vulnerabilidades más sutiles que pueden colarse en las aplicaciones, pero no son menos peligrosas que otros riesgos más destacados. Conocer cómo pueden producirse y utilizar las mejores prácticas puede mantenerlos fuera de su entorno durante el desarrollo de la aplicación, asegurando que nunca lleguen a un entorno de producción donde puedan ser abusados por atacantes que están muy familiarizados con la forma de explotarlos.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puedes probar una demostración de este desafío de IaC en la plataforma de formación Secure Code Warrior para mantener todos tus conocimientos de ciberseguridad perfeccionados y actualizados.


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 22 de junio de 2020

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

Bueno, esto es todo (por ahora). Hemos llegado al final de nuestra serie de Infraestructura como Código. Esperamos que te hayas divertido conquistando problemas de seguridad en Docker, Ansible, Kubernetes, Terraform y CloudFormation. Sin embargo, antes de despedirnos, tenemos una vulnerabilidad más que dominar: los errores de lógica de negocio.

¿Crees que ya estás preparado para poner a prueba tus habilidades? Prueba el último desafío gamificado:

Si todavía no tienes claras algunas cosas, sigue leyendo:

Las vulnerabilidades en las que queremos centrarnos hoy son los fallos de lógica de negocio. Estos pueden ocurrir cuando los codificadores no implementan adecuadamente las reglas de lógica de negocio que podrían dejar sus aplicaciones vulnerables a diferentes tipos de ataques si un usuario malicioso decide explotarlos. Dependiendo del propósito y la funcionalidad implementada dentro de cada aplicación, un fallo de lógica de negocio puede permitir la escalada de privilegios, el uso inadecuado de recursos o cualquier número de procesos de negocio no deseados.

A diferencia de muchas vulnerabilidades, la implementación incorrecta de reglas de lógica de negocio puede ser sorprendentemente sutil. Requieren una vigilancia especial para garantizar que no se cuelen en las aplicaciones y el código.

¿Cuáles son algunos ejemplos de fallos en la lógica empresarial?

Como ejemplo de lo fácil que puede ser inducir fallos en la lógica de negocio, considere el siguiente ejemplo de un entorno Docker definido con un archivo Docker Compose. Para preparar los contenedores para realizar funciones, un desarrollador podría utilizar una política de recursos estándar, definida en el archivo Docker Compose, como el siguiente ejemplo:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"

Aunque a primera vista parece que está bien, esta política de recursos para contenedores no está limitando adecuadamente el uso de recursos. Un atacante podría aprovechar el fallo de la lógica de negocio para implementar un ataque de denegación de servicio (DoS).

Para intentar limitar que los usuarios ocupen demasiados recursos, un desarrollador podría intentar definir mejor lo que puede soportar cada contenedor. Así, el nuevo código podría incluir una restricción de colocación:

desplegar:
recursos:
límites:
cpus: "0.5"
reservas:
cpus: "0.5"
colocación:
restricciones:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"

A primera vista, parece que esto resolvería el fallo de la lógica empresarial. Sin embargo, la nueva restricción de colocación no afecta al límite de uso de recursos para el servicio de contenedores Docker. Sólo se utiliza para seleccionar un nodo para programar el contenedor. En este caso, un ataque DoS sigue siendo posible. El atacante necesitaría comprometer un contenedor Docker primero, pero podría drenar los recursos sin límites después de eso.

Como puede ver, pensar en los fallos de la lógica de negocio y programar para eliminarlos puede ser una tarea complicada.

Eliminación de los fallos de la lógica empresarial

Con los defectos de la lógica de negocio, la clave es saber que existen. Hay que estar atento para mantenerlos fuera del entorno mientras se escribe el nuevo código. Las reglas de negocio y las mejores prácticas deben estar claramente definidas y comprobadas en todas las fases del proceso de desarrollo de la aplicación, incluyendo el diseño, la implementación y las pruebas.

Por ejemplo, para evitar que un fallo de lógica de negocio permita un ataque DoS como el del ejemplo anterior, una buena práctica es limitar la cantidad de recursos que puede utilizar cada contenedor Docker que se cree. Específicamente, la sección de límites debe especificar el número de CPUs y la cantidad de memoria que un contenedor Docker puede utilizar. Un ejemplo sería:

desplegar:
recursos:
límites:
cpus: "0.5"
memoria: 100M
reservas:
cpus: "0.5"
memoria: 50M

El uso de un código como el del ejemplo anterior como política eliminaría un importante fallo de lógica empresarial del entorno y evitaría los ataques DoS. Esto funcionaría incluso si un atacante comprometiera uno de los contenedores Docker. En ese caso, el atacante seguiría sin poder utilizar su punto de apoyo para agotar los recursos.

El modelado de amenazas puede ser útil al definir cómo se producen los diferentes ataques y garantizar que se utilicen reglas de lógica empresarial para prevenirlos y restringirlos. Las pruebas basadas en las reglas de cumplimiento y los casos de abuso conocidos también podrían ser útiles para detectar los fallos de la lógica empresarial que se escapan.

Los fallos en la lógica de negocio son algunas de las vulnerabilidades más sutiles que pueden colarse en las aplicaciones, pero no son menos peligrosas que otros riesgos más destacados. Conocer cómo pueden producirse y utilizar las mejores prácticas puede mantenerlos fuera de su entorno durante el desarrollo de la aplicación, asegurando que nunca lleguen a un entorno de producción donde puedan ser abusados por atacantes que están muy familiarizados con la forma de explotarlos.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puedes probar una demostración de este desafío de IaC en la plataforma de formación Secure Code Warrior para mantener todos tus conocimientos de ciberseguridad perfeccionados y actualizados.


Í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