Seguranca web

78
Segurança WEB Philippe Guillaume

Transcript of Seguranca web

Segurança WEB

Philippe Guillaume

Agenda

• Economia dos malwares• Maiores vulnerabilidades da WEB• Metodologia• Tecnologia• Frameworks, normas e padrões• Conclusão

Porque proteger a WEB?

“A WEB se tornou o novo vetor de ameaças preferido dos hackers e cyber criminosos para distribuir malware e conseguir roubo de identidades, fraudes financeiras e espionagem corporativo.” -- IDC

• "Malware” – abreviação de malicious software– Se refere a qualquer software desenhado para

causar estrago para um simples computador, servidor ou rede de computadores, seja um virus, spyware, etc…

• O Conteúdo malicioso da WEB pode expor a empresa a custos mais elevados, produtividade menor e problemas legais.

Uma segurança WEB efetiva resguarda os colaboradores contra ameaças online e protege

a infra estrutura de rede.

Porque proteger a WEB?

A ameaça de malware está crescendo…

Malware entregado pelos Websites aumenta

• Malware acumulado– 2007: 5.8 milhões– 2011: 65 milhões (em junho) Aumento de 1120%

• URLs maliciosas – 7,300 novas URLs maliciosas por dia

• Websites Legítimos são Comprometidos80% dos Websites tem código malicioso

*Source: McAfee Labs

Ameaças de Código Malicioso em 12 meses

133%

De aumento dos sites de Phishing !

500%

Mais Variações de Malware

Attack TargetUsers vs Machines

Dos Websites vulneráveis são consertados!

4%

Sucesso do ataque aumenta!

Das infecções de malware são por exploração de aplicação WEB

80%

Web 2.0e o catalisador!

Das infecções de Malware expõem

dados confidenciais!

68%

…And Growing More Effective

Objetivo do ataqueUsuário x Computador

Tendência alarmante 2011

Source: Cisco ScanSafe

Malwares da WEB únicos encontrados

297% Aumento

Integrantes da economia de Malware

Agenda

• Economia dos malwares• Maiores vulnerabilidades da WEB• Metodologia• Tecnologia• Frameworks, normas e padrões• Conclusão

ESTATISTICAS DAS VULNERABILIDADES

Fonte: ptresearch.blogspot.com/2010/06/web-application-vulnerability.html

ESTATISTICAS DOS NIVEIS DE RISCOS

Fonte: ptresearch.blogspot.com/2010/06/web-application-vulnerability.html

Vulnerabilidades XSS

Relatório de X-Force da IBM:No meio de 2012, 47% das vulnerabilidades de segurança afeta aplicações WEB– 41% em 2011

– XSS atinge a taxa de 51%

OWASP Top Ten (2010 Edition)A1: Injection A2: Cross-Site

Scripting (XSS)

A3: Broken Authentication

and Session Management

A4: Insecure Direct Object References

A5: Cross Site Request Forgery

(CSRF)

A6: Security Misconfiguration

A7: Failure to Restrict URL Access

A8: Insecure Cryptographic

Storage

A9: Insufficient Transport Layer

Protection

A10: Unvalidated Redirects and

Forwards

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

A1 - SQL Injection

Fire

wal

l

Hardened OS

Web Server

App ServerFi

rew

all

Dat

abas

es

Lega

cy S

yste

ms

Web

Ser

vice

s

Dire

ctor

ies

Hum

an R

esrc

s

Billi

ng

Custom Code

APPLICATIONATTACK

Net

wor

k La

yer

Appl

icati

on L

ayer

Acco

unts

Fina

nce

Adm

inist

ratio

nTr

ansa

ction

s

Com

mun

icati

onKn

owle

dge

Mgm

tE-

Com

mer

ceBu

s. F

uncti

ons

HTTP request

SQL

queryDB Table

HTTP response

"SELECT * FROM accounts WHERE acct=‘’ OR 1=1--’"

1. Aplicação apresenta formulário p/ atacante2. Atacante envia um ataque nos dados do formulário3. Aplicação encaminha ataque p/ base de dados em um query SQL

Account Summary

Acct:5424-6066-2134-4334Acct:4128-7574-3921-0192Acct:5424-9383-2039-4029Acct:4128-0004-1234-0293

4. Base de dados executa o query com ataque e envia o resultado criptografado p/ aplicação

