Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETIVOS
El objetivo de esta capacitación es proveer a los asistentes los conocimientos, las
herramientas, los recursos y las metodologías necesarias que le permitan abordar cada
una de las actividades de seguridad requeridas durante el proceso de Desarrollo de
Software.
Conocer los diferentes tipos de amenazas a los que se encuentran expuestos los
desarrollos de software, la identificación y valoración de los riesgos asociados, y las
vulnerabilidades, tanto en el aspecto teórico como práctico, a fin de poder aplicar las
correcciones y controles adecuados.
El Curso está basado en las buenas prácticas de Software Security desarrollada por Gary
McGraw, la metodología de Microsoft para su Security Development Lifecycle y las
recomendaciones de OWASP (Open Web Application Security Program).
El curso se desarrolla a través de actividades teóricas durante las cuales se abordarán las
descripciones de cada una de las actividades de seguridad a realizar durante las fases de
Diseño, Implementación y Delivery del software, con el fin de que el alumno obtenga los
conocimientos con fundamento. Este componente se complementa con una alta carga de
ejercicios prácticos
PUBLICO OBJETIVO
• Desarrolladores/Programadores
www.gub.uy/agesic
• Testers
• Especialistas en seguridad
• Administradores de sistemas
• Gerentes de sistemas
REQUISITOS PREVIOS
Los asistentes deben contar con conocimientos básicos de desarrollo web y SQL y redes.
DOCENTE/PROVEEDOR
DURACIÓN
FECHA Y DURACION
CRONOGRAMA
FORMATO
www.gub.uy/agesic
EVALUACIÓN
Se propone realizar una prueba al finalizar el curso, otorgando certificado de aprobación
con un 60 % del puntaje total y un 70 % aproximado de asistencia.
PROGRAMA
▪ Introducción
o Motivación.
o Ejemplo de casos reales.
▪ Introducción a la Seguridad Informática
o Seguridad de la Información y Seguridad informática
o Seguridad en el Software. El problema.
o Dilema del atacante y del defensor
o Vulnerabilidades y su clasificación
o Defectos: Bugs y Fallas
▪ Introducción al SDLC. Propiedades software seguro. Principios de diseño, Tipos de
S-SDLC.
▪ Introducción a la Gestión de Riesgo. Patrones de Diseño.
▪ Software Security
o Introducción al Test de Seguridad a Aplicaciones Web
▪ Conceptos generales
• Variables manchadas.
• Funciones sensibles.
• Funciones de validación.
▪ Test funcional =! Test intrusión
▪ White Hat vs Black Hat
▪ Uso de herramientas automatizadas
• Proxy de Intercepción.
• Zed Attack Proxy.
▪ OWASP Top 10
• Inyecciones
• Pérdida de Autenticación y mala gestión de sesiones
• Exposición de Datos Sensibles
• Entidades Externas XML (XXE)
• Pérdida de Control de Acceso
• Configuración de Seguridad Incorrecta
• Cross-Site Scripting (XSS)
• Deserialización Insegura
• Uso de Componentes con Vulnerabilidades Conocidas.
• Registro y Monitoreo Insuficientes
▪ Análisis y Diseño Seguro de Software
• Ingeniería de Requerimientos de seguridad
• Casos de abuso
Torre Ejecutiva Sur
Liniers 1324 – Piso 4
Montevideo – Uruguay
Teléfono: (+598) 2901.2929*
www.gub.uy/agesic
o Modelado UML de Casos de Abuso
• Modelado de amenazas
o Diagramas de Flujos de Datos (DFD)
o S.T.R.I.D.E.
o Modelado de Árboles de amenaza
o Valoración de riesgos
▪ DREAD
o Técnicas de Seguridad en el Software
o Tipificación de credenciales
▪ Esquemas de autenticación
▪ Autenticación y Autorización
▪ Protección de comunicaciones
▪ Protección de confidencialidad
• Cifrado simétrico y asimétrico
• Algoritmos de HASH
• Message Autheticacion Code
▪ Firma Digital
▪ Auditoria
▪ Least privilege
• Estrategias de mitigación
• Test de seguridad basado en riesgos
▪ Revisión de código con Herramientas
• Static Application Security Testing (SAST).
o Introducción a herramientas SATS (ITS4, RATS,
FlawFinder, etc.).
o Reglas y tipificación.
• Herramientas actuales (SonarQube, FindBugs, PMD, Fortify,
etc).
• Uso de SonarQube para detección de bugs en código.
www.gub.uy/agesic