O documento discute testes de segurança orientados ao valor no contexto ágil. Apresenta a importância de se testar aplicações para segurança e como abordagens como user-centered security testing podem agregar valor ao produto sob a dimensão da segurança. Também discute como modelar requisitos e cenários de risco considerando necessidades do usuário e como encontrar equilíbrio entre diferentes técnicas de teste para entregar resultados úteis ao time de desenvolvimento.
3. 3
AGENDA
Um olhar sobre testes de segurança
em aplicações...
Aplicados ao Ágil e
metodologias Mistas.
Com o desenho e análise de
resultados orientados a User-
centered...
6. 6
Mobile Application Security Study, 2013 report
http://www8.hp.com/h20195/V2/GetPDF.aspx/4AA5-1057ENW.pdf
Por que precisamos de aplicações seguras?
Mobile apps
HP Research testou mais de 2,000 mobile apps em mais de 600 companhias.
97% Deram acesso a pelo menos uma
fonte de informação privada.
86% Falharam no uso de simples
proteções
contra ataques modernos.
75% Não usam técnicas de encriptação adequada
ao armazenar dados no dispositivo.
7. 7
Por que precisamos de aplicações seguras?
1.9 million files over the past 12 months
Web Application Vulnerability Report 2015
http://www.acunetix.com/acunetix-web-application-vulnerability-report-2015/
Web apps
A cada 5 apps, 4 foram afetadas
por vulnerabilidades médias
>80%
> 49%
Quase metade continha
vulnerabilidades graves
9. Vale à pena
Pentest?
Vale à pena
Pentest?
E o Ágil com
Pentest?
E o Ágil com
Pentest?
Média de
vulnerabilidades se
reduziu em 45%
com feedback pro
time
Pentest reduziu a média
de vulnerabilidades em
65%.
Pentest reduziu a média
de vulnerabilidades em
65%.
Software perfeito e outrasSoftware perfeito e outras
ilusõesilusões
Uau!! Imagina
usando Ágil
Uau!! Imagina
usando Ágil
Website Security Statistics Report 2015
https://info.whitehatsec.com/rs/whitehatsecurity/images/2015-Stats-Report.pdf
= Agile Security Testing
= Security Agile Testing
11. "Responsabilidade pelos Danos e Riscos Causados por Falhas de Segurança", Cassio Goldschmidt
Teste de segurança é
HACKING PENTES
T
AUDITORI
A
Agregar valor ao produto
sob a dimensão da...
E o objetivo é...?
segurança orientada a valor
12. 12
User-Centered
Foco em usabilidade, user
experience (UX), workflow (...)
User-centered security...
Tem usabilidade como
motivação primária (Zurko,1996)
http://www.computing.dcu.ie/~dfitzpat/content/what-user-centered-design
13. 13
-Modelar e priorizar cenários de riscos
orientados às necessidades do cliente
-Utilizar técnicas de teste que validem e
enriqueçam esses cenários
-Análise de resultado orientado a user-centered.
-O objetivo é segurança utilizável
User-centered
security testing.
14. 14
Como?
Antes do Teste
Modelar e priorizar cenários de riscos
orientados às necessidades do cliente
Durante o Teste
Utilizar técnicas de teste que validem e
enriqueçam esses cenários
Depois do Teste
Análise de resultado orientado a user-centered.
15. 15
Um Road Map
1 Como modelar
requisitos e cenários?
Testar o quê?
Testar como?
Quais
requisitos
e riscos?
Entregar o quê?
17. 17
Quais requisitos e riscos?
- Workflow: abusos (vertical / horizontal),
válidos e rotas alternativas
- Riscos toleráveis: críticos, incidentais
- Funcionalidades críticas: segurança do produto,
importância pro cliente.
- Presença do usuário: validação ( autenticação + token),
duração, No. de tentativas
UC Test Design
18. 18
Quais requisitos e riscos?
-Localização: onde, quando, quem
-Personas: confiança, padrões: local, horários,
workflow, frequência de acesso, publico alvo.
-Comportamento: horário, local, frequência, outros
-Memorização: duração e renovação da session
-Escopo de segurança: o que o usuário não quer proteger
UC Test Design
22. 22
Como modelar requisitos e cenários?
Como um agente ( tester,
dev, eng) de segurança
quero garantir produto
entregue só após
pagamento válido.
Security Stories Story maps
23. 23
Como modelar requisitos e cenários?
Se existirem... são base para:
-Evil e Abuse Stories
- Recomendações do report
Security Stories
24. Como um
evil user
quero adquirir
um produto
sem pagar.
24
Como modelar requisitos e cenários?
Evil User Stories
Explorar pontos de entrada, engenharia
social, workflows de risco
25. Como um
evil user
quero adquirir
um produto
sem pagar.
25
Como modelar requisitos e cenários?
Realizar processo de negócio sem as RNs
Explorar interações maliciosas entre um
ator e o sistema.
Abuse Stories
27. Web app Top Ten – 2013
http://pt.slideshare.net/bilcorry/bil-owasp-top-102013-presentation
Web: Testar o quê?
28. 28
Mobile: Testar o quê?
Mobile app Top Ten – 2014
https://www.arxan.com/what-we-do/industry-and-analyst-perspectives/
29. 29
Testar o quê?
-Interações de risco entre as partes: webservices, canal
inseguro;
-Critérios de aceitação: críticos x incidentais;
-Privacidade utilizável: personalização,
impersonificação, privilégios e workflow desnecessários ou
inseguros, interfaces complexas, etc.
-Vulnerabilidades permitidas pela UI e seus
parâmetros: XSS, phishing, SQL Injection, etc
30. 30
Testar o quê?
-Explorar potencialidades e fraquezas do usuário
-Vulnerabilidades que possibilitam afetar a UI:
XSS, phishing
-Autenticação e autorização: ser quem é, e só fazer
o que esse "ser" é.
O que deixa indisponível: DOS, consultas complexas
time based, etc
32. Como o Tester participa?
Scanner
automatizado de
vulnerabilidades
Análise automatizada
de código
Teste Manual de
invasão ( Pen Test )
Revisão manual de
código
Falsos Positivos, Falsos Negativos, Camadas indetectáveis.
RISCOS
36. 36
Varredura
Quão rápido e amplamente
posso analisar a superfície?
Exploratório ( Pentest )
-Que tipos de ataques são
relevantes?
-Qual a parte mais importante a ser
protegida: mais impacto, maior
risco ao negócio?
Como encontrar equilíbrio?
37. Teste continuo+Sprint pequeno +
Restropectivas+ muito feedback+
envolva o timetime
37
Explorar pentest + varredura = done
Como encontrar equilíbrio?
Valor x Produtividade
38. Adeque à sua realidade...
Teste continuo+
Tamanho do Sprint +
Uso de restropectivas+
feedback
38
Explorar pentest + varredura = done
Como encontrar equilíbrio?
... E para metodologias Mistas?
39. Report: Análise de resultado, prazo, valor
Time to market
Usabilidade,
Disponibilidade
e Desempenho
Resultados dos Testes
Implicações de Regras
de Negócio, outros
APP MOBILE
RISCOS
CRITICIDADE, IMPACTO, PROBABILIDADE IMPLICAÇÕES
RECOMENDAÇÕES
40. 40
Entregar o quê?
Imagem: http://www.123rf.com/photo_25072963_business-hand-writing-product-and-service-evaluation-on-quality-
delivery-and-service.html
42. 42
Report
- Reporte diário com o time e envolvidos várias vezes ao dia (ou
no tempo possível);
- Pergunte a opinião dos envolvidos sobre os resultados;
- Em pontos de decisão crítica interroge os decisores-chave;
- Se prepare para responder perguntas difíceis e
multidimensionais;
- Seja breve e objetivo: se só tivesse 1 minuto que pergunta
faria.
43. 43
Report
Descreva e gere evidências: narrativas, vídeos,
screnshots, etc.
Meça o termômetro de aceitação ( satisfação) do
cliente:
-Há algo que eu possa melhorar no seu relatório?
-Há alguma sugestão a que o relatório possa ser
mais útil e agradável de ler?
45. 45
Report - Recomendações
-Mecanismos para espantar bad boys;
-Mecanismos discretos para manter goodboys;
- Solução produtiva para o time de desenvolvimento;
-Análise de falso positivos e negativos que possam
influenciar na UX;
-Indicar pontos seguros da app que podem melhorar
a UX;
46. 46
-Efeitos da Acessibilidade e disponibilidade de
informações x politica de privacidade
-Integrar segurança às tarefas do usuário
-Transparência da segurança dentro da tarefa
-Dependência de autoridade confiável
-Identificação de workflow inseguro
-Uso de mensagens apropriadas: alerta, informação,
desinformação
Report - Recomendações ( cont.)
47. 47
POSSO COLABORAR COM
MAIS RESPOSTAS?
kleitor.franklint@gmail.com
br.linkedin.com/in/kfranklint
92-99416-0873