Ponte en Contacto
 Duración 21 horas

Temario del curso

Introducción al desarrollo seguro en C y C++

  • Comprensión de los principios del desarrollo de software seguro
  • Riesgos de seguridad comunes en aplicaciones C y C++
  • La relación entre los errores de programación y las vulnerabilidades de seguridad
  • Estándares y mejores prácticas de programación segura

Vulnerabilidades comunes en la programación C y C++

  • Identificación de errores de codificación comunes que introducen riesgos de seguridad
  • Problemas de seguridad de la memoria en C y C++
  • Patrones de vulnerabilidades y su impacto
  • Análisis de ejemplos de código inseguro

Principios de programación segura

  • Aplicación de técnicas de defensa en profundidad
  • Redacción de código robusto y mantenible
  • Minimización de las superficies de ataque
  • Principios de diseño seguro para aplicaciones C y C++

Validación de entradas y manejo de datos

  • Comprensión de la importancia de la validación de entradas
  • Prevención de la explotación de entradas maliciosas
  • Técnicas de purificación de datos
  • Manejo seguro de datos de usuario y externos

Manejo de errores y gestión de excepciones

  • Riesgos asociados con el manejo inadecuado de errores
  • Diseño de mecanismos seguros para el manejo de errores y excepciones
  • Evitar la filtración de información a través de errores
  • Creación de aplicaciones resilientes

Seguridad de la memoria y protección contra desbordamientos de búfer

  • Comprensión de las vulnerabilidades en la gestión de la memoria
  • Desbordamientos de búfer basados en la pila
  • Desbordamientos de búfer basados en la pila de memoria (heap)
  • Detección y prevención de la corrupción de memoria
  • Técnicas seguras de manejo de memoria

Protección de la pila y funciones de seguridad en tiempo de ejecución

  • Comprensión de las vulnerabilidades de desbordamiento de pila
  • Protecciones de seguridad basadas en el compilador
  • Canarias de pila y mecanismos de protección
  • Aleatorización del diseño del espacio de direcciones (ASLR)
  • Funciones de seguridad modernas de los sistemas operativos

Consideraciones avanzadas de seguridad en C++

  • Gestión segura del ciclo de vida de los objetos
  • Prevención de vulnerabilidades de uso después de liberación (use-after-free)
  • Gestión segura de punteros y referencias
  • Evitar problemas de confusión de tipos
  • Uso seguro de las características del lenguaje C++

Herramientas y técnicas de programación segura

  • Uso de herramientas de análisis estático para identificar vulnerabilidades
  • Técnicas de revisión de código para la evaluación de seguridad
  • Enfoques de pruebas de seguridad automatizadas
  • Integración de comprobaciones de seguridad en los flujos de trabajo de desarrollo

Estándares y mejores prácticas de programación segura

  • Revisión de directrices de programación segura de la industria
  • Aplicación de técnicas de programación defensiva
  • Incorporación de la seguridad en el ciclo de vida de desarrollo de software
  • Mantenimiento de aplicaciones C/C++ seguras y confiables

Taller práctico de programación segura

  • Análisis de ejemplos de código C/C++ vulnerable
  • Aplicación de correcciones y mejoras de seguridad
  • Prueba de código contra vulnerabilidades comunes
  • Repaso del curso y recomendaciones de desarrollo seguro

Requerimientos

Conocimientos básicos de C/C++

Número de participantes


Precio por participante

Reseñas (7)

Próximos cursos

Categorías Relacionadas