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 [Usar]
- 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++ [Usar]
- Clasificar los errores de validación de entrada común, y escribir correctamente el código de validación de entrada [Usar]
- 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 [Usar]
- Demostrar la identificación y el manejo elegante de las condiciones de error [Familiarizarse]
- Explique los riesgos de mal uso de las interfaces con código de terceros y cómo utilizar correctamente el código de terceros [Familiarizarse]
- 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 [Familiarizarse]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM