Trata sobre a necessidade de envolvimento do time de desenvolvimento na segurança da aplicação. De que forma implementar e aferir a segurança do produto e faz um overview sobre testes de segurança e a importância da modelagem de riscos a ameaças
3. OWASP
A necessidade de Aplicações Seguras
Heróis da Segurança
RoteiroRoteiro
OWASP TOP 10
Modelagem de Riscos
4. Aplicações Seguras: mitos e verdades
Pen Test x Revisão de Código
SPTSO: como colaboramos?
Ferramentas para o time
RoteiroRoteiro
Classificação de ameaças
5. Heróis da segurança da informaçãoHeróis da segurança da informação
Uma relação baseada em 5 pontos-chave:Uma relação baseada em 5 pontos-chave:
E se...E se...
E por que não?E por que não?
Como ser mais ágil mantendo a qualidade?Como ser mais ágil mantendo a qualidade?
Como fazer de um jeito mais seguro?Como fazer de um jeito mais seguro?
Mostre-me!Mostre-me!
Riscos;
Possibilidades;
Dinamismo e Ritmo;
Qualidade;
Visão de time;
6. O Relacionamento com Cliente...
O bom ter o cliente satisfeito!!!
... Mas ele sabe dos riscos
da aplicação: credibilidade,
finanças, vidas?
... E eu profissional, conheço
esses riscos ao entregar a
aplicação e fornecer
treinamento?
7. Objetivos:Objetivos: Montando o quebra-cabeças...Montando o quebra-cabeças...
Quem deve estar envolvido com desenvolvimento seguro?
Quanto de responsabilidade tem o desenvolvimento sobre
danos à credibilidade da empresa, perdas financeiras e
vidas?
De que forma implementar e aferir a segurança do
produto?
Como e onde aprender mais sobre segurança?
Como são os testes da Fábrica de Teste e quais as implicações na
análise de resultados?
Em que instante do ciclo de vida do produto devo pensar
em segurança?
8. (Open Web Application Security Project)
• Organização internacional que recebe iniciativas de todo o mundo;
• Comunidade aberta dedicada a possibilitar a criação de aplicações
confiáveis;
• Todas as ferramentas, documentos, fóruns e capítulos são livres e
abertos a todos interessados;
http://www.owasp.org/index.php/About_OWASP
03:29 PM
Um pouco sobre a OWASP
9. OWASP – Manifesto e Testing GuideOWASP – Manifesto e Testing Guide
03:29 PM
12. OWASP – AprendizagemOWASP – Aprendizagem
OWASP Hackademic Challenges Project
https://www.owasp.org/index.php/OWASP_Hackademic_Challenges_Project
OWASP BROKEN WEB APPLICATIONS PROJECT
-OWASP WebGoat (Java)
-OWASP Vicnum (PHP/Perl)
-Mutillidae version 1.5 (PHP)
-Damn Vulnerable Web Application(PHP)
-OWASP CSRFGuard Test Application
(Java) – Broken and “Not broken” versions
03:29 PM
Ampliar conhecimentos em testes de invasão e
reconhecimento de padrões maliciosos
13. Aplicações SegurasAplicações Seguras
Então... Vamos todos fazer parte da OWASP?
03:29 PM
Não paga nada!
Não precisar fornecer CPF e Cartão de
Crédito!
Não tem consulta ao SPC e Serasa!
...E nem precisa ter signo compatível
14. Segurança de aplicações, o Grande CenárioSegurança de aplicações, o Grande Cenário
As coisas têm mudado nos últimos anos!!!As coisas têm mudado nos últimos anos!!!
03:29 PM
15. Os bugs mudaram só um pouquinho…Os bugs mudaram só um pouquinho…
WWWWWW –– Wild, Wild, WildWild, Wild, Wild
03:29 PM
17. Por que precisamos de aplicações seguras?Por que precisamos de aplicações seguras?
Aplicações têm se tornado o alvo primário dos ataques
Applications
Platforms
OS
HW
Volátil
Estável
Muitos
Poucos
Fonte: Information Assurance Directorate, National Security Agency
03:29 PM
18. Por que precisamos de aplicações seguras?Por que precisamos de aplicações seguras?
75% ( 60~90) de todos os ataques ocorrem na camada de aplicação;
Fontes: OWASP, CWE, WASC, NIST, CERT, Black hat, White Hat, Sans Institute, Gartner Group.
90% das aplicãções web são vulneráveis;
1,000,000 sites usam SSL (~7,000,000 vulnerabilidades de localização
desconhecida);
17,000,000 de desenvolvedores: poucos treinados em segurança de
software;
03:29 PM
19. Por que precisamos de aplicações seguras?Por que precisamos de aplicações seguras?
Prioridade Um: Software no lado do cliente que permanece sem
correções. (Sans Intitute);
O impacto de aplicações inseguras sobre a econômia: custa de 30 a
100x mais corrigir defeitos na fase de teste de sistema que na
avaliação de código;
87% dos entrevistados: desenvolvimento de software sem qualidade é
o “top threat” nos últimos 12 meses ( CERT, 2009)
92% das vulnerabilidades estão no software (NIST).
03:29 PM
20. Como provar que a aplicação está segura?Como provar que a aplicação está segura?
"Responsabilidade pelos Danos e Riscos Causados por Falhas de Segurança", Cassio Goldschmidt
21. Pode deixar, Chefe... Tá tudo sob controle!Pode deixar, Chefe... Tá tudo sob controle!
"Web Hacking Incidents Revealed:Trends, Stats and How to Defend", Ryan Barnett
22. OWASP – TOP 10 Vulnerabilidades
http://www.owasp.org/index.php/Top_10
Todo o time envolvido comTodo o time envolvido com
aplicações externas, internas e ferramentas de uso diárioaplicações externas, internas e ferramentas de uso diário
23. Modelagem de RiscosModelagem de Riscos
OWASP TOP 10 2010
Classificação de Riscos:
OWASP Risk Rating Methodology
Modelagem de Riscos de Ameaças:
OWASP Threat Risk Modeling
Microsoft Threat Analysis & Modeling
NÓS PODEMOS COLABORARNÓS PODEMOS COLABORAR
03:29 PM
24. Colabora à busca de equilíbrio: Time do Market x Qualidade;
Colabora com Agilidade na qualidade de software;
Melhora visibilidade para tomada de decisão;
Ajudar a definir foco em projetos de prazos justos;
Colabora estrategicamente com a correção de defeitos;
Possibilita que o time saiba em que direção enxergar;
Melhora a visão da gestão de configuração e mudanças.
Modelagem de RiscosModelagem de Riscos
03:29 PM
25. Ajuda a enxergar o elo mais fraco da cadeiaAjuda a enxergar o elo mais fraco da cadeia
Modelagem de riscosModelagem de riscos
"Responsabilidade pelos Danos e Riscos Causados por Falhas de Segurança", Cassio Goldschmidt
26. Aplicações Seguras:Aplicações Seguras: MitosMitos ee VerdadesVerdades
-Pen test automatizado ( scanners) detectam tudo!!
Não é verdade, necessitam ser complementados de Análise Passiva de
Código e Testes Manuais.
Limitações: são baseados em respostas; limitações quanto à detecção
em camadas mais escondidas do software.
-Protegi todas as camadas do modelo OSI, a aplicação está segura!!
Não é verdade, segurança é a soma dos complementos e as
vulnerabilidades oriundas da aplicação necessitam ser sanadas.
03:29 PM
27. É só pegar o relatório da ferramenta e apresentar!!
Não é verdade, o relatório é um artefato morto senão levar em conta
muitos aspectos de riscos, regras de negócios, Time do market, fatores
ambientais e estruturais na avaliação, além da análise cautelosa de
Falsos Positivo / Negativo entre outros.
Aplicações Seguras:Aplicações Seguras: MitosMitos ee VerdadesVerdades
28. Falhas
Reveladas
Falhas
localizadas
Ident.
Pontos
fracos
Vantagem # of End
Points
Code
Rev
Pen
Test
Code
Rev
Pen
Test
Code
Rev
Pen
Test
Injection 5 2 5 2 5 1 Code Review Across App
XSS 4 3 4 2 4 2 Code Review Across App
AuthN 3 4 4 3 3 3 Tie? 1
Obj Ref 4 4 5 3 4 2 Code Review Across App
CSRF 4 4 5 4 4 2 Code Review Across App
Config 2 4 5 5 2 4 Test A few
URL Access
5 4 5 4 4 2 Code Review Across App
Crypto
Storage
5 1 5 1 5 1 Code Review A few
Transport 2 4 3 4 2 4 Test A few
Redirect 5 3 5 3 5 2 Code Review A few
TOTALS 39 34 46 31 38 23
Análise comparativa:Análise comparativa: Pen Test x Rev. CódigoPen Test x Rev. Código
29. Classificação de ameaças pela WASCClassificação de ameaças pela WASC
WASC THREAT CLASSIFICATION, 2010
Localização das vulnerabilidades naLocalização das vulnerabilidades na
““Visão de Fase de DesenvolvimentoVisão de Fase de Desenvolvimento””
Design Implementação Deploy
13 42 12
46 vulnerabilidades ao todo46 vulnerabilidades ao todo
03:29 PM
35. VISÃO DE CICLO DE VIDA:VISÃO DE CICLO DE VIDA: ÁGIL E RASTREÁVELÁGIL E RASTREÁVEL
Iniciação e
planejamento
Sistema Construído
com qualidade
A cada iteração da
Implementação do
Produto
Release Parcial /
Total do produto
Estimar Riscos e Requisitos;
Plano de teste: identificar;
e dimensionar CT por estórias, UC, outros.
Estimar Riscos e Requisitos;
Plano de Teste;
Colaborar e aprender com Teste Unitário;
Testes Exploratórios de testadores e Desenvolvedores;
Teste de API; Análise passiva de vulnerabilidades;
Gerar / Acompanhar lista de correções de defeitos;
Automatizar testes.
Testes de Sistema
( 1ª iteração de testes, testes de regressão);
Automatizar testes;
Teste de Carga, Performance, Segurança;
Teste de aceitação (UAT);
Gerar / Acompanhar lista de correções de defeitos.
36. SPTSO:SPTSO: Técnicas de VerificaçãoTécnicas de Verificação
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.
AplicaçãoAplicação
RISCOS
03:29 PM
37. SPTSO:SPTSO: Análise de resultadoAnálise de resultado
Time to market
Usabilidade,
Disponibilidade
e Desempenho
Resultados dos
Testes
Implicações de Regras
de Negócio, outros
AplicaçãoAplicação
RISCOS
CRITICIDADE, IMPACTO, PROBABILIDADE IMPLICAÇÕES
RECOMENDAÇÕES
39. Ferramentas para o time de DesenvolvimentoFerramentas para o time de Desenvolvimento
ESAPI - OWASP Enterprise Security API (ESAPI) Project
https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API
Biblioteca open source de controle segurança de aplicações Web que torna
fácil aos desenvolvedores escreverem aplicações de baixo risco.
03:29 PM
40. Ferramentas para Testadores e DesenvolvedoresFerramentas para Testadores e Desenvolvedores
SAST ( Static Application Security Testing)
OWASP LAPSE + JAVA EE
https://www.owasp.org/index.php/OWASP_LAPSE_Project
FxCop .NET
https://www.owasp.org/index.php/FxCop
RIPS PHP
http://sourceforge.net/projects/rips-scanner/
GRAUDIT
Suporta: php, asp, perl e python
http://www.justanotherhacker.com/projects/graudit/download.html
03:29 PM
41. Ferram. para times da Infra, Teste, Desenv.Ferram. para times da Infra, Teste, Desenv.
W3AF (Web Application Attack and Audit Framework )
http://w3af.sourceforge.net/
SKIPFISH
http://code.google.com/p/skipfish/
NIKTO
http://cirt.net/nikto2
DAST ( Dinamic Application Security
Testing )
03:29 PM
42. Ferramentas para o time da InfraestruturaFerramentas para o time da Infraestrutura
ModSecurity ( Módulo Apache )
http://www.modsecurity.org/
WAF ( Web Application Firewall )
03:29 PM
43. Ferramentas para todos os TimesFerramentas para todos os Times
Modelos de maturidade: Onde estamos? Onde queremos chegar? Quando
queremos chegar? Quem está envolvido? Como chegaremos lá? Etc...
OWASP OpenSAMM (Software Assurance Maturity Model )
https://www.owasp.org/index.php/Category:Software_Assurance_Maturity_Model
OWASP CLASP (Comprehensive, Lightweight Application Security Process)
https://www.owasp.org/index.php/Category:OWASP_CLASP_Project
Microsoft SDL (Security Development Lifecycle )
http://www.microsoft.com/security/sdl/default.aspx
BSIMM (Building Security In Maturity Model )
http://bsimm.com/
03:29 PM
44. Ferramentas para times de Infra e testeFerramentas para times de Infra e teste
Capture: ( Honeyclient de alta interação)
http://capture-hpc.sourceforge.net/
SpyBye ( Servidor Proxy HTTP)
http://www.monkey.org/~provos/spybye/
HONEYPOTS: Estudo do comportamento de ataques.
Complementos, não substitutos!
https://www.owasp.org/index.php/Phoenix/Tools#Honeyclients.2C_Web_Application.2C_and_Web_Prox
y_honeypots
http://www.cert.br/docs/whitepapers/honeypots-honeynets/
http://www.cert.br/docs/palestras/certbr-campus-party2011-1.pdf
45. HoneyPots:HoneyPots: Benefícios na Mitigação de Riscos
Benefícios ISO/IEC 27001 COBIT
Criar cultura de consciência de risco
-Avaliar ameaças à TI
-Impacto de ataques aos negócios
4.2 P09
Promover a codificação segura
-Identificar vulnerabilidades de código
-Teste em ambiente "live test"
A.12.2 AI2
Detecção de código malicioso
- Monitoração atividade não usual
- Redução de Falso Positivos
- Teste de malware em ambiente de teste
A.10.4.1 DS5.9
03:29 PM
46. HoneyPots:HoneyPots: Benefícios na Mitigação de Riscos
Benefícios ISO/IEC 27001 COBIT
Detecção de divulgação de informações
- Uso de informações como iscas (honeytokens)
A.12.5.4 DS11.6
Criar estrutura de gerenciamento de vulnerabilidade
-Identificar, analisar e corrigir "exploits"
-Estudo de ferramentas maliciosas
A.12.6 DS5.5
Criar estrutura de segurança de resposta a incidentes A.13.2.2 DS5.6
IBWAS 2010 From Risk Awareness to Security Controls: Benefits of Honeypots to Companies
Sérgio Nunes & Miguel Correia
47. 47
POSSO COLABORAR COM
MAIS RESPOSTAS?
kleitor.franklint@gmail.com
br.linkedin.com/in/kfranklint
92-99416-0873
Notes de l'éditeur
The # of End Points column refers to the # of places in the application where that issue is relevant. For Authentication and Session management for example, there is typically a single implementation that protects the entire application and it can all be tested in one place. You don’t have to look all over the app for where that mechanism is and how to test it.
Compare that with Injection, XSS, Obj Ref, CSRF, URL Access, where these issues apply across the entire code base and you have to look everywhere through the application to make sure its done correctly.