Temario del curso
I. Introducción a la Programación Segura y a la Seguridad de las Aplicaciones Web
1. Panorama actual de amenazas para aplicaciones web
- Vectores comunes de ataque en aplicaciones web
- Riesgos de seguridad en aplicaciones ASP.NET modernas
- Importancia de la programación segura durante el desarrollo de software
- Presentación de la Fundación OWASP y sus recursos
2. Principios del Desarrollo de Software Seguro
- Diseño orientado a la seguridad
- Defensa en profundidad
- Principio de mínimo privilegio
- Operar de forma segura incluso ante fallos
- Configuraciones predeterminadas seguras
- Fundamentos del modelado de amenazas
II. Ciclo de Vida del Desarrollo de Software Seguro (SDLC)
1. Implementación del SDLC en el desarrollo de software
- Incorporación de la seguridad en cada etapa del ciclo de vida del desarrollo
- Definición y manejo de requisitos de seguridad
- Diseño y arquitectura orientados a la seguridad
- Prácticas de programación segura
- Pruebas y validación de aspectos de seguridad
- Implementación y mantenimiento seguro del software
2. Evaluación de riesgos y modelado de amenazas
- Identificación de activos y posibles amenazas
- Análisis del perímetro de ataque
- Introducción al modelo STRIDE
- Priorización de riesgos de seguridad identificados
III. El Top 10 de OWASP para Aplicaciones ASP.NET
1. Comprensión del Top 10 de OWASP
- Fallos en el control de acceso
- Problemas relacionados con criptografía
- Ataques por inyección
- Diseño poco seguro del software
- Configuraciones incorrectas desde el punto de vista de la seguridad
- Uso de componentes obsoletos o vulnerables
- Fallos en la identificación y autenticación del usuario
- Problemas de integridad en software y datos
- Falta de registros y monitoreo adecuados de seguridad
- Secuestro de solicitudes desde el servidor (SSRF)
2. Aplicación de las recomendaciones de OWASP
- Técnicas de programación segura para prevenir vulnerabilidades
- Controles preventivos en el código
- Prácticas recomendadas para configurar aplicaciones con seguridad
- Ejemplos prácticos y demostraciones en vivo
IV. Seguridad en la Autenticación y Autorización
1. Fundamentos de la autenticación
- Mecanismos de autenticación disponibles en ASP.NET
- Seguridad en el manejo de contraseñas
- Autenticación multifactor
- Gestión segura de sesiones de usuario
- Manejo adecuado de identidades digitales
2. Autorización y control de acceso
- Autorización basada en roles
- Autorización según los atributos del usuario (claims)
- Políticas personalizadas para autorización
- Prevención de la escalación indebida de privilegios
- Protección de información sensible dentro de las aplicaciones
V. Prevención de Ataques por Inyección
1. Vulnerabilidades derivadas de inyecciones
- Inyección SQL
- Inyección de comandos
- Inyección LDAP
- Inyección XML
- Introducción a los riesgos de inyección en bases de datos NoSQL
2. Técnicas para escribir código seguro
- Uso de consultas parametrizadas para evitar inyecciones
- Validación exhaustiva de datos ingresados por el usuario
- Codificación adecuada antes de mostrar contenido en pantalla
- Precauciones especiales al utilizar frameworks ORM
- Prácticas seguras para interactuar con bases de datos
VI. Prevención del Cross-Site Scripting (XSS)
1. Comprensión básica del XSS
- XSS almacenado en la base de datos
- XSS reflejado por el servidor o cliente
- XSS basado en el DOM (Document Object Model)
- Posibles escenarios de ataque relacionados con XSS
2. Medidas para combatir el XSS
- Codificación segura del contenido que se muestra al usuario
- Validación previa de todos los datos introducidos por los usuarios
- Aplicación estricta de políticas de seguridad en el contenido (CSP)
- Manejo cuidadoso de etiquetas HTML y código JavaScript
- Uso de funcionalidades integradas en ASP.NET para prevenir XSS
VII. Prevención del Cross-Site Request Forgery (CSRF)
1. Comprensión de los ataques CSRF
- Cómo se llevan a cabo estos tipos de ataques
- Ejemplos frecuentes de situaciones donde puede ocurrir un CSRF
- Impacto negativo que pueden tener en el negocio
2. Protección contra ataques CSRF
- Implementación de tokens anti-falsificación para autenticación
- Uso adecuado de cookies con el flag SameSite activado
- Gestión segura y consistente de las sesiones del usuario
- Aprovechamiento de mecanismos internos de ASP.NET para combatir CSRF
VIII. Configuración Segura de Aplicaciones ASP.NET
1. Funcionalidades de seguridad integradas en ASP.NET
- Mecanismos de configuración orientados a la protección del entorno
- Uso correcto y eficaz de encabezados HTTP seguros
- Ajustes recomendados para el uso de HTTPS y TLS en la comunicación
- Manejo adecuado de información sensible como contraseñas o claves criptográficas
- Gestión correcta de los errores del sistema, minimizando posibles filtraciones de datos
2. Protección de información sensible en las aplicaciones
- Aplicación adecuada de APIs orientadas a la protección de datos
- Técnicas para guardar credenciales de manera segura
- Conceptos básicos sobre cifrado y sus aplicaciones prácticas
- Organización y manejo correcto de claves utilizadas en el procesamiento de datos
IX. Validación de Datos e Integridad de la Información Procesada
1. Verificación de los datos enviados por los usuarios
- Diferencias y ventajas entre listas blancas y negras para validación de contenido
- Aplicación obligatoria de la validación en el lado del servidor
- Consideraciones para implementar controles en el cliente, cuando sea adecuado
- Estrategias seguras para el manejo de archivos subidos por los usuarios
2. Procesamiento seguro y responsable de datos
- Buenas prácticas al serializar información en formatos diversos
- Posibles peligros derivados de la deserialización descontrolada de contenido
- Mantenimiento correcto e inalterado del contenido de los datos procesados
- Técnicas adecuadas para registrar sucesos sin exponer información sensible
X. Pruebas de Penetración y Verificación de la Seguridad
1. Metodología básica para ejecutar pruebas de penetración
- Planificación metódica para evaluar la seguridad del sistema
- Búsqueda sistemática de posibles vulnerabilidades activas en el software
- Conceptos generales sobre cómo aprovechar estas debilidades durante los ataques simulados
- Forma profesional y efectiva de documentar resultados obtenidos tras las pruebas
2. Técnicas comunes para comprobar la seguridad del código
- Aplicación de técnicas SAST (análisis estático de software)
- Evaluaciones DAST, que contemplen el comportamiento del sistema en tiempo real
- Uso estratégico de IAST para combinar métodos dinámicos y estáticos
- Análisis detallado de dependencias, librerías y módulos utilizados en el proyecto
- Revisión manual cuidadosa del código fuente para localizar puntos débiles ocultos
XI. Puesta en Práctica de Estrategias Seguras para Aplicaciones ASP.NET
1. Implementación práctica de la programación segura
- Diseño adecuado del proceso de autenticación, minimizando riesgos asociados
- Gestión responsable y fiable de los derechos de autorización entre usuarios
- Mantenimiento cuidadoso de las sesiones de conexión en tiempo real
- Tratamiento idóneo de errores durante el desarrollo para no exponer información sensible
- Implementación robusta del monitoreo y registros de actividad relacionados con la seguridad
- Elementos clave a evaluar antes de proceder a publicar las aplicaciones en producción
2. Buenas prácticas establecidas para garantizar la integridad del software
- Estándares definidos y obligatorios para mantener una codificación segura entre los desarrolladores
- Manejo adecuado de dependencias externas, incluyendo su actualización periódica
- Sistema riguroso para aplicar parches en componentes vulnerables
- Esfuerzos continuos por mejorar la seguridad integral del desarrollo informático
XII. Taller Práctico de Seguridad Informática
1. Detección y estudio profundo de vulnerabilidades recurrentes
- Evaluación minuciosa de fragmentos de código ASP.NET que presenten fallas evidentes
- Búsqueda activa de posibles debilidades listadas en el Top 10 de OWASP
- Análisis cuidadoso sobre los diferentes métodos empleados para atacar este tipo de aplicaciones
- Estudio integral del nivel real de protección alcanzado por la plataforma software analizada
2. Soluciones prácticas ante los problemas detectados
- Integración y ensayo rápido de mejoras seguras para corregir anomalías previas
- Comprobación precisa si dichos cambios resultan efectivos en términos preventivos
- Ejecución de pruebas exhaustivas a la nueva versión actualizada del programa
- Ejercicio final: Revisión detallada y colaborativa por parte de los alumnos para evaluar mejoras realizadas
XIII. Resumen Final y Retroalimentación sobre el Curso
1. Recordatorio importante respecto a los conceptos clave del programa
- Principios fundamentales para estructurar un diseño fiable y protegido ante fallas
- Estrategias probadas para combatir eficazmente las vulnerabilidades listadas en el Top 10 de OWASP
- Características de seguridad propias ofrecidas por ASP.NET
- Conformación correcta y evolución natural del ciclo vital del desarrollo software seguro
2. Conversación final orientada a reflexionar sobre el aprendizaje alcanzado
- Reflexión conjunta acerca de los estándares más efectivos en programación segura actualmente
- Mecanismos viables para integrar principios preventivos dentro de los equipos de desarrollo informático
- Enlace a valiosos materiales y herramientas adicionales gestionados directamente por OWASP
- Espacio abierto para realizar consultas pendientes y definir próximos pasos de aprendizaje
Requerimientos
Experiencia previa con ASP.NET
Conocimientos en el desarrollo de aplicaciones web
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 4350 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales
Reseñas (5)
Introducción a los muchos tipos diferentes de comportamientos inseguros.
Zhongqi
Curso - Secure Developer .NET (Inc OWASP)
Traducción Automática
Tener una sesión uno a uno con Raymond fue increíble, realmente fue muy atento y se preocupó por todas mis necesidades de capacitación.
Joshua
Curso - Secure Developer .NET (Inc OWASP)
Traducción Automática
El alto nivel de conocimiento del instructor significó que obtuvimos una muy buena visión de los temas tratados.
Dafydd - TATA Steel
Curso - Secure Developer .NET (Inc OWASP)
Traducción Automática
los enlaces de referencia
Abraham Gonzalez - ATEB Servicios
Curso - Secure Developer .NET (Inc OWASP)
Traducción Automática
El conocimiento del formador sobre el tema fue excelente, y la forma en que se organizaron las sesiones para que el público pudiera seguir los ejemplos realmente ayudó a consolidar ese conocimiento, en comparación con solo sentarse y escuchar.
Jack Allan - RSM UK Management Ltd.
Curso - Secure Developer .NET (Inc OWASP)
Traducción Automática