Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataques e Contra-medidas

Post on 22-May-2015

58 views 0 download

Tags:

description

Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataques e Contra-medidas Maio de 2011 em SP http://garoa.net.br/wiki/O_Outro_Lado

Transcript of Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataques e Contra-medidas

The OWASP Foundationhttp://www.owasp.org

Segurança em Sites de Compras Coletivas

Vulnerabilidades, Ataques e Contramedidas

Magno Loganmagno.logan@owasp.org

Líder do capítulo OWASP ParaíbaMembro do OWASP Portuguese Language Project

OWASPBRASIL

A work in progress...

Magno Logan?

• Desenvolvedor + Segurança

• Analista da Politec

• Fundador do Capítulo OWASP

Paraíba

• Praticante de Ninjutsu

• DJ nas horas vagas

3

Agenda

• Compras Coletivas?

• Atenção!

• OWASP Top 10

• Vulnerabilidades

• Ataques

• Contramedidas

4

Compras Coletivas

Promoções por tempo limitado

5

6

Reconhece algum?

7

E esses?

8

Atenção!

Número mínimo de compradores

Limite máximo de vendas

Preço “real” maior na promoção

Não compre por impulso!

Leia o regulamento!

Verifique o tempo de duração da oferta

9

OWASP Top 10 (2010)

A1: Falhas de Injeção

A2: Cross-Site Scripting

(XSS)

A3: Falha de Autenticação e

Gerência de Sessões

A4: Referência Direta e

Insegura à Objetos

A5: Cross Site Request Forgery (CSRF)

A6: Falhas de Configuração de Segurança

A7 : Armazenamento com Criptografia

Insegura

A8: Falha de Restrição de

Acesso a URLs

A9: Fraca Proteção na Camada de Transporte

A10: Redirecioname

ntos Não Validados

Vulnerabilidades

11

O grande problema...

• Pequenas (máximo 8 caracteres)

• Sem exigências de segurança

• Senhas de 1 caracter?!

• Não se importam com a

proteção do usuário!

12

13

A2 – Cross Site Scripting (XSS)

Acontece a qualquer momento…• Dados não processados do atacante são enviados para um navegador de um usuário

inocente

Dados brutos…• Armazenados em banco de dados

• Refletidos de entrada da web (formulário, campo oculto, URL, etc…)• Enviado diretamente ao cliente JavaScript

Praticamente toda aplicação web tem este problema!

• Tente isto no seu navegador – javascript:alert(document.cookie)

Impacto Típico• Roubar a sessão do usuário, roubar dados sensíveis, reescrever a página web ou redirecionar usuário para sites de phishing ou malware• Mais severo: Instalar proxy XSS que permita atacante observar e direcionar todo o comportamento do usuário em sites vulneráveis e

forçar o usuário a outros sites

14

15

16

A3 – Falha de Autenticação e Gerência de Sessões

HTTP é um protocolo “stateless” (sem estado)

• Significa que as credenciais deve ser enviadas a cada requisição• Devemos utilizar SSL para tudo que necessite de autenticação

Falhas no controle das sessões• SESSION ID usado para controlar o estado já que o HTTP não faz

• E é tão bom quanto as credenciais para o atacante…• SESSION ID é comumente exposto na rede, no navegador, nos logs, etc

Cuidado com as alternativas!• Mudar minha senha, lembrar minha senha, esqueci minha senha, pergunta secreta, logout,

email, etc…

Impacto Típico• Contas de usuários comprometidas ou sessões de usuários sequestradas

17

A7 – Armazenamento com Criptografia Insegura

Armazenando dados sensíveis de forma insegura

• Falha em identificar todos os dados sensíveis• Falha em identificar todos os locais onde os dados sensíveis são armazenados

• Falha em proteger devidamente estes dados em todos os locais

Impacto Típico

• Atacantes acessam ou modificam informações privadas ou confidenciais• Obtém segredos para usá-los em novos ataques

• Embaraço da empresa, insatisfação dos clientes e perda de confiança• Gastos para limpar o incidente

• Empresas são processadas e/ou multadas

18

A7 – Armazenamento com Criptografia Insegura

Texto planoMD5

SHA-1Email

19

20

21

Criptografar dados pra quê?

22

Depois não vai chorar...

A9 – Fraca Proteção na Camada de Transporte

