33
1 Segurança Web OWASP 2013 - TOP 10

OWASP Top Ten

Embed Size (px)

Citation preview

Apresentao do PowerPoint

Segurana Web OWASP 2013 - TOP 10

#OWASP Foundation

#OWASP Foundation uma organizao internacional formada por uma comunidade aberta disposta a criar, desenvolver, operar, adquirir e manter aplicaes Web confiveis. Foi fundada em 2001 nos EUA, tornou-se sem fins lucrativos em 21 de Abril de 2004, mantendo o foco em gerar documentos e ferramentas para a melhoria da segurana de aplicaes Web.2

Por que se preocupar com isso?Fonte: http://www.usnews.com/news/articles/2015/08/06/reported-russian-cyber-attack-shuts-down-pentagon-network

#Por que se preocupar com isso?Fonte: http://thehackernews.com/2015/09/whatsapp-vcard-vulnerability.html

#Por que se preocupar com isso?Fonte: http://money.cnn.com/2015/08/18/technology/ashley-madison-data-dump

#

OWASP Top Ten

#OWASP Top Ten uma poderosa documentao de conscientizao para segurana de aplicaes Web. Representa um conjunto de falhas de segurana mais comuns em sistemas Web, so ordenados considerando o risco e a prevalncia da falha.Todos estes problemas so encontrados na infraestrutura de instituies financeiras, sade, defesa, energia e outros setores.O objetivo que as organizaes comecem com segurana suas aplicaes e os desenvolvedores possam aprender com os erros de outras organizaes e, para os executivos uma oportunidade de pensar em gerenciar riscos de seus softwares.6

10) Redirecionamentos e Encaminhamentos InvlidosAplicaes web frequentemente redirecionam e encaminham usurios para outras pginas e sites, e usam dados no confiveis para determinar as pginas de destino. Sem uma validao adequada, os atacantes podem redirecionar as vtimas para sites de phishing ou malware, ou usar encaminhamentos para acessar pginas no autorizadas.

Exemplos:

http://www.example.com/redirect.jsp?url=evil.com

http://www.example.com/boring.jsp?fwd=admin.jsp

#

7

10) Redirecionamentos e Encaminhamentos InvlidosComo evitar?

Evitar usar redirects e forwards

Caso sejam necessrios, no utilize parmetros para definir o destino

Se parmetros no podem ser evitados, valide os parmetros de redirecionamento e verifique os valores para o usurio

#

8

9) Utilizao de Componentes Vulnerveis ConhecidosComponentes, bibliotecas, frameworks, e outros mdulos de software quase sempre so executados com privilgios elevados. Se um componente vulnervel explorado, um ataque pode causar srias perdas de dados ou o comprometimento do servidor.

Referncias:

Common Vulnerabilities and Exposures https://cve.mitre.org/

National Vulnerability Database https://nvd.nist.gov/home.cfm

#

9

9) Utilizao de Componentes Vulnerveis Conhecidos

#Demonstrao: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-248110

9) Utilizao de Componentes Vulnerveis ConhecidosComo evitar?

difcil.

No usar nenhuma biblioteca?

Verificar com o fornecedor as bibliotecas que esto sendo utilizadas, incluindo as suas dependncias;

Manter as bibliotecas atualizadas

#https://www.bugzilla.org/security/11

8) Cross-Site Request Forgery (CSRF)

Usurio se autentica normalmente no site exemplo.com.br

Sem efetuar logout, o usurio visita o site virus.com.br, que faz uma requisio maliciosa para o site exemplo.com.br

Como o usurio ainda est autenticado, caso o site exemplo.com.br no esteja protegido, a requisio funcionar normalmente

#Um ataque CSRF fora a vtima que possui uma sesso ativa em um navegador a enviar uma requisio HTTP forjada, incluindo o cookie da sesso da vtima e qualquer outra informao de autenticao includa na sesso, a uma aplicao web vulnervel. Esta falha permite ao atacante forar o navegador da vtima a criar requisies que a aplicao vulnervel aceite como requisies legtimas realizadas pela vtima.

12

8) Cross-Site Request Forgery (CSRF)

#Demonstrao vdeo 8 Cross-Site Request Forgery.avi13

8) Cross-Site Request Forgery (CSRF)Como evitar?

Evitar CSRF geralmente implica em criar uma token em cada requisio HTTP(s). Essa token dever nica e mudar, nomnimo, a cada nova sesso.

O token tambm pode ser includo na URL (atravs da query string, mas isso menos seguro)

CAPTCHAs tambm ajudam a proteger contra CSRF.

#

14

7) Falta de Funo para Controle do Nvel de AcessoComo funciona?

Um usurio malicioso simplesmente muda a URL ou muda um parmetro e acessa uma funcionalidade do sistema que deveria estar bloqueada.

#A maioria das aplicaes web verificam os direitos de acesso em nvel de funo antes de tornar essa funcionalidade visvel na interface do usurio. No entanto, as aplicaes precisam executar as mesmas verificaes de controle de acesso no servidor quando cada funo invocada. Se estas requisies no forem verificadas, os atacantes sero capazes de forjar as requisies, com o propsito de acessar a funcionalidade sem autorizao adequada.15

7) Falta de Funo para Controle do Nvel de AcessoComo evitar?

O mecanismo de autorizao deve, por padro, negar acesso a uma funcionalidade e s permitir acesso caso o usurio possua a permisso explicitamente definida

