®
Integrando testes de
segurança ao processo de
desenvolvimento de software
BSides SP – 24 Novembro 2013
Wagner Elias
Emai...
®
Um pouco sobre desenvolvimento
•  Repositório e Versionamento de Código: fundamental
para qualquer estratégia de desenvo...
®
E a segurança?
®
®
Não tem controle de versão?
®
Repositórios de Código
Não existe software estável sem um bom processo
e boas ferramentas de controle de versão
•  Contr...
®
Código também precisa ser integrado
®
Integração Contínua
Faça integração automática com as práticas de
integração contínua
•  Valide padrões estabelecidos
• ...
®
Erros em produção são irreversíveis
#vaicorinthians
®
Deploy Contínuo
Automatize o processo de publicação das suas
aplicações após critérios claros de aceitação
•  Crie recei...
®
Ok! E os testes de
segurança?
®
Durante a integração Contínua
Uma das verificações executadas pela IC pode ser
uma revisão automatizada de código do ing...
®
Após o Deploy Contínuo
O Processo de DC pode disparar eventos para
análises dinâmicas do inglês DAST (Dynamic
Applicatio...
®
Assim fácil?
®
Isso é o começo!
®
Workflow para testes avançados
Testes automatizados possuem limitações, é
necessário executar testes manuais. Dispare te...
®
Gestão das vulnerabilidades
Vulnerabilidades sempre irão existir, o que irá lhe
diferenciar é como você trata elas. Faze...
®
Obrigado
®
Referências
•  Integração Contínua - http://martinfowler.com/articles/
continuousIntegration.html
•  Deploy Contínuo - h...
Upcoming SlideShare
Loading in …5
×

Integrando testes de segurança ao processo de desenvolvimento de software

627 views

Published on

O processo de teste automatizado de segurança de software e a automação de processos de operação (DevOps)

Published in: Software
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
627
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Integrando testes de segurança ao processo de desenvolvimento de software

  1. 1. ® Integrando testes de segurança ao processo de desenvolvimento de software BSides SP – 24 Novembro 2013 Wagner Elias Email: welias@conviso.com.br Twitter: @welias ®
  2. 2. ® 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
  3. 3. ® E a segurança?
  4. 4. ®
  5. 5. ® Não tem controle de versão?
  6. 6. ® 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
  7. 7. ® Código também precisa ser integrado
  8. 8. ® 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
  9. 9. ® Erros em produção são irreversíveis #vaicorinthians
  10. 10. ® 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
  11. 11. ® Ok! E os testes de segurança?
  12. 12. ® 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
  13. 13. ® 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
  14. 14. ® Assim fácil?
  15. 15. ® Isso é o começo!
  16. 16. ® 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
  17. 17. ® 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
  18. 18. ® Obrigado
  19. 19. ® 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/

×