Curso Seguridad en Aplicaciones Web
Objetivo:
El objetivo del curso es concientizar y capacitar a los involucrados en el desarrollo de soluciones con GeneXus sobre la importancia de la seguridad y técnicas de detección, validación y mitigación de los riesgos potenciales existentes en las aplicaciones.

Como referencia y guía del curso se utiliza la última publicación del ranking OWASP Top 10, donde se presentan los riesgos más comunes de las aplicaciones hoy en día.

Orientado:
Enfocado principalmente a las personas que trabajan con GeneXus, desde analista, desarrolladores y testers, hasta gerentes de proyecto que deseen interiorizarse en los principales riesgos de seguridad que existen hoy en día.

Condiciones previas:
Se recomienda una experiencia mínima de 6 meses de desarrollo con GeneXus Web. 

Modalidades: Este curso puede ser estudiado en las siguientes modalidades:
 
 Presencial: Debe asistir a recibir el 100% del curso en el aula con un instructor GeneXus. La duración total del curso es de 24 horas, dividido en 6 instancias de 4 horas, realizadas de forma presencial.
 
  • Requisitos: ​​Los asistentes deberán llevar su propio equipo, con capacidad para conectarse de forma inalámbrica o cableada al ambiente de pruebas que se desplegará. El acceso será mediante escritorio remoto.
  • Examen: Se realizará un examen presencial, en PC, con preguntas de tipo múltiple opción y verdadero/falso, con el objeto de constatar que el alumno efectivamente haya asimilado los conceptos fundamentales vistos en el curso. Se aprobará el examen con un porcentaje igual o superior al 70%. De aprobarlo recibirá el certificado correspondiente.
 
 Online: La duración total del curso es de 24 horas, dividido en 6 instancias de 4 horas, realizadas de forma online.
 
  • Requisitos: Los participantes deberán utilizar su propio equipo (laptop o PC), con capacidad de conexión a Internet. Se les proveerá acceso a través de escritorio remoto a un ambiente de trabajo en la nube. No es requerido poseer licencias de GeneXus ni de ningún otro software.
  • Examen: El último día de curso, se realizará un examen, con preguntas de tipo múltiple opción y verdadero/falso, con el objeto de constatar que el alumno efectivamente haya asimilado los conceptos fundamentales vistos en el curso. Se aprobará el examen con un porcentaje igual o superior al 70%. De ser aprobado, se recibirá el certificado correspondiente (emitido por el fabricante de la herramienta).

Metodología:
El curso tiene un enfoque teórico donde se detallan los conceptos básicos que se deben conocer para abordar los temas de seguridad y una componente práctica que comprende la mayor parte del tiempo.
Para cada uno de los puntos del OWASP Top 10 se abordan los siguientes temas:
  • Demo sobre una aplicación de ejemplo que permite comprender la vulnerabilidad.
  • Explicación teórica del riesgo que representa.
  • Qué hace GeneXus automáticamente para evitarlo o mitigarlo.
  • Qué debe hacer el desarrollador para evitarlo y que soluciones existen.
  • Forma de detectar en el caso que se deba realizar alguna acción.
  • Ejercicio práctico en GeneXus detectando el problema, explotándolo, solucionándolo y verificándolo.
Los ejercicios prácticos son realizados por los asistentes accediendo a una máquina virtual que dispone el instructor a través de una LAN que se configura para la realización del curso.

Instructor:
El instructor del curso será uno de los siguientes profesionales:
Alcance:
Como referencia y guía del curso se utiliza la última publicación del ranking OWASP Top 10, donde se presentan los riesgos más comunes de las aplicaciones hoy en día.
A continuación se presentan los principales temas del curso.
 
        Introducción:
     Presentación del instructor, los temas a abordar en el curso y la metodología de trabajo.

        GeneXus & OWASP TOP 10 2017:
     Los puntos a abordar del OWASP Top 10 son los siguientes:

     1. A1- Inyecciones
      a. SQL
      b. XML
      c. JSON
      c. OS (Sistema Operativo)
      d. Código fuente

     2. A2- Pérdida de Autenticación
      a. Autenticación
      b. Gestión de sesiones

     3. A3- Exposición de datos sensibles
      a. Almacenamiento
      b. Caches
      c. Despliegue

     4. A4- Entidades Externas XML (XXE)

     5. A5- Pérdida de Control de Acceso
      a. Referencia Directa Insegura a Objetos
      b. Ausencia de Control de Acceso a las Funciones

     6. A6- Configuración de seguridad incorrecta
      a. Propiedades de la KB
      b. Transmisión

     7. A7-  Secuencia de Comandos en Sitios Cruzados (XSS)

     8. A8- Deserialización insegura

     9. A9- Componentes con vulnerabilidades conocidas

     10. A10- Registro y Monitoreo insuficientes

        Ciclo de desarrollo seguro:
     Introducción de las tareas que se deben realizar para lograr un enfoque eficaz y eficiente en términos de seguridad.

Material:
El material del curso será entregado en formato digital a todos los asistentes por correo electrónico.
El entorno de trabajo que se utilizará en el práctico se encuentra montado en una máquina virtual que se accede a través de escritorio remoto y contiene los siguientes elementos:
  • Ejemplos de vulnerabilidades en aplicaciones (WebGoat)
  • GeneXus y una KB de trabajo
  • Aplicación generada a partir de la KB
  • Herramientas de apoyo (ZAP, Firebug, entre otras)
El entorno de pruebas no se entrega a los participantes, es de uso exclusivo para brindar el curso.     

Por más información: