Ponte en Contacto
 Duración 21 horas

Temario del curso

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

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

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

  • Identificación de errores de codificación comunes que introducen riesgos de seguridad
  • Problemas de seguridad de memoria en C y C++
  • Patrones de vulnerabilidad 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
  • Escritura de código robusto y mantenible
  • Minimización de superficies de ataque
  • Principios de diseño seguro para aplicaciones en 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 sanitización de datos
  • Manejo seguro de datos de usuario y externos

Gestión de errores y de excepciones

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

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

  • Comprensión de las vulnerabilidades en la gestión de memoria
  • Desbordamientos de búfer basados en la pila (stack)
  • Desbordamientos de búfer basados en el montón (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 de tiempo de ejecución

  • Comprensión de las vulnerabilidades de desbordamiento de pila
  • Protecciones de seguridad basadas en el compilador
  • Canaris de pila y mecanismos de protección
  • Randomización del diseño del espacio de direcciones (ASLR)
  • Características modernas de seguridad del sistema operativo

Consideraciones avanzadas de seguridad en C++

  • Gestión segura del ciclo de vida de los objetos
  • Prevención de vulnerabilidades de uso posterior a la liberación (use-after-free)
  • Gestión segura de punteros y referencias
  • Evitación de problemas de confusión de tipos
  • Uso seguro de las funciones 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 evaluación de seguridad
  • Enfoques de pruebas de seguridad automatizadas
  • Integración de verificaciones 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 del software
  • Conexión 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
  • Pruebas de código contra vulnerabilidades comunes
  • Repaso del curso y recomendaciones de desarrollo seguro

Requerimientos

Conceptos básicos de C/C++

Número de participantes


Precio por participante

Reseñas (7)

Próximos cursos

Categorías Relacionadas