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 informática 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 Top Ten 2013
  • OWASP Comparación de los diez mejores entre 2003 y 2013
  • Introducción al Microsoft ® 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 de ISV más pequeñas
  • Orígenes de la Microsoft SDL... Cronología de seguridad en Microsoft...
  • ¿Qué aplicaciones son necesarias para seguir SDL?
  • Microsoft Ciclo de vida de desarrollo de seguridad (SDL) Microsoft Ciclo de vida de desarrollo de seguridad (SDL)
  • Requisitos previos a SDL: formación en seguridad
  • Primera fase: Requisitos
  • Segunda fase: Diseño
  • Fase tres: Implementación
  • Fase cuatro: Verificación
  • Fase Cinco: Liberación – Plan de Respuesta
  • Fase cinco: Lanzamiento – Revisión de seguridad final
  • Fase Cinco: Lanzamiento – Archivo
  • Requisito posterior a SDL: Respuesta
  • Guía de procesos de SDL para aplicaciones de línea de negocio
  • Guía de SDL para Agile metodologías
  • El desarrollo seguro de software 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 las preocupaciones de las aplicaciones Defensa en profundidad Principio básico de SDL: Defensa en profundidad
  • Defensa en profundidad – ejemplo
  • Principio de privilegios mínimos Privilegio mínimo: ejemplo
  • Valores predeterminados seguros Valores predeterminados seguros: ejemplos
  • Principios de implementación segura Agenda
  • Microsoft Ciclo de vida de desarrollo de seguridad (SDL)
  • Conceptos básicos sobre el 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 simple exploit
  • Validación de entrada Conceptos de validación de entrada Problemas con enteros Representación de enteros negativos
  • Desbordamientos de enteros
  • Desbordamiento aritmético: ¡adivina el resultado!
  • Ejercicio IntOverflow
  • ¿Cuál es el valor de Math.Abs(int. MinValue)?
  • Mitigación de problemas enteros Mitigación de problemas 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 activadas por desbordamientos en C#
  • Caso práctico: Desbordamiento de enteros en .NET Una vulnerabilidad de desbordamiento de enteros en el mundo real
  • Explotación de la vulnerabilidad de desbordamiento de enteros Vulnerabilidad de recorrido de ruta Mitigación del recorrido de la ruta
  • Día 2
  • Principios de implementación segura Inyección Métodos típicos SQL de ataque por inyección 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 el control de acceso a nivel de función Filtrado de cargas de archivos
  • Criptografía práctica Proporcionar confidencialidad con criptografía simétrica
  • Los ims de Symede
  • Cifrados de bloques: modos de funcionamiento
  • Hash o resumen de mensajes
  • 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 una clave privada

      Errores típicos en la gestión de contraseñas
    Ejercicio – Contraseñas codificadas de forma rígida
  • Conclusión
  • Principios de verificación segura Pruebas funcionales frente a 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
  • Explotación 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
     

    Número de participantes


    Comienza

    Termina


    Dates are subject to availability and take place between 09:30 and 16:30.
    Los cursos de formación abiertos requieren más de 5 participantes.

    Testimonios (10)

    Cursos Relacionados

    Codificación Segura C / C ++

      21 horas

    Seguridad Java Estándar

      14 horas

    Seguridad de Aplicaciones Java y Web

      21 horas

    Seguridad Java Avanzada

      21 horas

    Avanzado Java, JEE y Seguridad de Aplicaciones Web

      28 horas

    Desarrollo de Seguridad .NET, C # y ASP.NET

      14 horas

    Integral de C# y .NET Seguridad de Aplicaciones

      21 horas

    C#, ASP.NET Avanzado y Seguridad de Aplicaciones Web

      21 horas

    Seguridad de Aplicaciones Web

      14 horas

    Pruebas de Seguridad

      14 horas

    Desarrollo y Pruebas Seguras de Aplicaciones Web

      21 horas

    Codificación Segura en PHP

      21 horas

    Combinado C / C ++, JAVA y Seguridad de Aplicaciones Web

      28 horas

    Combinado JAVA, PHP y Seguridad de Aplicaciones Web

      28 horas

    Seguridad de Android

      14 horas

    Categorías Relacionadas