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.
El presente curso se encuentra 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.
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:
Se encuentra 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.Para realizar el curso, se le proveerá al asistente acceso a través de escritorio remoto a un ambiente de trabajo en la nube. No es requerido poseer disponibles 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.
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
1. 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.