SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Você Escreve Código
 e Quem Valida?

Wagner Elias, CTO
Conviso Application Security




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
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
OWASP   4
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
OWASP   6
OWASP   7
OWASP   8
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
OWASP   12
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 Guide
  https://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
                                                      OWASP

Más contenido relacionado

La actualidad más candente

Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwareJúlio de Lima
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e VerdadesElias Nogueira
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a pontaElias Nogueira
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesPaulo César M Jeveaux
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumElias Nogueira
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresElias Nogueira
 
Análise Estática de Código
Análise Estática de CódigoAnálise Estática de Código
Análise Estática de CódigoRicardo Terra
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Elias Nogueira
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileElias Nogueira
 
Automação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas WebAutomação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas WebRodrigo Veiga
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de TesteElias Nogueira
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...tdc-globalcode
 
DevSecOps - Workshop do Bem
DevSecOps - Workshop do BemDevSecOps - Workshop do Bem
DevSecOps - Workshop do BemBruno Dantas
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
Application Insights - Monitore a sua aplicação em tempo real
Application Insights - Monitore a sua aplicação em tempo realApplication Insights - Monitore a sua aplicação em tempo real
Application Insights - Monitore a sua aplicação em tempo realAndré Dias
 
Integrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareIntegrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareConviso Application Security
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareJeremias Araujo
 

La actualidad más candente (20)

Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de Software
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de Testes
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadores
 
Análise Estática de Código
Análise Estática de CódigoAnálise Estática de Código
Análise Estática de Código
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
Automação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas WebAutomação de Testes de Aceitação em Sistemas Web
Automação de Testes de Aceitação em Sistemas Web
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de Teste
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
 
DevSecOps - Workshop do Bem
DevSecOps - Workshop do BemDevSecOps - Workshop do Bem
DevSecOps - Workshop do Bem
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Application Insights - Monitore a sua aplicação em tempo real
Application Insights - Monitore a sua aplicação em tempo realApplication Insights - Monitore a sua aplicação em tempo real
Application Insights - Monitore a sua aplicação em tempo real
 
Integrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareIntegrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de software
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de software
 

Similar a Você Escreve Código e Quem Valida?

AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...Magno Logan
 
Owasp Chapter Cuiabá
Owasp Chapter Cuiabá Owasp Chapter Cuiabá
Owasp Chapter Cuiabá OWASP_cuiaba
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãCarlos Serrao
 
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ínuoEndrigo Antonini
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...iMasters
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 
A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebCarlos Serrao
 
O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408Conviso Application Security
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?Kamilla Queiroz Xavier
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de SoftwareJeronimo Zucco
 

Similar a Você Escreve Código e Quem Valida? (20)

AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
Owasp Chapter Belo Horizonte
Owasp Chapter Belo HorizonteOwasp Chapter Belo Horizonte
Owasp Chapter Belo Horizonte
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
 
Owasp Chapter Cuiabá
Owasp Chapter Cuiabá Owasp Chapter Cuiabá
Owasp Chapter Cuiabá
 
Ferranentas OWASP
Ferranentas OWASPFerranentas OWASP
Ferranentas OWASP
 
DevChamps 2016
DevChamps 2016DevChamps 2016
DevChamps 2016
 
Segurança em Desenvolvimento de Software
Segurança em Desenvolvimento de SoftwareSegurança em Desenvolvimento de Software
Segurança em Desenvolvimento de Software
 
Apresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, CovilhãApresentação OWASP - UBI, Covilhã
Apresentação OWASP - UBI, Covilhã
 
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
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
Java security
Java securityJava security
Java security
 
A OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a WebA OWASP e a Segurança Aplicacional para a Web
A OWASP e a Segurança Aplicacional para a Web
 
O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
 
Validando a Segurança de Software
Validando a Segurança de SoftwareValidando a Segurança de Software
Validando a Segurança de Software
 
FlexMania 2010
FlexMania 2010FlexMania 2010
FlexMania 2010
 

Más de Conviso Application Security

Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações?
Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações? Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações?
Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações? Conviso Application Security
 
“Web Spiders” – Automação para Web Hacking
“Web Spiders” – Automação para Web Hacking“Web Spiders” – Automação para Web Hacking
“Web Spiders” – Automação para Web HackingConviso Application Security
 
Implementando Segurança em desenvolvimento com a verdadeira ISO
Implementando Segurança em desenvolvimento com a verdadeira ISOImplementando Segurança em desenvolvimento com a verdadeira ISO
Implementando Segurança em desenvolvimento com a verdadeira ISOConviso Application Security
 
Automatizando a análise passiva de aplicações Web
Automatizando a análise passiva de aplicações WebAutomatizando a análise passiva de aplicações Web
Automatizando a análise passiva de aplicações WebConviso Application Security
 
MASP: Um processo racional para garantir o nível de proteção das aplicações w...
MASP: Um processo racional para garantir o nível de proteção das aplicações w...MASP: Um processo racional para garantir o nível de proteção das aplicações w...
MASP: Um processo racional para garantir o nível de proteção das aplicações w...Conviso Application Security
 
