Desenvolvimento Seguro- 2011

387 visualizações

Publicada em

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

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
387
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • 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.
  • Desenvolvimento Seguro- 2011

    1. 1. Kleitor Franklint DESENVOLVIMENTODESENVOLVIMENTO SEGUROSEGURO
    2. 2. KLEITOR Entusiasta da Vida, Qualidade, Colaborativos, Ágil, Teste e Testes Ágeis. kleitor.franklint@gmail.com br.linkedin.com/in/kfranklint 92-99416-0873
    3. 3. OWASP A necessidade de Aplicações Seguras Heróis da Segurança RoteiroRoteiro OWASP TOP 10 Modelagem de Riscos
    4. 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. 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. 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. 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. 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. 9. OWASP – Manifesto e Testing GuideOWASP – Manifesto e Testing Guide 03:29 PM
    10. 10. OWASP – LivrosOWASP – Livros 03:29 PM
    11. 11. OWASP – ProjetosOWASP – Projetos 03:29 PM
    12. 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. 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. 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. 15. Os bugs mudaram só um pouquinho…Os bugs mudaram só um pouquinho… WWWWWW –– Wild, Wild, WildWild, Wild, Wild 03:29 PM
    16. 16. Percepção das AmeaçasPercepção das Ameaças 03:29 PM
    17. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
    30. 30. Vulnerabilidade Design Implementação Deploy Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento 03:29 PM
    31. 31. Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento Vulnerabilidade Design Implementação Deploy
    32. 32. Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento Vulnerabilidade Design Implementação Deploy 03:29 PM
    33. 33. Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento Vulnerabilidade Design Implementação Deploy
    34. 34. Como identificá-las? Nós podemos colaborar Ameaças à saúde do softwareAmeaças à saúde do software 03:29 PM
    35. 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. 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. 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
    38. 38. FerramentasFerramentas para o timepara o time Desenvolvimento SeguroDesenvolvimento Seguro
    39. 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. 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. 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. 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. 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. 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. 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. 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. 47 POSSO COLABORAR COM MAIS RESPOSTAS? kleitor.franklint@gmail.com br.linkedin.com/in/kfranklint 92-99416-0873

    ×