Entrar em Contato
 Duração 21 horas

Programa do Curso

A01:2025 – Controlo de Acesso Quebrado

O controlo de acesso impõe políticas para que os utilizadores não atuem fora dos seus limites de permissão. As falhas geralmente levam à 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ócio fora dos limites do utilizador.

Aspectos Práticos

  • Exemplos práticos de controles de acesso quebrados

  • Controles de acesso seguros e melhores práticas

A02:2025 – Configuração Insegura

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

Aspectos Práticos

  • Exemplos do mundo real de más configurações

  • Passos para prevenir más configurações, incluindo ferramentas de gestão de configuração e automação

A03:2025 – Falhas na Cadeia de Abastecimento de Software

As falhas na cadeia de abastecimento de software são avarias ou outros comprometimentos no processo de construção, distribuição ou atualização de software. São frequentemente causadas por vulnerabilidades ou alterações maliciosas em código, ferramentas ou outras dependências de terceiros em que o sistema se baseia.

A04:2025 – Falhas Criptográficas

De um modo 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 a gestão de chaves privadas/certificados, são agora tratados por CPUs com instruções desenhadas para acelerar a criptografia (por exemplo, suporte a AES) e pela simplificação da gestão de chaves privadas e certificados por serviços como LetsEncrypt.org, com os principais fornecedores de nuvem a oferecerem serviços de gestão de certificados ainda mais integrados para as suas plataformas específicas.

Para além de proteger a camada de transporte, é importante determinar quais dados necessitam de criptografia em repouso, bem como quais dados necessitam de criptografia adicional em trânsito (na camada de aplicação, camada 7 do OSI).

Por exemplo, passwords, números de cartão de crédito, registos de saúde, informações pessoais e segredos de negócio requerem proteção extra, especialmente se esses dados estiverem sujeitos a leis de privacidade, por exemplo, o Regulamento Geral de Proteção de Dados (RGPD) da UE, ou regulamentos como o PCI Data Security Standard (PCI DSS).

Aspectos Práticos

  • Análise detalhada de falhas criptográficas, como algoritmos de criptografia fracos ou gestão inadequada 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 é uma falha do sistema que permite a um atacante 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

  • Análise detalhada de injeção SQL, NoSQL, OS e LDAP

  • Técnicas de mitigação utilizando instruções preparadas, consultas parametrizadas e escape de entradas

A06:2025 – Design Inseguro

O design inseguro é uma categoria ampla que representa diferentes fraquezas, expressas como "design de controlo ausente ou ineficaz".

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

Um design seguro ainda pode ter defeitos de implementação que levem a vulnerabilidades exploráveis. Um design inseguro não pode ser corrigido por uma implementação perfeita, pois os controlos 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 risco de negócio inerente ao software ou sistema em desenvolvimento, e, consequentemente, 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 atacante é capaz de enganar um sistema para reconhecer um utilizador 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

As falhas de integridade de software e dados relacionam-se com 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 uma aplicação se baseia em plugins, bibliotecas ou módulos de fontes não confiáveis, repositórios e redes de entrega de conteúdo (CDNs).

Um pipeline CI/CD inseguro que não consome e fornece verificações de integridade de software pode introduzir o potencial para acesso não autorizado, código inseguro ou malicioso, ou comprometimento do sistema.

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

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 Registo e Alertas de Segurança

Sem registo e monitorização, os ataques e violações não podem ser detetados, e sem alertas é muito difícil responder rapidamente e efetivamente durante um incidente de segurança.

O registo insuficiente, a monitorização contínua, a deteção e o alerta para iniciar respostas ativas ocorrem a qualquer momento.

Aspectos Práticos

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

  • Ferramentas e práticas para registo adequado e monitorização em tempo real para detetar violações precocemente

A10:2025 – Mau Tratamento de Condições Excecionais

O mau tratamento de condições excecionais no software ocorre quando os programas falham em prevenir, detetar e responder a situações incomuns e imprevisíveis, o que leva a crashes, comportamento inesperado e, por vezes, vulnerabilidades.

Isto pode envolver uma ou mais das seguintes 3 falhas:

  • A aplicação não previne a ocorrência de uma situação incomum

  • Ela não identifica a situação enquanto está a acontecer

  • Ela responde mal ou não responde de todo à situação posteriormente

SAST – Teste Estático de Segurança de Aplicações

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

  2. Tipos de vulnerabilidades detetáveis através do 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 uma varrificação SAST num repositório com vulnerabilidades introduzidas deliberadamente, interpretar resultados, triar falsos positivos vs vulnerabilidades reais

DAST – Teste Dinâmico de Segurança de Aplicações

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

  2. O fluxo de varrificação DAST, crawling, fuzzing, análise de respostas

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

  4. Exercício prático: executar uma varrificação DAST numa aplicação de teste vulnerável (por exemplo, OWASP Juice Shop), identificar e validar os resultados

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 uma varrificação SCA num projeto real, identificar dependências vulneráveis e criar um plano de correção (atualizar, corrigir, mitigar)

Requisitos

Os participantes devem ter:

  • Conhecimentos básicos de conceitos de desenvolvimento de software
  • Compreensão básica de aplicações web e tecnologias web comuns
  • Familiaridade com o Ciclo de Vida de Desenvolvimento de Software (SDLC)
  • Compreensão básica de código-fonte e dependências de software
  • Conhecimentos básicos de conceitos de segurança são benéficos, mas não obrigatórios

Público-Alvo

  • Desenvolvedores de Software
  • Engenheiros de Software
  • Engenheiros de QA e Testes de Software
  • Engenheiros DevOps e DevSecOps
  • Profissionais de Segurança de Aplicações
  • Engenheiros de Segurança
  • Arquitetos de Software
  • Responsáveis Técnicos (Technical Leads)
  • Profissionais envolvidos em desenvolvimento de software seguro e testes de segurança de aplicações

Treinamento Corporativo Personalizado

Soluções de treinamento projetadas exclusivamente para empresas.

  • Conteúdo Personalizado: Adaptamos o programa e os exercícios práticos aos objetivos e necessidades reais do seu projeto.
  • Horário Flexível: Datas e horários adaptados à agenda da sua equipe.
  • Formato: Online (ao vivo), In-Company (em suas instalações) ou Híbrido.
Investimento

Preço por grupo privado, treinamento online ao vivo, a partir de 3900 € + VAT*

Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes

Testemunhos de Clientes (3)

Próximas Formações Provisórias

Categorias Relacionadas