Ponte en Contacto
 Duración 21 horas

Temario del curso

A01:2025 – Control de Acceso Defectuoso

El control de acceso aplica políticas para que los usuarios no puedan actuar fuera de sus permisos previstos. Las fallas suelen conducir a la divulgación no autorizada, modificación o destrucción de todos los datos, o al desempeño de una función de negocio fuera de los límites del usuario.

Aspectos Prácticos

  • Ejemplos prácticos de controles de acceso fallidos

  • Controles de acceso seguros y mejores prácticas

A02:2025 – Configuración Insegura

La configuración insegura ocurre cuando un sistema, aplicación o servicio en la nube se configura incorrectamente desde el punto de vista de la seguridad, creando vulnerabilidades.

Aspectos Prácticos

  • Ejemplos reales de configuraciones incorrectas

  • Pasos para prevenir la configuración incorrecta, 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 otras comprometidas 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, herramientas u otras dependencias de terceros en las que el sistema confía.

A04:2025 – Fallos Criptográficos

En general, todos los datos en tránsito deben cifrarse en la capa de transporte (capa 4 OSI). Los obstáculos anteriores, como el rendimiento de la CPU y la gestión de claves privadas/certificados, ahora se manejan mediante CPU que tienen instrucciones diseñadas para acelerar el cifrado (p. ej., soporte AES) y la gestión de claves privadas y certificados simplificada por servicios como LetsEncrypt.org, junto con importantes 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 OSI).

Por ejemplo, las contraseñas, números de tarjetas de crédito, registros de salud, información personal y secretos empresariales requieren protección adicional, especialmente si esos datos caen bajo leyes de privacidad, p. ej., el Reglamento General de Protección de Datos (GDPR) de la UE, o regulaciones 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 inadecuada

  • Importancia de los 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 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 conducir a consecuencias verdaderamente desastrosas.

Aspectos Prácticos

  • Desglose detallado de inyección SQL, NoSQL, de SO y LDAP

  • Técnicas de mitigación utilizando sentencias preparadas, consultas parametrizadas y escapado 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 riesgo del Top Ten. Observe que hay una diferencia entre diseño inseguro e implementación insegura. Diferenciamos entre defectos de diseño y defectos de implementación por una razón: tienen diferentes causas raíz, ocurren en diferentes momentos del proceso de desarrollo y tienen diferentes remediaciones.

Un diseño seguro aún puede tener defectos de implementación que lleven a vulnerabilidades que pueden ser explotadas. Un diseño inseguro no puede ser corregido por 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 perfilado de riesgos de negocio inherente al software o sistema que se está desarrollando, y por lo tanto el fracaso en determinar qué nivel de diseño de seguridad se requiere.

Aspectos Prácticos

  • Exploraremos defectos de diseño que pueden conducir a vulnerabilidades, como la validación de entradas inadecuada

  • Estudiaríamos estrategias para la arquitectura segura y principios de diseño seguro

A07:2025 – Fallos en la Autenticación

Cuando un atacante es capaz de 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 refieren a código e infraestructura que no protege contra el código o datos inválidos o no confiables que se tratan como confiables y válidos.

Un ejemplo de esto es cuando una aplicación depende de plugins, bibliotecas o módulos de fuentes, repositorios y redes de entrega de contenido (CDN) no confiables.

Un pipeline CI/CD inseguro que no consume ni proporciona comprobaciones de integridad de software puede introducir el potencial de acceso no autorizado, código inseguro o malicioso, o compromiso del sistema.

Otro ejemplo de esto es un 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 alteració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 brechas no pueden ser detectados, y sin alertas es muy difícil responder rápida y efectivamente durante un incidente de seguridad.

El registro insuficiente, el monitoreo continuo, la detección y la alertas 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 brechas temprano

A10:2025 – Manejo Incorrecto de Condiciones Excepcionales

El manejo incorrecto de condiciones excepcionales en el software ocurre cuando los programas no previenen, detectan y responden a situaciones inusuales e impredecibles, lo que lleva a congelamientos, comportamiento inesperado y, a veces, vulnerabilidades.

Esto puede involucrar 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 ocurre

  • Responde mal o no responde en absoluto a la situación después

SAST – Pruebas Estáticas de Seguridad de Aplicaciones

  1. Qué es el análisis estático y cuándo ejecutarlo en el SDLC (shift left)

  2. Tipos de vulnerabilidades detectables a través de SAST, código vulnerable vs código seguro

  3. Vista general de herramientas SAST (p. ej. Semgrep, SonarQube, Checkmarx, dependiendo del stack del cliente)

  4. Ejercicio práctico: ejecutar un análisis SAST en un repositorio con vulnerabilidades introduidas deliberadamente, interpretar resultados, clasificar falsos positivos vs vulnerabilidades reales

DAST – Pruebas Dinámicas de Seguridad de Aplicaciones

  1. Diferencia entre SAST y DAST, pruebas de caja negra en la aplicación en ejecución

  2. Flujo del análisis DAST, rastreo, fuzzing, análisis de respuestas

  3. Vista general de herramientas DAST (p. ej. OWASP ZAP, Burp Suite)

  4. Ejercicio práctico: ejecutar un análisis 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

  1. Riesgo de dependencias y bibliotecas de terceros, vulnerabilidades heredadas

  2. SBOM, Software Bill of Materials (Lista de Materiales de Software), qué es y por qué es importante

  3. Vista general de herramientas SCA (p. ej. Dependency Check, Snyk, GitHub Dependabot)

  4. Ejercicio práctico: ejecutar un análisis SCA en un proyecto real, identificar dependencias vulnerables y crear un plan de remediación (actualizar, aplicar parche, mitigar)

Requerimientos

Los participantes deben tener:

  • Conocimientos básicos 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 de software
  • Conocimientos básicos de conceptos de seguridad son beneficiosos, pero no obligatorios

Público Objetivo

  • Desarrolladores de software
  • Ingenieros de software
  • Ingenieros de QA y pruebas de software
  • Ingenieros de DevOps y DevSecOps
  • Profesionales de la 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

Número de participantes


Precio por participante

Reseñas (3)

Próximos cursos

Categorías Relacionadas