Você Escreve Código e Quem Valida?

Preview:

DESCRIPTION

Palestra ministrada no OWASP Floripa Day - Florianópolis - SC | Programadores desenvolvem código como se não houvesse amanhã e pouco se investe na validação de segurança de código. A palestra aborda práticas de revisão de segurança de código e como deve ser adotado a prática em um processo de desenvolvimento de software.

Citation preview

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

The OWASP Foundation http://www.owasp.org

Você Escreve Código e Quem Valida?

Wagner Elias, CTO Conviso Application Security

OWASP

Por que revisar código?

 Muito código desenvolvido sem um método apropriado

 Desconhecimento de características de segurança

 Necessidade de conformidade com padrões

http://bozosecurity.blogspot.com.br/

OWASP

Alguns números

 Estudo do NIST diz que 92% das vulnerabilidades estão em software

 O Gartner diz que

falhas em software são a causa de 75% dos incidentes de segurança

OWASP 4

OWASP

Os Dois!

Code Review deve ser realizado durante o desenvolvimento, pentest depois   Requirements definition

  Application Security Requirements

  Architecture and Design   Application Security Architecture and/or Threat Model

  Development   Secure Coding Practices   Security Testing   Security Code Review

  Test   Penetration Testing

  Deployment   Secure Configuration Management   Secure Deployment

  Maintenance

OWASP 6

OWASP 7

OWASP 8

OWASP

Processo

OWASP

Estabeleça Objetivos

 Qual o objetivo da aplicação? E-Commerce; Dados de Cartão…

 A aplicação necessita de

conformidade com padrões de segurança como os de cartão de crédito (PCI)?

OWASP

Use ferramentas de suporte a análise

 Possibilita triar alguns “findings” em um número grande de linhas de código rapidamente (escala)

 Base de Conhecimento

sobre vulnerabilidades e padrões

OWASP 12

OWASP

Analise os Resultados e o Código

 Os findings apontados pela ferramenta serão “drives” mas não garantem a existência da falha

 Analise linha por linha

de código buscando o entendimento da lógica de negócio e o contexto

OWASP

Corrija

 Apenas identificar as falhas não é suficiente, corrija

 Aprenda com o processo

de identificação e correção das falhas (Gestão de Vulnerabilidades)

OWASP

Ferramentas para Análise

Muitas Opções para todos os bolsos e linguagens Um benchmark de ferramentas http://samate.nist.gov

OWASP

Ferramentas de Suporte ao Processo

 Gerrit  Review Board

OWASP

Gerrit

 Código Aberto, desenvolvido e utilizado pelo Google

 Cria “hooks” no Git para

enviar commits para revisores

http://code.google.com/p/gerrit/

OWASP

Review Board

 Código Aberto  Foco na documentação

e colaboração na revisão de código

http://www.reviewboard.org/

OWASP

CodeFight - Breve no Github

 Ferramenta Open Source para suporte a análise e documentação de projetos de revisão de código

OWASP

Obrigado

Wagner Elias, CTO welias@conviso.com.br @welias

OWASP

Referências

 OWASP Code Review Guidehttps://www.owasp.org/index.php/Category:OWASP_Code_Review_Project

 Secure Programming with Static Analysis

http://www.amazon.com/Secure-Programming-Static-Analysis-Brian/dp/0321424778

 The Art of Software Security Assessment:

Identifying and Preventing Software Vulnerabilities http://www.amazon.com/The-Software-Security-Assessment-Vulnerabilities/dp/0321444426

Recommended