SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Marlon Gaspar
Arquiteto de Software
mgaspar@modulo.com

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

es
Seguras na Era da Agilidade
•
•
•
•
•
•

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

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

Agenda
Motivação – Por um lado..

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

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

• Muitos desenvolvedores migraram da plataforma
cliente/servidor para a plataforma web e continuam
trabalhando sob o mesmo mindset de segurança
Motivação – Por outro..

• As práticas de desenvolvimento pouco falam sobre
requisitos de segurança

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

• Os programas de segurança em TI ainda são concentrados
na gestão da infra-estrutura
www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

revisando alguns tipos de
ataques
Alguns Ataques – Exemplo 1

<html>
<body>
Resultados da busca por Marlon Brando
<li>…</li>
</body>
</html>

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

http://example.com/busca?q=Marlon+Brando
Alguns Ataques – Cross-site Scripting (XSS)

<html>
<body>
Resultados da busca por <script>/*código_malicioso*/
</script>
<li>…</li>
</body>
</html>
www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

http://example.com/busca?q=<script>/*código_malicioso
*/ </script>
Alguns Ataques – Exemplo 2

Módulo – Copyright © Todos os direitos reservados

<img src=“http://mail.example.com/logo.gif”>

www.modulo.com.br
Alguns Ataques – Cross-site request forgery (CSRF)

<img src=“http://mail.example.com/
apagaTodasAsMensagens?confirma=true”>

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

<img src=“http://mail.example.com/logo.gif”>
Alguns Ataques – Exemplo 3

Módulo – Copyright © Todos os direitos reservados

http://www.meubanco.com/visualizarExtrato?
conta=123153

www.modulo.com.br
Alguns Ataques – Controle de Acesso

SELECT * FROM contas WHERE
conta= 123154

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

http://www.meubanco.com/visualizarExtrato?
conta=123154
Alguns Ataques – SQL Injection

SELECT * FROM contas WHERE
conta= 123153 ; DROP TABLE contas;

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

http://www.meubanco.com/visualizarExtrato?
conta=123153; DROP TABLE contas;
www.modulo.com.br
Módulo – Copyright © Todos os direitos reservados

metodologias de
desenvolvimento
Metodologia Tradicional (Cascata)

Design
Implementação
Verificação
Manutenção
www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

Requisitos
Requisitos

Design

• Requisitos de Segurança

• Revisão da Arquitetura sob
ótica de Segurança

Implementação

• Revisão da Segurança no
Código

Verificação

• Testes de Vulnerabilidades
da Aplicação

Manutenção

www.modulo.com.br

• Testes de Segurança da
Aplicação por Terceiros

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ódulo – Copyright © Todos os direitos reservados

Segurança na Metodologia Tradicional
Desenvolvimento Ágil

Entrega
(Deploy)

Testes
(Automati
zados)

www.modulo.com.br

Seleção
de
Histórias

Implemen
tação das
Histórias

Módulo – Copyright © Todos os direitos reservados

Início da
Iteração
#N
Segurança Tradicional + Desenvolvimento Ágil ?

Revisão de
Segurança do
Código

Testes

Implementa
ção das
Histórias

Análise de
Vulnerabilidad
es

Seleção de
Histórias

Revisão da
Arquitetura de
Segurança

Entrega
(Deploy)

Testes
Externos de
Segurança
www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

Identificar
Requisitos de
Segurança

Início da
Iteração #N
Módulo – Copyright © Todos os direitos reservados

Como equacionar?

www.modulo.com.br
• 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
www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

Uma proposta – Microsoft Agile SDL
Módulo – Copyright © Todos os direitos reservados

em partes..

www.modulo.com.br
Histórias de Usuários
• Eu gostaria de atualizar o
meu perfil com uma data
de nascimento válida, de
modo a receber descontos
no meu aniversário

-

• Controles: validação de
dados de entrada
Como um Usuário …

Como um Usuário …

• Eu quero ser o único capaz
de atualizar o salário dos
funcionários, de modo a
prevenir fraudes

• Eu quero acompanhar e
monitorar todas as
transações, de modo que
ataques possam ser
detectados

• Controles: Controle de
Acesso baseado em papéis

Como um Gerente …

www.modulo.com.br

• Controles: Log e Detecção
de Intrusão
Como Gestor do
Negócio …

-

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ódulo – Copyright © Todos os direitos reservados

• Eu gostaria de atualizar o
meu perfil com minha data
de nascimento, de modo a
receber descontos no meu
aniversário
Testes Automatizados
• Testes executados continuamente por toda a equipe

• 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

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

– Os testes unitários devem incluir validações de segurança
– Incluir a avaliação dos testes nas revisões de código
Utilizar Controles em Bibliotecas Padrão
Use Standard Security Controls
OWASP&
Enterprise&
Security& (ESAPI)&
API&
http://www.owasp.org/index.php/ESAPI&

Módulo – Copyright © Todos os direitos reservados

Custom Enterprise Web Application
Enterprise Security API
Validator

User

Security
configuration

Randomizer

Logger

Log Factory

Intrusion
Detector

HTTP Utilities

Executor

