Hoy más del 70% de los ataques contra el sitio web de una compañía o aplicación web se dirigen a la 'Capa de aplicación' y no a la red o al sistema" -Gartner Group.
Los problemas de seguridad en las aplicaciones que desarrolla una empresa repercuten directamente en la imagen de la misma ante el mercado, afectando fuertemente su negocio. La correcta identificación y corrección de los posibles problemas de seguridad en una etapa temprana del desarrollo permite ahorrar trabajo, reducir los costos y aumentar la calidad de la aplicación final, mejorando el desempeño global.


Este curso lo capacitará para entender el tipo de problemas de seguridad en las aplicaciones durante el proceso de desarrollo, y cómo solucionarlos, con un componente práctico fundamental que le permitirá aplicar estos conocimientos en su vida profesional.

Objetivo:

El objetivo de este curso es introducir a los estudiantes en los principales conceptos y metodologías asociadas a la seguridad en el desarrollo de aplicaciones. Conocer los pilares fundamentales del enfoque en seguridad a la hora de proyectos de desarrollo de aplicaciones. Comprender y aplicar la gestión del riesgo en los proyectos de desarrollo, enfocados en la seguridad del producto, y la consistencia del proceso.

Público objetivo:

Profesionales y estudiantes interesados en Seguridad Informática, en particular en el área de desarrollo, testing, gestión de proyectos o seguridad.

Temario:

1. Introducción.
    1.1. Presentación, revisión de conceptos.
    1.2. Un framework para la gestión de riesgos

2. Siete hitos para la seguridad en el software
    2.1. Code review
    2.2. Análisis de riesgos en la arquitectura
    2.3. Tests de penetración
    2.4. Test de seguridad basado en los riesgos
    2.5. Casos de abuso
    2.6. Requerimientos de seguridad
    2.7. Operaciones de seguridad
    2.8. Análisis externo

3. Taxonomía de errores de codificación
    3.1. Validación de la entrada y codificación
    3.2. Abusos de API
    3.3. Funcionalidad de seguridad
    3.4. Tiempo y estado
    3.5. Manejo de errores
    3.6. Calidad del código
    3.7. Encapsulación, Entorno

4. Aplicaciones Web
    4.1. Autenticación/autorización
    4.2. Manejo de sesiones
    4.3. OWASP Top Ten, mapeo en la taxonomía

Conocimientos exigidos:

Sin conocimientos previos exigidos

Conocimientos deseables:

Conocimientos básicos de programación e Ingeniería de Software

Metodología de evaluación:

El curso se evaluará a partir de:
-Laboratorios
-Examen final de 2 hs