Temario del curso
Fundamentos de Ciberseguridad 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 Vida de Desarrollo de Software (SDLC) seguro: enfoque preventivo ('shift left'), revisiones de diseño conscientes de las amenazas y defensa en profundidad.
- Principio del menor privilegio, 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, manipulación de solicitudes (request smuggling) y configuraciones incorrectas de CORS.
- Gestión de sesiones, persistencia de estado y mejores prácticas para la seguridad de cookies.
- Invocación remota segura de procedimientos y patrones de consumo de APIs externas.
- Laboratorio: Explotación y parcheo de una cadena de middleware vulnerable en una aplicación ASP.NET de muestra.
Arquitectura de Seguridad y Servicios Integrados de .NET
- Modelo de seguridad del CLR: evidencias, permisos y la 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).
- 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), hashing, 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 peligros relacionados con la terminación o desbordamiento de cadenas en .NET.
- Derrape de configuraciones: web.config/appsettings.json, exposición de variables de entorno y gestión de secretos.
- Vectores de inyección: SQL, comandos del sistema, XSS y LDAP en el acceso a datos y enrutamiento con C#.
- Configuraciones predeterminadas inseguras, codificación hardcodeada y manejo inadecuado de errores que conducen a filtración 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/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 escaneos automatizados.
- Protección en tiempo de ejecución: barreras de seguridad de la aplicación (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/ASP.NET.
- Laboratorio: Construcción de un filtro de seguridad previo al commit (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 (hardening) de ASP.NET.
- Bases de datos CVE, canales de avisos y flujos de trabajo de divulgación responsable para dependencias de código abierto.
- Ecosistemas seguros de bibliotecas: PGP, operaciones criptográficas (crypto-ops), andamios de autenticación y criptografía conforme a estándares.
- Establecimiento de normas internas de codificación segura, habilitación de desarrolladores y programas de campeones de seguridad (security champions).
- Taller: Curación de una caja de herramientas personalizada para el desarrollo seguro y establecimiento de prácticas de monitoreo continuo.
Requerimientos
- Conocimiento sólido y práctico de la programación en C# y los fundamentos del framework .NET.
- Familiaridad con el desarrollo web en ASP.NET (Páginas Razor, MVC o APIs mínimas).
- Comprensión básica de HTTP, enrutamiento y conceptos de servidores web.
- No se requiere certificación previa en seguridad, pero se espera experiencia en codificación para 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