Temario del curso
Fundamentos de Ciberseguridad 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 desarrollo de software seguro (SDLC): enfoque «shift left», revisiones de diseño conscientes de la amenaza y defensa en profundidad.
- Principio de menor privilegio, defensa por contrato y configuraciones seguras por defecto.
- Taller: Mapificación 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 cabeceras, extracción de solicitudes (request smuggling) y configuraciones erróneas de CORS.
- Gestión de sesiones, persistencia de estado y mejores prácticas para la 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 ASP.NET de ejemplo.
Arquitectura de Seguridad y Servicios Integrados de .NET
- Modelo de seguridad de Common Language Runtime (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: generadores de números aleatorios seguros (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 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.
- 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 con C#.
- Configuraciones predeterminadas inseguras, codificación dura (hardcoding) y manejo inadecuado de errores que provocan fuga 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
- Análisis Estático de Aplicaciones de Seguridad (SAST): analizadores Roslyn, Security Code Scan e integración en CI/CD.
- Análisis Dinámico de Aplicaciones de Seguridad (DAST): flujos de trabajo de OWASP ZAP y Burp Suite, y escaneo automatizado.
- Protección en tiempo de ejecución: Límites de seguridad de 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 a avisos de seguridad de .NET y ASP.NET.
- Práctica: Construcción de un filtro de seguridad para pre-commit y canalización (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, feed de avisos y flujos de trabajo de divulgación responsable para dependencias de código abierto.
- Ecosistemas de bibliotecas seguras: PGP, operaciones criptográficas (crypto-ops), andamios de autenticación y cifrado conforme a normativas.
- Establecimiento de estándares internos de codificación segura, habilitación de desarrolladores y programas de campeón de seguridad (security champion).
- Taller: Curación de una caja de herramientas personalizada para desarrollo seguro y establecimiento de prácticas de monitoreo continuo.
Requerimientos
- Sólido conocimiento práctico de la programación en C# y los fundamentos del marco de trabajo .NET.
- Familiaridad con el desarrollo web en ASP.NET (Razor Pages, MVC o APIs mínimas).
- Comprensión de los conceptos básicos de HTTP, enrutamiento y servidores web.
- No se requiere certificación previa en seguridad, pero se espera experiencia en codificación 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