Curso de C/C++ Secure Coding

Lista de deseos Share
Share Course
Page Link
Share On Social Media

Acerca de este curso

> Módulo 1. “Corriendo con tijeras”

Medir la amenaza

Conceptos de seguridad

C y C++

Plataformas de desarrollo

 

> Módulo 2. Strings

Cadenas de caracteres

Errores comunes de manipulación de cadenas

Exploits y vulnerabilidades de cadenas

Estrategias de mitigación para cadenas

Funciones de manejo de cadenas

Estrategias de protección en tiempo de ejecución

Vulnerabilidades notables

 

> Módulo 3. Subterfugio del Puntero

Ubicaciones de datos

Punteros de función

Punteros de objeto

Modificación del puntero de instrucción

Tabla de compensación global

La sección .dtors

Punteros virtuales

Las funciones atexit() y on_exit()

La función longjmp()

Manejo de excepciones

Estrategias de mitigación

 

> Módulo 4. Gestión dinámica de la memoria

Gestión de memoria C

Errores comunes de administración de memoria C

Gestión de memoria dinámica de C++

Errores comunes de administración de memoria de C++

Administradores de memoria

Asignador de memoria de Doug Lea

Vulnerabilidades doblemente libres

Estrategias de mitigación

Vulnerabilidades notables

 

> Módulo 5. Seguridad de integers

Introducción a la seguridad de enteros

Tipos de datos enteros

Conversiones de enteros

Operaciones con enteros

Vulnerabilidades de enteros

Estrategias de mitigación

 

> Módulo 6. Salida formateada

Funciones Variádicas

Funciones de salida con formato

Explotación de funciones de salida formateadas

Aleatorización de pila

Estrategias de mitigación

Vulnerabilidades notables

 

> Módulo 7. Concurrencia

Subprocesos múltiples

Paralelismo

Metas de desempeño

Errores comunes

Estrategias de mitigación

Trampas de mitigación

Vulnerabilidades notables

 

> Módulo 8. E/S de archivos

Conceptos básicos de E/S de archivos

Interfaces de E/S de archivos

Control de acceso

Identificación de archivos

Condiciones

Estrategias de mitigación

 

> Módulo 9. Prácticas recomendadas

El ciclo de vida de Desarrollo Seguro

Diseño

Implementación

Verificación

What Will You Learn?

  • Mejorar la seguridad general de cualquier aplicación C o C++
  • Impedir los desbordamientos de búfer, la destrucción de pilas y los ataques de programación orientados al retorno que aprovechan la lógica de manipulación de cadenas insegura
  • Evitar vulnerabilidades y fallas de seguridad derivadas del uso incorrecto de las funciones de administración de memoria dinámica
  • Eliminar los problemas relacionados con enteros que resultan de desbordamientos de enteros con signo, ajuste de enteros sin signo y errores de truncamiento
  • Realizar operaciones de E/S seguras, evitando las vulnerabilidades del sistema de archivos
  • Usar correctamente funciones de salida formateadas sin introducir vulnerabilidades de cadena de formato

Course Content

Student Ratings & Reviews

No Review Yet
No Review Yet