Programa do Curso
I. Introdução à Codificação Segura e Segurança de Aplicações Web
1. Panorama das Ameaças às Aplicações Web Modernas
- Vetores de ataque comuns em aplicações web
- Riscos de segurança em aplicações ASP.NET modernas
- O papel da codificação segura no desenvolvimento de software
- Introdução à Fundação OWASP e aos seus recursos
2. Princípios do Desenvolvimento de Software Seguro
- Segurança desde o design (Security by design)
- Defesa em profundidade (Defense in depth)
- Privilégio mínimo
- Falha segura (Fail securely)
- Padrões seguros predefinidos
- Fundamentos da modelação de ameaças
II. Ciclo de Vida do Desenvolvimento Seguro (SDL)
1. Ciclo de Vida do Desenvolvimento de Software Seguro
- Segurança ao longo de todo o ciclo de vida do desenvolvimento
- Requisitos de segurança
- Arquitetura e design seguros
- Práticas de codificação segura
- Testes e validação de segurança
- Implantação e manutenção seguras
2. Avaliação de Riscos e Modelação de Ameaças
- Identificação de ativos e ameaças
- Análise da superfície de ataque
- Noções gerais do modelo STRIDE
- Priorização dos riscos de segurança
III. Top 10 da OWASP para Aplicações ASP.NET
1. Compreender o Top 10 da OWASP
- Controlo de Acesso Quebrado (Broken Access Control)
- Falhas Criptográficas
- Injeção
- Design Inseguro
- Má configuração de segurança
- Componentes vulneráveis e desatualizados
- Falhas de identificação e autenticação
- Falhas de integridade do software e dos dados
- Falhas em registos de segurança e monitorização
- Falsificação de Requisição Lado do Servidor (SSRF)
2. Aplicar as Recomendações da OWASP
- Técnicas de codificação segura
- Medidas preventivas
- Práticas de configuração segura
- Exemplos reais e demonstrações
IV. Segurança de Autenticação e Autorização
1. Fundamentos da Autenticação
- Mecanismos de autenticação no ASP.NET
- Segurança das palavras-passe
- Autenticação multifator (MFA)
- Gestão de sessão
- Gestão de identidade
2. Autorização e Controlo de Acesso
- Autorização baseada em funções
- Autorização baseada em reclamações (Claims)
- Autorização baseada em políticas
- Prevenção de escalada de privilégios
- Proteção de recursos sensíveis
V. Prevenção de Ataques de Injeção
1. Vulnerabilidades de Injeção
- Injeção SQL
- Injeção de comandos
- Injeção LDAP
- Injeção XML
- Noções gerais sobre Injeção NoSQL
2. Técnicas de Codificação Segura
- Consultas parametrizadas
- Validação de entrada
- Codificação de saída (Output encoding)
- Considerações de segurança em ORM
- Práticas seguras de acesso à base de dados
VI. Prevenção de Cross-Site Scripting (XSS)
1. Compreender o XSS
- XSS armazenado (Stored XSS)
- XSS refletido (Reflected XSS)
- XSS baseado no DOM (DOM-based XSS)
- Cenários de ataque
2. Prevenção de XSS
- Codificação de saída (Output encoding)
- Validação de entrada
- Política de Segurança de Conteúdo (CSP)
- Gestão segura de HTML e JavaScript
- Funcionalidades de segurança do ASP.NET para prevenção de XSS
VII. Prevenção de Cross-Site Request Forgery (CSRF)
1. Compreender o CSRF
- Como funcionam os ataques CSRF
- Cenários comuns de ataque
- Impacto nos negócios
2. Proteção contra CSRF
- Tokens antifalsificação (Anti-forgery tokens)
- Cookies SameSite
- Gestão segura de sessões
- Mecanismos antifalsificação do ASP.NET
VIII. Configuração Segura de Aplicações ASP.NET
1. Funcionalidades de Segurança do ASP.NET
- Segurança da configuração
- Cabeçalhos HTTP seguros
- Configuração de HTTPS e TLS
- Gestão de segredos
- Gestão de erros segura
2. Proteção de Dados Sensíveis
- APIs de proteção de dados
- Armazenamento seguro de credenciais
- Fundamentos da encriptação
- Gestão de chaves
IX. Validação de Entrada e Gestão Segura de Dados
1. Validação da Entrada do Utilizador
- Listas brancas versus listas negras (Whitelisting vs. Blacklisting)
- Validação no lado do servidor
- Considerações sobre a validação no lado do cliente
- Segurança de uploads de ficheiros
2. Processamento Seguro de Dados
- Segurança na serialização
- Riscos na desserialização
- Integridade dos dados
- Práticas seguras de registo (Logging)
X. Testes de Penetração e Verificação de Segurança
1. Metodologia de Testes de Penetração
- Planeamento de avaliações de segurança
- Identificação de vulnerabilidades
- Conceitos de exploração
- Relatório dos resultados
2. Técnicas de Teste de Segurança
- Teste Estático de Segurança de Aplicações (SAST)
- Teste Dinâmico de Segurança de Aplicações (DAST)
- Teste Interativo de Segurança de Aplicações (IAST)
- Análise de dependências e componentes
- Análise manual de código
XI. Proteção de Aplicações ASP.NET
1. Aplicar Práticas de Codificação Segura
- Implementação segura de autenticação
- Implementação segura de autorização
- Segurança da sessão
- Gestão de exceções
- Registo (Logging) e monitorização
- Considerações para implatação segura
2. Melhores Práticas de Segurança
- Normas de codificação segura
- Gestão de dependências
- Gestão de patches
- Melhoria contínua da segurança
XII. Oficina Prática de Segurança
1. Identificar e Explorar Vulnerabilidades Comuns
- Análise de código ASP.NET inseguro
- Identificação de vulnerabilidades do Top 10 da OWASP
- Compreensão das técnicas de ataque
- Avaliação da segurança da aplicação
2. Resolução de Problemas de Segurança
- Aplicação de correções de codificação segura
- Validação das mitigações
- Teste das aplicações corrigidas
- Exercício de revisão de codificação segura
XIII. Resumo e Revisão do Curso
1. Revisão dos Conceitos-Chave
- Princípios de design seguro
- Estratégias de mitigação do Top 10 da OWASP
- Funcionalidades de segurança do ASP.NET
- Ciclo de vida do desenvolvimento seguro
2. Discussão Final
- Melhores práticas de codificação segura
- Integração da segurança nas equipas de desenvolvimento
- Recursos e ferramentas adicionais da OWASP
- Sessões de Perguntas e Respostas e próximos passos
Requisitos
Experiência com ASP.NET
Experiência na criação de aplicações web
Testemunhos de Clientes (5)
Introduções aos diversos tipos de comportamentos não seguros.
Zhongqi
Curso - Secure Developer .NET (Inc OWASP)
Máquina Traduzida
ter uma sessão individual com Raymond foi incrível, ele foi realmente ótimo e atento a todas as minhas necessidades de treinamento.
Joshua
Curso - Secure Developer .NET (Inc OWASP)
Máquina Traduzida
O alto nível de conhecimento do instrutor significou que obtivemos uma excelente visão dos tópicos abordados.
Dafydd - TATA Steel
Curso - Secure Developer .NET (Inc OWASP)
Máquina Traduzida
os links de referência
Abraham Gonzalez - ATEB Servicios
Curso - Secure Developer .NET (Inc OWASP)
Máquina Traduzida
O conhecimento do instrutor sobre o assunto era excelente, e a forma como as sessões foram organizadas para que o público pudesse acompanhar as demonstrações ajudou muito a fixar esse conhecimento, em comparação com apenas sentar e ouvir.
Jack Allan - RSM UK Management Ltd.
Curso - Secure Developer .NET (Inc OWASP)
Máquina Traduzida