• Nenhum resultado encontrado

Segurança em Redes de Computadores

N/A
N/A
Protected

Academic year: 2021

Share "Segurança em Redes de Computadores"

Copied!
25
0
0

Texto

(1)

1

Segurança em Redes de

Computadores

Capítulo 7

Segurança WEB

Slides por H. Johnson & S. Malladi; Modificados por S. J. Fritz, 2006;

Modificados e traduzidos por P.S. Nicolletti, 2007;

(2)

2

Resumo

• Considerações de Segurança WEB

• Secure Socket Layer (SSL) e Transport Layer Security (TLS)

• Secure Eletronic Transactions (SET)

• Leituras

(3)

3

Considerações de Segurança WEB

Introdução

• A Internet é via de mão dupla (você vê, mas também é visível)

• A WEB é cada vez mais visível (sites pessoais, sites de serviços, lojas eletrônicas)

• Embora navegador seja fácil de usar, servidor Web seja [relativamente] fácil de configurar, conteúdo Web seja fácil de desenvolver, o software subjacente é muito complexo – facilitando o aparecimento de muitas falhas de segurança

• Um servidor Web pode ser violado e servir como plataforma de ataque para toda a rede de uma organização – uma vez corrompido, o servidor Web pode permitir acesso a dados e sistemas que não fazem parte do serviço Web propriamente dito

• Usuários casuais e/ou não treinados em segurança são clientes comuns de serviços Web

(4)

4

Considerações de Segurança WEB

Ameaças

Integridade

Alteração de dados armazenados Navegador cavalo de Tróia

Alteração de dados em memória Alteração de dados em trânsito

Confidencialidade

Espionagem na rede

Roubo de dados no servidor Roubo de dados do cliente

Informação de configuração da rede Informação sobre diálogo entre cliente e servidor

Consequências

Perda de informação

Comprometimento do hospedeiro Vulnerabilidade a outras ameaças

Consequências

Perda de informação Perda de privacidade

Prejuízos financeiros e de imagem

Prevenção

Verificação criptográfica

(cryptographic checksun = MAC)

Prevenção

(5)

5

Considerações de Segurança WEB

Ameaças

Proibição de Serviço (DoS)

Encerramento de “Threads” de usuário Inundação de servidor com requisições falsas

Saturação de disco ou memória

Isolamento do servidor por ataque DNS

Autenticação

Roubo de identidade de usuários legítimos

Falsificação de dados

Consequências

Serviço intermitente

Serviço ruim (chato) de usar Serviço inacessível

Consequências

Deturpação de usuário

Tomar informação falsa como verdadeira

Prevenção

Difícil de prevenir, principalmente se for DDoS

Prevenção

(6)

6

Considerações de Segurança WEB

Enfoques de Segurança

(7)

7

SSL e TLS

Introdução

• SSL foi criado pela Netscape

• SSLv3 foi a base para TLS

• TLS é proposta padrão para Internet gerado por uma IETF

(8)

8

SSL e TLS

(9)

9

SSL e TLS

Arquitetura SSL - Introdução

• Usa TCP para prover serviço fim-a-fim seguro

• Compõe-se de 4 protocolos

– Handshake

– Change Cipher Specification

– Alert

– Record

• Conceitos importantes

Conexão – serviço de transporte (no sentido OSI) fim-a-fim,

transiente, associado com uma sessão

Sessão – associação entre um cliente e um servidor, criada pelo

protocolo de ”handshake”, definindo conjunto de parâmetros de criptografia, que podem ser compartilhados por várias conexões;

sessões são usadas para evitar negociações demoradas de parâmetros de segurança para cada nova conexão entre o mesmo par

(10)

10

SSL e TLS

Arquitetura SSL – Record Protocol

• SSL Record Protocol fornece dois serviços para as conexões SSL

Confidencialidade – o Handshacke Protocol define uma chave secreta que

é usada em criptografia simétrica

Integridade – o Handshake Protocol também define uma segunda chave

secreta que é usada para geração de MAC

• Cabeçalho do SSL Record protocol contém

– Content Type (8 bits) – indica o protocolo da carga útil (HTTPS, SSH, SCP, POP3S, IMAP4S, SSL Handshake, SSL Change Cipher, etc.)

– Major Version (8 bits) – Versão (maior) do SSL em uso (3, para SSLv3.0, p.ex.)

– Minor Version (8 bits) versão (menor) do SSL em uso (0, para SSLv3.0, p. ex.)

– Compressed Length (16 bits) – tamanho em bytes da carga útil (plaintext)

(11)

11

SSL e TLS

(12)

12

SSL e TLS

Arquitetura SSL

Change Cipher Spec. Protocol, Alert Protocol

