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 informática y codificación segura
- Naturaleza de la seguridad.
- Términos relacionados con la seguridad informática.
- Definición de riesgo.
- Diferentes aspectos de la seguridad informática.
- Requisitos de las distintas áreas de aplicación.
- Seguridad informática frente a codificación segura.
-
De las vulnerabilidades a las botnets y la delincuencia informática
- Naturaleza de los fallos de seguridad.
- Causas de la dificultad para resolverlos.
- De un ordenador infectado a ataques dirigidos.
-
Clasificación de los fallos de seguridad
- Taxonomía de Landwehr.
- Los siete reinos perniciosos.
- OWASP Top Ten 2013.
- Comparativa de OWASP Top Ten: 2003 – 2013.
Introducción al Ciclo de Vida de Desarrollo Seguro (SDL) de Microsoft®
- Agenda.
-
Aplicaciones bajo ataque...
- Evolución de la delincuencia informática.
- Los ataques se centran en las aplicaciones.
- La mayoría de las vulnerabilidades se encuentran en aplicaciones de ISV más pequeñas.
-
Orígenes del SDL de Microsoft...
- Cronología de seguridad en Microsoft....
- ¿Qué aplicaciones están obligadas a seguir el proceso SDL?
-
Ciclo de Vida de Desarrollo Seguro (SDL) de Microsoft
- Ciclo de Vida de Desarrollo Seguro (SDL) de Microsoft.
- 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 posterior al SDL: Respuesta.
- Guía del proceso SDL para aplicaciones LOB (Line of Business).
- Orientación del SDL para metodologías ágiles.
- El desarrollo de software seguro requiere una mejora de los procesos.
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 e inquietudes respecto a la aplicación.
-
Defensa en profundidad.
- Principio fundamental del SDL: Defensa en profundidad.
- Ejemplo de defensa en profundidad.
-
Principio del menor privilegio.
- Ejemplo del principio del menor privilegio.
-
Valores predeterminados seguros.
- Valores predeterminados seguros – ejemplos.
Principios de implementación segura
- Agenda.
- Ciclo de Vida de Desarrollo Seguro (SDL) de Microsoft.
-
Conceptos básicos de desbordamiento de búfer
- Procesadores Intel 80x86 – registros principales.
- Disposición del espacio de direcciones de memoria.
- Mecanismo de llamadas de funciones en C/C++ en x86.
- Variables locales y la pila de llamadas (stack frame).
-
Desbordamiento de pila.
- Desbordamiento de búfer en la pila.
- Introducción a los ejercicios.
- Ejercicio BOFIntro.
- Ejercicio BOFIntro – determinación del diseño de la pila.
- Ejercicio BOFIntro – un exploit sencillo.
-
Validación de entrada
- Conceptos de validación de entrada.
-
Problemas con enteros.
- Representación de enteros negativos.
- Desbordamiento de enteros.
- Desbordamiento aritmético – ¿puedes adivinar 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.
- Detección de desbordamiento con la palabra clave checked en C#.
- Ejercicio – Uso de la palabra clave checked en C#.
- Excepciones provocadas por desbordamientos en C#.
-
Estudio de caso – Desbordamiento de enteros en .NET.
- Una vulnerabilidad real de desbordamiento de enteros en el mundo real.
- Explotación de la vulnerabilidad de desbordamiento de enteros.
-
Vulnerabilidad de recorrido de rutas.
- Mitigación del recorrido de rutas.
Día 2
Principios de implementación segura
-
Inyección.
- Métodos de ataque típicos de inyección SQL.
- Inyección SQL ciega y basada en tiempo.
- Métodos de protección contra la inyección SQL.
- Inyección de comandos.
-
Autenticación incorrecta - gestión de contraseñas.
- Ejercicio – Debilidad de las contraseñas hasheadas.
- Gestión y almacenamiento de contraseñas.
- Algoritmos de hash específicos para el almacenamiento de contraseñas.
-
Scripting entre sitios (XSS).
- Scripting entre sitios (XSS).
- Inyección CSS.
- Explotación: inyección a través de otras etiquetas HTML.
- Prevención de XSS.
-
Control de acceso a nivel de función faltante.
- Filtrado de cargas de archivos.
-
Criptografía práctica.
- Proporción de confidencialidad con criptografía simétrica.
- Algoritmos de cifrado simétricos.
- Cifradores de bloques – modos de operación.
- Hash o resumen de mensaje.
- Algoritmos de hash.
- Código de autenticación de mensajes (MAC).
- Proporción de integridad y autenticidad con una clave simétrica.
- Proporción de confidencialidad con cifrado de clave pública.
- Regla práctica – posesión de la clave privada.
- Errores típicos en la gestión de contraseñas.
- Ejercicio – Contraseñas codificadas en el código fuente.
- Conclusión.
Principios de verificación segura
- Pruebas funcionales frente a pruebas de seguridad.
- Vulnerabilidades de seguridad.
- Priorización.
- Pruebas de seguridad en el ciclo de vida del desarrollo de software (SDLC).
- Pasos de la planificación de pruebas (análisis de riesgos).
-
Delimitación y recopilació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 indebido/abuso.
- Casos de uso indebido/abuso – un ejemplo sencillo de 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 de MS SDL y elementos DFD.
- Análisis de riesgos – clasificación de amenazas.
- El modelo de clasificación de amenazas/riesgos DREAD.
-
Técnicas y herramientas de pruebas de seguridad.
- Enfoques generales de pruebas.
- Técnicas para las distintas etapas del SDLC.
-
Revisión del código.
- Revisión del código para la seguridad del software.
- Análisis de contaminación (taint analysis).
- Heurística.
-
Análisis estático del código.
- Análisis estático del código.
- Ejercicio – Uso de herramientas de análisis estático del código.
-
Prueba de la implementación.
- Verificación manual en tiempo de ejecución.
- Pruebas manuales frente a automáticas de seguridad.
- Pruebas de penetración (pentesting).
- Pruebas de carga (stress tests).
-
Fuzzing.
- Pruebas automáticas de seguridad mediante fuzzing.
- Desafíos del fuzzing.
-
Escáneres de vulnerabilidades web.
- Ejercicio – Uso de un escáner de vulnerabilidades.
-
Verificación y endurecimiento del entorno.
- Sistema Común de Puntuación de Vulnerabilidades – CVSS.
- Escáneres de vulnerabilidades.
- Bases de datos públicas.
-
Estudio de caso – Elusión de la autenticación de formularios.
- Vulnerabilidad de terminación de byte nulo.
- La vulnerabilidad de elusión de la autenticación de formularios en el código.
- Explotación de la elusión de la autenticación de formularios.
Fuentes de conocimiento
- Fuentes de codificación segura – un kit de inicio.
- Bases de datos de vulnerabilidades.
- Directrices de codificación segura .NET en MSDN.
- Hojas de trucos para la codificación segura .NET.
- Libros recomendados – .NET y ASP.NET.
14 Horas
Reseñas (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