Entrar em Contato

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

 21 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (5)

Próximas Formações Provisórias

Categorias Relacionadas