Programa do Curso

Dia 1

  • Segurança de TI e codificação segura
    • Natureza da segurança
    • Termos relacionados à segurança de TI
    • Definição de risco
    • Diferentes aspectos da segurança de TI
    • Requisitos de diferentes áreas de aplicação
    • Segurança de TI versus codificação segura
    • De vulnerabilidades a botnets e cibercrime
      • Natureza dos erros de segurança
      • Motivos da dificuldade
      • De um computador infectado a ataques direcionados
    • Classificação de falhas de segurança
      • Taxonomia de Landwehr
      • Os Sete Reinos Perniciosos
      • OWASP Top Ten 2013
      • OWASP Comparação Top Ten 2003 – 2013
  • Introdução ao ciclo de vida do desenvolvimento seguro Microsoft® SDL (Security Development Lifecycle)
    • Pauta
    • Aplicações sob ataque...
      • Evolução da cibercriminalidade
      • Ataques estão se concentrando em aplicações
      • A maioria das vulnerabilidades está em pequenas aplicações de ISV
    • Origens do ciclo de vida de desenvolvimento seguro Microsoft SDL...
      • Linha do tempo de segurança na Microsoft
      • Quais aplicações são obrigadas a seguir o SDL?
    • Ciclo de vida de desenvolvimento seguro Microsoft (SDL)
      • Ciclo de vida de desenvolvimento seguro Microsoft (SDL)
      • Requisitos pré-SDL: treinamento em segurança
      • Fase Um: requisitos
      • Fase Dois: design
      • Fase Três: implementação
      • Fase Quatro: verificação
      • Fase Cinco: lançamento – plano de resposta
      • Fase Cinco: lançamento – revisão final de segurança
      • Fase Cinco: lançamento – arquivamento
      • Requisito pós-SDL: resposta
      • Orientação do processo SDL para aplicações LOB
      • Orientação SDL para metodologias Agile
      • A desenvolvimento de software seguro requer melhorias no processo
  • Princípios de design seguro
    • Superfície de ataque
      • Redução da superfície de ataque
      • Superfície de ataque – um exemplo
      • Análise da superfície de ataque
      • Exemplos de redução da superfície de ataque
    • Privacidade
      • Privacidade
      • Compreendendo comportamentos e preocupações das aplicações
    • Defesa em profundidade
      • Princípio básico do SDL: defesa em profundidade
      • Exemplo de defesa em profundidade
    • Princípio da menor privilégio
      • Menor privilégio – exemplo
    • Padrões seguros
      • Padrões seguros – exemplos
  • Princípios de implementação segura
    • Pauta
    • Ciclo de vida de desenvolvimento seguro Microsoft (SDL)
    • Noções básicas de desbordamento de buffer
      • Processadores Intel 80x86 – principais registradores
      • A disposição de endereços na memória
      • O mecanismo de chamada de função em C/C++ no x86
      • Variáveis locais e o quadro da pilha
      • Desbordamento de pilha
        • Desbordamento de buffer na pilha
        • Exercícios – introdução
        • Exercício BOFIntro
        • Exercício BOFIntro – determinar o layout da pilha
        • Exercício BOFIntro – um exploit simples
    • Validação de entrada
      • Noções sobre validação de entrada
      • Problemas com inteiros
        • Representação de inteiros negativos
        • Desbordamento de inteiros
        • Desbordamento aritmético – adivinhe a saída!
        • Exercício IntOverflow
        • Qual é o valor de Math.Abs(int.MinValue)?
      • Mitigação de problemas com inteiros
        • Mitigação de problemas com inteiros
        • Avoiding arithmetic overflow – addition (Evitar desbordamento aritmético - adição)
        • Avoiding arithmetic overflow – multiplication (Evitar desbordamento aritmético - multiplicação)
        • Detectando desbordo com a palavra-chave checked em C#
        • Exercício – Usando a palavra-chave checked em C#
        • Exceções disparadas por desbordamentos em C#
      • Caso de estudo – Desbordamento de inteiro no .NET
        • Uma vulnerabilidade real de desbordamento de inteiros
        • Exploração da vulnerabilidade de desbordamento de inteiros
      • Vulnerabilidade de travessia de caminho
        • Mitigação de travessia de caminho