Encontrando falhas em aplicações web baseadas em flash
Encontrando falhas em aplicações web baseadas em flashEncontrando falhas em aplicações web baseadas em flash
Encontrando falhas em aplicações web baseadas em flashConviso Application Security
 
Protegendo Aplicações Php com PHPIDS - Php Conference 2009
Protegendo Aplicações Php com PHPIDS - Php Conference 2009Protegendo Aplicações Php com PHPIDS - Php Conference 2009
Protegendo Aplicações Php com PHPIDS - Php Conference 2009Conviso Application Security
 

Más de Conviso Application Security (20)

Entendendo o PCI-DSS
Entendendo o PCI-DSSEntendendo o PCI-DSS
Entendendo o PCI-DSS
 
Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações?
Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações? Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações?
Uma verdade inconveniente - Quem é responsável pela INsegurança das aplicações?
 
“Web Spiders” – Automação para Web Hacking
“Web Spiders” – Automação para Web Hacking“Web Spiders” – Automação para Web Hacking
“Web Spiders” – Automação para Web Hacking
 
Building Client-Side Attacks with HTML5 Features
Building Client-Side Attacks with HTML5 FeaturesBuilding Client-Side Attacks with HTML5 Features
Building Client-Side Attacks with HTML5 Features
 
Testar não é suficiente. Tem que fazer direito!
Testar não é suficiente. Tem que fazer direito!Testar não é suficiente. Tem que fazer direito!
Testar não é suficiente. Tem que fazer direito!
 
Implementando Segurança em desenvolvimento com a verdadeira ISO
Implementando Segurança em desenvolvimento com a verdadeira ISOImplementando Segurança em desenvolvimento com a verdadeira ISO
Implementando Segurança em desenvolvimento com a verdadeira ISO
 
Automatizando a análise passiva de aplicações Web
Automatizando a análise passiva de aplicações WebAutomatizando a análise passiva de aplicações Web
Automatizando a análise passiva de aplicações Web
 
Você confia nas suas aplicações mobile?
Você confia nas suas aplicações mobile?Você confia nas suas aplicações mobile?
Você confia nas suas aplicações mobile?
 
Pentest em Aplicações Móveis
Pentest em Aplicações MóveisPentest em Aplicações Móveis
Pentest em Aplicações Móveis
 
MASP: Um processo racional para garantir o nível de proteção das aplicações w...
MASP: Um processo racional para garantir o nível de proteção das aplicações w...MASP: Um processo racional para garantir o nível de proteção das aplicações w...
MASP: Um processo racional para garantir o nível de proteção das aplicações w...
 
HTML5 Seguro ou Inseguro?
HTML5 Seguro ou Inseguro?HTML5 Seguro ou Inseguro?
HTML5 Seguro ou Inseguro?
 
Threats from economical improvement rss 2010
Threats from economical improvement rss 2010Threats from economical improvement rss 2010
Threats from economical improvement rss 2010
 
Encontrando falhas em aplicações web baseadas em flash
Encontrando falhas em aplicações web baseadas em flashEncontrando falhas em aplicações web baseadas em flash
Encontrando falhas em aplicações web baseadas em flash
 
Protegendo Aplicações Php com PHPIDS - Php Conference 2009
Protegendo Aplicações Php com PHPIDS - Php Conference 2009Protegendo Aplicações Php com PHPIDS - Php Conference 2009
Protegendo Aplicações Php com PHPIDS - Php Conference 2009
 
Playing Web Fuzzing - H2HC 2009
Playing Web Fuzzing - H2HC 2009Playing Web Fuzzing - H2HC 2009
Playing Web Fuzzing - H2HC 2009
 
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
 
Abotoaduras & Bonés
Abotoaduras & BonésAbotoaduras & Bonés
Abotoaduras & Bonés
 
Tratando as vulnerabilidades do Top 10 com php
Tratando as vulnerabilidades do Top 10 com phpTratando as vulnerabilidades do Top 10 com php
Tratando as vulnerabilidades do Top 10 com php
 
Extreme Web Hacking - h2hc 2008
Extreme Web Hacking - h2hc 2008Extreme Web Hacking - h2hc 2008
Extreme Web Hacking - h2hc 2008
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 

Você Escreve Código e Quem Valida?

  • 1. Você Escreve Código e Quem Valida? Wagner Elias, CTO Conviso Application Security 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
  • 2. 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
  • 3. 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 4
  • 5. 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 6
  • 7. OWASP 7
  • 8. OWASP 8
  • 9. Processo OWASP
  • 10. 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
  • 11. 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 12
  • 13. 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
  • 14. 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
  • 15. Ferramentas para Análise Muitas Opções para todos os bolsos e linguagens Um benchmark de ferramentas http://samate.nist.gov OWASP
  • 16. Ferramentas de Suporte ao Processo  Gerrit  Review Board OWASP
  • 17. 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
  • 18. Review Board  Código Aberto  Foco na documentação e colaboração na revisão de código http://www.reviewboard.org/ OWASP
  • 19. CodeFight - Breve no Github  Ferramenta Open Source para suporte a análise e documentação de projetos de revisão de código OWASP
  • 20. Obrigado Wagner Elias, CTO welias@conviso.com.br @welias OWASP
  • 21. Referências  OWASP Code Review Guide https://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 OWASP