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 informática y codificación segura
- Principios fundamentales de seguridad: Confidencialidad, integridad y disponibilidad (CIA) en el contexto de las aplicaciones Java.
- Ciclo de vida del desarrollo de software seguro (SSDLC): Integrar la seguridad desde los requisitos hasta el despliegue.
- Paradigmas de codificación segura: Defensa en profundidad, privilegio mínimo y valores predeterminados seguros.
- Clasificaciones estándar de vulnerabilidades: Comprender CWE (Common Weakness Enumeration) y OWASP.
2. Seguridad de aplicaciones web
- Análisis profundo del OWASP Top Ten: Análisis detallado de Inyección, Autenticación rota y Exposición de datos sensibles.
- Cross-Site Scripting (XSS): Escenarios de XSS reflejado, almacenado y basado en DOM en Java/JSP.
- Falsificación de solicitud en sitios cruzados (CSRF): Mecanismos de ataque e implementación de tokens anti-CSRF.
- Gestión de sesiones: Seguridad de cookies, fijación de sesiones y gestión de tiempos de espera.
- Seguridad de la API: Protección de los extremos REST y SOAP contra el abuso.
3. Seguridad de los servicios web
- Servicios web frente a aplicaciones web tradicionales: Diferencias en las superficies de ataque.
- Seguridad de la capa de transporte: Configuración de SSL/TLS para clientes y servidores Java.
- Seguridad de los mensajes: Integridad y confidencialidad a nivel de la carga útil.
- Estándares de autenticación: Implementación de OAuth 2.0, OpenID Connect y JWT (JSON Web Tokens).
4. Seguridad XML
- Vulnerabilidades de análisis de XML: Prevención de ataques de entidades externas XML (XXE).
- Validación del esquema XML: Mejores prácticas para la aplicación estricta del esquema.
- Firmas digitales XML: Implementación de firmas para garantizar la no repudiación.
- Cifrado XML: Enfoques estándar para cifrar el contenido XML.
5. Fundamentos de la seguridad de Java
- La 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 (heredado vs. moderno).
- Gestión de almacenes de claves: Creación y gestión de almacenes de claves y confianza para certificados.
6. Criptografía práctica
- Algoritmos criptográficos: Descripción general de algoritmos simétricos (AES), asimétricos (RSA, ECC) y de hash (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 de Java (JCA): Uso de las clases
Cipher,MessageDigestyMac. - Extensión de criptografía de 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. - Administradores 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 de forma programática.
8. Seguridad de Java EE
- Seguridad declarativa: Control de acceso basado en roles (RBAC) utilizando
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 deLoginModules. - Seguridad de Servlets: Restricciones de seguridad administradas por el contenedor y métodos de autenticación (FORM, BASIC, DIGEST).
9. Errores y vulnerabilidades comunes de codificación
- Deserialización insegura: Los riesgos de
ObjectInputStreamy eludir las comprobaciones de seguridad. - Inyección de comandos: Mitigación de vulnerabilidades de ejecución a nivel del sistema operativo.
- Recorrido de rutas: Sanitización de entradas del sistema de archivos para prevenir el recorrido de directorios.
- Abuso de reflexión: Riesgos asociados con
java.lang.reflecty elusión del control de acceso. - Credenciales codificadas: Identificación y eliminación de secretos del código fuente.
- Errores de implementación criptográfica: Uso del modo ECB, claves débiles o vectores de inicio (IV) estáticos.
10. Fuentes de conocimiento
- Herramientas de análisis estático: Uso de SonarQube, Checkmarx y Fortify para análisis automatizado.
- Herramientas de análisis dinámico: Descripción general de Burp Suite y OWASP ZAP.
- Bases de datos CVE: Cómo seguir y responder a nuevas vulnerabilidades del marco de trabajo Java.
- Lecturas recomendadas: Lista de libros, documentación y listas de verificación de codificación segura.
Requerimientos
Ninguno.
21 Horas
Testimonios (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