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

Student Ratings & Reviews

No Review Yet
No Review Yet