Curso online: Desarrollo Seguro Web

INICIO: Sábado 18 de Julio de 2020

DURACIÓN: 2 meses y medio

DESARROLLO: Curso Intensivo A DISTANCIA, duración 2 meses y medio. Se desarrollarán los temas a través de 10 clases virtuales meet (38 horas) - 4 Video Labs pre-grabados (8 horas) - ejercitación y material de lectura (4 horas). Total de 50 horas.

COSTO FINAL: Socios: $ 16.800 (Pesos Argentinos).- Público en Gral.: $ 17.800 (Pesos Argentinos).- Alumnos del exterior US$: 290 (dólar estadounidense)

Solicitá tu código de descuento

FORMAS DE PAGO: Efectivo |Depósito y/o Transferencia | Mercado Pago.

Se entrega material y certificado, cumpliendo con el requisito de presentación de los trabajos prácticos y aprobación del examen.

Consultas: Whatsapp: 11 6641-9311 / capacita@cpci.org.ar


Temario

Módulo Uno: introducción a la seguridad y principios de desarrollo seguro

4 clases virtuales, de 3 y 4 horas cada clase, 1 hora de material de lectura y un ejercicio teórico/práctico al final de cada clase.

Clase 1:

● Introducción y base conceptual inicial

○ Contexto histórico de la seguridad.

○ Protocolo HTTP

○ Request Headers

○ Request Body

○ Response Headers

○ Response Body

○ Cookies

● Topología en las aplicaciones web

○ DMZ

○ Balanceador de carga

○ Firewall

○ WAF (Web Application Firewall)

○ Web Server

○ Servidor de aplicaciones

○ Base de Datos

● Conceptos básicos de seguridad.

○ CIA

○ Superficie de Ataque

○ Modelo de Amenazas

○ Ataques de Red Vs Ataques de Aplicaciones

Clase 2:

● Virtual Patching

○ Teoría de WAF

○ Evasión

○ Apache ModSecurity

○ Escritura de reglas básica

Clase 3:

● Seguridad en el ciclo de vida del software.

○ Modelo de desarrollo seguro

○ Diseño de Seguridad Principios

■ Defensa en profundidad

■ Fallo seguro

■ Mínimo Privilegio

■ Separación de privilegios

■ Simplicidad

■ Supervisión

■ Diseño abierto

■ Mínimo en común

■ Aceptabilidad

■ Punto más débil

■ Reutilización

○ SDLC

■ Secure Software Development Lifecycle

○ Mitos sobre la seguridad

■ Haciéndonos cargo

● Tipos de Análisis de Seguridad

○ Tipos de procedimiento del análisis:

■ Análisis estático

■ Análisis dinámico.

○ Dependiendo de los sistemas que participan en el análisis:

■ Análisis en desarrollo.

■ Análisis en testing y QA.

■ Análisis en producción

○ Dependiendo de la interacción con el analista:

■ Análisis Automático

■ Análisis Manual

● Concientización y capacitación

Clase 4:

● DevOps

o Introducción a DevOps

o Seguridad en DevOps

o SAST

▪ Ejemplos prácticos con Jenkins

▪ SonarQube

▪ Reglas en SonarQube

o DAST

▪ Burp Suite

▪ OWASP ZAP

▪ Scripting básico con Python

● Repaso general, cierre del Módulo uno, y consultas.

● Evaluación diagnóstica Módulo Uno


Módulo 2: OWASP Top Ten

5 clases virtuales, de 4 horas cada clase, 4 video labs de dos horas de duración (1 hora de vídeo, 1 hora de ejercitación).


Clase 5:

● Introducción a OWASP

● OWASP Top Ten Web – Primera Parte

○ Inyecciones

■ Teoría

■ Command Injection

■ SQL

■ NoSQL

■ Template Injection

■ Consultas “hardcoded” vs parametrizadas

■ Mitigación

○ Broken Authentication

■ Teoría

■ Weak sessions

■ Weak Password

■ Password Policy

■ Brute force attacks

■ Insecure Cookies

■ Session fixation

■ Session hijacking

■ IDOR vs IOR in the code

■ Mitigación

○ Sensitive Data exposure

■ Teoría

■ Weak encryption

■ Exposure through errors

■ Insecure password storage

■ Unintended filesLaboratorios

■ Ejemplos de Código

■ Mitigación

Video Lab clase 5

● Inyecciones

○ SQL Injection Manual techniques

○ SQLmap

○ NoSQL Injection Manual techniques

○ NoSQLMap

● Broken Authentication

○ Weak Cookies

○ Session Fixation

● Sensitive Data exposure

○ Fuzzing de archivos

○ Escaneo de configuración TLS.

○ Buenas prácticas de almacenamiento de contraseñas.

Clase 6:

● XML External Entities (XXE)

○ Teoría

○ XML

○ DTD and Entities

○ External entities,

○ DOS, BL Attack, blind using pingb.in

○ Ejemplos de uso de parser seguro.

○ Mitigación

● Broken Access Control

○ Teoría

○ Weak access control schema

○ Parameter manipulation

○ IDOR

○ JWT

○ Buenas prácticas de desarrollo

○ Mitigación

● Security Misconfigurations

○ Teoría

