26 de agosto de 2008

Segurança em JAVA

O meu amigo Lucas Ferreira disponibilizou um portal onde ele descreve técnicas/recursos de segurança em ambiente JAVA. Estudo altamente recomendado.

Os seguintes tópicos são abordados:

  • Validar os dados de entrada

  • Proteger a aplicação web contra cross site scripting

  • Evitar "command injection"

  • Tratar corretamente todos os erros da aplicação

  • Validar a origem das requisições

  • Usar objetos imutáveis

  • Limitar o acesso às variáveis, classes e métodos

  • Tornar todos os métodos e classes “final”

  • Não usar o escopo de pacote para proteger a classe contra acessos indesejados

  • Impedir a clonagem dos objetos

  • Usar classes não serializáveis

  • Usar classes não desserializáveis

  • Não armazenar informações confidenciais no código do programa

  • Não comparar classes por nome

  • Não usar classes internas (“inner class”)

  • Usar os mecanismos de autenticação dos contêineres J2EE

  • Usar sockets com criptografia SSL

  • Proteger os arquivos criados

  • Especificar o diretório onde serão criados os arquivos temporários

  • Verificar condições de “overflow”, “underflow” e conversões de tipos numéricos

  • Declarar as variáveis estáticas públicas como “final”

  • Não armazenar vetores recebidos como parâmetros

  • Apagar dados críticos da memória

  • Controle de acesso em aplicações web

  • Usar os mecanismos de tratamento de exceções

  • Verificar métodos nativos (“native methods”)

  • Validar unboxing para tipos primitivos

Nenhum comentário: