Entrar em Contato
 Duração 21 horas

Programa do Curso

A01:2025 – Falhas de Controle de Acesso

O controle de acesso impõe políticas para que os usuários não atuem fora de suas permissões intencionadas. Falhas geralmente levam a divulgação não autorizada de informações, modificação ou destruição de todos os dados, ou execução de uma função de negócios fora dos limites do usuário.

Aspectos Práticos

  • Exemplos práticos de controles de acesso quebrados

  • Controles de acesso seguros e melhores práticas

A02:2025 – Erros de Configuração de Segurança

Erro de configuração de segurança ocorre quando um sistema, aplicativo ou serviço em nuvem é configurado incorretamente do ponto de vista da segurança, criando vulnerabilidades.

Aspectos Práticos

  • Exemplos reais de erros de configuração

  • Etapas para prevenir configurações incorretas, incluindo gerenciamento de configurações e ferramentas de automação

A03:2025 – Falhas na Cadeia de Suprimentos de Software

Falhas na cadeia de suprimentos de software são rupturas ou outros comprometimentos no processo de construção, distribuição ou atualização de software. Frequentemente são causadas por vulnerabilidades ou alterações maliciosas em código de terceiros, ferramentas ou outras dependências nas quais o sistema depende.

A04:2025 – Falhas Criptográficas

Em geral, todos os dados em trânsito devem ser criptografados na camada de transporte (camada 4 do OSI). Obstáculos anteriores, como o desempenho da CPU e o gerenciamento de chaves privadas/certificados, agora são tratados por CPUs que possuem instruções projetadas para acelerar a criptografia (por exemplo, suporte a AES) e pelo gerenciamento simplificado de chaves privadas e certificados por serviços como LetsEncrypt.org, com grandes provedores de nuvem oferecendo serviços de gerenciamento de certificados ainda mais integrados para suas plataformas específicas.

Além de proteger a camada de transporte, é importante determinar quais dados precisam de criptografia em repouso e quais dados precisam de criptografia adicional em trânsito (na camada de aplicativo, camada 7 do OSI).

Por exemplo, senhas, números de cartão de crédito, registros de saúde, informações pessoais e segredos de negócios exigem proteção extra, especialmente se esses dados estiverem sujeitos a leis de privacidade, como o Regulamento Geral de Proteção de Dados (GDPR) da UE, ou regulamentações como o Padrão de Segurança de Dados PCI (PCI DSS).

Aspectos Práticos

  • Análise detalhada de falhas criptográficas, como algoritmos de criptografia fracos ou gerenciamento inadequado de chaves

  • Importância de mecanismos criptográficos robustos, protocolos seguros (SSL/TLS) e exemplos de criptografia moderna em segurança web

A05:2025 – Injeção

Uma vulnerabilidade de injeção é um defeito no sistema que permite a um invasor inserir código ou comandos maliciosos (como código SQL ou shell) nos campos de entrada de um programa, enganando o sistema para executar o código ou comandos como se fossem parte do sistema. Isso pode levar a consequências verdadeiramente graves.

Aspectos Práticos

  • Decomposição detalhada de injeção SQL, NoSQL, SO e LDAP

  • Técnicas de mitigação usando statements preparados, consultas parametrizadas e escape de entradas

A06:2025 – Design Inseguro

O design inseguro é uma categoria ampla que representa diferentes fraquezas, expressas como “design de controles ausentes ou ineficazes”.

O design inseguro não é a fonte de todas as outras categorias de risco do Top Ten. Note que há uma diferença entre design inseguro e implementação insegura. Diferenciamos falhas de design de defeitos de implementação por um motivo: eles têm causas raiz diferentes, ocorrem em momentos diferentes do processo de desenvolvimento e têm correções diferentes.

Um design seguro ainda pode ter defeitos de implementação que levem a vulnerabilidades que possam ser exploradas. Um design inseguro não pode ser corrigido por uma implementação perfeita, pois os controles de segurança necessários nunca foram criados para se defender contra ataques específicos.

Um dos fatores que contribui para o design inseguro é a falta de perfilamento de riscos de negócios inerente ao software ou sistema em desenvolvimento e, portanto, a falha em determinar o nível de design de segurança necessário.

Aspectos Práticos

  • Exploraremos falhas de design que podem levar a vulnerabilidades, como validação inadequada de entradas

  • Estudaremos estratégias para arquitetura segura e princípios de design seguro

A07:2025 – Falhas de Autenticação

Quando um invasor é capaz de enganar um sistema para reconhecer um usuário inválido ou incorreto como legítimo, esta vulnerabilidade está presente.