• Change Cipher Protocol

– É o mais simples de todos, sendo usado unicamente para indicar mudanças de estado em uma conexão

• Alert Protocol

– É usado para transportar mensagens de erro para uma entidade

– Cada mensagem de erro tem 2 bytes • Nível – Aviso (1) ou Crítico (2)

• Código – Indicativo do erro propriamente dito. P. Ex. – Bad_record_mac (Crítico)

– Certificate_expired (Aviso)

– Erros críticos encerram imediatamente uma conexão • Outras conexões em andamento não são afetadas • Novas conexões não são permitidas

(13)

13

SSL e TLS

Arquitetura SSL - Handshake Protocol

• É a parte mais complexa do SSL

• Permite ao cliente e ao servidor

– Autenticarem-se entre si

– Negociar algoritmos de criptografia e autenticação

– Trocar chaves de criptografia

• É usado sempre antes de qualquer troca de dados de aplicação

• Suas mensagens tem a forma (BER – Basic Enconding Rules)

– Type (1 byte) – Indica uma de dez mensagens possíveis (ver tabela no próximo slide)

– Length (3 bytes) – Tamanho da mensagem em bytes

– Contend (>= 0 bytes) – Parâmetros associados com a mensagem (ver tabela no próximo slide)

(14)

14

SSL e TLS

Arquitetura SSL - Handshake Protocol

Message Type Parameters

Hello_request Null

Client_hello Version, random, session id, cipher suite, compression method

Server_hello Version, random, session id, cipher suite, compression method

Certificate Chain of X.509v3 certificates Server_key_exchange Parameters, signature

Certificate_request Type, authorities Server_done Null

Certificate_verify Signature

Client_key_exchange Parameters, signature Finished Hash value

(15)

15

SSL e TLS

Arquitetura SSL - Handshake Protocol

Fase Mensagem(ns) Descrição

1 C->S: cliente_hello Version: mais atual suportada; timestamp+n.seq.; sessionID: 0 => nova, != 0 => velha; cipherSuite: suporte de criptografia (em ordem decrescente de prioridade); compressMethod: suporte de compressão (em ordem decrescente de prioridade)

S->C: server_hello Version: maior versão <= suportada pelo cliente;

timestamp+seq.; sessionID: nova, se sessionID.cli = 0, igual à do cliente, se sessionID.cli != 0; cipherSuite: melhor disponível, que atenda prioridade do cliente; compressMethod: melhor possível, que atenda

prioridade do cliente 2 S->C: - Certificate - Server_key_exchange - Certificate_request - Server_hello_done

Autenticação do servidor, troca chave de sessão, solicita autenticação de cliente (opcional), encerra apresentação

(16)

16

SSL e TLS

Arquitetura SSL - Handshake Protocol

Fase Mensagem(ns) Descrição

3 C->S:

- Certificate

- Client_key_exchange

- Certificate_verify

Cliente envia certificado (se solicitado), completa troca de chave de sessão, solicita (eventualmente) que servidor verifique seu certificado

4 C->S: - Change_cipher_spec - Finished S->C: - Change_cipher_spec - Finished

Cliente e servidor ajustam detalhes finais de cifragem e encerram handshake; tem início a troca da aplicação

(17)

17

SSL e TLS

TLS - Considerações

• É uma proposta de padrão Internet (RFC 2246)

• É muito semelhante ao SSLv3.0

• Pequenas diferenças

– version number (atual é 3.1)

– message authentication code (também usa HMAC, com pequeno ajuste)

– pseudorandom function

– alert codes (acrescenta novos alertas)

– cipher suites (idem SSLv3, exceto Fortezza)

– client certificate types (idem SSLv3, menos {rsa|dss}.ephemeral e fortezza.kea)

– certificate_verify and finished message (pesqueno ajuste na aplicação de MD5 e SHA-1)

– cryptographic computations (pequeno ajuste na geração de chave secreta)

– Padding (no SSLv3 é o mínimo necessário para a cifragem de bloco; no TLS pode ser variável (o mínimo e seus múltiplos) para dificultar

cripto-análise baseada na avaliação do tamanho das mensagens trocadas)

(18)

18

Secure Electronic Transactions

Introdução

• Especificação aberta de criptografia e segurança para proteção de transações com cartão de crédito na Internet – envolve comprador, vendedor, agentes financeiros (emissor de cartão de crédito e banco) e autoridade certificadora

• Versão atual, SETv1, derivou de uma iniciativa de MasterCard e Visa em 1996

• Depois IBM, Microsoft, Netscape, RSA, Terisa e Verisign agregaram esforços para, em 1998, chegar à primeira leva de produtos com

