Temario del curso
A01:2025 – Control de Acceso Deficiente
El control de acceso aplica políticas para que los usuarios no puedan actuar fuera de sus permisos previstos. Los fallos suelen provocar la divulgación no autorizada, la modificación o la destrucción de todos los datos, o la realización de una función de negocio fuera de los límites del usuario.
Aspectos Prácticos
-
Ejemplos prácticos de controles de acceso deficientes
-
Controles de acceso seguros y mejores prácticas
A02:2025 – Configuración de Seguridad Incorrecta
La configuración de seguridad incorrecta ocurre cuando un sistema, aplicación o servicio en la nube se configura de manera incorrecta desde el punto de vista de la seguridad, creando vulnerabilidades.
Aspectos Prácticos
-
Ejemplos reales de malas configuraciones
-
Pasos para prevenir la mala configuración, incluida la gestión de configuraciones y herramientas de automatización
A03:2025 – Fallos en la Cadena de Suministro de Software
Los fallos en la cadena de suministro de software son interrupciones u otros compromisos en el proceso de construcción, distribución o actualización de software. A menudo son causados por vulnerabilidades o cambios maliciosos en el código de terceros, herramientas u otras dependencias en las que el sistema depende.
A04:2025 – Fallos Criptográficos
En general, todos los datos en tránsito deben estar cifrados en la capa de transporte (capa 4 de OSI). Los obstáculos previos, como el rendimiento de la CPU y la gestión de claves privadas/certificados, ahora se manejan mediante CPUs con instrucciones diseñadas para acelerar el cifrado (p. ej., soporte AES) y la gestión simplificada de claves privadas y certificados por servicios como LetsEncrypt.org, junto con los principales proveedores de nube que ofrecen servicios de gestión de certificados aún más integrados para sus plataformas específicas.
Más allá de la seguridad de la capa de transporte, es importante determinar qué datos necesitan cifrado en reposo y qué datos necesitan cifrado adicional en tránsito (en la capa de aplicación, capa 7 de OSI).
Por ejemplo, las contraseñas, números de tarjetas de crédito, registros de salud, información personal y secretos comerciales requieren protección adicional, especialmente si esos datos están sujetos a leyes de privacidad, como el Reglamento General de Protección de Datos (RGPD) de la UE, o normativas como el Estándar de Seguridad de Datos PCI (PCI DSS).
Aspectos Prácticos
-
Análisis detallado de fallos criptográficos, como algoritmos de cifrado débiles o una gestión de claves inapropiada
-
Importancia de mecanismos criptográficos robustos, protocolos seguros (SSL/TLS) y ejemplos de criptografía moderna en la seguridad web
A05:2025 – Inyección
Una vulnerabilidad de inyección es un defecto del sistema que permite a un atacante insertar código o comandos maliciosos (como código SQL o de shell) en los campos de entrada de un programa, engañando al sistema para que ejecute el código o los comandos como si fueran parte del sistema. Esto puede llevar a consecuencias verdaderamente graves.
Aspectos Prácticos
-
Desglose detallado de inyecciones SQL, NoSQL, del SO y LDAP
-
Técnicas de mitigación utilizando sentencias preparadas, consultas parametrizadas y la escapada de entradas
A06:2025 – Diseño Inseguro
El diseño inseguro es una categoría amplia que representa diferentes debilidades, expresadas como «diseño de control ausente o ineficaz».
El diseño inseguro no es la fuente de todas las demás categorías de riesgos del Top Ten. Tenga en cuenta que hay una diferencia entre el diseño inseguro y la implementación insegura. Diferenciamos entre defectos de diseño y defectos de implementación por una razón: tienen causas raíz diferentes, ocurren en momentos diferentes del proceso de desarrollo y tienen remedios diferentes.
Un diseño seguro aún puede tener defectos de implementación que lleven a vulnerabilidades explotables. Un diseño inseguro no se puede corregir con una implementación perfecta, ya que los controles de seguridad necesarios nunca se crearon para defenderse contra ataques específicos.
Uno de los factores que contribuyen al diseño inseguro es la falta de perfiles de riesgos de negocio inherentes al software o sistema que se está desarrollando, y por lo tanto, el fracaso en determinar qué nivel de diseño de seguridad es necesario.
Aspectos Prácticos
-
Exploraremos defectos de diseño que pueden conducir a vulnerabilidades, como la validación de entrada inadecuada
-
Estudiar estrategias para una arquitectura segura y principios de diseño seguro
A07:2025 – Fallos de Autenticación
Cuando un atacante logra engañar a un sistema para que reconozca a un usuario inválido o incorrecto como legítimo, está presente esta vulnerabilidad.
Aspectos Prácticos
-
Problemas comunes de autenticación
-
Estrategias de autenticación seguras, como la autenticación multifactor y el manejo adecuado de sesiones
A08:2025 – Fallos de Integridad de Software o Datos
Los fallos de integridad de software y datos se relacionan con el código y la infraestructura que no protegen contra el tratamiento de código o datos inválidos o no confiables como confiables y válidos.
Un ejemplo de esto es cuando una aplicación depende de complementos, bibliotecas o módulos de fuentes, repositorios y redes de distribución de contenido (CDN) no confiables.
Una pipeline de CI/CD insegura que no consume ni proporciona comprobaciones de integridad del software puede introducir el potencial de acceso no autorizado, código inseguro o malicioso, o compromiso del sistema.
Otro ejemplo de esto es una CI/CD que extrae código o artefactos de lugares no confiables y/o no los verifica antes de su uso (verificando la firma o un mecanismo similar).
Aspectos Prácticos
-
Enfoque en problemas como actualizaciones de software no confiables y manipulación de datos
-
Mecanismos de actualización seguros y comprobaciones de integridad de datos
A09:2025 – Fallos en el Registro y Alertas de Seguridad
Sin registro y monitoreo, los ataques y filtraciones no pueden detectarse, y sin alertas es muy difícil responder de manera rápida y efectiva durante un incidente de seguridad.
El registro insuficiente, la supervisión continua, la detección y la alerta para iniciar respuestas activas ocurren en cualquier momento.
Aspectos Prácticos
-
Importancia de registrar información relevante para la seguridad y monitorear actividades sospechosas
-
Herramientas y prácticas para un registro adecuado y monitoreo en tiempo real para detectar filtraciones temprano
A10:2025 – Manejo Inadecuado de Condiciones Excepcionales
El manejo inadecuado de condiciones excepcionales en el software ocurre cuando los programas no previenen, detectan ni responden a situaciones inusuales e impredecibles, lo que lleva a bloqueos, comportamiento inesperado y a veces vulnerabilidades.
Esto puede implicar uno o más de los siguientes 3 fallos:
-
La aplicación no previene que ocurra una situación inusual
-
No identifica la situación mientras está ocurriendo
-
Responde de manera deficiente o no responde en absoluto a la situación después
SAST – Pruebas Estáticas de Seguridad de Aplicaciones
-
Qué es el análisis estático y cuándo ejecutarlo en el SDLC (desplazamiento a la izquierda)
-
Tipos de vulnerabilidades detectables a través de SAST, código vulnerable vs código seguro
-
Resumen de herramientas SAST (p. ej., Semgrep, SonarQube, Checkmarx, dependiendo del stack del cliente)
-
Ejercicio práctico: ejecutar un análisis SAST en un repositorio con vulnerabilidades introducidas deliberadamente, interpretar los resultados, clasificar falsos positivos vs vulnerabilidades reales
DAST – Pruebas Dinámicas de Seguridad de Aplicaciones
-
Diferencia entre SAST y DAST, pruebas de caja negra en la aplicación en ejecución
-
Flujo de escaneo DAST, rastreo, fuzzing, análisis de respuestas
-
Resumen de herramientas DAST (p. ej., OWASP ZAP, Burp Suite)
-
Ejercicio práctico: ejecutar un escaneo DAST en una aplicación de prueba vulnerable (p. ej., OWASP Juice Shop), identificar y validar los hallazgos
SCA – Análisis de Composición de Software
-
Riesgo de dependencias y bibliotecas de terceros, vulnerabilidades heredadas
-
SBOM, Lista de Materiales de Software, qué es y por qué es importante
-
Resumen de herramientas SCA (p. ej., Dependency Check, Snyk, GitHub Dependabot)
-
Ejercicio práctico: ejecutar un escaneo SCA en un proyecto real, identificar dependencias vulnerables y crear un plan de remediación (actualizar, parchear, mitigar)
Requerimientos
Los participantes deben tener:
- Conocimiento básico de conceptos de desarrollo de software
- Comprensión básica de las aplicaciones web y las tecnologías web comunes
- Familiaridad con el Ciclo de Vida de Desarrollo de Software (SDLC)
- Comprensión básica del código fuente y las dependencias del software
- El conocimiento básico de conceptos de seguridad es beneficioso, pero no es obligatorio
Público Objetivo
- Desarrolladores de Software
- Ingenieros de Software
- Ingenieros de QA y Pruebas de Software
- Ingenieros de DevOps y DevSecOps
- Profesionales de Seguridad de Aplicaciones
- Ingenieros de Seguridad
- Arquitectos de Software
- Líderes Técnicos
- Profesionales involucrados en el desarrollo seguro de software y las pruebas de seguridad de aplicaciones
Reseñas (3)
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
conozca más sobre el producto y algunas diferencias clave entre RHDS y OpenLDAP de código abierto.
Jackie Xie - Westpac Banking Corporation
Curso - 389 Directory Server for Administrators
Traducción Automática
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