Accesos directos a las distintas zonas del curso

Ir a los contenidos

Ir a menú navegación principal

Ir a menú pie de página

DESARROLLO DE SOFTWARE SEGURO

Curso 2017/2018 / Cod.31105147

DESARROLLO DE SOFTWARE SEGURO

CONTENIDOS DE LA ASIGNATURA

Tema 1: Introducción

Los aspectos estudiados en este tema son los siguientes:

  • Visión panorámica de las vulnerabilidades y sus costes
  • Propiedades del software seguro y resiliente

Bibliografía de estudio:

  • Capitulos 1 y 2 del libro [Merkow 2010]

Tema 2: Estudio de Vulnerabilidades

Los aspectos estudiados en este tema son los siguientes:

  • Errores de programación más peligrosos según el CWE/SANS Top 25
  • Conceptos de seguridad

Bibliografía de estudio:

  • Apéndice A del libro [Merkow 2010]
  • Capítulo 1 del libro [Seacord 2013]
  • Artículo [Tsipenyuk 2005] disponible en formato pdf en la plataforma aLF

Tema 3: Plan Estratégico

Los aspectos estudiados en este tema son los siguientes:

  • Seguridad y resiliencia a lo largo del ciclo de vida
  • Puntos de ataque y seguridad perimetral
  • Buenas prácticas según OWASP (Open Web Application Security Project)

Bibliografía de estudio:

  • Capítulos 3 y 4 del libro [Merkow 2010]

Tema 4: Prácticas de Desarrollo

Los aspectos estudiados en este tema son los siguientes:

  • Buenas prácticas para análisis de requisitos, diseño arquitectónico y de detalle. Por ejemplo:
    • Casos de uso/abuso
    • Modelado de amenazas
    • Análisis de riesgos
    • Revisión de diseño
    • Defensa en profundidad

Bibliografía de estudio:

  • Capítulo 5 del libro [Merkow 2010]
  • Capítulo 9 del libro [Seacord 2013]

Tema 5: Buenas Prácticas de Programación

Los aspectos estudiados en este tema son los siguientes:

  • Los 10 riesgos de seguridad más críticos según OWASP
  • Plataforma ESAPI (OWASP Enterprise Security API)
  • Cross-Site Scripting (XSS)
  • Inyección de ataques
  • Autentificación y gestión de sesión

Bibliografía de estudio:

  • Capítulo 6 del libro [Merkow 2010]

Tema 6: Gestión de Memoria en C y C++

Los aspectos estudiados en este tema son los siguientes:

  • Errores más comunes de gestión de memoria
    • Buffer overflow
    • Stack smashing
  • Validación de entradas

Bibliografía de estudio:

  • Capítulos 2 y 4 del libro [Seacord 2013]

Tema 7: Strings, Punteros y Manejo de Enteros

Los aspectos estudiados en este tema son los siguientes:

  • Errores de manejo de strings
  • Errores de overflow de enteros
  • Subterfugios con punteros

Bibliografía de estudio:

  • Capítulos 3 y 5 del libro [Seacord 2013]

Tema 8: Otras vulnerabilidades en C y C++

Los aspectos estudiados en este tema son los siguientes:

  • Errores de formateado de Entrada/Salida de datos
  • Errores de secuenciado de Entrada/Salida de datos
  • Errores de manejo de ficheros

Bibliografía de estudio:

  • Capítulos 6 y 7 del libro [Seacord 2013]

Tema 9: Análisis Estático

Los aspectos estudiados en este tema son los siguientes:

  • Tipos de análisis estático
  • Herramientas de análisis
    • Coverity
    • Fortify

Bibliografía de estudio:

  • Capítulo 8 del libro [Merkow 2010]

Tema 10: Pruebas

Los aspectos estudiados en este tema son los siguientes:

  • Buenas prácticas de pruebas de unidades
  • Pruebas de penetración
  • Fuzzing

Bibliografía de estudio:

  • Capítulo 9 del libro [Merkow 2010]