○ Common mistakes

○ Web application configuration files

○ Error handler

○ Default passwords

○ CORS for APIs

○ Security Headers

○ Mitigación

Video Lab clase 6

● XML External Entities (XXE)

○ SSRF

○ File System Attack

● Broken Access Control

○ IDOR

○ JWT

○ Privilege Escalation

● Security Misconfigurations

○ Error handlers

○ Encrypted Configuration files

○ Clickjacking

Clase 7:

● Cross-Site Scripting (XSS)

○ Teoría

○ JavaScript and DOM, Blind, XSS Hunter)

■ XSS - Reflected

■ XSS - Stored

■ XSS – DOM

■ Self XSS and Clickjacking

○ Sanitización en el código

○ Mitigación

● Insecure Deserialization

○ Teoría

○ Java Byte Stream

○ Python

○ PHP

○ Ejemplos de Código

○ Mitigación

● Using Known Vulnerable Components

○ Teoría

○ Third party libraries

○ Client side libraries

○ Análisis automatizado de bibliotecas vulnerables, con retire.js

Video Lab clase 7

● Cross-Site Scripting (XSS)

○ Self XSS you can get a bounty

○ Blind XSS

● Insecure Deserialization

○ Java

● Using Known Vulnerable Components

○ Jquery Attacks

○ Shellshock

○ Heartbleed

Clase 8:

● Insufficient Logging & Monitoring

○ Teoría

○ Basic Logging information

○ Monitoring process

○ Uso de bibliotecas estándares de logging (PHP, Java, Dot Net)

● Cross Site Request Forgery (CSRF)

○ Teoría

○ HTTP Get & Post theory

○ External Requests

○ HTTP Headers & Tokens)

○ Bibliotecas para la generación del token

○ Mitigación

● Unvalidated Redirects and Forwards

○ Teoría

○ HTTP Get parameters, server & clients redirects

● Local File Inclusion / Remote File Inclusion / Path traversal

○ Teoría

○ File include

○ Remotes include

○ Código Vulnerable.

Video Lab clase 8

● Cross Site Request Forgery (CSRF)

○ Account Take Over

● Unvalidated Redirects and Forwards

○ Teoría

○ HTTP Get parameters, server & clients redirects

● Local File Inclusion / Remote File Inclusion / Path traversal

○ Teoría

○ File include

○ Remotes include

Clase 9:

● Cierre del Módulo dos y consultas.

● Repaso integrador, roles en el SDLC, y responsabilidades.

● Evaluación diagnóstica.

● Ejercitación práctica final, busca de vulnerabilidades en código fuente y su remediación.

Clase 10:

● Introducción a OWASP Top Ten Mobile.

○ Ejemplos prácticos

● Introducción a OWASP Top Ten API.

○ Ejemplos prácticos

● Devolución general del ejercicio final

● Cierre del curso


Destinatarios

Desarrolladores y Profesionales en las Ciencias informáticas con o sin título de Grado, con conocimientos tecnológicos, que deseen contar con herramientas suficientes para la prevención y realizar aportes de seguridad a sus soluciones informáticas.

Objetivos

En la actualidad la plataforma web es el estándar que utilizamos para comunicarnos entre nosotros, el uso de redes sociales, el crecimiento de los negocios y servicios On-Line exponen a las Aplicaciones Web, WebServices y APIs a ser constantemente víctimas de ataques.

Los hackers buscan, ya sea comprometer la red de la organización o a los usuarios finales, accediendo al sitio web y obligándolos a realizar tareas que no quieren sin darse cuenta.

Como resultado, la industria está prestando mayor atención a la seguridad de aplicaciones web, así como a la seguridad de las redes de computadoras y sistemas operativos.

Este curso tiene como objetivo brindar herramientas a todo aquel que esté vinculado con el ciclo de vida de un desarrollo o interesado en la Ciberseguridad. Le brindará nuevos conocimientos y nuevas herramientas que le permitirán elevar el nivel de seguridad de las soluciones que genere o sobre las que sea responsable.


Metodología de enseñanza – aprendizaje

Material - VMs - Videos - Video Conferencias.

Cuerpo docente

DOCENTES:

Maximiliano Berrutto

Especialista en seguridad de aplicaciones, con más de 10 años de experiencia. Gerente en el área de cyber risk y ethical hacking, liderando técnicamente proyectos a nivel internacional. Conocimientos de desarrollo seguro, SecDevOps y técnicas de ethical hacking. Especialista en revisión de código.

Ing. Vilanova Gonzalo

Es ingeniero en Sistemas de Información de la Universidad Tecnológica Nacional. Se desarrolla como Especialista en Proyectos de Ciberseguridad. Posee experiencia en compañías de primer nivel y ha realizado numerosos trabajos de consultoría. Es experto en infraestructura, aplicaciones y gestión de proyectos con amplia experiencia, ha desarrollado planes corporativos de implementación de medidas de seguridad, contra-seguridad y contingencia. También cuenta con amplia experiencia en implantación de soluciones de monitoreo, detección, seguridad y contra-seguridad basada en herramientas abiertas.

Docente Universitario con más de 15 años de trayectoria en la Carrera de Ingeniería de Sistemas de la Universidad Tecnológica Nacional.