12
25/11/2011 1 Kleitor Franklint Líder OWASP Capítulo Manaus [email protected] [email protected] Kleitor Franklint Líder OWASP Capítulo Manaus [email protected] [email protected] DESENVOLVIMENTO DESENVOLVIMENTO SEGURO SEGURO OWASP A necessidade de Aplicações Seguras Heróis da Segurança Roteiro Roteiro OWASP TOP 10 Modelagem de Riscos Aplicações Seguras: mitos e verdades Pen Test x Revisão de Código SPTSO: como colaboramos? Ferramentas para o time Roteiro Roteiro Classificação de ameaças Heróis da segurança da informação Heróis da segurança da informação Uma relação baseada em 5 pontos Uma relação baseada em 5 pontos-chave: chave: E se se... ... E por por que que não? não? Como Como ser ser mais mais ágil ágil mantendo mantendo a qualidade? qualidade? Como Como fazer fazer de de um um jeito jeito mais mais seguro? seguro? Mostre Mostre-me! me! Riscos; Possibilidades; Dinamismo e Ritmo; Qualidade; Visão de time;

SQSP2011 ds - Processamento de Dados Amazonas S/A · E eu profissional, conheço esses riscos ao entregar a aplicação e fornecer ... Ampliar conhecimentos em testes de invasão

Embed Size (px)

Citation preview

25/11/2011

1

Kleitor Franklint

Líder OWASP Capítulo [email protected]

[email protected]

Kleitor Franklint

Líder OWASP Capítulo [email protected]

[email protected]

DESENVOLVIMENTO DESENVOLVIMENTO SEGUROSEGURO

OWASP

A necessidade de Aplicações Seguras

Heróis da Segurança

RoteiroRoteiro

OWASP TOP 10

Modelagem de Riscos

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

Heróis da segurança da informaçãoHeróis da segurança da informação

Uma relação baseada em 5 pontosUma relação baseada em 5 pontos--chave:chave:

EE sese......

EE porpor queque não?não?

ComoComo serser maismais ágilágil mantendomantendo aa qualidade?qualidade?

ComoComo fazerfazer dede umum jeitojeito maismais seguro?seguro?

MostreMostre--me!me!

�Riscos;

�Possibilidades;

�Dinamismo e Ritmo;

�Qualidade;

�Visão de time;

25/11/2011

2

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?

Objetivos: Objetivos: Montando o quebraMontando o quebra--cabeças...cabeças...

Quem deve estar envolvido com desenvolvimento seguro?

Quanto de responsabilidade tem o desenvolvimento sobredanos à credibilidade da empresa, perdas financeiras evidas?

De que forma implementar e aferir a segurança doproduto?

Como e onde aprender mais sobre segurança?

Como são os testes da Fábrica de Teste e quais as implicações naanálise de resultados?

Em que instante do ciclo de vida do produto devo pensarem segurança?

(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

2:34

Um pouco sobre a OWASP OWASP OWASP –– Manifesto e Manifesto e TestingTesting GuideGuide

2:34

25/11/2011

3

OWASP OWASP –– LivrosLivros

2:34

OWASP OWASP –– ProjetosProjetos

2:34

OWASP OWASP –– AprendizagemAprendizagem

OWASP Hackademic Challenges Project

https://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

2:34

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

Aplicações Seguras Aplicações Seguras

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

2:34

Não paga nada!Não precisar fornecer CPF e Cartão deCrédito!

Não tem consulta ao SPC e Serasa!

...E nem precisa ter signo compatível ☺☺☺☺

25/11/2011

4

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!!!2:34

Os bugs Os bugs mudarammudaram sósó um um pouquinhopouquinho……

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

2:34

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

2:34

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 Agency2:34

25/11/2011

5

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çãodesconhecida);

17,000,000 de desenvolvedores: poucos treinados em segurança desoftware;

2:34

Por que precisamos de aplicações seguras?Por que precisamos de aplicações seguras?

Prioridade Um: Software no lado do cliente que permanece semcorreções. (Sans Intitute);

O impacto de aplicações inseguras sobre a econômia: custa de 30 a100x mais corrigir defeitos na fase de teste de sistema que naavaliaçã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).

2:34

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

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

25/11/2011

6

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

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

NÓS PODEMOS COLABORARNÓS PODEMOS COLABORAR

2:34

�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

2:34

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

25/11/2011

7

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 deCódigo e Testes Manuais.

Limitações: são baseados em respostas; limitações quanto à detecçãoem 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 asvulnerabilidades oriundas da aplicação necessitam ser sanadas.

2:34

É só pegar o relatório da ferramenta e apresentar!!

Não é verdade, o relatório é um artefato morto senão levar em contamuitos aspectos de riscos, regras de negócios, Time do market, fatoresambientais e estruturais na avaliação, além da análise cautelosa deFalsos Positivo / Negativo entre outros.

Aplicações Seguras: Aplicações Seguras: MitosMitos e e VerdadesVerdades

FalhasReveladas

Falhaslocalizadas

Ident. Pontosfracos

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

Access5 4 5 4 4 2 Code Review Across App

Crypto

Storage5 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: PenPen TestTest x Rev. Códigox Rev. CódigoClassificaçã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 Deploy

13 42 12

46 vulnerabilidades ao todo46 vulnerabilidades ao todo

2:34

25/11/2011

8

Vulnerabilidade Design Implementação Deploy

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

2:34

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

Vulnerabilidade Design Implementação Deploy

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

Vulnerabilidade Design Implementação Deploy

2:34

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

Vulnerabilidade Design Implementação Deploy

25/11/2011

9

Como identificá-las? Nós podemos colaborar

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

2:34

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

Iniciação e

planejamento

Sistema Construído

com qualidade

A cada iteração da

Implementaçã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.

SPTSO: SPTSO: Técnicas de VerificaçãoTécnicas de Verificação

Scanner automatizado de vulnerabilidades

Análise automatizadade 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

2:34

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

Time to marketUsabilidade,

Disponibilidadee Desempenho

Resultados dos Testes

Implicações de Regrasde Negócio, outros

AplicaçãoAplicação

RISCOS

CRITICIDADE, IMPACTO, PROBABILIDADE IMPLICAÇÕES

RECOMENDAÇÕES

25/11/2011

10

Ferramentas Ferramentas

para o timepara o time

Desenvolvimento SeguroDesenvolvimento Seguro 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.

2:34

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

2:34

Ferram. para times Ferram. para times da Infra, da Infra, Teste, Teste, DesenvDesenv..

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 )

2:34

25/11/2011

11

Ferramentas para o time da InfraestruturaFerramentas para o time da Infraestrutura

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

WAF ( Web Application Firewall )

2:34

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/

2:34

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

_honeypots

http://www.cert.br/docs/whitepapers/honeypots-honeynets/

http://www.cert.br/docs/palestras/certbr-campus-party2011-1.pdf

HoneyPotsHoneyPots: : 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

2:34

25/11/2011

12

HoneyPotsHoneyPots: : 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 Companies

Sérgio Nunes & Miguel Correia

POSSO COLABORAR COM POSSO COLABORAR COM MAIS RESPOSTAS?MAIS RESPOSTAS?

DESENVOLVIMENTO SEGURODESENVOLVIMENTO SEGURO

[email protected]@owasp.org