integrando testes de segurança ao processo de desenvolvimento de software
DESCRIPTION
O processo de teste automatizado de segurança de software e a automação de processos de operação (DevOps)TRANSCRIPT
![Page 1: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/1.jpg)
®
Integrando testes de segurança ao processo de desenvolvimento de software BSides SP – 24 Novembro 2013 Wagner Elias Email: [email protected] Twitter: @welias
®
![Page 2: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/2.jpg)
®
Um pouco sobre desenvolvimento
• Repositório e Versionamento de Código: fundamental para qualquer estratégia de desenvolvimento
• Integração: transforma vários pedaços de código em um produto de software
• Testes: realiza análises automatizadas antes do deploy
• Deploy: disponibiliza para uso um produto de software estável e validado
![Page 3: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/3.jpg)
®
E a segurança?
![Page 4: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/4.jpg)
®
![Page 5: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/5.jpg)
®
Não tem controle de versão?
![Page 6: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/6.jpg)
®
Repositórios de Código
Não existe software estável sem um bom processo e boas ferramentas de controle de versão • Controle do histórico • Trabalho em equipe • Resgate de versões • Ramificação de projeto
![Page 7: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/7.jpg)
®
Código também precisa ser integrado
![Page 8: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/8.jpg)
®
Integração Contínua
Faça integração automática com as práticas de integração contínua • Valide padrões estabelecidos • Consolide um produto de software estável • Dê feedback aos desenvolvedores
![Page 9: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/9.jpg)
®
Erros em produção são irreversíveis
#vaicorinthians
![Page 10: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/10.jpg)
®
Deploy Contínuo
Automatize o processo de publicação das suas aplicações após critérios claros de aceitação • Crie receitas para configurações • Dispare ações de validação em produção • Dê feedback aos usuários
![Page 11: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/11.jpg)
®
Ok! E os testes de segurança?
![Page 12: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/12.jpg)
®
Durante a integração Contínua
Uma das verificações executadas pela IC pode ser uma revisão automatizada de código do inglês SAST (Static Application Security Testing) que irá analisar a segurança do código fonte • Indentifique vulnerabilidades que não são
identificadas em testes black-box • Análise e aprenda com os erros durante o
desenvolvimento do código
![Page 13: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/13.jpg)
®
Após o Deploy Contínuo
O Processo de DC pode disparar eventos para análises dinâmicas do inglês DAST (Dynamic Application Security Testing) que irá analisar a segurança da aplicação rodando • Indentifique vulnerabilidades que não são
identificadas em testes white-box • Ateste que sua aplicação não possui
vulnerabilidades em produção
![Page 14: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/14.jpg)
®
Assim fácil?
![Page 15: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/15.jpg)
®
Isso é o começo!
![Page 16: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/16.jpg)
®
Workflow para testes avançados
Testes automatizados possuem limitações, é necessário executar testes manuais. Dispare testes especializados a partir de eventos dos processos de Integração e Deploy Contínuo • Penetration Test • Code Review Manual • Testes de Stress
![Page 17: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/17.jpg)
®
Gestão das vulnerabilidades
Vulnerabilidades sempre irão existir, o que irá lhe diferenciar é como você trata elas. Fazer gestão não é identificar e sim priorizar e aplicar os devidos controles
![Page 18: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/18.jpg)
®
Obrigado
![Page 19: Integrando testes de segurança ao processo de desenvolvimento de software](https://reader030.vdocuments.net/reader030/viewer/2022020207/558e67ee1a28ab8c218b474c/html5/thumbnails/19.jpg)
®
Referências
• Integração Contínua - http://martinfowler.com/articles/continuousIntegration.html
• Deploy Contínuo - http://puppetlabs.com/blog/continuous-delivery-vs-continuous-deployment-whats-diff
• OWASP CISO Guide - https://www.owasp.org/index.php/Application_Security_Guide_For_CISOs
• Diferenças entre SAST e DAST - http://blogs.gartner.com/neil_macdonald/2011/01/19/static-or-dynamic-application-security-testing-both/