Temario del curso
Fundamentos de Seguridad Informática y Programación Segura
- Fundamentos del modelado de amenazas: STRIDE, superficies de ataque y vectores de escalada de privilegios
- Integración en el ciclo de desarrollo de software seguro (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 predeterminadas seguras
- Taller: Elaboración de un modelo de amenazas para un microservicio .NET e identificación de controles arquitectónicos
Seguridad en Aplicaciones Web con ASP.NET
- Pipeline de solicitudes en ASP.NET, orden de ejecución del middleware y puntos de intercepción de filtros
- Riesgos del protocolo HTTP: inyección de encabezados, evasión de solicitudes (request smuggling) y configuraciones incorrectas 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
- Práctica: Explotación y parcheo de una cadena de middleware vulnerable en una aplicación ASP.NET de ejemplo
Arquitectura de Seguridad y Servicios Integrados de .NET
- Modelo de seguridad del Common Language Runtime (CLR): evidencias, permisos y evolución de la Seguridad de Acceso al Código (CAS)
- 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: generadores de números aleatorios (RNG), hashing, cifrado simétrico/asimétrico y validación de firmas
- Práctica: Implementación de emisión de tokens seguros, rotación de claves y protección de datos cruzando el límite de un microservicio
Errores Comunes de Codificación, Vulnerabilidades y Mitigación
- Ataques de deserialización, manipulación del ViewState y errores relacionados con la terminación o 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 el enrutamiento con C#
- Configuraciones predeterminadas inseguras, codificación de valores fijos (hardcoding) y manejo inadecuado de errores que provocan filtración de información
- Práctica: Análisis inverso de un módulo .NET vulnerable, aplicación de patrones seguros y validación de correcciones mediante analizadores estáticos y dinámicos
Pruebas de Seguridad, Validación y Mejora Continua
- Pruebas Estáticas de Seguridad en Aplicaciones (SAST): analizadores Roslyn, Security Code Scan e integración con CI/CD
- Pruebas Dinámicas de Seguridad en Aplicaciones (DAST): OWASP ZAP, flujos de trabajo de Burp Suite y escaneo automatizado
- Protección en tiempo de ejecución: Directrices para la Aplicación (Application Guardrails), prácticas de seguridad de memoria y registro/auditoría seguros
- Gestión de parches, seguimiento de dependencias y respuesta ante avisos de seguridad de .NET y ASP.NET
- Práctica: Construcción de un control de seguridad (security gate) 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, documentación de seguridad de .NET y referencias de endurecimiento (hardening) 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 normativas internas de programación segura, habilitación de desarrolladores y programas de "Security Champions" (campeones de seguridad)
- Taller: Creación de un kit de herramientas personalizado para el desarrollo seguro y establecimiento de prácticas de monitorización continua
Requerimientos
- Sólidos conocimientos prácticos de programación en C# y fundamentos del framework .NET
- Familiaridad con el desarrollo web 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 sí se espera experiencia en codificación para entornos de producción
Reseñas (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