Programa do Curso
Introdução ao Desenvolvimento Seguro em C e C++
- Compreensão dos princípios do desenvolvimento de software seguro
- Riscos de segurança comuns em aplicações C e C++
- A relação entre erros de programação e vulnerabilidades de segurança
- Estruturas de codificação segura e melhores práticas
Vulnerabilidades Comuns na Programação com C e C++
- Identificação de erros de codificação comuns que introduzem riscos de segurança
- Questões de segurança de memória em C e C++
- Padrões de vulnerabilidade e seu impacto
- Análise de exemplos de código inseguro
Princípios de Programação Segura
- A aplicação de técnicas de defesa em profundidade
- Escrita de código robusto e manutenível
- Minimização das superfícies de ataque
- Princípios de design seguro para aplicações C e C++
Validação de Entrada e Manipulação de Dados
- Compreensão da importância da validação de entrada
- Prevenção contra exploração por entradas maliciosas
- Técnicas de sanização de dados
- Manipulação segura de dados de usuários e externos
Tratamento de Erros e Gerenciamento de Exceções
- Riscos associados ao tratamento inadequado de erros
- Criação de mecanismos seguros para tratamento de erros e exceções
- Evitação de vazamento de informações através de erros
- Criação de aplicações resilientes
Segurança de Memória e Proteção contra Transbordamento de Buffer
- Compreensão das vulnerabilidades na gestão de memória
- Transbordamentos de buffer baseados em pilha (stack)
- Transbordamentos de buffer baseados em heap
- Deteção e prevenção de corrupção de memória
- Técnicas seguras de manipulação de memória
Proteção da Pilha (Stack) e Recursos de Segurança em Runtime
- Compreensão das vulnerabilidades de transbordamento de pilha
- Proteções de segurança baseadas no compilador
- Canaris da pilha (stack canaries) e mecanismos de proteção
- Randomização do Layout do Espaço de Endereços (ASLR)
- Funcionalidades modernas de segurança dos sistemas operacionais
Considerações Avançadas de Segurança em C++
- Gestão segura do ciclo de vida de objetos
- Prevenção de vulnerabilidades de uso após liberação (use-after-free)
- Gestão segura de ponteiros e referências
- Evitação de problemas de confusão de tipos
- Uso seguro dos recursos da linguagem C++
Ferramentas e Técnicas de Codificação Segura
- Uso de ferramentas de análise estática para identificar vulnerabilidades
- Técnicas de revisão de código para avaliação de segurança
- Abordagens de testes automáticos de segurança
- Integração de verificações de segurança nos fluxos de trabalho de desenvolvimento
Estruturas de Codificação Segura e Melhores Práticas
- Análise das diretrizes da indústria para codificação segura
- A aplicação de técnicas de programação defensiva
- Incorporação da segurança no ciclo de vida do desenvolvimento de software
- Manutenção de aplicações C/C++ seguras e confiáveis
Workshop Prático de Codificação Segura
- Análise de exemplos vulneráveis de código C/C++
- A aplicação de correções e melhorias de segurança
- Teste do código contra vulnerabilidades comuns
- Revisão do curso e recomendações para o desenvolvimento seguro
Requisitos
Conceitos básicos de C/C++
Testemunhos de Clientes (6)
A experiência de compartilhar, o conhecimento do professor e valioso.
Carey Fan - Logitech
Curso - C/C++ Secure Coding
Máquina Traduzida
o equilíbrio entre aulas teóricas e práticas, o ritmo, o conhecimento do instrutor e sua habilidade pedagógica
Armando Pinto - EID
Curso - C/C++ Secure Coding
Máquina Traduzida
O instrutor forneceu informações atualizadas e referências e ferramentas valiosas.
Jose Vicente - EID
Curso - C/C++ Secure Coding
Máquina Traduzida
para obter muitas informações valiosas sobre o tema do curso
Paulo Pereira - EID
Curso - C/C++ Secure Coding
Máquina Traduzida
O treinador possui sólidos conhecimentos e experiência, apresentações agradáveis, bons exemplos.
Celso Almeida - EID
Curso - C/C++ Secure Coding
Máquina Traduzida
Informações gerais sobre o curso
Paulo Gouveia - EID
Curso - C/C++ Secure Coding
Máquina Traduzida