Top Banner
Módulo – Copyright © Todos os direitos reservados www.modulo.com.br Módulo – Copyright © Todos os direitos reservados www.modulo.com.br Construindo Aplicaes Seguras na Era da Agilidade Marlon Gaspar Arquiteto de Software [email protected]
29

Construindo aplicações seguras na era da agilidade

Dec 18, 2014

Download

Technology

marlongaspar

Construindo aplicações seguras na era da agilidade
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Construindo aplicações seguras na era da agilidade

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]

Page 2: Construindo aplicações seguras na era da agilidade

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

Page 3: Construindo aplicações seguras na era da agilidade

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..

Page 4: Construindo aplicações seguras na era da agilidade

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..

Page 5: Construindo aplicações seguras na era da agilidade

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

Page 6: Construindo aplicações seguras na era da agilidade

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

Page 7: Construindo aplicações seguras na era da agilidade

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)

Page 8: Construindo aplicações seguras na era da agilidade

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

Page 9: Construindo aplicações seguras na era da agilidade

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)

Page 10: Construindo aplicações seguras na era da agilidade

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

Page 11: Construindo aplicações seguras na era da agilidade

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

Page 12: Construindo aplicações seguras na era da agilidade

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

Page 13: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

metodologias de desenvolvimento

Page 14: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

Metodologia Tradicional (Cascata)

Page 15: Construindo aplicações seguras na era da agilidade

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

Page 16: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

Desenvolvimento Ágil

Page 17: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

Seguranca Tradicional + Desenvolvimento Ágil ?

Page 18: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

Como equacionar?

Page 19: Construindo aplicações seguras na era da agilidade

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

Page 20: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

em partes..

Page 21: Construindo aplicações seguras na era da agilidade

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

Page 22: Construindo aplicações seguras na era da agilidade

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

Page 23: Construindo aplicações seguras na era da agilidade

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

Page 24: Construindo aplicações seguras na era da agilidade

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

Page 25: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

Consolidar os ciclos (sprints)

Page 26: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

Juntando as pecas

Page 27: Construindo aplicações seguras na era da agilidade

Mód

ulo

– Co

pyrig

ht ©

Tod

os o

s di

reito

s re

serv

ados

www.modulo.com.br

Juntando as pecas

Page 28: Construindo aplicações seguras na era da agilidade

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?

Page 29: Construindo aplicações seguras na era da agilidade

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