desenvolvimento seguro- 2011

47
Kleitor Franklint DESENVOLVIMENTO DESENVOLVIMENTO SEGURO SEGURO

Upload: kleitor-franklint

Post on 21-Jan-2017

357 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Desenvolvimento Seguro- 2011

Kleitor Franklint

DESENVOLVIMENTDESENVOLVIMENTO SEGUROO SEGURO

Page 2: Desenvolvimento Seguro- 2011

KLEITOR

Entusiasta da Vida, Qualidade,

Colaborativos,Ágil,

Teste e Testes Ágeis. [email protected]

ombr.linkedin.com/in/kfranklint

92-99416-0873

Page 3: Desenvolvimento Seguro- 2011

OWASP

A necessidade de Aplicações Seguras

Heróis da Segurança

RoteiroRoteiro

OWASP TOP 10

Modelagem de Riscos

Page 4: Desenvolvimento Seguro- 2011

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

Page 5: Desenvolvimento Seguro- 2011

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;

Page 6: Desenvolvimento Seguro- 2011

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?

Page 7: Desenvolvimento Seguro- 2011

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?

Page 8: Desenvolvimento Seguro- 2011

(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

06:03 PM

Um pouco sobre a OWASP

Page 9: Desenvolvimento Seguro- 2011

OWASP – Manifesto e Testing GuideOWASP – Manifesto e Testing Guide

06:03 PM

Page 10: Desenvolvimento Seguro- 2011

OWASP – LivrosOWASP – Livros

06:03 PM

Page 11: Desenvolvimento Seguro- 2011

OWASP – ProjetosOWASP – Projetos

06:03 PM

Page 12: Desenvolvimento Seguro- 2011

OWASP – AprendizagemOWASP – Aprendizagem

OWASP Hackademic Challenges Projecthttps://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

06:03 PM

Ampliar conhecimentos em testes de invasão e reconhecimento de padrões maliciosos

Page 13: Desenvolvimento Seguro- 2011

Aplicações Seguras Aplicações Seguras

Então... Vamos todos fazer parte da OWASP?

06:03 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

Page 14: Desenvolvimento Seguro- 2011

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!!!06:03 PM

Page 15: Desenvolvimento Seguro- 2011

Os bugs mudaram só um pouquinho…Os bugs mudaram só um pouquinho…

WWWWWW – – Wild, Wild, WildWild, Wild, Wild

06:03 PM

Page 16: Desenvolvimento Seguro- 2011

Percepção das AmeaçasPercepção das Ameaças

06:03 PM

Page 17: Desenvolvimento Seguro- 2011

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 Agency06:03 PM

Page 18: Desenvolvimento Seguro- 2011

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;

06:03 PM

Page 19: Desenvolvimento Seguro- 2011

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).

06:03 PM

Page 20: Desenvolvimento Seguro- 2011

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

Page 21: Desenvolvimento Seguro- 2011

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

Page 22: Desenvolvimento Seguro- 2011

OWASP – TOP 10 Vulnerabilidades

http://www.owasp.org/index.php/Top_10

Todo o time envolvido com Todo o time envolvido com aplicações externas, internas e ferramentas de uso diárioaplicações externas, internas e ferramentas de uso diário

Page 23: Desenvolvimento Seguro- 2011

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 ModelingMicrosoft Threat Analysis & Modeling

NÓS PODEMOS COLABORARNÓS PODEMOS COLABORAR

06:03 PM

Page 24: Desenvolvimento Seguro- 2011

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

06:03 PM

Page 25: Desenvolvimento Seguro- 2011

Ajuda a enxergar o elo mais fraco da cadeia Ajuda 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

Page 26: Desenvolvimento Seguro- 2011

Aplicações Seguras: Aplicações Seguras: MitosMitos e e 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.

06:03 PM

Page 27: Desenvolvimento Seguro- 2011

É 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 e e VerdadesVerdades

Page 28: Desenvolvimento Seguro- 2011