5. Aplicação decripta os dados normalmente e envia o resultado p/ usuário

Account:

SKU:

Account:

SKU:

A1 - SQL Injection

Exploração: Fácil

Prevalência: Comum

Detecção: Media

Impacto: Severo

A2 - Cross-Site Scripting

Aplicação com vulnerabilidade XSS

3

2

Atacante coloca armadilha – Atualizar Perfil

Atacante coloca um script malicioso na pagina WEB que armazena os dados no servidor

1

Vitima acessa a pagina – vê o perfil do atacante

Script envia silenciosamente o cookie de sessão da vitima para o atacante

Script roda no browser da vitima c/ total acesso a DOM e cookies

Custom Code

Acco

unts

Fina

nce

Adm

inist

ratio

nTr

ansa

ction

s

Com

mun

icati

onKn

owle

dge

Mgm

tE-

Com

mer

ceBu

s. F

uncti

ons

Exploração: Media

Prevalência: Muito Comum

Detecção: Fácil

Impacto: Moderado

A2 - Cross-Site Scripting

A3- Broken Authentication

Custom Code

Acco

unts

Fina

nce

Adm

inis

trati

onTr

ansa

ction

s

Com

mun

icati

onKn

owle

dge

Mgm

tE-

Com

mer

ceBu

s. F

uncti

ons1 Usuário envia credenciais

2Site usa reescrita de URL(ex. coloca sessão na URL)

3 Usuário clica no link para http://www.hacker.com em um fórum

www.boi.com?JSESSIONID=9FA1DB9EA...

4

Hacker checa logs no www.hacker.com e acha JSESSIONID do usuário

5 Hacker utiliza JSESSIONID e se apropria a conta da vitima

Exploração: Media

Prevalência: Comum

Detecção: Media

Impacto: Severo

A3- Broken Authentication

• Hacker observa o parâmetro acct é 6065

?acct=6065

• Ele modifica para um valor próximo

?acct=6066

• Hacker vê as informações da conta da vitima

https://www.onlinebank.com/user?acct=6065

A4 – Referencia direta insegura a objeto

Exploração: Fácil

Prevalência: Comum

Detecção: Fácil

Impacto: Moderado

A4 – Referencia direta insegura a objeto

3

2

Hacker coloca armadilha em um site da Internet(ou simplesmente via e-mail)1

Quando logado no site vulnerável,a vitima vê o site do Hacker

O site vulnerável vê uma requisição legitima da vitima e executa a ação requisitada

<img> tag carregada pelo browser – envia requisição GET (com credenciais) para o site vulnerável

Custom Code

Acco

unts

Fina

nce

Adm

inis

trati

onTr

ansa

ction

s

Com

mun

icati

onKn

owle

dge

Mgm

tE-

Com

mer

ceBu

s. F

uncti

ons

Hidden <img> tag contem ataque contra site vulnerável

Aplicação com vulnerabilidade CSRF

A5 – Cross Site Request Forgery (CSRF)

Exploração: Media

Prevalência: Comum

Detecção: Fácil

Impacto: Moderado

A5 – Cross Site Request Forgery (CSRF)

Hardened OS

Web Server

App Server

Framework

A6 – Mal configuração de Segurança

App Configuration

Custom Code

Acco

unts

Fina

nce

Adm

inist

ratio

nTr

ansa

ction

s

Com

mun

icati

onKn

owle

dge

Mgm

tE-

Com

mer

ceBu

s. F

uncti

ons

Test Servers

QA Servers

Source Control

Development

Database

Interno

Exploração: Fácil

Prevalência: Comum

Detecção: Fácil

Impacto: Moderado

A6 – Mal configuração de Segurança

A7 – Armazenamento criptografado inseguro

Custom Code

Acco

unts

Fina

nce

Adm

inis

trati

onTr

ansa

ction

sCo

mm

unic

ation

Know

ledg

e M

gmt

E-Co

mm

erce

Bus.

Fun

ction

s

1

Vitima digita numero cartão de credito no formulário

2Se Erro, logs detalhes do CC porque, por exemplo, gateway

da operadora está fora

4 Empregado Malicioso rouba milhões de números de cartão de credito

Log files

3Logs são accessíveis para todos os membros de TI

para debug

Exploração: Difícil

Prevalência: Pouco Comum

Detecção: Difícil

Impacto: Severo

A7 – Armazenamento criptografado inseguro

