Temario del curso
Fundamentos de seguridad de TI y codificación segura
- Fundamentos del modelado de amenazas: STRIDE, superficies de ataque y vectores de elevación de privilegios.
- Integración en el ciclo de vida del desarrollo de software (SDLC) seguro: enfoque preventivo, revisiones de diseño conscientes de amenazas y defensa en profundidad.
- Principio de privilegio mínimo, defensa por contrato y configuraciones predeterminadas seguras.
- Taller: Mapeo de un microservicio .NET a un modelo de amenazas e identificación de controles arquitectónicos.
Seguridad en aplicaciones web con ASP.NET
- Pipeline de solicitudes de ASP.NET, orden de ejecución del middleware y puntos de interceptación de filtros.
- Riesgos del protocolo HTTP: inyección de encabezados, enmascaramiento 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.
- Práctica: Explotación y corrección de una cadena de middleware vulnerable en una aplicación de ejemplo de ASP.NET.
Arquitectura de seguridad y servicios integrados de .NET
- Modelo de seguridad de CLR: evidencia, 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.
- Práctica: Implementación de emisión segura de tokens, rotación de claves y protección de datos a través de los límites de un microservicio.
Errores comunes de codificación, vulnerabilidades y mitigación
- Ataques de deserialización, manipulación del ViewState y errores de terminación o desbordamiento 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 en C#.
- Configuraciones predeterminadas inseguras, código codificado en duro y manejo inadecuado de errores que conducen a filtración de información.
- Práctica: 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áticas de aplicaciones (SAST): analizadores de Roslyn, Security Code Scan e integración en CI/CD.
- Pruebas de seguridad dinámicas de aplicaciones (DAST): OWASP ZAP, flujos de trabajo de Burp Suite y escaneos automatizados.
- Protección en tiempo de ejecución: líneas base de seguridad de aplicaciones, 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.
- Práctica: Construcción de un gate de seguridad en el pre-commit y en la pipeline para una solución .NET.
Fuentes de conocimiento y ecosistema de desarrollo seguro
- Orientación oficial de Microsoft sobre seguridad, documentación 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 estándares.
- Establecimiento de estándares internos de codificación segura, habilitación de desarrolladores y programas de campeones de seguridad.
- Taller: Curación de un kit de herramientas de desarrollo seguro personalizado y establecimiento de prácticas de monitoreo continuo.
Requerimientos
- Sólidos conocimientos prácticos de programación en C# y fundamentos del framework .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