Upload
marlongaspar
View
117
Download
2
Embed Size (px)
DESCRIPTION
Construindo aplicações seguras na era da agilidade
Citation preview
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.brMódulo – Copyright © Todos os direitos reservados
www.modulo.com.br
Construindo Aplicacoes Seguras na Era da Agilidade
Marlon GasparArquiteto de [email protected]
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
• Introdução• Tipos de Ataques mais comuns em aplicações Web• Metodologia tradicional de desenvolvimento• Métodos ágeis de desenvolvimento• Segurança no desenvolvimento Ágil• Considerações finais
Agenda
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
• Muitos desenvolvedores migraram da plataforma cliente/servidor para a plataforma web e continuam trabalhando sob o mesmo mindset de segurança
• A diversidade de ataques na plataforma web é maior pois os sistemas dependem de diversos componentes que estão expostos a diversos ataques:– XSS, Sniffing, DoS, Injection, Man in the Middle, CSRF, etc.
Motivacão – Por um lado..
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
• Os programas de segurança em TI ainda são concentrados na gestão da infra-estrutura
• As práticas de desenvolvimento pouco falam sobre requisitos de segurança
Motivacão – Por outro..
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
revisando alguns tipos de ataques
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
http://example.com/busca?q=Marlon+Brando
<html> <body> Resultados da busca por Marlon Brando <li>…</li> </body> </html>
Alguns Ataques – Exemplo 1
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
http://example.com/busca?q=<script>/*código_malicioso*/ </script>
<html> <body> Resultados da busca por <script>/*código_malicioso*/ </script> <li>…</li> </body> </html>
Alguns Ataques – Cross-site Scripting (XSS)
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
<img src=“http://mail.example.com/logo.gif”>
Alguns Ataques – Exemplo 2
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
<img src=“http://mail.example.com/logo.gif”>
<img src=“http://mail.example.com/apagaTodasAsMensagens?confirma=true”>
Alguns Ataques – Cross-site request forgery (CSRF)
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
http://www.meubanco.com/visualizarExtrato? conta=123153
Alguns Ataques – Exemplo 3
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
http://www.meubanco.com/visualizarExtrato? conta=123154
SELECT * FROM contas WHERE conta= 123154
Alguns Ataques – Controle de Acesso
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
http://www.meubanco.com/visualizarExtrato? conta=123153; DROP TABLE contas;
SELECT * FROM contas WHERE conta= 123153 ; DROP TABLE contas;
Alguns Ataques – SQL Injection
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
metodologias de desenvolvimento
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Metodologia Tradicional (Cascata)
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Seguranca na Metodologia Tradicional
Vantagens
- Processo bem compreendido
- Delega aos especialistas em
segurança a identificação de ameaças
e vulnerabilidades
Desvantagens
- Achados das primeiras revisões de
segurança são comumente ignorados
como “teóricos”
- É custoso corrigir falhas voltando na
linha do tempo de desenvolvimento
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Desenvolvimento Ágil
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Seguranca Tradicional + Desenvolvimento Ágil ?
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Como equacionar?
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Uma proposta – Microsoft Agile SDL
• Uma alternativa ao MS SDL (Microsoft Security Development Lifecycle), utilizada internamente no desenvolvimento de produtos Web na Microsoft
• Propõe a quebra da análise e implementação de controles para requisitos de segurança em três frequências– Todos os ciclos– Em rodízio por ciclos– Uma vez só (ex.: Modelagem de ameaças)
• Incentiva o uso intensivo de bibliotecas de controles padrão e ferramentas de análise de códigos integradas ao processo de build / release
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
em partes..
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Histórias de Usuários
- Histórias de Usuários são úteis para
Controle de Acesso, Criptografia,
logging, e diversas outras funções
de segurança
- Alguns riscos técnicos precisam de
considerações adicionais para
serem tratados por Histórias de
Usuários
- XSS
- CSRF
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Testes Automatizados
• Testes executados continuamente por toda a equipe– Os testes unitários devem incluir validações de segurança– Incluir a avaliação dos testes nas revisões de código
• Testar falhas de segurança mais comuns– Testar validação de dados de entrada com parâmetros maliciosos– Testar controle de acesso executando o teste no contexto de
usuários associados a diferentes papéis
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Utilizar Controles em Bibliotecas Padrão
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Treinamento em Seguranca
• Ataques estão sempre evoluindo– Os desenvolvedores devem entender os ataques e possíveis
controles para mitigar os riscos• Desenvolvedores em equipes ágeis escrevem seus próprios
testes– Precisam testar a segurança adequadamente
• Finalmente, todos os membros de um time são responsáveis pela segurança do software– Todos os membros precisam de um entendimento mínimo sobre
segurança em aplicações web
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Consolidar os ciclos (sprints)
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Juntando as pecas
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.br
Juntando as pecas
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.brMódulo – Copyright © Todos os direitos reservados
www.modulo.com.br
Perguntas?
Mód
ulo
– Co
pyrig
ht ©
Tod
os o
s di
reito
s re
serv
ados
www.modulo.com.brMódulo – Copyright © Todos os direitos reservados
www.modulo.com.br
Obrigado!
Marlon [email protected]: @marlongaspar