A maior parte das aplicaes no exibem links e botes para telas/rotinas bloqueadas, mas essa validao tambm deve ser efetuada no Controller ou na lgica de negcio

#Como evitar?16

6) Exposio de Dados Sensveis

Como so armazenados os dados confidenciais (ex.: senhas, nmero de cartes de crdito)?

Os dados so trafegados por HTTPS ao invs de HTTP?

#Muitas aplicaes web no protegem devidamente os dados sensveis, tais como cartes de crdito, IDs fiscais e credenciais de autenticao. Os atacantes podem roubar ou modificar esses dados desprotegidos com o propsito de realizar fraudes de cartes de crdito, roubo de identidade, ou outros crimes. Os dados sensveis merecem proteo extra como criptografia no armazenamento ou em trnsito, bem como precaues especiais quando trafegadas pelo navegador.17

6) Exposio de Dados SensveisFonte: Auditoria de arquitetura realizada em cliente.

#Como evitar?18

5) Configurao Incorreta de Segurana

Exemplos:

Existem recursos desnecessrios habilitados ou instalados (ex. portas, servios, pginas, contas, privilgios)?

Os usurios e senhas padro foram alterados?

No caso de erros no sistema, o stack trace exibido para os usurios (ou qualquer outra informao excessiva)?

As configuraes padro de segurana nos frameworks dedesenvolvimento (ASP.NET, Spring, Struts) foram alteradas?

#Uma boa segurana exige a definio de uma configurao segura e implementada na aplicao, frameworks, servidor de aplicao, servidor web, banco de dados e plataforma. Todas essas configuraes devem ser definidas, implementadas e mantidas, j que geralmente a configurao padro insegura. Adicionalmente, o software deve ser mantido atualizado.19

5) Configurao Incorreta de Segurana

#

20

4) Referncia Insegura e Direta a Objetos

Exemplo:

http://www.meusite.com/compras/detalhe?idCompra=1234

#Uma referncia insegura e direta a um objeto ocorre quando um programador expe uma referncia implementao interna de um objeto, como um arquivo, diretrio, ou registro da base de dados. Sem a verificao do controle de acesso ou outra proteo, os atacantes podem manipular estas referncias para acessar dados no-autorizados.

21

4) Referncia Insegura e Direta a Objetos

Fonte: Auditoria de arquitetura realizada em cliente.

#

22

3) Cross-Site Scripting (XSS)

Um usurio malicioso envia texto contendo scripts que sero interpretados pelo browser

Praticamente qualquer fonte de dados pode ser a origem da injeo de scripts: campos de texto, URL, banco de dados

O impacto da injeo de script inclui: roubar sesso, modificar sites (phising), redirecionar usurios, forar download de arquivos, etc.

#Falhas XSS ocorrem sempre que uma aplicao recebe dados no confiveis e os envia ao navegador sem validao ou filtro adequados. XSS permite aos atacantes executarem scripts no navegador da vtima que podem sequestrar sesses do usurio, desfigurar sites, ou redirecionar o usurio para sites maliciosos.23

3) Cross-Site Scripting (XSS)Como evitar?

Nunca confiar em dados fornecidos pelo usurio

Fazer escape dos caraceteres que sero exibidos na pgina/script/url

Content-Security-Policy header

https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet

#

24

2) Quebra de Autenticao e Gerenciamento de sessoAutenticao e gerenciamento de sesso difcil de implementar corretamente;

As aplicaes normalmente possuem falhas que permitem usurios maliciosos obter senhas, logins, tokens de sesso ou explorar outras falhas para utilizar a identidade de outro usurio

#As funes da aplicao relacionadas com autenticao e gerenciamento de sesso geralmente so implementadas de forma incorreta, permitindo que os atacantes comprometam senhas, chaves e tokens de sesso ou, ainda, explorem outra falha da implementao para assumir a identidade de outros usurios.25

2) Quebra de Autenticao e Gerenciamento de sessoSenhas no so criptografadas durante o armazenamentoCredenciais podem ser adivinhadas, recuperadas ou alteradas atravs de funes como esqueci minha senha, mudar senha, etc;Sessions Ids so expostos na URL (URL rewriting)Sesso no invalidada durante o logout ou nunca expiraSenhas/session ids so enviados sem criptografia em conexes no criptografadas (ex.: HTTP)

#Como evitar?26

2) Quebra de Autenticao e Gerenciamento de sesso

#

27

1) InjeoAs falhas de Injeo, tais como injeo de SQL, de SO (Sistema Operacional) e de LDAP, ocorrem quando dados no confiveis so enviados para um interpretador como parte de um comando ou consulta. Os dados manipulados pelo atacante podem iludir o interpretador para que este execute comandos indesejados ou permita o acesso a dados no autorizados.

#Como evitar?28

1) Injeo

#Como evitar?29

1) Injeo

Fonte: Auditoria de arquitetura realizada em cliente.

#Como evitar?30

No pare por aiNo pare nos Top Ten! Mais de 500.000 vulnerabilidadesOrganizaes devem se concentrar para reduzir o nmero de vulnerabilidadesASVS: Application Security Verification StandardOWASP ZAPHP ToolsFortifyWebInspectFreehttp://sqlmap.org/http://www.metasploit.com/https://portswigger.net/burp/ http://www.backtrack-linux.org/ https://www.kali.org/

#

31

Refernciashttps://www.owasp.org

https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project

https://freedom-to-tinker.com/blog/wzeller/popularwebsites-vulnerable-cross-site-request-forgery-attacks

https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet

#

32

Giovani [email protected]

#

33