construindo aplicações seguras na era da agilidade

Post on 18-Dec-2014

114 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Construindo aplicações seguras na era da agilidade

TRANSCRIPT

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 Softwaremgaspar@modulo.com

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 Gasparmgaspar@modulo.comTwitter: @marlongaspar

top related