SlideShare a Scribd company logo
1 of 33
Download to read offline
Segurança em
Desenvolvimento
de Software
Universidade de Caxias do Sul
Jerônimo Zucco
ForTI Univattes - Maio 2013
quarta-feira, 15 de maio de 13
• NIST: 92% das vulnerabilidades de
segurança estão em software
• GARTNER: 75% dos incidentes são
causados por falha em software
• Segurança é uma propriedade emergente
de sistemas (como qualidade)
Porque Segurança de Desenvolvimento ?
quarta-feira, 15 de maio de 13
Janela de Exposição a
Vulnerabilidades Sérias - 2012 *
* Fonte:Whitehat Website Security Statics Report - Maio 2013
quarta-feira, 15 de maio de 13
Janela de Exposição a
Vulnerabilidades Sérias - 2012 *
* Fonte:Whitehat Website Security Statics Report - Maio 2013
quarta-feira, 15 de maio de 13
Janela de Exposição a
Vulnerabilidades Sérias - 2012 *
* Fonte:Whitehat Website Security Statics Report - Maio 2013
quarta-feira, 15 de maio de 13
Incidentes de Segurança - 2012
* Fonte: CERT.br
quarta-feira, 15 de maio de 13
Atacantes X Sofisticação de Ataques
* Fonte: CERT.br
quarta-feira, 15 de maio de 13
• 86% de todos os websites possuíam ao
menos uma vulnerabilidade séria
• Número médio de vulnerabilidades sérias
por site: 56
• Número médio de dias para a correção
após a notificação: 193 (342)
Dados de 2012 *
* Fonte:Whitehat Website Security Statics Report - Maio 2013
quarta-feira, 15 de maio de 13
Quais as vulnerabilidades?
* Fonte:Whitehat Website Security Statics Report - Maio 2013
quarta-feira, 15 de maio de 13
• Em média, os web sites estão ficando mais
seguros a cada ano: a média era 1000
vulnerabilidades em 2007 e agora é de
apenas 56 em 2012
• SQL injection, o vetor de ataque mais sério
e mais popular, foi encontrado em apenas
7% dos sites
Algumas Boas Notícias *
* Fonte:Whitehat Website Security Statics Report - Maio 2013
quarta-feira, 15 de maio de 13
Top 10
2013*
1. Injection
2. Broken Authentication and Session Management
3. Cross-Site Scripting (XSS)
4. Insecure Direct Object References
5. Security Misconfiguration
* Top 10 2013 Release Candidate
quarta-feira, 15 de maio de 13
Top 10
2013
6. Sensitive Data Exposure
7. Missing Function Level Access Control
8. Cross-Site Request Forgery (CSRF)
9. Using Components with KnownVulnerabilities
10. Unvalidated Redirects and Forwards
* Top 10 2013 Release Candidate
quarta-feira, 15 de maio de 13
Segurança não é um
problema simples
de resolver.
Pergunta:
quarta-feira, 15 de maio de 13
Pergunta:
quarta-feira, 15 de maio de 13
• Prazos
• Aplicações legadas ou de terceiros
• Vulnerabilidades em Frameworks
• Rayls - Jan/2013
• Drupal - Fev/2013
• Django - Fev/2013
• Wordpress - Jan/2013
Alguns fatores
quarta-feira, 15 de maio de 13
• Não seguir padrões
• Aderência à boas práticas de
programação
• Não uso de algoritmos padrões (ex:
criptografia)
• Códigos disponíveis na web
Alguns fatores
quarta-feira, 15 de maio de 13
• 10 Reasons SQL Injection Still Works
http://is.gd/w7qHC4
• Software [In]security:Top 11 Reasons
Why Top 10 (or Top 25) Lists Don’t Work
http://is.gd/sq8w1c
• 2011 CWE/SANS Top 25 Most
Dangerous Software Errors
http://cwe.mitre.org/top25/
Alguns fatores
quarta-feira, 15 de maio de 13
* Fonte:Whitehat Website Security Statics Report - Maio 2013
O que pode ser feito ?
quarta-feira, 15 de maio de 13
https://www.microsoft.com/security/sdl/default.aspx
Microsoft SDL Security
Development Lifecycle
quarta-feira, 15 de maio de 13
• Treinamento da equipe de conceitos
fundamentais na construcão de aplicativos
seguros (Interno, externo, OWASP,
Techtalks, Livros, etc)
• Design de aplicações seguras
• Testes de segurança
• Análise de riscos
• Modelagem de ameaças
Fase 1 SDL:Treinamento
quarta-feira, 15 de maio de 13
• Estabelecer requerimentos de segurança
e privacidade
• Criar baselines de segurança
(características mínimas aceitáveis)
• Análise de riscos de segurança (SRA)
• Análise de riscos de privacidade (PRA)
Fase 2 SDL: Requerimentos
quarta-feira, 15 de maio de 13
• Estabelecer requerimentos de design
considerando os riscos
• Análise/redução da superfície de ataque
• Uso de modelagem de ameaças
Fase 3 SDL: Design
quarta-feira, 15 de maio de 13
• STRIDE (identificação das ameaças): Spoofing,
Tampering, Repudiation, Information disclousure,
Denial of Service, Elevation of privilege
• DREAD (rate the threats): Damage potential,
Reproducibility, exploitability, affected users,
discoverability
• OCTAVE: Operationally Critical Threat,Asset, and
Vulnerability Evaluation
• CVSS: CommonVulnerability Scoring System
Modelagem de Ameaças
quarta-feira, 15 de maio de 13
• Identificar os ativos
• Criar um panorama da arquitetura
• Decompor o software
• Identificar as ameaças
• Documentar as ameaças
• Classificar as ameaças
Modelagem de Ameaças
quarta-feira, 15 de maio de 13
• Uso de ferramentas aprovadas
• Ferramentas de bugtrack (redmine, track),
versionamento (SVN, Git) e documentação
(Sphinx, wiki)
• Substituir funções inseguras
• Realizar análises estáticas:
• Validação do código antes e depois de
submeter ao repositório de versionamento de
fontes (Ex: Pylint, PEP 008, 257, 290)
Fase 4 SDL: Implementação
quarta-feira, 15 de maio de 13
• Revisão da superfície de ataque
• Realizar análises dinâmicas:
• Servidor de integração (testes
automatizados)
• Testes Fuzzing
• Pentest (whitebox e blackbox)
Fase 5 SDL:Verificação
quarta-feira, 15 de maio de 13
• Criar um plano de resposta a incidentes
• Conduzir uma revisão final de segurança
• Certificação do código de que ele cobre
a baseline e requisitos
Fase 6 SDL: Lançamento
quarta-feira, 15 de maio de 13
• Executar um plano de resposta a
incidentes
• Corrigir antes é mais barato do que
nessa fase *
• Tratar vulnerabilidades como bugs
Fase 7 SDL: Responder
* Fonte: Software Defect Reduction Top 10 List - IEEE
quarta-feira, 15 de maio de 13
• Software Assurance Maturity Model
(SAMM): http://www.opensamm.org
• ISO/IEC 15408 (Common Criteria) -
certifica o quanto o programa está
aderente a um baseline mínimo
• Building Security In Maturity Model -
BSIMM http://www.bsimm.com/
Maturidade de Código
≠Desenvolvimento Seguro
quarta-feira, 15 de maio de 13
• Aplicar o conceito de menor privilégio
• Cooperação entre os setores de
desenvolvimento, processos e infraestrutura
• Tratar vulnerabilidades como bugs
• Hardening da infraestrutura
• Proteger também os usuários (HSTS, cookies
seguros, certificados válidos, Browser/Plugins)
Algo mais
quarta-feira, 15 de maio de 13
• Uso de Web Applications Firewalls (ModSecurity)
• Envolvimento com a comunidade de
desenvolvimento seguro (OWASP POA)
• A responsabilidade não é só do analista de
segurança/suporte, e sim mais do desenvolvedor
• Não existem sistemas invioláveis
Algo mais
quarta-feira, 15 de maio de 13
• Whitehat Website Security Statics Report - Maio
2013 - https://www.whitehatsec.com/assets/
WPstatsReport_052013.pdf
• https://www.owasp.org
• Webinar Segurança de Desenvolvimento de
Software - Wagner Elias: https://
www.youtube.com/watch?v=ZVxZKgLR2yg
• OWASP CLASP Project: https://www.owasp.org/
index.php/Category:OWASP_CLASP_Project
Referências
quarta-feira, 15 de maio de 13
Referências - Livros
quarta-feira, 15 de maio de 13