• Hacker observa que a URL indica o papel

/user/getAccounts

• Ele modifica para um outro diretório (papel)

/admin/getAccounts, ou /manager/getAccounts

• Hacker vê mais contas do que devia

https://www.onlinebank.com/user/getAccountshttps://www.onlinebank.com/user/getAccounts

A8 – Falha de acesso a URL restrita

Exploração: Fácil

Prevalência: Pouco Comum

Detecção: Media

Impacto: Moderado

A8 – Falha de acesso a URL restrita

Custom Code

Colaboradores

Parceiros NegóciosVitima externa

Backend Systems

Hacker Externo

1

Hacker externo rouba credenciais e dados fora da rede

2

Hacker interno rouba credenciais e dados dentro da rede interna

Hacker interno

A9 – Proteção Insuficiente da Camada de Transporte

Exploração: Difícil

Prevalência: Comum

Detecção: Fácil

Impacto: Moderado

A9 – Proteção Insuficiente da Camada de Transporte

3

2

Hacker envia um ataque para a vitima via email ou página web

From: Internal Revenue ServiceSubject: Your Unclaimed Tax RefundOur records show you have an unclaimed federal tax refund. Please click here to initiate your claim.

1

Aplicação redireciona a vitima p/ o site do Hacker

Request sent to vulnerable site, including attacker’s destination site as parameter. Redirect sends victim to attacker site

Custom Code

Acc

ount

s

Fina

nce

Adm

inis

trati

on

Tran

sacti

ons

Com

mun

icati

on

Know

ledg

e M

gmt

E-Co

mm

erce

Bus.

Fun

ction

s

4 O site malicioso instala malware ou rouba informações privadas

Vítima clica no link com parâmetro invalido

Evil Site

http://www.irs.gov/taxrefund/claim.jsp?year=2006&

… &dest=www.evilsite.com

A10 –Redirects inválidos

Exploração: Media

Prevalência: Pouco Comum

Detecção: Fácil

Impacto: Moderado

A10 –Redirects e Forwards inválidos

CLICKJACKING

Agenda

• Economia dos malwares• Maiores vulnerabilidades da WEB• Metodologia• Tecnologia• Frameworks, normas e padrões• Conclusão

TRÊS PILARES DA SEGURANCA DA INFORMAÇÃO

• Confidencialidade– Usuário não autorizado não pode acessar os

dados• Integridade

– Usuário não autorizado não pode manipular os dados

• Disponibilidade– Usuário não autorizado não pode tornar os dados

indisponíveis para os usuários legítimos

Três Princípios

• Defesa em profundidade– Vários níveis de defesa, redundantes

• Menor privilegio– Atribuir o menos de liberdade possível

• Simplicidade– Complexidade traz erros e vulnerabilidades

Duas Praticas

Filtrar as EntradasAssegurar que os dados de entrada são validos

“Escapar” as SaídasAssegurar que os dados de saída

não são mal interpretados

• AMEACA: Uma ocorrência que pode danificar um ativo• VULNERABILIDADE: fraqueza que rende possível uma ameaça• ATAQUE: Ação que explora a vulnerabilidade

AMEACA

VULNERABILIDADE ATAQUE

Os Ataques exploram as vulnerabilidades fazendo de uma ameaça uma Realidade

Questões de Segurança

• Problemas que afetam as aplicações WEB– Validação das entradas e dos dados– Autenticação– Autorização– Gestão da configuração– Dados sensíveis– Gestão da criptografia– Gestão da sessão– Log e auditoria

IntegrarSegurança no

ciclo de vida do desenvolvimento

Processo de desenvolvimento WEB

• Similar ao Ciclo de Vida de Desenvolvimento de Software– Endereçar a complexidade dos sistemas baseados

na WEB– Minimizar os riscos de desenvolvimento– Lidar com mudanças– Entregar projetos no prazo– Fornecer retorno (feedback)

Agenda

• Economia dos malwares• Maiores vulnerabilidades da WEB• Metodologia• Tecnologia• Frameworks, normas e padrões• Conclusão

Segurança de comunicação

Segurança em cada trecho ou de fim-a-fim ?

Assinatura digital de mensagem

Criptografia de mensagem

SSL – Secure Socket Layer

SOAP

Segurança de Web Service (OASIS)

WS-Security

SAML – Security Assertion Markup Language

O que é um Diretório?

