Entrar em Contato

Programa do Curso

1. Segurança de 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): Integração da segurança desde os requisitos até a implantação.
  • Paradigmas de Codificação Segura: Defesa em profundidade, privilégio mínimo e padrões de falha seguros.
  • Classificações Padrão de Vulnerabilidades: Compreensão da CWE (Common Weakness Enumeration) e OWASP.

2. Segurança de aplicações web

  • Análise Profunda das OWASP Top Ten: Análise detalhada de Injeção, Autenticação Quebrada e Exposição de Dados Sensíveis.
  • Scripting Entre Sites (XSS): Cenários de XSS Refletido, Armazenado e baseado no DOM em Java/JSP.
  • Falsificação de Solicitação Entre Sites (CSRF): Mecanismos de ataque e implementação de tokens Anti-CSRF.
  • Gestão de Sessão: Segurança de cookies, fixação de sessão e gestão de tempo de expiração.
  • Segurança de APIs: Proteção de endpoints REST e SOAP contra abusos.

3. Segurança de serviços web

  • Serviços Web vs. Aplicações Web Tradicionais: Diferenças nas superfícies de ataque.
  • Segurança da Camada de Transporte: Configuração de SSL/TLS para clientes e servidores Java.
  • Segurança de Mensagens: Integridade e Confidencialidade em 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 na 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 XML: Abordagens padrão para criptografia de conteúdo XML.

5. Fundamentos da segurança em 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 o Bouncy Castle.
  • Controle de Acesso: Arquivos de política, Permissões e Gerenciador de Segurança (Legado vs. Moderno).
  • Gestão de KeyStore: 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 versus 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 do 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 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 do Java EE

  • Segurança Declarativa: Controle de acesso baseado em funções (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 do 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 comuns de codificação e vulnerabilidades

  • Desserialização Insegura: Os riscos de ObjectInputStream e a contorção de verificações de segurança.
  • Injeção de Comandos: Mitigação de vulnerabilidades de execução em nível de SO.
  • Travessia de Caminho: Sanitização de entradas do sistema de arquivos para prevenir travessia de diretórios.
  • Abuso de Reflexão: Riscos associados ao java.lang.reflect e à contorção do controle de acesso.
  • Credenciais Codificadas no Código: Identificação e remoção de segredos do código-fonte.
  • Erros na Implementação de Criptografia: Uso do modo ECB, chaves fracas ou vetores de inicialização (IV) estáticos.

10. Fontes de conhecimento

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

Requisitos

Nenhum.

 21 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (4)

Próximas Formações Provisórias

Categorias Relacionadas