Dia 2

  • Princípios de implementação segura
    • Injeção
      • Métodos típicos de ataques de injeção SQL
      • Injeção cega e baseada em tempo SQL
      • Métodos de proteção contra injeção SQL
      • Command injection (Injeção de comando)
    • Autenticação quebrada - gerenciamento de senhas
      • Exercício – Fraquezas de senhas hashadas
      • Gestão e armazenamento de senhas
      • Algoritmos de hash específicos para o armazenamento de senhas
    • Cross-Site Scripting (XSS)
      • Cross-Site Scripting (XSS)
      • Injeção CSS
      • Exploração: injeção através de outras tags HTML
      • Prevenção XSS
    • Acesso controlado por nível funcional ausente
      • Filtragem de upload de arquivos
    • Criptografia prática
      • Proporcionando confidencialidade com criptografia simétrica
      • Algoritmos de criptografia simétrica
      • Cifradores de bloco – modos de operação
      • Hash ou resumo de mensagem
      • Algoritmos de hash
      • Código de autenticação de mensagem (MAC)
      • Proporcionando integridade e autenticidade com uma chave simétrica
      • Proporcionando confidencialidade com criptografia de chave pública
      • Regra geral – posse da chave privada
      • Mistakes típicos em gerenciamento de senhas (Erros típicos no gerenciamento de senhas)
      • Exercício – Senhas codificadas em texto simples
      • Conclusão
  • Princípios de verificação segura
    • Teste funcional versus teste de segurança
    • Vulnerabilidades de segurança
    • Priorização
    • Teste de segurança no ciclo de vida do desenvolvimento de software (SDLC)
    • Etapas do planejamento de teste (análise de riscos)
    • Delimitação e coleta de informações
      • Partes interessadas
      • Ativos
      • A superfície de ataque
      • Objetivos de segurança para testar
    • Modelagem de ameaças
      • Modelagem de ameaças
      • Perfis do atacante
      • Modelagem de ameaças baseada em árvores de ataques
      • Modelagem de ameaças baseada em casos de má utilização/abuso
      • Casos de má utilização/abuso – exemplo de uma loja Web simples
      • Abordagem per-elemento STRIDE para modelagem de ameaças – SDL MS
      • Identificação dos objetivos de segurança
      • Diagramação – exemplos de elementos DFD
      • Diagrama de fluxo de dados (DFD) - exemplo
      • Enumerando ameaças – elementos STRIDE e DFD do SDL MS
      • Análise de risco – classificação de ameaças
      • O modelo de ranking de ameaças/riscos DREAD
    • Técnicas e ferramentas de teste de segurança
      • Abordagens gerais de teste
      • Técnicas para diferentes etapas do SDLC
    • Análise de código
      • Análise de código para segurança de software
      • Análise de contaminação
      • Heurísticas
    • Análise estática de código
      • Análise estática de código
      • Análise estática de código
      • Exercício – Usando ferramentas de análise estática de código
    • Teste da implementação
      • Verificação manual em tempo real
      • Testes manuais versus automatizados de segurança
      • Teste de penetração
      • Testes de estresse
    • Fuzzing
      • Teste automático de segurança - fuzzing
      • Desafios do fuzzing
    • Escaneadores de vulnerabilidades Web
      • Exercício – Usando um escaneador de vulnerabilidade
    • Verificação e fortalecimento do ambiente
      • Sistema comum de pontuação de vulnerabilidade - CVSS (Common Vulnerability Scoring System)
      • Escaneadores de vulnerabilidades
      • Bancos de dados públicos
    • Caso de estudo – Bypass da autenticação de formulários
      • Vulnerabilidade de terminação com byte NULL
      • A vulnerabilidade de bypass da autenticação de formulários no código
      • Exploração do bypass da autenticação de formulários
  • Fuentes de conocimiento
    • Fuentes de codificación segura – un kit inicial
    • Bases de datos de vulnerabilidades
    • .NET guías de codificación segura en MSDN
    • Hojas resumen de .NET seguras para codificar
    • Livros recomendados - .NET e ASP.NET
 14 Horas

Declaração de Clientes (5)

Próximas Formações Provisórias

Categorias Relacionadas