suporte/utilização de SET

• SET não é um sistema de pagamento em si

– É um conjunto de formatos e protocolos de segurança que permitem o uso da infraestrutura de pagamento via cartões de crédito em uma rede aberta, tal como Internet, de modo seguro

(19)

19

Secure Electronic Transactions

Serviços

• Em essência, SET fornece

– Canal de comunicação seguro entre todas as entidades envolvidas em uma transação com cartão de crédito

– Autenticidade com uso de certificados digitais X.509v3

– Privacidade porque a informação somente é disponibilizada para as partes envolvidas na transação quando e onde for necessária (ex. Cartão de crédito não é visto pelo vendedor)

• SET tem especificação complexa (editadas em maio/1997)

– Livro 1: Descrição Comercial (80 páginas)

– Livro 2: Guia do Programador (629 páginas)

– Livro 3: Definição Formal de Protocolo (262 páginas)

• Um total de 971 páginas

– SSLv3 tem especificação de 63 páginas

(20)

20

Secure Electronic Transactions

Requisitos

• Requisitos (do Livro 1)

– Confidencialidade de ordens de pedido e pagamento (com criptografia – DES, 3DES, AES – troca de chaves com RSA)

– Integridade dos dados trafegados (assinatura digital – SHA-1, HMAC)

– Autenticação de comprador (assinatura e certificado digital)

– Autenticação de vendedor (assinatura e certificado digital)

– Autenticação de agente financeiro (assinatura e certificado digital)

– Garantia de uso das melhores práticas de segurança e técnicas de projeto de sistemas para proteger todas as partes legítimas em uma transação de comércio eletrônico (é bem testado sobre protocolos e algoritmos de alta segurança)

– Criação de um protocolo que não dependa de mecanismo de segurança em transporte (camada 4) nem impeça seu uso (funciona sobre TCP/IP puro, mas não interfere no uso de SSL/TLS e/ou IPsec)

– Facilidade e encorajamento à interoperabilidade entre fornecedores de software e serviços de rede (é independente de plataforma de hardware, sistema operacional e software Web)

(21)

21

Secure Electronic Transactions

(22)

22

Secure Electronic Transactions

Participantes

• Comprador (Cardholder)

• Vendedor (Merchant)

• Issuer (Emissor do cartão de crédito)

• Acquirer (Banco do Vendedor)

• Payment gateway (operado pelo banco do vendedor ou um terceirizado, processa as mensagens de pagamento do vendedor)

(23)

23

Secure Electronic Transactions

Transação

• 1) O comprador abre uma conta (adquire um cartão de crédito)

• 2) O comprador recebe um certificado X.509v3

• 3) O vendedor tem seus próprios certificados

• 4) O comprador emite uma ordem de compra

• 5) O vendedor é verificado (enviando seu certificado para o comprador)

• 6) O comprador envia ordem de compra e pagamento (e seu certificado)

• 7) O vendedor solicita autorização de pagamento (ao payment gateway)

• 8) O vendedor confirma a ordem de compra (para o comprador)

• 9) O vendedor providencia o produto ou serviço

(24)

24

Leituras

Obrigatória

Stallings, W., Network Security Essentials, 3rd Ed., Cap. 7

Recomendada

– Rescorla, E; SSL and TLS: Designing and Building Secure Systems; Addison-Wesley, 2001

(25)

25

Questões de Revisão

• Quais são as vantagens de cada um dos três enfoques mostrados na figura 7.1?

• Que protocolos compõe o SSL?

• Qual é a diferença entre conexão e sessão SSL?

• Que serviços são fornecidos pelo SSL Record protocol?

• Que passos são realizados na transmissão SSL Record protocol?

Referências

Documentos relacionados

O objetivo deste trabalho foi avaliar épocas de colheita na produção de biomassa e no rendimento de óleo essencial de Piper aduncum L.. em Manaus

Descentralização, fortalecendo-se, no âmbito da Instituição de Ensino Superior, o seu caráter institucional. Guardadas as linhas gerais do Programa, que visam assegurar o seu

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –

As respostas dos professores parecem indicar que as TIC estão sendo utilizadas na modalidade presencial apenas para facilitar a tarefa de ensinar, mais do que

O caso de Orquídea que, cansada das traições do companheiro, coloca um ponto final no relacionamento, traz elementos a mais: não se preocupava com os que os outros iam falar,

Segundo o mesmo autor, a animação sociocultural, na faixa etária dos adultos, apresenta linhas de intervenção que não se esgotam no tempo livre, devendo-se estender,

13 Introdução ao MapServer ● Arquitectura Dados Serviços Servidor WEB Servidor Mapas Aplicações •Desktop •WEB.. Instalação