• O que é um diretório?– É um banco de dados especializado com informações

descritivas baseadas em atributos e organizadas em forma de árvore.

• Característica de um diretório:– Resposta rápida a grande quantidade de consultas.

• Tipos de diretórios:– De aplicações: diretório do MS Exchange, etc.– De sistemas operacionais de rede: AD (Microsoft)– De propósito específico: DNS– De propósito geral: LDAP

O que é o LDAP?

• Lightweight Directory Access Protocol– Protocolo Leve de Acesso a Diretórios. – Trabalha na camada de aplicação da pilha de

protocolos TCP/IP, como por exemplo o SMTP, HTTP, FTP, TELNET e tantos outros.

– RFCs 2251 – 2830 e 3377– Cliente-Servidor.– Orientado a mensagens.

Por que usar o LDAP?

• Integração entre sistemas Operacionais• Interligação ( Windows , Linux, Unix , MacOS)

• Integração entre Serviços • Serviços de e-mail, FTP , Web etc.

• Desempenho nas consultas: Desenvolvido com ênfase na leitura, ou seja, os dados serão lidos rapidamente por um número maior de consultas simultâneas.

• Difundido no mercado• Não requer hardware pesado para operações

Diretório LDAPRepresentação gráfica de parte de um diretório LDAP

Objetos do LDAP

Tivoli Access Manager – Web Access Control

MS IISGatewayWireless

InternetWAS

Portal

Tivoli Access Manager – Web Access Control

MS IISGatewayWireless

InternetWAS

Portal

PolicyManager

Object/ACL DB

Usuário/grupos

Virtual Web Namespace

WebSEAL

Object/ACL DB

Alta disponibilidade – Alta performance

MS IISGatewayWireless

InternetWAS

Portal

PolicyManager

Object/ACL DB

Usuário/grupos

Virtual Web Namespace

WebSEALWebSEAL

WebSEAL

F5

Cobertura do TAMeB

Web/URL• URL• programa CGI• Arquivos HTML• Servlet Java• Classe Java

Servidor de Aplicação• WAS• WebLogic• qualquer c/ JEE, JAAS• MS IIS

Pacote• Portal: Vignette• SIEBEL• SAP• COGNOS• ...

Espaço único de objetos protegidos

Possibilidades de Autenticação

• Formulário• Autenticação Básica HTTP• Certificado X.509 (v3)• Token SecureId RSA• Autenticação Header HTTP• Customizado via API• Mecanismo Autenticação WAP• Re-autenticação sobre recursos sensíveis

PolicyManager

Object/ACL DB

Usuário/grupos

Virtual Web Namespace

WebSEAL POP RegraACL

Processo de Autorização

ACL: permissões dos usuários / gruposPOP: características de acesso ao recursoRegra: condição da requisição

Processo de Autorização

ACLSatisfeito?

POPSatisfeito?

DecisãoRegra?

Acesso determinado pelas permissões deUsuário/Grupo

Características do objeto (Horário, audit,...)

Acesso determinado dinamicamente, baseado nas condições atuais

Requisição “Negar” “Negar” “Permitir/Negar”

Não Não

Sim Sim

Agenda

• Economia dos malwares• Maiores vulnerabilidades da WEB• Metodologia• Tecnologia• Frameworks, normas e padrões• Conclusão

Publicações serie NT 800-..

SHERWOOD APPLIED BUSINESS SECURITY ARCHITECTURE

Adoção de um padrão

Que padrão é o melhor?

• ISO e NIST custam caro para implementar corretamente• ISO, CobIT, PCI são aplicados para empresa global• PCI e relativamente curto, extremamente detalhado e

fácil de entender

Pode aplicar PCI –DSS para ambiente WEB não Cartão de Credito ?

Agenda

• Economia dos malwares• Maiores vulnerabilidades da WEB• Metodologia• Tecnologia• Frameworks, normas e padrões• Conclusão

Recomendações

• Bom senso• Conscientização• Simplicidade• Estudo• Comunicação

“Seu tempo é limitado, então não perca vivendo a vida de outra pessoa. Não seja tapeado por dogmas – que é viver pela crença de outra pessoa. Não deixe o barulho da opinião dos outros calar sua voz interior. E mais importante, tenha a coragem de seguir seu coração e intuição. De alguma forma eles já sabem o que você verdadeiramente quer se tornar. Tudo o mais é secundário”. Steve Jobs