Referencias Bibliográficas: []
Temas
- Validación de datos de entrada y sanitización  
 
- Elección del lenguaje de programación y lenguajes con tipos de datos seguro. 
 
- Ejemplos de validación de entrada de datos y sanitización de errores.
- Desbordamiento de búfer
 
- Errores enteros
 
- Inyección SQL
 
- Vulnerabilidad XSS
 
 
 
- Las condiciones de carrera. 
 
- Manejo correcto de las excepciones y comportamientos inesperados. 
 
- Uso correcto de los componentes de terceros. 
 
- Desplegar eficazmente las actualizaciones de seguridad. 
 
- Información de control de flujo. 
 
- Generando correctamente el azar con fines de seguridad. 
 
- Mecanismos para la detección y mitigación de datos de entrada y errores de sanitización. 
 
- Fuzzing 
 
- El análisis estático y análisis dinámico. 
 
- Programa de verificación. 
 
- Soporte del sistema operativo (por ejemplo, la asignación al azar del espacio de direcciones, canarios)  
 
- El soporte de hardware (por ejemplo, el DEP, TPM) 
 
Objetivos de Aprendizaje
- Explicar por que la validación de entrada y desinfección de datos es necesario en el frente del control contencioso del canal de entrada  [Usage]
 
- Explicar por que uno deberia escoger para desallorrar un programa en un lenguaje tipo seguro como Java, en contraste con un lenguaje de programación no seguro como C/C++  [Usage]
 
- Clasificar los errores de validación de entrada común, y escribir correctamente el código de validación de entrada  [Usage]
 
- Demostrar el uso de un lenguaje de programación de alto nivel cómo prevenir una condición de competencia que ocurran y cómo manejar una excepción  [Usage]
 
- Demostrar la identificación y el manejo elegante de las condiciones de error  [Familiarity]
 
- Explique los riesgos de mal uso de las interfaces con código de terceros y cómo utilizar correctamente el código de terceros  [Familiarity]
 
- Discutir la necesidad de actualizar el software para corregir las vulnerabilidades de seguridad y la gestión del ciclo de vida de la corrección  [Familiarity]
 
Generado por Ernesto Cuadros-Vargas ,               Sociedad Peruana de Computación-Peru,               basado en el modelo de la Computing Curricula de               IEEE-CS/ACM