Temario del curso
Fundamentos de Seguridad Informática y Codificación Segura
- Comprensión de la tríada CIA: Confidencialidad, Integridad, Disponibilidad como principios fundamentales de seguridad
- Vulnerabilidades y ataques comunes a través de lenguajes/plataformas (SQLi, XSS, CSRF, SSRF, etc.)
- El papel del SDLC seguro en la prevención, detección y estrategias de mitigación de amenazas a nivel de código
Seguridad de Aplicaciones Web en el Contexto de Java
- OWASP Top Ten: Alineación de estándares industriales con defectos comunes de Java
- Mitigación de inyecciones: uso de sentencias preparadas, capas ORM y consultas parametrizadas
- Vulnerabilidades de autenticación (gestión de sesiones rota, XSS como vector) y patrones de remediación
- Validación de entrada para robustez frente a ataques de travesía de directorios y manipulación de rutas
Fundamentos de Seguridad de Java y Profundización en Criptografía
- Conceptos centrales de criptografía: cifrado simétrico frente a asimétrico, algoritmos de hash, firmas digitales
- Protocolos de comunicación segura: mejores prácticas para la configuración de TLS/SSL en aplicaciones Java (HTTPS)
- Lab práctico: Configuración de conexiones seguras entre el servidor web y los servicios de backend utilizando SSL/TLS
Servicios de Seguridad de Java y Características de Seguridad Empresarial
- Uso de la API de seguridad integrada para implementar una autenticación sólida (JAAS, KeyStore, CertificatePath, SecureRandom)
- Gestión de sesiones de usuario con el mínimo riesgo de secuestro o fijación (fixation)
- Lab: Implementación de patrones de gestión de sesiones seguras y mitigación de riesgos de robo de cookies de sesión
Errores y Vulnerabilidades de Codificación Comunes en Java
- Reconocimiento de patrones de codificación inseguros que conducen a vulnerabilidades de carga de clases (CVEs relacionadas con deserialización, extracción de JAR)
- Prevención del uso inseguro de reflexión que pueda llevar a la ejecución de código arbitrario bajo elevación de privilegios
- Comprensión del impacto del uso de frameworks de registro (logging) inseguros y mitigación de riesgos mediante manejadores seguros o niveles de registro
- Lab práctico: Refactorización de muestras de código Java inseguro en patrones seguros (ejercicio de refactorización de FindSecurityBugs)
Criptografía en la Práctica y Patrones Modernos de Codificación Segura
- Cifrado práctico: diseño de una gestión segura de claves, protección de datos sensibles en tránsito y en reposo
- Hashing para verificación de integridad: almacenamiento de contraseñas, validación de contenido de archivos y flujos de trabajo de firma digital
- Lab: Implementación de hash seguro de datos (SHA-256) para almacenamiento de contraseñas y validación de hashes almacenados frente a la entrada
Codificación Segura Avanzada y Modelado de Amenazas
- Integración de análisis estático de código en los flujos de trabajo CI/CD utilizando FindSecurityBugs en Maven/Gradle
- Identificación de riesgos temprano en la fase de diseño mediante talleres de modelado de amenazas
- Taller: Aplicación de modelado de amenazas a una aplicación Java de ejemplo, priorización de riesgos e implementación de prácticas de codificación segura
Proyecto Final y Hoja de Ruta de Codificación Segura
- Los participantes seleccionan un proyecto de Java del mundo real (aplicación web, microservicio o biblioteca)
- Análisis de la base de código en busca de vulnerabilidades OWASP Top Ten (inyección, autenticación rota, SSI, etc.)
- Refactorización del código inseguro en patrones de mejores prácticas e implementación de configuraciones de servicio seguras
- Documentación del proceso, los desafíos encontrados y los nuevos resultados de aprendizaje con revisión por pares y retroalimentación del facilitador
Preguntas Abiertas, Distribución de Recursos y Revisión Final
- Foro de discusión abierto para abordar preguntas comunes sobre codificación segura, aclarar conceptos avanzados y compartir experiencias del mundo real
- Biblioteca de recursos curados: Hoja de trucas OWASP Java Secure Coding Top Ten, guía de refactorización de FindSecurityBugs y bibliotecas recomendadas de codificación segura
- Cierre del curso y soporte post-formación para aplicar las nuevas habilidades en proyectos en curso
Requerimientos
- Habilidades informáticas básicas para operar un sistema operativo de portátil/escritorio moderno y herramientas estándar de productividad de oficina (procesadores de texto, hojas de cálculo)
- No se requiere experiencia previa en programación Java ni en seguridad; se fomenta una comprensión de nivel básico de los conceptos de orientación a objetos y de los flujos de trabajo de desarrollo web estándar
- Disposición para participar en ejercicios prácticos, cuestionarios y análisis de estudios de casos reales para practicar la aplicación de habilidades
Testimonios (5)
La paciencia con la que atendía las dudas que surgían
Carlos Ceballos - Banco de Mexico
Curso - Spring Boot, React, and Redux
La experiencia compartida, el saber hacer del profesor y su valor son importantes.
Carey Fan - Logitech
Curso - C/C++ Secure Coding
Traducción Automática
Excelente la tematica, los casos de uso y ejemplos para visualizar el material entregado
Gionathan Rodriguez - CENTRO NETEC SPA
Curso - Building Microservices with Spring Boot, Docker, and Kubernetes
Que obtuvimos una visión general compleja también sobre el contexto, por ejemplo, por qué necesitamos algunas anotaciones y qué significan. Me gustó la parte práctica del entrenamiento - tener que ejecutar manualmente los comandos y llamar a las API REST.
Alina - ACCENTURE SERVICES S.R.L
Curso - Quarkus for Developers
Traducción Automática
La información adicional que se compartió fue que el entrenamiento no era Groovy de manera directa, lo cual fue agradable.
Covenant - Vodacom
Curso - Groovy Programming
Traducción Automática