Temario del curso
Fundamentos de seguridad de TI y codificación segura
- Fundamentos de modelado de amenazas: STRIDE, superficies de ataque y vectores de escalada de privilegios.
- Integración del ciclo de vida seguro del desarrollo de software (SDLC): enfoque shift-left, revisiones de diseño conscientes de las amenazas y defensa en profundidad.
- Principio de menor privilegio, defensa por contrato y configuraciones seguras por defecto.
- Taller: Mapeo de un microservicio .NET a un modelo de amenazas e identificación de controles arquitectónicos.
Seguridad de aplicaciones web en ASP.NET
- Canal de solicitudes de ASP.NET, orden de ejecución del middleware y puntos de intercepción de filtros.
- Riesgos del protocolo HTTP: inyección de encabezados, envenenamiento de solicitudes y configuraciones incorrectas de CORS.
- Gestión de sesiones, persistencia de estado y mejores prácticas de seguridad de cookies.
- Llamadas a procedimientos remotos seguras y patrones de consumo de APIs externas.
- Laboratorio: Explotación y parcheo de una cadena de middleware vulnerable en una aplicación de ejemplo ASP.NET.
Arquitectura de seguridad de .NET y servicios integrados
- Modelo de seguridad de CLR: evidencias, permisos y evolución de CAS (Seguridad de Acceso al Código).
- ASP.NET Core Identity, esquemas de autenticación y seguridad basada en tokens (JWT, OAuth2, OpenID Connect).
- API de protección de datos: cifrado, rotación de claves y serialización segura de datos.
- Primitivas criptográficas en .NET: generadores de números aleatorios (RNG), hash, cifrado simétrico/asimétrico y validación de firmas.
- Laboratorio: Implementación de emisión segura de tokens, rotación de claves y protección de datos a través del límite de un microservicio.
Errores de codificación comunes, vulnerabilidades y mitigación
- Ataques de deserialización, manipulación del ViewState y problemas de terminación/overflow de cadenas en .NET.
- Deriva de configuración: web.config/appsettings.json, exposición de variables de entorno y gestión de secretos.
- Vectores de inyección: SQL, comandos, XSS y LDAP en el acceso a datos y enrutamiento de C#.
- Configuraciones inseguras por defecto, codificación hardcodeada y manejo inadecuado de errores que provocan fugas de información.
- Laboratorio: Ingeniería inversa de un módulo .NET vulnerable, aplicación de patrones seguros y validación de correcciones con analizadores estáticos y dinámicos.
Pruebas de seguridad, validación y mejora continua
- Pruebas de seguridad estática de aplicaciones (SAST): analizadores de Roslyn, Security Code Scan e integración con CI/CD.
- Pruebas de seguridad dinámica de aplicaciones (DAST): OWASP ZAP, flujos de trabajo de Burp Suite y escaneo automatizado.
- Protección en tiempo de ejecución: directrices de la aplicación, prácticas de seguridad de memoria y registro/auditoría segura.
- Gestión de parches, seguimiento de dependencias y respuesta a avisos de seguridad de .NET/ASP.NET.
- Laboratorio: Construcción de un control de seguridad pre-commit y en la pipeline para una solución .NET.
Fuentes de conocimiento y ecosistema de desarrollo seguro
- Orientaciones oficiales de Microsoft sobre seguridad, documentos de seguridad de .NET y referencias de endurecimiento de ASP.NET.
- Bases de datos CVE, feeds de avisos y flujos de trabajo de divulgación responsable para dependencias de código abierto.
- Ecosistemas de bibliotecas seguras: PGP, operaciones criptográficas, andamios de autenticación y criptografía conforme a normativas.
- Establecimiento de estándares internos de codificación segura, habilitación de desarrolladores y programas de campeones de seguridad.
- Taller: Curación de una herramienta personalizada de desarrollo seguro y establecimiento de prácticas de monitoreo continuo.
Requerimientos
- Conocimientos sólidos de programación en C# y fundamentos del marco de trabajo .NET.
- Familiaridad con el desarrollo web en ASP.NET (Razor Pages, MVC o Minimal APIs).
- Comprensión de conceptos básicos de HTTP, enrutamiento y servidores web.
- No se requiere certificación previa en seguridad, pero se espera experiencia en desarrollo para producción.
Testimonios (5)
Muy bueno para entender cómo un hacker podría analizar sitios en busca de debilidades y las herramientas que podrían emplear.
Roger - OTT Mobile
Curso - .NET, C# and ASP.NET Security Development
Traducción Automática
los chistes cursis. Amo la sesión de los primeros 2 días por las prácticas.
Kevin Galacgac - Human Edge Software Philippines, Inc.
Curso - .NET, C# and ASP.NET Security Development
Traducción Automática
El formador se está conectando realmente con nosotros y asegurándose de que nadie quede excluido del tema actual. Explica bien cada tema y proporciona un ejemplo que es fácil de entender.
Edgarico Llaneta - Human Edge Software Philippines, Inc.
Curso - .NET, C# and ASP.NET Security Development
Traducción Automática
La formación práctica y los ejemplos.
Lord-Sam Lamparero - Human Edge Software Philippines, Inc.
Curso - .NET, C# and ASP.NET Security Development
Traducción Automática
I was benefit from the exercises (SQL injection, XSS, CRSF. .).
David Lemoine - Statistical Solutions
Curso - .NET, C# and ASP.NET Security Development
Traducción Automática