Encryptor

Encrypted
Properties

Encoder

Authenticator

Access
Reference Map

Access
Controller

Existing Enterprise Security Services/Libraries
www.modulo.com.br

OWASP Brazil 2009

19
Treinamento em Segurança
• Ataques estão sempre evoluindo

• 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

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

– Os desenvolvedores devem entender os ataques e possíveis
controles para mitigar os riscos
Consolidar os ciclos (sprints)

História de
Perfil de
Usuário

Sprint #N
www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

História de
Segurança
de Senha

História de
Login de
Usuário
Juntando as peças

• Identificar as principais ameaças à aplicação

Definir Histórias de
Segurança

• Definir as histórias que explicitem os requisitos
de segurança om base nas ameaças
identificadas

Criar Testes
Unitários com foco
em sefgurança

• Testar os métodos com entradas inesperadas
• Verificar o uso de controles de segurança

Consolidar os ciclos

www.modulo.com.br

• Agrupar histórias por critérios de segurança

Módulo – Copyright © Todos os direitos reservados

Modelar ameaças
Módulo – Copyright © Todos os direitos reservados

Juntando as peças

www.modulo.com.br
Módulo – Copyright © Todos os direitos reservados

Perguntas?

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

www.modulo.com.br
Módulo – Copyright © Todos os direitos reservados

Obrigado!
Marlon Gaspar
mgaspar@modulo.com
Twitter: @marlongaspar

www.modulo.com.br

Módulo – Copyright © Todos os direitos reservados

www.modulo.com.br

Weitere ähnliche Inhalte

Ähnlich wie Construindo aplicações seguras na era da agilidade

Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...
Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...
Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...Symantec Brasil
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareAlcyon Ferreira de Souza Junior, MSc
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)Erick Belluci Tedeschi
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemAlcyon Ferreira de Souza Junior, MSc
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureRubens Guimarães - MTAC MVP
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Alcyon Ferreira de Souza Junior, MSc
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxMarcondesTiburcio
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
[CLASS 2014] Palestra Técnica - Cesar Oliveira
[CLASS 2014] Palestra Técnica - Cesar Oliveira[CLASS 2014] Palestra Técnica - Cesar Oliveira
[CLASS 2014] Palestra Técnica - Cesar OliveiraTI Safe
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de SoftwareJeronimo Zucco
 
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Symantec Brasil
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de SegurançaAlan Carlos
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebMagno Logan
 

Ähnlich wie Construindo aplicações seguras na era da agilidade (20)

Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...
Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...
Be Aware Webinar : Alinhando a Estratégia de Segurança: Visibilidade e Confor...
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de Software
 
Java security
Java securityJava security
Java security
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
[CLASS 2014] Palestra Técnica - Cesar Oliveira
[CLASS 2014] Palestra Técnica - Cesar Oliveira[CLASS 2014] Palestra Técnica - Cesar Oliveira
[CLASS 2014] Palestra Técnica - Cesar Oliveira
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de Software
 
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 

