Upload
nicole
View
38
Download
0
Embed Size (px)
DESCRIPTION
Segurança em Aplicações 6. Melhores Práticas de Programação para Web. Márcio Aurélio Ribeiro Moreira [email protected] http:// si.lopesgazzani.br/docentes/marcio /. Princípios comuns. A segurança foi incorporada aos negócios Identifique as vulnerabilidades, ameaças e riscos - PowerPoint PPT Presentation
Citation preview
Especialização em Segurança da Informação
Segurança em Aplicações6. Melhores Práticas de Programação para Web
Márcio Aurélio Ribeiro [email protected]
http://si.lopesgazzani.br/docentes/marcio/
Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 2 Segurança em Aplicações
Princípios comuns
A segurança foi incorporada aos negóciosIdentifique as vulnerabilidades, ameaças e riscos
A segurança deve ser parte dos requisitosIdentifique os ativos, as mudanças nos casos de
uso, os usuários, os papéis e responsabilidadesIdentifique as exigências legais
A segurança dever ser parte da arquiteturaA 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 3 Segurança em Aplicações
Vulnerabilidades x Plataformas
CategoriaJav
a J2EE 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: Fonte:P = Programar Java Web Application SecurityC = Configurar Best Practice Guide - Secologic for SAP
Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 4 Segurança em Aplicações
Recomendações
Restrinja ao máximo o anonimatoOnde for recomendável use autenticaçãoNo restante pelo menos trabalhe com identificação
Limite o uso de credenciais administrativasPrefira o uso de credenciais do usuário ao invés
de credenciais administrativas para acesso ao DBAinda assim proteja o acesso ao DB por ACL
Prefira formulários com o método POSTEvite ao máximo o uso do método GET
Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 5 Segurança em Aplicações
Recomendações
Não envie dados ocultos ao clienteNão coloque dados para ir e voltar do clientOs dados, mesmo ocultos, podem ser alterados
facilmente no clientAlertas: http://xforce.iss.net/alerts/advise42.php
Não armazene dados em páginas (asp/jsp)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 6 Segurança em Aplicações
Recomendações
Cuidado com scripts através do site (xss)Leia www.cert.org/advisories/CA-2000-02.htmlCuidado com informações entradas, vistas e
alteradas somente por usuáriosO administrador não tem ação sobre elas e os
usuários podem ficar relativamente anônimosCuidado com códigos gerados por wizards
Assistentes são ótimos para usuáriosMas, 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 7 Segurança em Aplicações
Recomendações
Segurança dos middlewaresAplicações componentizadas (usam COM+ ou
EJB) geram uma camada a mais de segurançaA arquitetura deve considerar uso de credenciais
para a camada de middlewareSegurança declarativa x programativa
A segurança declarativa é usada quando a segurança está fora da aplicação
Na programativa a segurança está descrita no código
A decisão deve ser tomada a cada aplicação
Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 8 Segurança em Aplicações
Recomendações
Uma PKI (infraestrutura de chave pública) não é uma “bala de prata”Certificados são fáceis de gerar e difíceis de
checarLeia: www.counterpane.com/pki-risks.html
Não presuma nada (plandocheckact)O mundo real é perigoso e traiçoeiroImplementaçõ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 9 Segurança em Aplicações
Recomendações
Inspecione o que estamos utilizandoA segurança do todo depende das partesOs componentes, SO, bibliotecas, etc. que você
está usando tem vulnerabilidades?
Use os logs para resolver problemasNa suspeita de um ataque salve os logsComece a investigação por eles
Márcio Moreira 5. Melhores Práticas de Programação para Web – slide 10 Segurança em Aplicações
Materiais adicionais
Best Practices for Secure Web Development - Razvan Peteanu
Java Web Application Security - Best Practice Guide - Secologic for SAP