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 seguros por padrão.
  • Classificações Padrão de Vulnerabilidades: Compreensão do CWE (Common Weakness Enumeration) e 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.
  • Scriptação Entre Sites (XSS): Cenários de XSS Refletido, Armazenado e baseado no DOM em Java/JSP.
  • Falsificação de Requisito 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 dos 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 ao nível do payload.
  • Estatutos de Autenticação: Implementação do OAuth 2.0, OpenID Connect e JWT (JSON Web Tokens).

4. Segurança XML

  • Vulnerabilidades na Análise de XML: Prevenção contra ataques XML External Entity (XXE).
  • Validação de Esquema XML: Melhores práticas para aplicação rígida de esquemas.
  • Assinaturas Digitais XML: Implementação de assinaturas para garantir a não repúdio.
  • Criptografia XML: Abordagens padrão para criptografar conteúdo XML.

5. Fundamentos da segurança em Java

  • A Arquitetura de Segurança do 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 o Security Manager (Legado vs. Moderno).
  • Gestão de Keystores: Criação e gestão de keystores e truststores para certificados.

6. Criptografia prática

  • Algoritmos Criptográficos: Visão geral dos algoritmos Simétricos (AES), Assimétricos (RSA, ECC) e de Hashing (SHA-256/512).
  • Geração de Números Aleatórios: Os perigos do java.util.Random versus java.security.SecureRandom.
  • Gestão de Chaves: Estratégias para 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 dos arquivos de política e da jurisdição de força ilimitada.

7. Serviços de segurança em 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.
  • Autenticators: Autenticação programática usando Authenticator.getDefault().
  • Análise de Certificados: Leitura e análise programática de certificados X.509.

8. Segurança da 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().
  • JASS (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 do ObjectInputStream e a violação das verificações de segurança.
  • Injeção de Comandos: Mitigação de vulnerabilidades de execução ao nível do sistema operacional.
  • Travessia de Caminho (Path Traversal): Sanitização de entradas do sistema de arquivos para prevenir a travessia de diretórios.
  • Abuso de Reflexão: Riscos associados ao java.lang.reflect e à violaçã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 Criptográfica: Uso do modo ECB, chaves fracas ou IVs estáticos.

10. Fontes de conhecimento

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

Requisitos

Nenhuma.

 21 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (4)

Próximas Formações Provisórias

Categorias Relacionadas