Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Temario del curso
1. Seguridad de la TI y codificación segura
- Principios fundamentales de seguridad: Confidencialidad, Integridad y Disponibilidad (CIA) en el contexto de aplicaciones Java.
- Ciclo de Vida de Desarrollo de Software Seguro (SSDLC): Integración de la seguridad desde los requisitos hasta la implementación.
- Paradigmas de codificación segura: Defensa en profundidad, privilegio mínimo y valores predeterminados a prueba de fallos.
- Clasificaciones estándar de vulnerabilidades: Comprensión de CWE (Enumeración de Debilidades Comunes) y OWASP.
2. Seguridad de aplicaciones web
- Análisis detallado del OWASP Top Ten: Examen minucioso de Inyección, Autenticación Rota y Exposición de Datos Sensibles.
- Scripting entre sitios (XSS): Escenarios de XSS reflejado, almacenado y basado en DOM en Java/JSP.
- Falsificación de solicitudes entre sitios (CSRF): Mecanismos de ataque e implementación de tokens Anti-CSRF.
- Gestión de sesiones: Seguridad de cookies, fijación de sesión y gestión de tiempos de espera.
- Seguridad de APIs: Protección de puntos finales REST y SOAP contra el abuso.
3. Seguridad de servicios web
- Servicios web vs. aplicaciones web tradicionales: Diferencias en las superficies de ataque.
- Seguridad de capa de transporte: Configuración de SSL/TLS para clientes y servidores Java.
- Seguridad de mensajes: Integridad y confidencialidad a nivel de carga útil.
- Estándares de autenticación: Implementación de OAuth 2.0, OpenID Connect y JWT (JSON Web Tokens).
4. Seguridad de XML
- Vulnerabilidades en el análisis de XML: Prevención de ataques de Entidades Externas de XML (XXE).
- Validación de esquemas XML: Mejores prácticas para la aplicación estricta de esquemas.
- Firmas digitales de XML: Implementación de firmas para garantizar la no repudiación.
- Cifrado de XML: Enfoques estándar para el cifrado de contenido XML.
5. Fundamentos de la seguridad de Java
- Arquitectura de seguridad de Java: El paquete
java.securityy la arquitectura de proveedores. - Proveedores de seguridad: Instalación y configuración de proveedores como Bouncy Castle.
- Control de acceso: Archivos de política, permisos y el Administrador de seguridad (Legado vs. Moderno).
- Gestión de almacenes de claves: Creación y gestión de almacenes de claves (keystores) y de confianza (truststores) para certificados.
6. Criptografía práctica
- Algoritmos criptográficos: Panorama general de algoritmos Simétricos (AES), Asimétricos (RSA, ECC) y de Suma de verificación (SHA-256/512).
- Generación de números aleatorios: Los peligros de
java.util.Randomfrente ajava.security.SecureRandom. - Gestión de claves: Estrategias de generación, almacenamiento y rotación de claves.
- Arquitectura de Criptografía Java (JCA): Uso de las clases
Cipher,MessageDigestyMac. - Extensión de Criptografía Java (JCE): Comprensión de los archivos de política y la jurisdicción de fuerza ilimitada.
7. Servicios de seguridad de Java
- SSL/TLS en Java: Uso de
SSLSocketFactoryyHttpsURLConnection. - Gestores de confianza: Personalización de la verificación de confianza para entornos de PKI privados.
- Autenticadores: Autenticación programática utilizando
Authenticator.getDefault(). - Análisis de certificados: Lectura y análisis de certificados X.509 programáticamente.
8. Seguridad de Java EE
- Seguridad declarativa: Control de acceso basado en roles (RBAC) usando
web.xmly anotaciones. - Seguridad programática: Uso de
HttpServletRequest.isUserInRole()ygetRemoteUser(). - JAAS (Servicio de Autenticación y Autorización de Java): Configuración de
login.confe implementación de módulosLoginModule. - Seguridad de Servlets: Restricciones de seguridad gestionadas por el contenedor y métodos de autenticación (FORM, BASIC, DIGEST).
9. Errores de codificación comunes y vulnerabilidades
- Serialización insegura: Los riesgos de
ObjectInputStreamy el eludimiento de controles de seguridad. - Inyección de comandos: Mitigación de vulnerabilidades de ejecución a nivel de sistema operativo.
- Traversía de directorios: Saneamiento de entradas del sistema de archivos para prevenir la navegación por directorios.
- Abuso de la reflexión: Riesgos asociados con
java.lang.reflecty el eludimiento del control de acceso. - Credenciales hardcodeadas: Identificación y eliminación de secretos del código fuente.
- Errores de implementación criptográfica: Uso de modo ECB, claves débiles o vectores de inicialización (IV) estáticos.
10. Fuentes de conocimiento
- Herramientas de análisis estático: Uso de SonarQube, Checkmarx y Fortify para escaneo automatizado.
- Herramientas de análisis dinámico: Panorama general de Burp Suite y OWASP ZAP.
- Bases de datos de CVE: Cómo hacer seguimiento y reaccionar ante nuevas vulnerabilidades del marco de Java.
- Lecturas recomendadas: Lista de libros, documentación y listas de verificación de codificación segura.
Requerimientos
Ninguno.
21 Horas
Reseñas (4)
el conocimiento del instructor era muy alto - sabía de lo que estaba hablando y conocía las respuestas a nuestras preguntas
Adam - Fireup.PRO
Curso - Advanced Java Security
Traducción Automática
Ejercicios prácticos
Olek - Fireup.PRO
Curso - Advanced Java Security
Traducción Automática
ejercicios de codificación
Mirek - Fireup.PRO
Curso - Advanced Java Security
Traducción Automática
Abre muchos caminos y proporciona muchas perspectivas sobre la seguridad
Nolbabalo Tshotsho - Vodacom SA
Curso - Advanced Java Security
Traducción Automática