More Related Content

What's hot

Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Clavis Segurança da Informação
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
Cassio Ramos
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
Pablo Ribeiro
 
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUMArtigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Bruno Motta Rego
 

What's hot (20)

Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
 
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapDescobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
 
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)
 
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ
Gerenciamento de Vulnerabilidades em Redes Corporativas - CNASI RJ
 
Segurança Através de Gerência de Configurações
Segurança Através de Gerência de ConfiguraçõesSegurança Através de Gerência de Configurações
Segurança Através de Gerência de Configurações
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
"Técnicas e Ferramentas para Auditorias Testes de Invasão"
"Técnicas e Ferramentas para Auditorias Testes de Invasão" "Técnicas e Ferramentas para Auditorias Testes de Invasão"
"Técnicas e Ferramentas para Auditorias Testes de Invasão"
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
Webgoat Project - Apresentação
Webgoat Project - ApresentaçãoWebgoat Project - Apresentação
Webgoat Project - Apresentação
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
Segurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwaresSegurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwares
 
DevSecOps - Segurança em um pipeline contínuo
DevSecOps - Segurança em um pipeline contínuoDevSecOps - Segurança em um pipeline contínuo
DevSecOps - Segurança em um pipeline contínuo
 
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoTestes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
 
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUMArtigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
 
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
 