Transmitindo dados sensíveis de forma insegura

• Falha em identificar todos os dados sensíveis• Falha em identificar todos os locais que estes dados são enviados• Falha em devidamente proteger estes dados em todos os locais

Impacto Típico

• Atacantes acessam ou modificam informações privadas ou confidenciais• Atacantes obtém segredos para usar em ataques futuros

• Embaraço da empresa, insatisfação dos clientes e perda de confiança• Custos de limpar o incidente (forense)

• Empresas são processadas e/ou multadas

24

A9 – Fraca Proteção na Camada de Transporte

• HTTP não é seguro!

• Dados trafegam abertamente na

rede

• Sites dizem utilizar “protocolo

seguro”

• HTTPS não é lento! Porque não usar?

Custom Code

Empregados

ParceirosVítima Externa Backend

Systems

Atacante Externo

1Atacante externo

rouba dados e credenciais

da rede

2 Atacante interno rouba

dados e credenciais da rede interna

Atacante Interno (Insider)

Dados trafegam abertamente na rede...

26

Cadê o protocolo seguro?

27

Único que utiliza?!

Ataques

29

Engenharia Social

• Pessoas são o elo fraco da

segurança

• Utilizar um cupom falso ou já

utilizado

• Estabelecimentos raramente

verificam autenticidade das

informações

• “Teoricamente” não há

consequências!

30

É difícil forjar um desses?

31

• Facilmente realizado em redes sem fio

• Utilizando sniffers ou o Firesheep

• Captura as sessões do usuários

• Imprime os cupons e pronto!

• Sites permitem a mudança no nome do cupom

Captura de Sessões

32

Ainda não usa SSL?

33

Como fazer?

• Firesheep + TamperData

• Escolher um alvo

• Obter o nome do cookie de sessão

• Criar o script para o Firesheep

• Começar a capturar!

34

Modelo de Scriptregister({

name: “Site Alvo",

url: "http://sitealvo.com/login”,

domains: [ “sitealvocom" ],

sessionCookieNames: [ "JSESSIONID" ],

identifyUser: function () {

var resp = this.httpGet(this.siteUrl);

}

});

35

Site Falso

• Criar um site de compra coletiva falso

• Obter as senhas dos usuários

• Testar em outros sites (senhas iguais?)

• Obter os emails dos cadastrados

• Enviar spam ou malware

• Quantos cadastros você tem?

36

Você compraria neste site?

Contramedidas

38

Na hora da compra...

1. Visite o site do estabelecimento

2. Telefone

3. Verifique como funciona a desistência.

4. Conheça a política de privacidade

5. Fique atento à página de pagamento

6. Procure saber o telefone ou o endereço

39

Dicas Simples

• Não salvar os dados do cartão de crédito

• E utilizar um cartão específico (baixo limite)

• Não informar dados pessoais:

• CPF, RG, Data de Nasc, Endereço, Tel

• Não clicar em ofertas recebidas por email

• São facilmente forjáveis!

40

Dicas Técnicas

Desenvolvedores/Compras Coletivas

• Utilizar HTTPS para comunicação

• Realizar a validação de paramêtros

• Armazenar senhas em Hash + Salt

• Realizar testes de invasão e

auditorias

41

Dicas Técnicas

Usuários/Consumidores

• Add-ons Firefox ou Chrome

42

Caso ainda tenha problemas...

43

Projetos Futuros

• Analisar e-commerces que

implementam CaaS (Cashier-as-a-

Service) brasileiros

• PagSeguro, Mercado Pago,

Pagamento Digital

• Estudar Protocolo 3-D Secure

• Verified by Visa e MasterCard

SecureCode

Perguntas?

44

45

Referênciashttp://www.owasp.org/index.php/Top_10_2010-Main

http://www.baixaki.com.br/tecnologia/5995-como-funcionam-os-sites-de-compras-coletivas-e-quais-cuidados-devemos-tomar.htm

http://www.higorjorge.com.br/258/comercio-eletronico-crimes-ciberneticos-e-procedimentos-preventivos

http://miguelalmeida.pt/2010/12/comprar-na-internet-com-seguran%C3%A7a.html

http://safeandsavvy.f-secure.com/2010/09/29/shop-savvy-7-practices-to-shop-safely-online

www.owasp.org

|46

46