Obrigado por enviar sua consulta! Um dos membros da nossa equipe entrará em contato com você em breve.
Obrigado por enviar sua reserva! Um dos membros da nossa equipe entrará em contato com você em breve.
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 crimes cibernéticos
- Natureza das falhas de segurança
- Razões de dificuldade
- De um computador infectado a ataques direcionados
- Classificação de falhas de segurança
- Taxonomia de Landwehr
- Os Sete Reinos Perniciosos
- OWASP Dez melhores de 2013
- OWASP Comparação dos dez melhores 2003 – 2013
- Introdução ao Microsoft® Ciclo de Vida de Desenvolvimento de Segurança (SDL)
- Agenda
- Aplicativos sob ataque...
- Evolução do crime cibernético
- Os ataques estão se concentrando em aplicativos
- A maioria das vulnerabilidades está em aplicativos ISV menores
- Origens do Microsoft SDL...
- Cronograma de segurança em Microsoft...
- Quais aplicativos são necessários para seguir o SDL?
- Microsoft Ciclo de Vida de Desenvolvimento de Segurança (SDL)
- Microsoft Ciclo de Vida de Desenvolvimento de Segurança (SDL)
- Requisitos Pré-SDL: Treinamento de Segurança
- Fase Um: Requisitos
- Fase Dois: Design
- Fase Três: Implementação
- Fase Quatro: Verificação
- Fase Cinco: Liberação – Plano de Resposta
- Fase Cinco: Lançamento – Revisão Final de Segurança
- Fase Cinco: Liberação – Arquivo
- Requisito Pós-SDL: Resposta
- Orientação de processo SDL para aplicativos LOB
- Orientação SDL para Agile Metodologias
- O desenvolvimento seguro de software requer melhoria de processos
- Princípios de design seguro
- Superfície de ataque
- Redução da superfície de ataque
- Superfície de ataque – um exemplo
- Análise de superfície de ataque
- Redução da superfície de ataque – exemplos
- Privacidade
- Privacidade
- Compreendendo os comportamentos e preocupações dos aplicativos
- Defesa em profundidade
- Princípio Básico do SDL: Defesa em Profundidade
- Defesa em profundidade – exemplo
- Princípio do menor privilégio
- Menor privilégio – exemplo
- Padrões seguros
- Padrões seguros – exemplos
- Superfície de ataque
- Princípios de implementação seguros
- Agenda
- Microsoft Ciclo de Vida de Desenvolvimento de Segurança (SDL)
- Noções básicas de estouro de buffer
- Processadores Intel 80x86 – registros principais
- O layout do endereço de memória
- O mecanismo de chamada de função em C/C++ em x86
- As variáveis locais e o stack frame
- Estouro de pilha
- Estouro de buffer na pilha
- Exercícios – introdução
- Exercício BOFIntro
- Exercício BOFIntro – determine o layout da pilha
- Exercício BOFIntro – uma exploração simples
- Validação de entrada
- Conceitos de validação de entrada
- Problemas inteiros
- Representação de inteiros negativos
- Estouro de número inteiro
- Estouro aritmético – adivinhe a saída!
- Exercício IntOverflow
- Qual é o valor de Math.Abs(int.MinValue)?
- Mitigação de problemas inteiros
- Mitigação de problemas inteiros
- Evitando estouro aritmético – adição
- Evitando estouro aritmético – multiplicação
- Detectando estouro com a palavra-chave verificada em C#
- Exercício – Usando a palavra-chave verificada em C#
- Exceções acionadas por overflows em C#
- Estudo de caso – Estouro de número inteiro em .NET
- Uma vulnerabilidade de estouro de número inteiro do mundo real
- Explorando a vulnerabilidade de estouro de número inteiro
- Vulnerabilidade de passagem de caminho
- Mitigação de passagem de caminho
Dia 2
- Princípios de implementação seguros
- Injeção
- Métodos típicos de ataque de injeção SQL
- Injeção cega e baseada no tempo SQL
- SQL Métodos de proteção contra injeção
- Injeção de comando
- Autenticação quebrada - gerenciamento de senha
- Exercício – Fraqueza das senhas com hash
- Gerenciamento e armazenamento de senhas
- Algoritmos hash de propósito especial para armazenamento de senhas
- Scripting entre sites (XSS)
- Scripting entre sites (XSS)
- CSS injeção
- Exploração: injeção através de outras tags HTML
- Prevenção XSS
- Controle de acesso de nível de função ausente
- Filtrando uploads de arquivos
- Criptografia prática
- Fornecendo confidencialidade com criptografia simétrica
- Algoritmos de criptografia simétrica
- Cifras de bloco – modos de operação
- Hash ou resumo da mensagem
- Algoritmos de hash
- Código de autenticação de mensagem (MAC)
- Fornecendo integridade e autenticidade com uma chave simétrica
- Fornecendo confidencialidade com criptografia de chave pública
- Regra prática – posse de chave privada
- Erros típicos no gerenciamento de senhas
- Exercício – Senhas codificadas
- Conclusão
- Injeção
- Princípios de verificação segura
- Teste funcional vs. teste de segurança
- Vulnerabilidades de segurança
- Priorização
- Testes de segurança no SDLC
- Etapas do planejamento de testes (análise de risco)
- Escopo e coleta de informações
- Partes interessadas
- Ativos
- A superfície de ataque
- Objetivos de segurança para testes
- Modelagem de ameaças
- Modelagem de ameaças
- Perfis de invasor
- Modelagem de ameaças baseada em árvores de ataque
- Modelagem de ameaças com base em casos de uso indevido/abuso
- Casos de uso indevido/abuso – um exemplo simples de loja virtual
- Abordagem STRIDE por elemento para modelagem de ameaças – MS SDL
- Identificando objetivos de segurança
- Diagramação – exemplos de elementos DFD
- Diagrama de fluxo de dados – exemplo
- Enumeração de ameaças – elementos STRIDE e DFD do MS SDL
- Análise de risco – classificação de ameaças
- O modelo de classificação de ameaças/risco DREAD
- Técnicas e ferramentas de teste de segurança
- Abordagens gerais de teste
- Técnicas para várias etapas do SDLC
- Revisão de código
- Revisão de código para segurança de software
- Análise de contaminação
- Heurística
- 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
- Testando a implementação
- Verificação manual em tempo de execução
- Testes de segurança manuais versus automatizados
- Teste de penetração
- Testes de estresse
- Confuso
- Testes de segurança automatizados - difusão
- Desafios da difusão
- Verificadores de vulnerabilidade da Web
- Exercício – Usando um scanner de vulnerabilidade
- Verificando e fortalecendo o meio ambiente
- Sistema comum de pontuação de vulnerabilidade – CVSS
- Verificadores de vulnerabilidade
- Bancos de dados públicos
- Estudo de caso – Ignorar autenticação de formulários
- Vulnerabilidade de terminação de byte NULL
- A vulnerabilidade do Forms Authentication Bypass no código
- Explorando o desvio de autenticação de formulários
- Fontes de conhecimento
- Fontes de codificação seguras – um kit inicial
- Bancos de dados de vulnerabilidade
- Diretrizes de codificação segura do .NET no MSDN
- Folhas de dicas de codificação segura .NET
- Livros recomendados – .NET e ASP.NET
14 Horas
Declaração de Clientes (5)
Múltiplos exemplos para cada módulo e grande conhecimento do formador.
Sebastian - BRD
Curso - Secure Developer Java (Inc OWASP)
Máquina Traduzida
Módulo3 Ataques e explorações de aplicações, XSS, injeção SQL Módulo4 Ataques e explorações de servidores, DOS, BOF
Tshifhiwa - Vodacom
Curso - How to Write Secure Code
Máquina Traduzida
Informações gerais sobre o curso
Paulo Gouveia - EID
Curso - C/C++ Secure Coding
Máquina Traduzida
Nothing it was perfect.
Zola Madolo - Vodacom
Curso - Android Security
The labs