Entrar em Contato
 Duração 21 horas

Programa do Curso

1. Segurança da TI e codificação segura

  • Princípios Fundamentais de Segurança: Confidencialidade, Integridade e Disponibilidade (CIA) no contexto de aplicações Java.
  • Ciclo de Vida de Desenvolvimento de Software Seguro (SSDLC): Integrando a segurança da definição de requisitos até a implantação.
  • Paradigmas de Codificação Segura: Defesa em profundidade, menor privilégio e padrões de falha seguros.
  • Classificações Padrão de Vulnerabilidades: Entendendo o CWE (Enumeração de Falhas Comuns) e o OWASP.

2. Segurança de aplicações Web

  • Análise Aprofundada do OWASP Top Ten: Análise detalhada de Injeção, Autenticação Quebrada e Exposição de Dados Sensíveis.
  • Cross-Site Scripting (XSS): Cenários de XSS Refletido, Armazenado e baseado em DOM em Java/JSP.
  • Cross-Site Request Forgery (CSRF): Mecanismos de ataque e implementação de tokens Anti-CSRF.
  • Gestão de Sessões: Segurança de cookies, fixação de sessão e gerenciamento de tempo limite (timeout).
  • Segurança de API: Protegendo endpoints REST e SOAP contra abuso.

3. Segurança de Serviços Web

  • Serviços Web vs. Aplicações Web Tradicionais: Diferenças nas superfícies de ataque.
  • Segurança na Camada de Transporte: Configuração de SSL/TLS para clientes e servidores Java.
  • Segurança de Mensagem: Integridade e Confidencialidade no nível de payload.
  • Padrões de Autenticação: Implementação de OAuth 2.0, OpenID Connect e JWT (JSON Web Tokens).

4. Segurança de XML

  • Vulnerabilidades em Análise de XML: Prevenção de ataques de Entidade Externa XML (XXE).
  • Validação de Esquema XML: Melhores práticas para aplicação rigorosa de esquemas.
  • Assinaturas Digitais XML: Implementação de assinaturas para garantir não-repúdio.
  • Criptografia de XML: Abordagens padrão para criptografar conteúdo XML.

5. Fundamentos da segurança Java

  • A Arquitetura de Segurança Java: O pacote java.security e a arquitetura de provedores.
  • Provedores de Segurança: Instalação e configuração de provedores como Bouncy Castle.
  • Controle de Acesso: Arquivos de política, Permissões e o Gerenciador de Segurança (Legado vs. Moderno).
  • Gestão de KeyStores: Criação e gerenciamento de keystores e truststores para certificados.

6. Criptografia prática

  • Algoritmos Criptográficos: Visão geral de algoritmos Simétricos (AES), Assimétricos (RSA, ECC) e de Hashing (SHA-256/512).
  • Geração de Números Aleatórios: Os perigos de java.util.Random vs. java.security.SecureRandom.
  • Gestão de Chaves: Estratégias de geração, armazenamento e rotação de chaves.
  • Arquitetura de Criptografia Java (JCA): Uso das classes Cipher, MessageDigest e Mac.
  • Extensão de Criptografia Java (JCE): Compreensão de arquivos de política e jurisdição de força ilimitada.

7. Serviços de segurança Java

  • SSL/TLS no Java: Uso de SSLSocketFactory e HttpsURLConnection.
  • Gerenciadores de Confiança (Trust Managers): Personalização da verificação de confiança para ambientes de PKI privados.
  • Autenticadores: Autenticação programática usando Authenticator.getDefault().
  • Análise de Certificados: Leitura e análise programática de certificados X.509.

8. Segurança Java EE

  • Segurança Declarativa: Controle de acesso baseado em papéis (RBAC) usando web.xml e anotações.
  • Segurança Programática: Uso de HttpServletRequest.isUserInRole() e getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Configuração de login.conf e implementação de LoginModules.
  • Segurança de Servlets: Restrições de segurança gerenciadas pelo contêiner e métodos de autenticação (FORM, BASIC, DIGEST).

9. Erros de codificação comuns e vulnerabilidades

  • Deserialização Insegura: Os riscos de ObjectInputStream e a evasão de verificações de segurança.
  • Injeção de Comandos: Mitigação de vulnerabilidades de execução em nível de SO.
  • Navegação de Caminhos (Path Traversal): Sanitização de entradas do sistema de arquivos para prevenir navegação de diretórios.
  • Abuso de Reflexão: Riscos associados a java.lang.reflect e a evasão de controle de acesso.
  • Credenciais em Código Fixo: Identificação e remoção de segredos do código-fonte.
  • Erros na Implementação de Criptografia: Uso do modo ECB, chaves fracas ou IVs estáticos.

10. Fontes de conhecimento

  • Ferramentas de Análise Estática: Uso de SonarQube, Checkmarx e Fortify para varredura automatizada.
  • Ferramentas de Análise Dinâmica: Visão geral de Burp Suite e OWASP ZAP.
  • Bancos de Dados de CVE: Como rastrear e reagir a novas vulnerabilidades no framework Java.
  • Leituras Recomendadas: Lista de livros, documentação e listas de verificação de codificação segura.

Requisitos

Nenhuma.

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 (4)

Próximas Formações Provisórias

Categorias Relacionadas