Construindo aplicações seguras na era da agilidade

  • 1. Marlon Gaspar Arquiteto de Software mgaspar@modulo.com www.modulo.com.br Módulo – Copyright © Todos os direitos reservados www.modulo.com.br Módulo – Copyright © Todos os direitos reservados es Seguras na Era da Agilidade
  • 2. • • • • • • 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 www.modulo.com.br Módulo – Copyright © Todos os direitos reservados Agenda
  • 3. Motivação – Por um lado.. • 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. www.modulo.com.br Módulo – Copyright © Todos os direitos reservados • Muitos desenvolvedores migraram da plataforma cliente/servidor para a plataforma web e continuam trabalhando sob o mesmo mindset de segurança
  • 4. Motivação – Por outro.. • As práticas de desenvolvimento pouco falam sobre requisitos de segurança www.modulo.com.br Módulo – Copyright © Todos os direitos reservados • Os programas de segurança em TI ainda são concentrados na gestão da infra-estrutura
  • 5. www.modulo.com.br Módulo – Copyright © Todos os direitos reservados revisando alguns tipos de ataques
  • 6. Alguns Ataques – Exemplo 1 <html> <body> Resultados da busca por Marlon Brando <li>…</li> </body> </html> www.modulo.com.br Módulo – Copyright © Todos os direitos reservados http://example.com/busca?q=Marlon+Brando
  • 7. Alguns Ataques – Cross-site Scripting (XSS) <html> <body> Resultados da busca por <script>/*código_malicioso*/ </script> <li>…</li> </body> </html> www.modulo.com.br Módulo – Copyright © Todos os direitos reservados http://example.com/busca?q=<script>/*código_malicioso */ </script>
  • 8. Alguns Ataques – Exemplo 2 Módulo – Copyright © Todos os direitos reservados <img src=“http://mail.example.com/logo.gif”> www.modulo.com.br
  • 9. Alguns Ataques – Cross-site request forgery (CSRF) <img src=“http://mail.example.com/ apagaTodasAsMensagens?confirma=true”> www.modulo.com.br Módulo – Copyright © Todos os direitos reservados <img src=“http://mail.example.com/logo.gif”>
  • 10. Alguns Ataques – Exemplo 3 Módulo – Copyright © Todos os direitos reservados http://www.meubanco.com/visualizarExtrato? conta=123153 www.modulo.com.br
  • 11. Alguns Ataques – Controle de Acesso SELECT * FROM contas WHERE conta= 123154 www.modulo.com.br Módulo – Copyright © Todos os direitos reservados http://www.meubanco.com/visualizarExtrato? conta=123154
  • 12. Alguns Ataques – SQL Injection SELECT * FROM contas WHERE conta= 123153 ; DROP TABLE contas; www.modulo.com.br Módulo – Copyright © Todos os direitos reservados http://www.meubanco.com/visualizarExtrato? conta=123153; DROP TABLE contas;
  • 13. www.modulo.com.br Módulo – Copyright © Todos os direitos reservados metodologias de desenvolvimento
  • 15. Requisitos Design • Requisitos de Segurança • Revisão da Arquitetura sob ótica de Segurança Implementação • Revisão da Segurança no Código Verificação • Testes de Vulnerabilidades da Aplicação Manutenção www.modulo.com.br • Testes de Segurança da Aplicação por Terceiros 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ódulo – Copyright © Todos os direitos reservados Segurança na Metodologia Tradicional
  • 17. Segurança Tradicional + Desenvolvimento Ágil ? Revisão de Segurança do Código Testes Implementa ção das Histórias Análise de Vulnerabilidad es Seleção de Histórias Revisão da Arquitetura de Segurança Entrega (Deploy) Testes Externos de Segurança www.modulo.com.br Módulo – Copyright © Todos os direitos reservados Identificar Requisitos de Segurança Início da Iteração #N
  • 18. Módulo – Copyright © Todos os direitos reservados Como equacionar? www.modulo.com.br
  • 19. • 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 www.modulo.com.br Módulo – Copyright © Todos os direitos reservados Uma proposta – Microsoft Agile SDL
  • 20. Módulo – Copyright © Todos os direitos reservados em partes.. www.modulo.com.br
  • 21. Histórias de Usuários • Eu gostaria de atualizar o meu perfil com uma data de nascimento válida, de modo a receber descontos no meu aniversário - • Controles: validação de dados de entrada Como um Usuário … Como um Usuário … • Eu quero ser o único capaz de atualizar o salário dos funcionários, de modo a prevenir fraudes • Eu quero acompanhar e monitorar todas as transações, de modo que ataques possam ser detectados • Controles: Controle de Acesso baseado em papéis Como um Gerente … www.modulo.com.br • Controles: Log e Detecção de Intrusão Como Gestor do Negócio … - 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ódulo – Copyright © Todos os direitos reservados • Eu gostaria de atualizar o meu perfil com minha data de nascimento, de modo a receber descontos no meu aniversário
  • 22. Testes Automatizados • Testes executados continuamente por toda a equipe • 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 www.modulo.com.br Módulo – Copyright © Todos os direitos reservados – Os testes unitários devem incluir validações de segurança – Incluir a avaliação dos testes nas revisões de código
  • 23. Utilizar Controles em Bibliotecas Padrão Use Standard Security Controls OWASP& Enterprise& Security& (ESAPI)& API& http://www.owasp.org/index.php/ESAPI& Módulo – Copyright © Todos os direitos reservados Custom Enterprise Web Application Enterprise Security API Validator User Security configuration Randomizer Logger Log Factory Intrusion Detector HTTP Utilities Executor Encryptor Encrypted Properties Encoder Authenticator Access Reference Map Access Controller Existing Enterprise Security Services/Libraries www.modulo.com.br OWASP Brazil 2009 19
  • 24. Treinamento em Segurança • Ataques estão sempre evoluindo • 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 www.modulo.com.br Módulo – Copyright © Todos os direitos reservados – Os desenvolvedores devem entender os ataques e possíveis controles para mitigar os riscos
  • 25. Consolidar os ciclos (sprints) História de Perfil de Usuário Sprint #N www.modulo.com.br Módulo – Copyright © Todos os direitos reservados História de Segurança de Senha História de Login de Usuário
  • 26. Juntando as peças • Identificar as principais ameaças à aplicação Definir Histórias de Segurança • Definir as histórias que explicitem os requisitos de segurança om base nas ameaças identificadas Criar Testes Unitários com foco em sefgurança • Testar os métodos com entradas inesperadas • Verificar o uso de controles de segurança Consolidar os ciclos www.modulo.com.br • Agrupar histórias por critérios de segurança Módulo – Copyright © Todos os direitos reservados Modelar ameaças
  • 27. Módulo – Copyright © Todos os direitos reservados Juntando as peças www.modulo.com.br
  • 28. Módulo – Copyright © Todos os direitos reservados Perguntas? www.modulo.com.br Módulo – Copyright © Todos os direitos reservados www.modulo.com.br
  • 29. Módulo – Copyright © Todos os direitos reservados Obrigado! Marlon Gaspar mgaspar@modulo.com Twitter: @marlongaspar www.modulo.com.br Módulo – Copyright © Todos os direitos reservados www.modulo.com.br