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.
Programa 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 diferentes áreas de aplicación
- Seguridad de TI frente a codificación segura
- De las vulnerabilidades a las botnets y la ciberdelincuencia
- Naturaleza de las fallas de seguridad
- Razones de dificultad
- De un ordenador infectado a ataques dirigidos
- Clasificación de los fallos de seguridad
- Taxonomía de Landwehr
- Los Siete Reinos Perniciosos
- OWASP Los diez mejores de 2013
- OWASP Comparación de los diez mejores entre 2003 y 2013
- Introducción al ciclo ® de vida de desarrollo de seguridad (SDL)
- Agenda
- Aplicaciones bajo ataque...
- Evolución de la ciberdelincuencia
- Los ataques se centran en las aplicaciones
- La mayoría de las vulnerabilidades se encuentran en aplicaciones ISV más pequeñas
- Orígenes de la Microsoft SDL...
- Cronología de seguridad en Microsoft...
- ¿Qué aplicaciones deben seguir SDL?
- Microsoft Ciclo de vida del desarrollo de la seguridad (SDL)
- Microsoft Ciclo de vida del desarrollo de la seguridad (SDL)
- Requisitos previos a SDL: Formación en seguridad
- Primera fase: Requisitos
- Segunda fase: Diseño
- Tercera fase: Implementación
- Cuarta fase: Verificación
- Fase Cinco: Liberación – Plan de Respuesta
- Fase cinco: Lanzamiento – Revisión de seguridad final
- Fase Cinco: Lanzamiento – Archivo
- Requisito posterior al SDL: Respuesta
- Guía de procesos de SDL para aplicaciones de línea de negocio
- Guía de SDL para metodologías Agile
- El desarrollo de software seguro requiere la 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 expuesta a ataques: ejemplos
- Privacidad
- Privacidad
- Comprender los comportamientos y preocupaciones de las aplicaciones
- Defensa en profundidad
- Principio básico de SDL: Defensa en profundidad
- Defensa en profundidad: ejemplo
- Principio de privilegio mínimo
- Privilegio mínimo: ejemplo
- Valores predeterminados seguros
- Valores predeterminados seguros: ejemplos
- Superficie de ataque
- Principios de implementación segura
- Agenda
- Microsoft Ciclo de vida del desarrollo de la seguridad (SDL)
- Conceptos básicos de desbordamiento de búfer
- Procesadores Intel 80x86 – registros principales
- El diseño de la dirección de memoria
- El mecanismo de llamada a la función 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 exploit simple
- Validación de entradas
- Conceptos de validación de entrada
- Problemas con enteros
- Representación de números 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 de enteros
- Mitigación de problemas de enteros
- Evitar el desbordamiento aritmético – suma
- Evitar el desbordamiento aritmético – multiplicación
- Detección de desbordamiento con la palabra clave marcada en C#
- Ejercicio – Usando la palabra clave checked en C#
- Excepciones desencadenadas por desbordamientos en C#
- Caso práctico: Desbordamiento de enteros en .NET
- Una vulnerabilidad de desbordamiento de enteros del mundo real
- Explotación de la vulnerabilidad de desbordamiento de enteros
- Vulnerabilidad de recorrido de ruta
- Mitigación de recorrido de ruta
Día 2
- Principios de implementación segura
- Inyección
- Métodos típicos de ataque de inyección SQL
- Inyección ciega y basada en el tiempo SQL
- SQL Métodos de protección contra inyecciones
- Inyección de comandos
- Autenticación rota: gestión de contraseñas
- Ejercicio – Debilidad de las contraseñas con hash
- Gestión y almacenamiento de contraseñas
- Algoritmos hash de propósito especial para el almacenamiento de contraseñas
- Secuencias de comandos entre sitios (XSS)
- Secuencias de comandos entre sitios (XSS)
- CSS Inyección
- Explotación: inyección a través de otras etiquetas HTML
- Prevención de XSS
- Falta control de acceso a nivel de función
- Filtrado de cargas de archivos
- Criptografía práctica
- Proporcionar confidencialidad con criptografía simétrica
- Algoritmos de cifrado simétrico
- Cifrados de bloques: modos de funcionamiento
- Hash o resumen de mensaje
- Algoritmos hash
- Código de autenticación de mensajes (MAC)
- Proporcionar integridad y autenticidad con una clave simétrica
- Proporcionar confidencialidad con cifrado de clave pública
- Regla general: posesión de clave privada
- Errores típicos en la gestión de contraseñas
- Ejercicio – Contraseñas codificadas de forma rígida
- Conclusión
- Inyección
- Principios de verificación segura
- Pruebas funcionales vs. pruebas de seguridad
- Vulnerabilidades de seguridad
- Priorización
- Pruebas de seguridad en el SDLC
- Pasos de la planificación de pruebas (análisis de riesgos)
- Determinación del alcance y recopilación de información
- Participantes
- Activo
- La superficie de ataque
- Objetivos de seguridad para las pruebas
- Modelado de amenazas
- Modelado de amenazas
- Perfiles de los 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: elementos STRIDE y DFD de MS SDL
- 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 las pruebas
- Técnicas para varios pasos del SDLC
- Revisión de código
- Revisión de código para la seguridad del software
- Análisis de la contaminación
- Heurística
- Análisis de código estático
- Análisis de código estático
- Análisis de código estático
- Ejercicio: uso de herramientas de análisis de código estático
- Prueba de la implementación
- Verificación manual en tiempo de ejecución
- Pruebas de seguridad manuales vs. automatizadas
- Pruebas de penetración
- Pruebas de estrés
- Fuzzing
- Pruebas de seguridad automatizadas: fuzzing
- Desafíos del fuzzing
- Escáneres de vulnerabilidades web
- Ejercicio: uso de un escáner de vulnerabilidades
- Comprobación y endurecimiento del entorno
- Sistema común de puntuación de vulnerabilidades – CVSS
- Escáneres de vulnerabilidades
- Bases de datos públicas
- Caso práctico: omisión de autenticación de formularios
- Vulnerabilidad de terminación de bytes NULL
- La vulnerabilidad de omisión de autenticación de formularios en el código
- Aprovechamiento de la omisión de autenticación de formularios
- Fuentes de conocimiento
- Fuentes de codificación seguras: un kit de inicio
- Bases de datos de vulnerabilidades
- Directrices de codificación segura de .NET en MSDN
- Hojas de referencia rápida de codificación segura de .NET
- Libros recomendados: .NET y ASP.NET
14 Horas
Testimonios (5)
El excelente nivel de conocimientos del instructor, la disposición y su amabilidad.
Luis Antonio Salazar Rivero - Banco de Mexico
Curso - C/C++ Secure Coding
Nothing it was perfect.
Zola Madolo - Vodacom
Curso - Android Security
The labs
Katekani Nkuna - Vodacom
Curso - The Secure Coding Landscape
It opens up a lot and gives lots of insight what security
Nolbabalo Tshotsho - Vodacom SA
Curso - Advanced Java Security
I was benefit from the exercises (SQL injection, XSS, CRSF. .).