Entendendo o Ciclo de Desenvolvimento Seguro
Entendendo o Ciclo de Desenvolvimento SeguroEntendendo o Ciclo de Desenvolvimento Seguro
Entendendo o Ciclo de Desenvolvimento Seguro
 
Estudo visando a mitigação do ataque sql injection em aplicações web
Estudo visando a mitigação do ataque sql injection em aplicações webEstudo visando a mitigação do ataque sql injection em aplicações web
Estudo visando a mitigação do ataque sql injection em aplicações web
 

Similar to Segurança em desenvolvimento de software

Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
Marcio Cunha
 

Similar to Segurança em desenvolvimento de software (20)

(2) O Processo de Gerenciamento de Vulnerabilidades Web
(2) O Processo de Gerenciamento de Vulnerabilidades Web(2) O Processo de Gerenciamento de Vulnerabilidades Web
(2) O Processo de Gerenciamento de Vulnerabilidades Web
 
(2) O Processo de Gerenciamento de Vulnerabilidades Web
(2) O Processo de Gerenciamento de Vulnerabilidades Web(2) O Processo de Gerenciamento de Vulnerabilidades Web
(2) O Processo de Gerenciamento de Vulnerabilidades Web
 
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWAREQUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
 
Desenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web SegurasDesenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web Seguras
 
Java security
Java securityJava security
Java security
 
Dss 3
Dss 3Dss 3
Dss 3
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
 