Falhas Reveladas

Falhas localizad

as

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

Page 29: Desenvolvimento Seguro- 2011

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 Deploy13 42 12

46 vulnerabilidades ao todo46 vulnerabilidades ao todo

06:03 PM

Page 30: Desenvolvimento Seguro- 2011

Vulnerabilidade Design Implementação Deploy

Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento

06:03 PM

Page 31: Desenvolvimento Seguro- 2011

Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento

Vulnerabilidade Design Implementação Deploy

Page 32: Desenvolvimento Seguro- 2011

Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento

Vulnerabilidade Design Implementação Deploy

06:03 PM

Page 33: Desenvolvimento Seguro- 2011

Classificação de Ameaças: detalhamentoClassificação de Ameaças: detalhamento

Vulnerabilidade Design Implementação Deploy

Page 34: Desenvolvimento Seguro- 2011

Como identificá-las? Nós podemos colaborar

Ameaças à saúde do softwareAmeaças à saúde do software

06:03 PM

Page 35: Desenvolvimento Seguro- 2011

VISÃO DE CICLO DE VIDA: VISÃO DE CICLO DE VIDA: ÁGIL E ÁGIL E RASTREÁVELRASTREÁVEL

Iniciação e planejamento

Sistema Construído com qualidade

A cada iteração daImplementaçã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.

Page 36: Desenvolvimento Seguro- 2011

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

06:03 PM

Page 37: Desenvolvimento Seguro- 2011

SPTSO: SPTSO: Análise de resultadoAnálise de resultado

Time to marketUsabilidade,

Disponibilidadee Desempenho

Resultados dos Testes

Implicações de Regras de Negócio,

outros

AplicaçãoAplicação

RISCOS

CRITICIDADE, IMPACTO, PROBABILIDADE IMPLICAÇÕES

RECOMENDAÇÕES

Page 38: Desenvolvimento Seguro- 2011

Ferramentas Ferramentas para o timepara o time

Desenvolvimento SeguroDesenvolvimento Seguro

Page 39: Desenvolvimento Seguro- 2011

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.

06:03 PM

Page 40: Desenvolvimento Seguro- 2011

Ferramentas para Testadores e DesenvolvedoresFerramentas para Testadores e Desenvolvedores

SAST ( Static Application Security Testing)

OWASP LAPSE + JAVA EEhttps://www.owasp.org/index.php/OWASP_LAPSE_Project

FxCop .NET https://www.owasp.org/index.php/FxCop

RIPS PHPhttp://sourceforge.net/projects/rips-scanner/

GRAUDIT Suporta: php, asp, perl e pythonhttp://www.justanotherhacker.com/projects/graudit/download.html

06:03 PM

Page 41: Desenvolvimento Seguro- 2011

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/

SKIPFISHhttp://code.google.com/p/skipfish/

NIKTOhttp://cirt.net/nikto2

DAST ( Dinamic Application Security Testing )

06:03 PM

Page 42: Desenvolvimento Seguro- 2011

Ferramentas para o time da InfraestruturaFerramentas para o time da Infraestrutura

ModSecurity ( Módulo Apache )http://www.modsecurity.org/

WAF ( Web Application Firewall )

06:03 PM

Page 43: Desenvolvimento Seguro- 2011

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/

06:03 PM

Page 44: Desenvolvimento Seguro- 2011

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_Proxy_honeypotshttp://www.cert.br/docs/whitepapers/honeypots-honeynets/http://www.cert.br/docs/palestras/certbr-campus-party2011-1.pdf

Page 45: Desenvolvimento Seguro- 2011

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

06:03 PM

Page 46: Desenvolvimento Seguro- 2011

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 CompaniesSérgio Nunes & Miguel Correia

Page 47: Desenvolvimento Seguro- 2011

47

POSSO COLABORAR COM MAIS RESPOSTAS?

[email protected]

br.linkedin.com/in/kfranklint

92-99416-0873