Temario del curso
Introducción al Desarrollo Seguro en C y C++
- Comprensión de los principios del desarrollo de software seguro
- Riesgos comunes de seguridad en aplicaciones C y C++
- Relación entre errores de programación y vulnerabilidades de seguridad
- Normas de codificación segura y buenas prácticas
Vulnerabilidades Comunes de Programación en C y C++
- Identificación de errores comunes de codificación que introducen riesgos de seguridad
- Problemas de seguridad de memoria en C y C++
- Patrones de vulnerabilidad e impacto
- Análisis de ejemplos de código inseguro
Principios de Programación Segura
\r- Aplicación de técnicas de defensa en profundidad
- Escribir código robusto y mantenible
- Minimizar superficies de ataque
- Principios de diseño seguro para aplicaciones C y C++
Validación de Entrada y Manejo de Datos
- Comprensión de la importancia de la validación de entrada
- Prevención de explotación maliciosa mediante entradas fraudulentas
- Técnicas de sanitzación de datos
- Manejo seguro de datos del 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 manejo de errores y excepciones
- Evitar filtración de información a través de errores
- Creación de aplicaciones resilientes
Seguridad de Memoria y Protección contra Desbordamiento de Búfer
- Comprensión de vulnerabilidades en la gestión de memoria
- Desbordamientos de búfer basados en pila
- Desbordamientos de búfer basados en montículo (heap)
- Detección y prevención de corrupción de memoria
- Técnicas seguras de manejo de memoria
Protección de Pila y Características de Seguridad en Tiempo de Ejecución
- Comprensión de vulnerabilidades de desbordamiento de pila
- Protecciones de seguridad basadas en el compilador
- Pilas de control y mecanismos de protección (stack canaries)
- Randomización del Espacio de Direcciones (ASLR)
- Características modernas de seguridad de sistemas operativos
Consideraciones Avanzadas de Seguridad en C++
- Gestión segura del ciclo de vida de objetos
- Prevención de vulnerabilidades por uso después de liberar
- Manejo seguro de punteros y referencias
- Evitar problemas de confusión de tipos
- Uso seguro de características del lenguaje C++
Herramientas y Técnicas de Codificació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 automatizados de pruebas de seguridad
- Integración de comprobaciones de seguridad en flujos de desarrollo
Normas de Codificación Segura y Buenas Prácticas
- Revisión de directrices de codificación segura de la industria
- Aplicación de técnicas de programación defensiva
- Inserción de seguridad en el ciclo de vida del desarrollo de software
- Mantenimiento de aplicaciones C/C++ seguras y confiables
Taller Práctico de Codificación Segura
- Análisis de ejemplos de código C/C++ vulnerables
- Aplicación de correcciones y mejoras de seguridad
- Pruebas del código contra vulnerabilidades comunes
- Revisión del curso y recomendaciones para desarrollo seguro
Requerimientos
Conocimientos básicos de C/C++
Reseñas (7)
La experiencia compartida, el saber hacer del profesor y su valor son importantes.
Carey Fan - Logitech
Curso - C/C++ Secure Coding
Traducción Automática
el equilibrio entre las conferencias y la práctica, el ritmo, el conocimiento del formador y su habilidad pedagógica
Armando Pinto - EID
Curso - C/C++ Secure Coding
Traducción Automática
El instructor proporcionó información actualizada y valiosas referencias y herramientas.
Jose Vicente - EID
Curso - C/C++ Secure Coding
Traducción Automática
para obtener mucha información valiosa sobre el tema del curso
Paulo Pereira - EID
Curso - C/C++ Secure Coding
Traducción Automática
El entrenador tiene un conocimiento sólido y experiencia, diapositivas atractivas y buenos ejemplos.
Celso Almeida - EID
Curso - C/C++ Secure Coding
Traducción Automática
Información general del curso
Paulo Gouveia - EID
Curso - C/C++ Secure Coding
Traducción Automática
El excelente nivel de conocimientos del instructor, la disposición y su amabilidad.