Aspectos Práticos

  • Problemas comuns de autenticação

  • Estratégias de autenticação seguras, como autenticação multifator e tratamento adequado de sessões

A08:2025 – Falhas de Integridade de Software ou Dados

Falhas de integridade de software e dados estão relacionadas a código e infraestrutura que não protegem contra código ou dados inválidos ou não confiáveis sendo tratados como confiáveis e válidos.

Um exemplo disso é quando um aplicativo depende de plugins, bibliotecas ou módulos de fontes não confiáveis, repositórios e redes de entrega de conteúdo (CDNs).

Um pipeline de CI/CD inseguro sem verificar e fornecer integridade de software pode introduzir potencial para acesso não autorizado, código inseguro ou malicioso, ou comprometimento do sistema.

Outro exemplo para isso é um CI/CD que puxa código ou artefatos de lugares não confiáveis e/ou não os verifica antes do uso (verificando a assinatura ou mecanismo semelhante).

Aspectos Práticos

  • Foco em problemas como atualizações de software não confiáveis e adulteração de dados

  • Mecanismos de atualização seguros e verificações de integridade de dados

A09:2025 – Falhas de Registro de Segurança e Alertas

Sem registro e monitoramento, ataques e violações não podem ser detectados, e sem alertas, é muito difícil responder rapidamente e de forma eficaz durante um incidente de segurança.

Registro insuficiente, monitoramento contínuo, detecção e alertas para iniciar respostas ativas ocorrem a qualquer momento.

Aspectos Práticos

  • Importância de registrar informações relevantes para a segurança e monitorar atividades suspeitas

  • Ferramentas e práticas para registro adequado e monitoramento em tempo real para detectar violações precocemente

A10:2025 – Manuseio Inadequado de Condições Excepcionais

O manuseio inadequado de condições excepcionais em software ocorre quando os programas não conseguem prevenir, detectar e responder a situações incomuns e imprevisíveis, o que leva a travamentos, comportamento inesperado e, às vezes, vulnerabilidades.

Isto pode envolver um ou mais dos seguintes 3 fracassos:

  • O aplicativo não impede que uma situação incomum aconteça

  • Não identifica a situação enquanto ela está acontecendo

  • Responde mal ou não responde à situação em seguida

SAST – Testes Estáticos de Segurança de Aplicativos

  1. O que é análise estática e quando executá-la no SDLC (shift left)

  2. Tipos de vulnerabilidades detectáveis através de SAST, código vulnerável vs código seguro

  3. Visão geral de ferramentas SAST (por exemplo, Semgrep, SonarQube, Checkmarx, dependendo da stack do cliente)

  4. Exercício prático: executar um scan SAST em um repositório com vulnerabilidades introduzidas deliberadamente, interpretar resultados, triar falsos positivos vs vulnerabilidades reais

DAST – Testes Dinâmicos de Segurança de Aplicativos

  1. Diferença entre SAST e DAST, teste black box no aplicativo em execução

  2. Fluxo do scan DAST, crawling, fuzzing, análise de resposta

  3. Visão geral de ferramentas DAST (por exemplo, OWASP ZAP, Burp Suite)

  4. Exercício prático: executar um scan DAST em um aplicativo de teste vulnerável (por exemplo, OWASP Juice Shop), identificar e validar os achados

SCA – Análise de Composição de Software

  1. Risco de dependências e bibliotecas de terceiros, vulnerabilidades herdadas

  2. SBOM, Software Bill of Materials, o que é e por que é importante

  3. Visão geral de ferramentas SCA (por exemplo, Dependency Check, Snyk, GitHub Dependabot)

  4. Exercício prático: executar um scan SCA em um projeto real, identificar dependências vulneráveis e construir um plano de correção (atualizar, corrigir, mitigar)

Requisitos

Os participantes devem ter:

  • Conhecimento básico de conceitos de desenvolvimento de software
  • Compreensão básica de aplicativos web e tecnologias web comuns
  • Familiaridade com o Ciclo de Vida do Desenvolvimento de Software (SDLC)
  • Compreensão básica de código-fonte e dependências de software
  • Conhecimento básico de conceitos de segurança é benéfico, mas não obrigatório

Público-Alvo

  • Desenvolvedores de Software
  • Engenheiros de Software
  • Engenheiros de QA e Testes de Software
  • Engenheiros DevOps e DevSecOps
  • Especialistas em Segurança de Aplicativos
  • Engenheiros de Segurança
  • Arquitetos de Software
  • Líderes Técnicos
  • Profissionais envolvidos em desenvolvimento seguro de software e testes de segurança de aplicativos

Número de participantes


Preço por participante

Testemunhos de Clientes (3)

Próximas Formações Provisórias

Categorias Relacionadas