[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
 
Projeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TIProjeto de Avaliação de Segurança de TI
Projeto de Avaliação de Segurança de TI
 
(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSegura(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSegura
 
(4) Comparando o NStalker WAS com o RedeSegura
(4) Comparando o NStalker WAS com o RedeSegura(4) Comparando o NStalker WAS com o RedeSegura
(4) Comparando o NStalker WAS com o RedeSegura
 
Teste de Segurança orientado a valor
Teste de Segurança orientado a valorTeste de Segurança orientado a valor
Teste de Segurança orientado a valor
 
Testes de segurança orientados a valor
Testes de segurança orientados a valorTestes de segurança orientados a valor
Testes de segurança orientados a valor
 
Desenvolvimento de software – novas abordagens e desafios - Marlon Gaspar
Desenvolvimento de software – novas abordagens e desafios - Marlon GasparDesenvolvimento de software – novas abordagens e desafios - Marlon Gaspar
Desenvolvimento de software – novas abordagens e desafios - Marlon Gaspar
 
Aula11.pdf
Aula11.pdfAula11.pdf
Aula11.pdf
 
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança 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
 
[Pt br] - 36751 - mitre att&ck - azure
[Pt br] - 36751 - mitre att&ck - azure[Pt br] - 36751 - mitre att&ck - azure
[Pt br] - 36751 - mitre att&ck - azure
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 

More from Jeronimo Zucco

More from Jeronimo Zucco (7)

Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
 
Disponibilização de Serviços em IPv6 na UCS - Um Caso Prático
Disponibilização de Serviços em IPv6 na UCS - Um Caso PráticoDisponibilização de Serviços em IPv6 na UCS - Um Caso Prático
Disponibilização de Serviços em IPv6 na UCS - Um Caso Prático
 
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyDetectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
 
Owasp top 10 2013
Owasp top 10 2013Owasp top 10 2013
Owasp top 10 2013
 
Impacto das Redes Sociais na Segurança da Informação
Impacto das Redes Sociais na Segurança da InformaçãoImpacto das Redes Sociais na Segurança da Informação
Impacto das Redes Sociais na Segurança da Informação
 
Implementing ossec
Implementing ossecImplementing ossec
Implementing ossec
 

Recently uploaded

Recently uploaded (8)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Segurança em desenvolvimento de software

  • 1. Segurança em Desenvolvimento de Software Universidade de Caxias do Sul Jerônimo Zucco ForTI Univattes - Maio 2013 quarta-feira, 15 de maio de 13
  • 2. • NIST: 92% das vulnerabilidades de segurança estão em software • GARTNER: 75% dos incidentes são causados por falha em software • Segurança é uma propriedade emergente de sistemas (como qualidade) Porque Segurança de Desenvolvimento ? quarta-feira, 15 de maio de 13
  • 3. Janela de Exposição a Vulnerabilidades Sérias - 2012 * * Fonte:Whitehat Website Security Statics Report - Maio 2013 quarta-feira, 15 de maio de 13
  • 4. Janela de Exposição a Vulnerabilidades Sérias - 2012 * * Fonte:Whitehat Website Security Statics Report - Maio 2013 quarta-feira, 15 de maio de 13
  • 5. Janela de Exposição a Vulnerabilidades Sérias - 2012 * * Fonte:Whitehat Website Security Statics Report - Maio 2013 quarta-feira, 15 de maio de 13
  • 6. Incidentes de Segurança - 2012 * Fonte: CERT.br quarta-feira, 15 de maio de 13
  • 7. Atacantes X Sofisticação de Ataques * Fonte: CERT.br quarta-feira, 15 de maio de 13
  • 8. • 86% de todos os websites possuíam ao menos uma vulnerabilidade séria • Número médio de vulnerabilidades sérias por site: 56 • Número médio de dias para a correção após a notificação: 193 (342) Dados de 2012 * * Fonte:Whitehat Website Security Statics Report - Maio 2013 quarta-feira, 15 de maio de 13
  • 9. Quais as vulnerabilidades? * Fonte:Whitehat Website Security Statics Report - Maio 2013 quarta-feira, 15 de maio de 13
  • 10. • Em média, os web sites estão ficando mais seguros a cada ano: a média era 1000 vulnerabilidades em 2007 e agora é de apenas 56 em 2012 • SQL injection, o vetor de ataque mais sério e mais popular, foi encontrado em apenas 7% dos sites Algumas Boas Notícias * * Fonte:Whitehat Website Security Statics Report - Maio 2013 quarta-feira, 15 de maio de 13
  • 11. Top 10 2013* 1. Injection 2. Broken Authentication and Session Management 3. Cross-Site Scripting (XSS) 4. Insecure Direct Object References 5. Security Misconfiguration * Top 10 2013 Release Candidate quarta-feira, 15 de maio de 13
  • 12. Top 10 2013 6. Sensitive Data Exposure 7. Missing Function Level Access Control 8. Cross-Site Request Forgery (CSRF) 9. Using Components with KnownVulnerabilities 10. Unvalidated Redirects and Forwards * Top 10 2013 Release Candidate quarta-feira, 15 de maio de 13
  • 13. Segurança não é um problema simples de resolver. Pergunta: quarta-feira, 15 de maio de 13
  • 15. • Prazos • Aplicações legadas ou de terceiros • Vulnerabilidades em Frameworks • Rayls - Jan/2013 • Drupal - Fev/2013 • Django - Fev/2013 • Wordpress - Jan/2013 Alguns fatores quarta-feira, 15 de maio de 13
  • 16. • Não seguir padrões • Aderência à boas práticas de programação • Não uso de algoritmos padrões (ex: criptografia) • Códigos disponíveis na web Alguns fatores quarta-feira, 15 de maio de 13
  • 17. • 10 Reasons SQL Injection Still Works http://is.gd/w7qHC4 • Software [In]security:Top 11 Reasons Why Top 10 (or Top 25) Lists Don’t Work http://is.gd/sq8w1c • 2011 CWE/SANS Top 25 Most Dangerous Software Errors http://cwe.mitre.org/top25/ Alguns fatores quarta-feira, 15 de maio de 13
  • 18. * Fonte:Whitehat Website Security Statics Report - Maio 2013 O que pode ser feito ? quarta-feira, 15 de maio de 13
  • 20. • Treinamento da equipe de conceitos fundamentais na construcão de aplicativos seguros (Interno, externo, OWASP, Techtalks, Livros, etc) • Design de aplicações seguras • Testes de segurança • Análise de riscos • Modelagem de ameaças Fase 1 SDL:Treinamento quarta-feira, 15 de maio de 13
  • 21. • Estabelecer requerimentos de segurança e privacidade • Criar baselines de segurança (características mínimas aceitáveis) • Análise de riscos de segurança (SRA) • Análise de riscos de privacidade (PRA) Fase 2 SDL: Requerimentos quarta-feira, 15 de maio de 13
  • 22. • Estabelecer requerimentos de design considerando os riscos • Análise/redução da superfície de ataque • Uso de modelagem de ameaças Fase 3 SDL: Design quarta-feira, 15 de maio de 13
  • 23. • STRIDE (identificação das ameaças): Spoofing, Tampering, Repudiation, Information disclousure, Denial of Service, Elevation of privilege • DREAD (rate the threats): Damage potential, Reproducibility, exploitability, affected users, discoverability • OCTAVE: Operationally Critical Threat,Asset, and Vulnerability Evaluation • CVSS: CommonVulnerability Scoring System Modelagem de Ameaças quarta-feira, 15 de maio de 13
  • 24. • Identificar os ativos • Criar um panorama da arquitetura • Decompor o software • Identificar as ameaças • Documentar as ameaças • Classificar as ameaças Modelagem de Ameaças quarta-feira, 15 de maio de 13
  • 25. • Uso de ferramentas aprovadas • Ferramentas de bugtrack (redmine, track), versionamento (SVN, Git) e documentação (Sphinx, wiki) • Substituir funções inseguras • Realizar análises estáticas: • Validação do código antes e depois de submeter ao repositório de versionamento de fontes (Ex: Pylint, PEP 008, 257, 290) Fase 4 SDL: Implementação quarta-feira, 15 de maio de 13
  • 26. • Revisão da superfície de ataque • Realizar análises dinâmicas: • Servidor de integração (testes automatizados) • Testes Fuzzing • Pentest (whitebox e blackbox) Fase 5 SDL:Verificação quarta-feira, 15 de maio de 13
  • 27. • Criar um plano de resposta a incidentes • Conduzir uma revisão final de segurança • Certificação do código de que ele cobre a baseline e requisitos Fase 6 SDL: Lançamento quarta-feira, 15 de maio de 13
  • 28. • Executar um plano de resposta a incidentes • Corrigir antes é mais barato do que nessa fase * • Tratar vulnerabilidades como bugs Fase 7 SDL: Responder * Fonte: Software Defect Reduction Top 10 List - IEEE quarta-feira, 15 de maio de 13
  • 29. • Software Assurance Maturity Model (SAMM): http://www.opensamm.org • ISO/IEC 15408 (Common Criteria) - certifica o quanto o programa está aderente a um baseline mínimo • Building Security In Maturity Model - BSIMM http://www.bsimm.com/ Maturidade de Código ≠Desenvolvimento Seguro quarta-feira, 15 de maio de 13
  • 30. • Aplicar o conceito de menor privilégio • Cooperação entre os setores de desenvolvimento, processos e infraestrutura • Tratar vulnerabilidades como bugs • Hardening da infraestrutura • Proteger também os usuários (HSTS, cookies seguros, certificados válidos, Browser/Plugins) Algo mais quarta-feira, 15 de maio de 13
  • 31. • Uso de Web Applications Firewalls (ModSecurity) • Envolvimento com a comunidade de desenvolvimento seguro (OWASP POA) • A responsabilidade não é só do analista de segurança/suporte, e sim mais do desenvolvedor • Não existem sistemas invioláveis Algo mais quarta-feira, 15 de maio de 13
  • 32. • Whitehat Website Security Statics Report - Maio 2013 - https://www.whitehatsec.com/assets/ WPstatsReport_052013.pdf • https://www.owasp.org • Webinar Segurança de Desenvolvimento de Software - Wagner Elias: https:// www.youtube.com/watch?v=ZVxZKgLR2yg • OWASP CLASP Project: https://www.owasp.org/ index.php/Category:OWASP_CLASP_Project Referências quarta-feira, 15 de maio de 13