Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Temario del curso
Día 1
Seguridad de IT y codificación segura
- Naturaleza de la seguridad
- Términos relacionados con la seguridad de IT
- Definición de riesgo
- Diferentes aspectos de la seguridad de IT
- Requisitos de diferentes áreas de aplicación
- Seguridad de IT vs. codificación segura
-
De las vulnerabilidades a los botnets y el cibercrimen
- Naturaleza de los fallos de seguridad
- Razones de la dificultad
- De una computadora infectada a ataques dirigidos
-
Clasificación de los fallos de seguridad
- Taxonomía de Landwehr
- Los Siete Reinos Perniciosos
- OWASP Top Ten 2013
- Comparación OWASP Top Ten 2003 – 2013
Introducción al Microsoft® Security Development Lifecycle (SDL)
- Agenda
-
Aplicaciones bajo ataque...
- Evolución del cibercrimen
- Los ataques se centran en las aplicaciones
- La mayoría de las vulnerabilidades están en aplicaciones de ISV más pequeñas
-
Origenes del Microsoft SDL...
- Línea temporal de seguridad en Microsoft...
- ¿Qué aplicaciones están obligadas a seguir el SDL?
-
Microsoft Security Development Lifecycle (SDL)
- Microsoft Security Development Lifecycle (SDL)
- Requisitos previos al SDL: Formación en seguridad
- Fase Uno: Requisitos
- Fase Dos: Diseño
- Fase Tres: Implementación
- Fase Cuatro: Verificación
- Fase Cinco: Lanzamiento – Plan de respuesta
- Fase Cinco: Lanzamiento – Revisión final de seguridad
- Fase Cinco: Lanzamiento – Archivo
- Requisito post-SDL: Respuesta
- Guía de proceso SDL para aplicaciones LOB
- Guía de SDL para metodologías ágiles
- El desarrollo seguro de software requiere mejora del proceso
Principios de diseño seguro
-
Superficie de ataque
- Reducción de la superficie de ataque
- Superficie de ataque – un ejemplo
- Análisis de la superficie de ataque
- Reducción de la superficie de ataque – ejemplos
-
Privacidad
- Privacidad
- Comprensión de los comportamientos y preocupaciones de la aplicación
-
Defensa en profundidad
- Principio principal del SDL: Defensa en profundidad
- Defensa en profundidad – ejemplo
-
Principio de menor privilegio
- Menor privilegio – ejemplo
-
Configuraciones seguras por defecto
- Configuraciones seguras por defecto – ejemplos
Principios de implementación segura
- Agenda
- Microsoft Security Development Lifecycle (SDL)
-
Conceptos básicos de desbordamiento de búferes
- Procesadores Intel 80x86 – registros principales
- El diseño de direcciones de memoria
- El mecanismo de llamada a funciones en C/C++ en x86
- Las variables locales y el marco de pila
-
Desbordamiento de pila
- Desbordamiento de búfer en la pila
- Ejercicios – introducción
- Ejercicio BOFIntro
- Ejercicio BOFIntro – determinar el diseño de la pila
- Ejercicio BOFIntro – un simple exploit
-
Validación de entrada
- Conceptos de validación de entrada
-
Problemas con enteros
- Representación de enteros negativos
- Desbordamiento de enteros
- Desbordamiento aritmético – ¡adivina el resultado!
- Ejercicio IntOverflow
- ¿Cuál es el valor de Math.Abs(int.MinValue)?
-
Mitigación de problemas con enteros
- Mitigación de problemas con enteros
- Evitar el desbordamiento aritmético – suma
- Evitar el desbordamiento aritmético – multiplicación
- Detectar desbordamientos con la palabra clave checked en C#
- Ejercicio – Usando la palabra clave checked en C#
- Excepciones desencadenadas por desbordamientos en C#
-
Estudio de caso – Desbordamiento de enteros en .NET
- Una vulnerabilidad real de desbordamiento de enteros
- Explotación de la vulnerabilidad de desbordamiento de enteros
-
Vulnerabilidad de navegación de ruta
- Mitigación de la vulnerabilidad de navegación de ruta
Día 2
Principios de implementación segura
-
Inyección
- Métodos típicos de ataque por inyección SQL
- Inyección SQL ciega y basada en tiempo
- Métodos de protección contra inyección SQL
- Inyección de comandos
-
Autenticación rota - gestión de contraseñas
- Ejercicio – Debilidad de las contraseñas cifradas
- Gestión y almacenamiento de contraseñas
- Algoritmos hash específicos para el almacenamiento de contraseñas
-
Cross-Site Scripting (XSS)
- Cross-Site Scripting (XSS)
- Inyección de CSS
- Explotación: inyección a través de otras etiquetas HTML
- Prevención de XSS
-
Falta de control de acceso por función
- Filtrado de subidas de archivos
-
Criptografía práctica
- Proporcionar confidencialidad con criptografía simétrica
- Algoritmos de cifrado simétrico
- Cifrado por bloques – modos de operación
- Hash o resumen de mensaje
- Algoritmos hash
- Código de autenticación de mensaje (MAC)
- Proporcionar integridad y autenticidad con una clave simétrica
- Proporcionar confidencialidad con cifrado de clave pública
- Regla general – posesión de la clave privada
- Errores típicos en la gestión de contraseñas
- Ejercicio – Contraseñas codificadas
- Conclusión
Principios de verificación segura
- Pruebas funcionales vs. pruebas de seguridad
- Vulnerabilidades de seguridad
- Priorización
- Pruebas de seguridad en el SDLC
- Pasos para la planificación de pruebas (análisis de riesgo)
-
Alcance y recolección de información
- Partes interesadas
- Activos
- La superficie de ataque
- Objetivos de seguridad para las pruebas
-
Modelado de amenazas
- Modelado de amenazas
- Perfiles de atacantes
- Modelado de amenazas basado en árboles de ataque
- Modelado de amenazas basado en casos de uso malintencionados/abuso
- Casos de uso malintencionados/abuso – un ejemplo simple de una tienda web
- Enfoque STRIDE por elemento para el modelado de amenazas – MS SDL
- Identificación de objetivos de seguridad
- Diagramación – ejemplos de elementos DFD
- Diagrama de flujo de datos – ejemplo
- Enumeración de amenazas – STRIDE y elementos DFD del MS SDL
- Análisis de riesgo – clasificación de amenazas
- El modelo de clasificación de amenazas/riesgos DREAD
-
Técnicas y herramientas de prueba de seguridad
- Enfoques generales de pruebas
- Técnicas para diferentes etapas del SDLC
-
Revisión de código
- Revisión de código para la seguridad del software
- Análisis de taint
- Heurísticas
-
Análisis estático de código
- Análisis estático de código
- Ejercicio – Usando herramientas de análisis estático de código
-
Prueba de la implementación
- Verificación manual en tiempo de ejecución
- Pruebas manuales vs. pruebas automatizadas de seguridad
- Prueba de penetración
- Pruebas de estrés
-
Fuzzing
- Pruebas automatizadas de seguridad - fuzzing
- Desafíos del fuzzing
-
Escáneres de vulnerabilidades web
- Ejercicio – Usando un escáner de vulnerabilidades
-
Verificación y endurecimiento del entorno
- Sistema de puntuación de vulnerabilidad común – CVSS
- Escáneres de vulnerabilidades
- Bases de datos públicas
-
Estudio de caso – Bypass de autenticación de formularios
- Vulnerabilidad de terminación de byte nulo
- La vulnerabilidad de bypass de autenticación de formularios en el código
- Explotación del bypass de autenticación de formularios
Fuentes de conocimiento
- Fuentes de codificación segura – un kit inicial
- Bases de datos de vulnerabilidades
- Directrices de codificación segura .NET en MSDN
- Hojas de trucos de codificación segura .NET
- Libros recomendados – .NET y ASP.NET
14 Horas
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 3200 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales
Testimonios (3)
La experiencia compartida, el saber hacer del profesor y su valor son importantes.
Carey Fan - Logitech
Curso - C/C++ Secure Coding
Traducción Automática
el conocimiento del instructor era muy alto - sabía de lo que estaba hablando y conocía las respuestas a nuestras preguntas
Adam - Fireup.PRO
Curso - Advanced Java Security
Traducción Automática
El tema es actual y necesitaba estar al día
Damilano Marco - SIAP s.r.l.
Curso - Secure Developer Java (Inc OWASP)
Traducción Automática