Especializao em Segurana da Informao Segurana em Aplicaes

  • Slides: 10
Download presentation
Especialização em Segurança da Informação Segurança em Aplicações 6. Melhores Práticas de Programação para

Especialização em Segurança da Informação Segurança em Aplicações 6. Melhores Práticas de Programação para Web Márcio Aurélio Ribeiro Moreira marcio. moreira@pitagoras. com. br http: //si. lopesgazzani. br/docentes/marcio/

Princípios comuns Ø A segurança foi incorporada aos negócios l Identifique as vulnerabilidades, ameaças

Princípios comuns Ø A segurança foi incorporada aos negócios l Identifique as vulnerabilidades, ameaças e riscos Ø A segurança deve ser parte dos requisitos l Identifique os ativos, as mudanças nos casos de uso, os usuários, os papéis e responsabilidades l Identifique as exigências legais Ø A segurança dever ser parte da arquitetura l A arquitetura deve ser avaliada sob a ótica de segurança, guiadas pelos requisitos de segurança Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 2 Segurança em Aplicações

Vulnerabilidades x Plataformas Categoria Java J 2 EE Risco Pacote Injeção de código P

Vulnerabilidades x Plataformas Categoria Java J 2 EE Risco Pacote Injeção de código P P médio java. * Segurança de Cookies P P alto javax. servlet. * Cross site scripts (xss) P P alto javax. servlet. * Descoberta de informações P P médio java. * Erros de lógica P P médio java. * Injeção de recursos P C alto javax. servlet. * Injeção de código SQL C C alto java. sql. * Não liberação de recursos C C baixo java. * Legenda: P = Programar C = Configurar Márcio Moreira Fonte: Java Web Application Security Best Practice Guide - Secologic for SAP 5. Melhores Práticas de Programação para Web – slide 3 Segurança em Aplicações

Recomendações Ø Restrinja ao máximo o anonimato l Onde for recomendável use autenticação l

Recomendações Ø Restrinja ao máximo o anonimato l Onde for recomendável use autenticação l No restante pelo menos trabalhe com identificação Ø Limite o uso de credenciais administrativas l Prefira o uso de credenciais do usuário ao invés de credenciais administrativas para acesso ao DB l Ainda assim proteja o acesso ao DB por ACL Ø Prefira formulários com o método POST l Evite ao máximo o uso do método GET Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 4 Segurança em Aplicações

Recomendações Ø Não envie dados ocultos ao cliente l Não coloque dados para ir

Recomendações Ø Não envie dados ocultos ao cliente l Não coloque dados para ir e voltar do client l Os dados, mesmo ocultos, podem ser alterados facilmente no client l Alertas: http: //xforce. iss. net/alerts/advise 42. php Ø Não armazene dados em páginas (asp/jsp) l Credenciais de acesso a DB, diretórios, etc. podem ser facilmente vistas nas páginas geradas Ø Atenção para comentários html em produção Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 5 Segurança em Aplicações

Recomendações Ø Cuidado com scripts através do site (xss) l Leia www. cert. org/advisories/CA-2000

Recomendações Ø Cuidado com scripts através do site (xss) l Leia www. cert. org/advisories/CA-2000 -02. html l Cuidado com informações entradas, vistas e alteradas somente por usuários l O administrador não tem ação sobre elas e os usuários podem ficar relativamente anônimos Ø Cuidado com códigos gerados por wizards l Assistentes são ótimos para usuários l Mas, são prato cheio para os hackers, pois dizem muito sobre a codificação das páginas Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 6 Segurança em Aplicações

Recomendações Ø Segurança dos middlewares l Aplicações componentizadas (usam COM+ ou EJB) geram uma

Recomendações Ø Segurança dos middlewares l Aplicações componentizadas (usam COM+ ou EJB) geram uma camada a mais de segurança l A arquitetura deve considerar uso de credenciais para a camada de middleware Ø Segurança declarativa x programativa l A segurança declarativa é usada quando a segurança está fora da aplicação l Na programativa a segurança está descrita no código l A decisão deve ser tomada a cada aplicação Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 7 Segurança em Aplicações

Recomendações Ø Uma PKI (infraestrutura de chave pública) não é uma “bala de prata”

Recomendações Ø Uma PKI (infraestrutura de chave pública) não é uma “bala de prata” l Certificados são fáceis de gerar e difíceis de checar l Leia: www. counterpane. com/pki-risks. html Ø Não presuma nada (plan do check act) l O mundo real é perigoso e traiçoeiro l Implementações top de linha duram pouco tempo Ø Nossa grande amiga: revisão de código Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 8 Segurança em Aplicações

Recomendações Ø Inspecione o que estamos utilizando l A segurança do todo depende das

Recomendações Ø Inspecione o que estamos utilizando l A segurança do todo depende das partes l Os componentes, SO, bibliotecas, etc. que você está usando tem vulnerabilidades? Ø Use os logs para resolver problemas l Na suspeita de um ataque salve os logs l Comece a investigação por eles Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 9 Segurança em Aplicações

Materiais adicionais Ø Best Practices for Secure Web Development - Razvan Peteanu Ø Java

Materiais adicionais Ø Best Practices for Secure Web Development - Razvan Peteanu Ø Java Web Application Security - Best Practice Guide - Secologic for SAP Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 10 Segurança em Aplicações