H. Programa de Taller de Programación segura
1. Datos de la UC
- Nombre: Taller de Programación segura
- Área de formación: Seguridad Computacional
- Créditos: 12
2. Objetivos
Introducir técnicas y herramientas, metodológicas y tecnológicas, para la verificación de seguridad de aplicaciones. El taller constará de dos módulos donde se ejercitarán prácticas ofensivas y defensivas respectivamente. Se pretende mediante actividades prácticas que los estudiantes incorporen los conocimientos para la ejecución de análisis de seguridad o test de penetración, así como aprender a utilizar herramientas y tecnologías de seguridad para la identificación de vulnerabilidades durante el desarrollo y despliegue de aplicaciones.
3. Metodología de enseñanza
El dictado de la unidad se basa en la presentaciones teóricas donde se introduce un taller o práctica a realizar, luego se realizan clases de consultas con los estudiantes/grupos para evaluar el avance y alcance de la práctica. Finalmente se evalúan los resultados de cada una de las prácticas mediante evaluaciones y/o presentaciones de los trabajos.
4. Temario
Práctica ofensiva
- Objetivo: uso de métodos y herramientas para la aplicación de tests de penetración y similares propios del enfoque DAST (Dynamic Application Security Testing)
- Ejemplo de herramientas: OWASP ZAP, Burp Suite, Greenbone OpenVAS
Práctica defensiva
- Objetivo: se pondrá foco en prácticas que permiten aplicar controles a lo largo de todo el ciclo de desarrollo, en particular para realizar verificaciones tanto con el enfoque DAST como con el enfoque SAST (Static Application Security Testing)
- Ejemplo de herramientas: OWASP ZAP, Sonarqube, OWASP Dependency Check, Kube Hunter, Kube Bench
5. Bibliografía
| Tema | Básica | Complementaria |
|---|---|---|
| Práctica ofensiva | (1) (2) | (1-3) |
| Práctica defensiva | (1) (2) | (1-3) |
6. Bibliografía Básica
- D. Fisher, Application Security Program Handbook, 2022.
- L. Bell, M. Brunton-Spall, R. Smith, J. Bird, Application Security: Enabling Security in a Continuous Delivery Pipeline, 2017.
7. Bibliografía Complementaria
8. Conocimientos previos exigidos y recomendados
Conocimientos Previos Exigidos Desarrollo Seguro de Aplicaciones.
Conocimientos Previos Recomendados Vulnerabilidades comunes en aplicaciones. Conocimientos de desarrollo de aplicaciones.
