Temario del curso
Fundamentos de seguridad informática y codificación segura
- Fundamentos del modelado de amenazas: STRIDE, superficies de ataque y vectores de escalada de privilegios.
- Integración en el ciclo de vida del desarrollo seguro (SDLC): desplazar la seguridad a la izquierda, revisiones de diseño con conciencia de amenazas y defensa en profundidad.
- Principio de mínimo 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
- Pipeline 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 cabeceras, fusión de solicitudes y configuraciones erróneas de CORS.
- Gestión de sesiones, persistencia de estado y mejores prácticas de seguridad para cookies.
- Llamadas a procedimientos remotos seguras y patrones de consumo de APIs externas.
- Laboratorio: Explotación y corrección de una cadena vulnerable de middleware 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 (Code Access Security).
- ASP.NET Core Identity, esquemas de autenticación y seguridad basada en tokens (JWT, OAuth2, OpenID Connect).
- Data Protection API: cifrado, rotación de claves y serialización segura de datos.
- Primitivas criptográficas en .NET: 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 comunes de codificación, vulnerabilidades y mitigación
- Ataques de deserialización, manipulación del ViewState y errores por terminación/desbordamiento de cadenas en .NET.
- Desviación de configuraciones: 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 inseguras por defecto, codificación de valores fijos y manejo inadecuado de errores que provocan fugas de información.
- Laboratorio: Ingenieria inversa de un módulo .NET vulnerable, aplicación de patrones seguros y validación de correcciones con analizadores estáticos/dinámicos.
Pruebas de seguridad, validación y mejora continua
- Pruebas de seguridad de aplicaciones estáticas (SAST): analizadores Roslyn, Security Code Scan e integración en CI/CD.
- Pruebas de seguridad de aplicaciones dinámicas (DAST): OWASP ZAP, flujos de trabajo de Burp Suite y escaneos automatizados.
- Protección en tiempo de ejecución: directrices de la aplicación, prácticas de seguridad en memoria y registros/auditorías seguras.
- Gestión de parches, seguimiento de dependencias y respuesta a avisos de seguridad de .NET/ASP.NET.
- Laboratorio: Creación de una barrera de seguridad pre-commit y en la pipeline para una solución .NET.
Fuentes de conocimiento y ecosistema de desarrollo seguro
- Guías oficiales de seguridad de Microsoft, documentación de seguridad de .NET y referencias de endurecimiento (hardening) de ASP.NET.
- Bases de datos CVE, fuentes de avisos de seguridad 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: Creación de un kit de herramientas de desarrollo seguro personalizado y establecimiento de prácticas de monitorización continua.
Requerimientos
- Sólidos conocimientos prácticos de programación en C# y fundamentos del marco .NET.
- Conocimiento de desarrollo web con ASP.NET (Razor Pages, MVC o Minimal APIs).
- Comprensión de los conceptos básicos de HTTP, enrutamiento y servidores web.
- No se requiere ninguna certificación previa en seguridad, pero sí se espera experiencia en desarrollo para entornos de 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