IFCD060PO – Desarrollo seguro
| Modalidad | Remoto |
| Idioma | Español |
| Fecha | 16 mar/20 mar |
| Hora (CET) | 9-14h |
| Duración | 25h |

Instructores expertos

Atención personalizada

En remoto

100% subvencionado


Descripción
¿Programas funcionalidades complejas pero descuidas la seguridad por falta de tiempo o conocimientos?
Prioridad equivocada: Te centras en que el código funcione y cumpla los plazos, dejando sin querer brechas críticas que un atacante puede explotar fácilmente.
Coste del error: Sabes que corregir un fallo de seguridad con el software ya en producción es una pesadilla que multiplica por diez el tiempo de trabajo.
Inseguridad ante auditorías: Tiemblas cada vez que revisan tu código porque eres consciente de que no cumples con los estándares de protección actuales.
Con este curso serás capaz de implementar:
🛡️ Blindaje contra inyecciones: Dominarás las técnicas para sanear entradas y evitar ataques clásicos como Inyección SQL y Cross Site Scripting (XSS).
🧱 Gestión de memoria robusta: Aprenderás a prevenir errores críticos como el desbordamiento de búfer que suelen tumbar las aplicaciones o permitir ejecuciones remotas.
🔒 Criptografía aplicada: Sabrás cuándo y cómo aplicar cifrado para proteger la confidencialidad de los datos sensibles de tus usuarios.
Además, obtendrás una Titulación Oficial: Diploma de especialidad IFCD060PO. Acreditación reconocida por el SEPE que valida tus competencias digitales. 🎓
Objetivo
El objetivo de este curso es sensibilizar en la importancia del cumplimiento de medidas de seguridad en los programas que se desarrollen, y asegurar que cumplen con los objetivos de seguridad informática: integridad, autenticidad, confidencialidad, disponibilidad y no repudio.
Módulos
1. FUNDAMENTOS DE PROGRAMACION SEGURA
1.1. Contexto
1.2. Secciones críticas de una aplicación:
1.2.1. Motivos de seguridad y consecuencias por falta de seguridad
1.2.2. Autenticación
1.2.3. Autorización
1.2.4. Gestión de sesiones
1.2.5. Validación de entradas y Riesgos de inyección
1.2.6. Controles criptográficos
1.2.7. Registro de eventos
1.2.8. Funcionalidades
1.2.9. Gestión de memoria
1.2.10. Gestión de la información sensible
2. INTRODUCCIÓN: SEGURIDAD EN JAVA
2.1. Principios básicos: Encapsulación, Mutabilidad, Serialización
2.2. Clonación.
2.3. 12 reglas de oro.
2.4. Descompiladores y ofuscadores
3. ERRORES DE INYECCIÓN
3.1. Inyección en servidor.
3.1.1. Inyección de comandos del SO.
3.1.2. Inyección SQL y Blind SQL Injection.
3.1.3. Inyección Xpath.
3.1.4. Redirecciones y reenvíos no validados.
3.2. Inyección en cliente.
3.2.1. Inyección HTML.
3.2.2. Cross Site Scripting (XSS).
3.2.3. Cross Frame Scripting (XFS).
3.2.4. Cross Site Request Forgery (CSRF).
3.2.5. HTTP Response Split.
4. CONTROL DE ACCESO A RECURSOS
4.1. Condiciones de carrera (race conditions = RC).
5. AUTENTIFICACIÓN
5.1. Autenticación/Autorización.
5.2. Http Básica y avanzada (HTTP Basic, HTTP Digest).
5.3. Autenticación HTTP basada en formulario.
5.4. Certificado (HTTPS Client).
6. CONTROL DE ACCESOS
6.1. Control de acceso declarativo.
6.2. Control de acceso programático.
7. CIFRADO
7.1. Encriptación.
7.2. Keystores/Trustores.
7.3. Gestión programática en java.
7.4. SSL.
7.5. JSSE.
8. CONTROL DE SESIONES
8.1. Id de sesión.
8.2. Gestión de sesiones.
8.3. Session Hijacking.
8.4. Session Fixation.
9. FUGA DE DATOS
9.1. Control de autorización insuficiente.
9.2. Revelación de información en mensajes de error.
9.2.1. Path Traversal.