Descripción:
Los defectos de software, los errores y las fallas en la lógica del programa son siempre la causa de las vulnerabilidades del software. El análisis realizado por profesionales de seguridad del software ha demostrado que la mayoría de las vulnerabilidades se deben a errores en la programación. Por lo tanto, se ha convertido en una necesidad para las organizaciones educar a sus desarrolladores de software sobre prácticas seguras de codificación. Los atacantes intentan encontrar vulnerabilidades de seguridad en las aplicaciones o servidores y luego intentan usar estas vulnerabilidades para robar secretos, programas y datos corruptos, y obtener control de los sistemas informáticos y las redes. Las técnicas de programación de sonido y las mejores prácticas se pueden utilizar para desarrollar código de alta calidad para evitar ataques de aplicaciones web. La programación segura es una medida defensiva contra ataques dirigidos a sistemas de aplicación.
Objetivo del curso:
Entre otras cosas, al término del curso, el alumno será capaz de: Determinar las características de seguridad de .NET y diversos principios de codificación segura. Implementar modelos de seguridad de .NET, seguridad basada en roles, seguridad de códigos de acceso (CAS), y seguridad en clases de bibliotecas. Aplicar diversos controles de validación, técnicas de migración para vulnerabilidades en controles de validación, técnicas de defensa para ataques de inyección para SQL, y la codificación de salida para evitar ataques de validación de entrada. Mitigar vulnerabilidades en los archivos de configuración de la máquina, mitigar las vulnerabilidades en archivos de configuración de aplicaciones, y enfoques de revisión de código de seguridad.
Temario:
Parte 1. lntroduction to .NET Application Security
Microsoft .NET Application Security | Common Security Threats on .NET | Secure Development Lifecycle (SOL) | Secure Coding Principles | Guidelines for Developing Secure Codes
Parte 2. .NET Framework Security
introduction to .NET Framework | . Net Runtime Security | .NET Class Libraries Security | .NET Assembly Security | .NET Security Tools | Best Practices for .NET Framework Security
Parte 3. Input Validation and Output Encoding
Input Validation . | Input Validation Attacks | Defensive Techniques against XSS Attacks | Defensiva Techniques against SQL injection Attacks | Output Encoding | Sandboxing | Best Practices
Parte 4. .NET Authorization and Authentication
introduction to Authentication and Authorization | Authentication | Authorization | Authentication and Authorization Vulnerabilities | Authentication and Authorization Best Practices | Secure Communication
Parte 5. Secure Session and State Management
Session Management | Session Management Techniques in ASP.NET | Session Attacks and lts Defensive Techniques | Securing Cookie Based Session Management | ViewState Security | Guidelines for Secure Session Management
Parte 6. .NET Cryptography
introduction to Cryptography | Symmetric Encryption | Asymmetric Encryption | Hashing | Digital Signatures | Digital Certificates | XML Signatures
Parte 7. .NET Error Handling, Auditing, and Logging
Error Handling | Exception Handling in ASP.NET | Exception Handling Best Practices | Auditing and Logging | Auditing and Logging Best Practices | .NET Logging Tools
Parte 8. .NET Secure File Handling
File Handling | Attacks on File and lts Defensive Techniques | Securing Files | File Extension Handling | lsolated Storage | File Access Control Lists (ACLs) | Checklist for Securely Accessing Files ;¡
Parte 9. .NET Configuration Management and Secure Code Review
Configuration Management | Machine Configuration File | Application Configuration Files | Code Access Security Configuration Files | Configuration Management Best Practices | Secure Code Review | Static Code Analysis Tools