45
Redes II : Segurança Prof. Dr. Amine BERQIA Prof. Dr. Amine BERQIA [email protected] [email protected] http://w3.ualg.pt/~bamine / http://w3.ualg.pt/~bamine /

Redes II : Segurança Prof. Dr. Amine BERQIA [email protected] bamine

Embed Size (px)

Citation preview

Page 1: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Redes II : Segurança

Prof. Dr. Amine BERQIAProf. Dr. Amine BERQIA [email protected] [email protected]

http://w3.ualg.pt/~bamine / http://w3.ualg.pt/~bamine /

Page 2: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

LinksLinks

http://www.securityfocus.com

http://www.linuxsecurity.com

http://www.openssh.org

Page 3: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

O que é segurança de O que é segurança de rede ?rede ?

Confidencialidade: apenas o remetente e o receptor desejado, deverão “entender” a mensagem.• remetente codifica a msg• receptor descodifica msg

Autenticação: remetente e o receptor querem confirmar a identidade um do outro

Integridade de mensagem: remetente e o receptor querem assegurar que a mensagem não tenha sido alterada (em trânsito, ou depois) sem conhecimento

Page 4: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Ameaças de segurança na Ameaças de segurança na InternetInternet

Packet sniffing: • meio por difusão• NIC promíscuo lê todos os pacotes que passam na rede • pode ler todos os dados não codificados (por exemplo passwords)• por exemplo: C captura pacotes de B's

A

B

C

src:B dest:A payload

Page 5: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Ameaças de segurança na Ameaças de segurança na InternetInternet

IP Spoofing: • pode-se gerar pacotes de IP directamente duma

aplicação, introduzindo qualquer valor no campo de endereço IP origem

• o receptor não destingue se origem for spoofed • por exemplo: C finge ser B

A

B

C

src:B dest:A payload

Page 6: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Ameaças de segurança na Ameaças de segurança na InternetInternet

Denial of service (DOS): • Grande volume de pacotes gerados com fim maléfico inundam

o receptor • DOS distribuído (DDOS): múltiplas fontes coordenadas

inundam o receptor • por exemplo, C e anfitrião remoto fazem SYN-attack a A

Um

B

C

SYN

SYNSYNSYN

SYNSYN

SYN

Page 7: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Assinaturas digitais (1)Assinaturas digitais (1) Técnica criptográfica

análogo a assinaturas escritas à mão.

Remetente (o Bob) assina digitalmente documento, estabelecendo que ele é dono/criador do documento.

A recipiente (a Alice), verificável e não falsificável: pode verificar que Bob, e mais ninguém, assinou o documento.

Assinatura digital simples para mensagem m:

O Bob codifica m com a chave pública dele dB, criando assim a mensagem assinada, dB(m).

Bob envia m e dB(m) para Alice.

Page 8: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Assinaturas digitais (2)Assinaturas digitais (2) Suponha que a Alice

recebe msg m, e assinatura digital dB(m)

Alice verifica que m assinada por Bob aplicando chave pública eB a dB(m) então confere eB(dB(m)) = m.

Se eB(dB(m)) = m, quem assinou m deve ter usado a chave privada de Bob.

Alice verifica então que: • Bob assinou m. • Ninguém mais assinou m. • Bob assinou m e não m.'

Não repudiação: • Alice pode usar m, e

assinatura dB(m) em tribunal para provar que Bob assinou m.

Page 9: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Pretty good privacy (PGP)Pretty good privacy (PGP) Mecanismo de encriptação de

email da Internet, uma norma de-facto .

Utiliza criptografia de chaves simétrica, criptografia de chaves públicas, função de hash, e assinatura digital como descrito.

Fornece confidencialidade, autenticação de remetente e integridade.

Inventor, Phil Zimmerman, foi alvo investigação federal de 3-anos.

---BEGIN PGP SIGNED MESSAGE------BEGIN PGP SIGNED MESSAGE---Hash: SHA1Hash: SHA1

Bob:My husband is out of town Bob:My husband is out of town tonight.Passionately yours, tonight.Passionately yours, AliceAlice

---BEGIN PGP SIGNATURE------BEGIN PGP SIGNATURE---Version: PGP 5.0Version: PGP 5.0Charset: noconvCharset: noconvyhHJRHhGJGhgg/yhHJRHhGJGhgg/

12EpJ+lo8gE4vB3mqJhFEvZP9t612EpJ+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2n7G6m5Gw2

---END PGP SIGNATURE------END PGP SIGNATURE---

Uma mensagem assinada por PGP :

Page 10: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Secure sockets layer SSL Secure sockets layer SSL (1)(1)

PGP fornece segurança para um app de rede específica.

SSL funciona na camada de transporte. Fornece segurança a qualquer app baseada em TCP que utilize serviços de SSL.

SSL: usado entre browsers de WWW, servidores para de comércio (shttp).

Serviços de segurança SSL : autenticação de servidor criptografia de dados autenticação de cliente

(opcional)

Autenticação de servidor: Browser com SSL habilitado

inclui chaves públicas para CAs em que confia.

Browser pede certificado de servidor, emitido por CA confiada.

Browser utiliza a chave pública de CA para extrair a chave público de servidor do certificado.

Visite o menu de segurança de seu browser para ver os CAs confiados.

Page 11: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

SSL (2) SSL (2) Sessão de SSL codificada: Sessão de SSL codificada: Browser gera chave de sessão Browser gera chave de sessão

simétrica, codifica-a com a simétrica, codifica-a com a chave pública do servidor, envia chave pública do servidor, envia chave codificada ao servidor. chave codificada ao servidor.

Usando sua chave privada, Usando sua chave privada, servidor decifra chave de sessão. servidor decifra chave de sessão.

Browser e servidor concordam Browser e servidor concordam que msgs de futuro serão que msgs de futuro serão codificados. codificados.

Todos os dados enviados por Todos os dados enviados por socket TCP (por cliente ou socket TCP (por cliente ou servidor) são codificados com servidor) são codificados com chave de sessão. chave de sessão.

SSL: base de Transport Layer SSL: base de Transport Layer Security (TLS) do IETF. Security (TLS) do IETF.

SSL pode ser usado para SSL pode ser usado para aplicações não Web, por aplicações não Web, por exemplo, IMAP. exemplo, IMAP.

Autenticação de cliente pode ser Autenticação de cliente pode ser feita com certificados de cliente. feita com certificados de cliente.

Page 12: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Arquitetura da Camada de Arquitetura da Camada de Secure Sockets Secure Sockets

Page 13: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Operação de Registros Operação de Registros SSLSSL

Page 14: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Formato do registro de Formato do registro de SSL (1)SSL (1)

Page 15: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Formato do registro de SSL Formato do registro de SSL (2)(2)

Page 16: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Um Exemplo e Análise Um Exemplo e Análise Temporal de Autenticação de Temporal de Autenticação de

SSL Apenas do ServidorSSL Apenas do Servidor

Page 17: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Firewall Firewall

Vários tipos: Filtro de Pacote, aplicação, nível de circuito,

O tipo mais usado é Filtro de Pacotes

Page 18: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

ExemploExemplo # default Policy-P input REJECT-P output ACCEPT-P forward REJECT

# Allow DNS response so that DNS verification works-A input -p tcp -s 0/0 -d 128.36.229.182 domain -j ACCEPT-A input -p udp -s 0/0 -d 128.36.229.182 domain -j ACCEPT# end of DNS

# ICMP rules-A input -p icmp --icmp-type echo-request -s 0/0 -d

128.36.229.182 -j ACCEPT-A input -p icmp --icmp-type echo-reply -s 0/0 -d 128.36.229.182

-j ACCEPT# end of ICMP

# ssh rules# yale.edu-A input -p tcp -s 128.36.229.80/16 -d 128.36.229.182 22 -j

ACCEPT# log attempts to ssh-A input -p tcp -s 0/0 -d 128.36.229.182 22 -l -j REJECT# end ssh rules

# ftp rules # leg 1: our client will send a SYNC to the server outside, thus establishing a state # leg 2: after our attempt, the server connects from outside to inside # Here -y means sync, and ! negates the meaning, namely have state -A input -p tcp -s 0/0 21 -d 128.36.229.182 1024:65535 -j ACCEPT ! -y # leg 3: our client will initiate a data connection when issuing ls get put, # leg 4: after our data request, the server connects from outside to inside # with source ftp-data. Here again -y mean sync, and ! negate the # meaning, namely have state -A input -p tcp -s 0/0 ftp-data -d 128.36.229.182 1024:65535 -j ACCEPT ! -y # end ftp

.

Page 19: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Ipsec: Segurança de Ipsec: Segurança de Camada de redeCamada de rede

Confidencialidade de camada de rede: anfitrião remetente codifica

os dados num datagrama IP Segmentos TCP e UDP;

mensagens de ICMP e SNMP. Autenticação de camada de rede

anfitrião de destino pode autenticar endereços fonte IP

Dois protocolos principais : protocolo de cabeçalho de

autenticação (AH) protocolo de encapsulação de

segurança da carga útil (ESP)

Tanto para AH e ESP, existe negociação de origem e destino: cria canal lógico de camada

de rede chamado acordo de serviço (o SÁ)

Cada SÁ é unidirecional. Exclusivamente determinado

por: protocolo de segurança (AH

ou ESP) endereço de IP origem ID conexão de 32 bits

Page 20: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Segurança e InternetSegurança e Internet

Segurança na camada rede : Ipsec

Segurança na camada transporte : SSL

Correio eletrônico : PGP

Execução de ordens remotas de UNIX : SSH

Page 21: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Segurança e estrutura Segurança e estrutura nas camadas nas camadas (1)(1)

Onde colocar os serviços da segurança ? Na camada de rede: IPSec, VPNs Virtual private Networks

Na camada de transporte: SSL(Netscape), PCT (Microsoft)?

Na camada de aplicação: Secure HTTP (htpps), o PGP, o SSH, o S/MIME

Page 22: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Segurança e estrutura Segurança e estrutura nas camadas nas camadas (2)(2)

Estruturas da segurança para IP (IPSec) :

para IPv6 (IPnG) mas pode também ser integrado em IP tradicional (IPv4); Constituído por dois blocos fundamentais:

Authentication Header (AH) etEncapsulating Security Payload (ESP)

Depende dos algoritmos usados, diversos serviços dasegurança:

Authentication (host-baseado)

Confidentiality

Integridade …

Descrição geral em RFC 1825

Page 23: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Segurança e estrutura Segurança e estrutura nas camadas nas camadas (3)(3)

Page 24: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Protocolo de Autenticação Protocolo de Autenticação Cabeçalho (AH)Cabeçalho (AH)

Fornece autenticação de anfitrião de origem, integridade de dados, mas não confidencialidade.

Cabeçalho de AH está inserido entre o cabeçalho IP e o campo de dados de IP.

Campo Protocolo = 51. Routers intermediários

processam datagramas normalmente.

Cabeçalho de AH inclui: identificador de conexão dados de autenticação: sumário(digest)

da mensagem assinada, calculado em cima de datagrama IP original, fornecendo assim autenticação de origem, integridade de dados.

Próximo campo de cabeçalho: especifica tipo de dados ( TCP, UDP, ICMP, etc.)

Page 25: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Protocolo ESPProtocolo ESP Fornece confidencialidade, autenticação

de anfitrião, integridade de dados. Dados, campo de fim de ESP

codificados. Próximo campo de cabeçalho está em

campo de fim de ESP.

Campo de autenticação do ESP é semelhante ao campo de autenticação AH.

Protocolo = 50.

Page 26: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

IPSec: Algumas IPSec: Algumas conclusõesconclusões

oferece uma proteção básica ao tráfego IP com algumas dificuldades:

ambigüidade usuários-endereços,

Integração dos primitivos da segurança nos sistemas operativos (transparência);

Escolha de uma política da gerência das chaves;

Esforço da proteção não sempre proporcional às necessidades para a aplicação;

Competido com as soluções VPN.

Page 27: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Secure Socket Layer Secure Socket Layer (SSL) (1)(SSL) (1)

Produto Netscape;

É ficado situado entre a camada de transporte (TCP) e os protocolos da camada da aplicação (não so HTTP mas também smtp, ftp, etc.!)

Ofereça os seguintes serviços da segurança: Confidentiality

Integridade

Authentication do servidor (do cliente)

Baseado em algoritmos do cryptografia públicos (RSA, Diffie-Hellmann)

Page 28: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

SSL (2)SSL (2)

MAC = Message Authentication Code: reserva para assegurar a integridade e authenticity do pacote

Page 29: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

SSL State Variables

• session identifier

• peer certificate

• compression method

• cipher specification

encryption algo. +

authentication algo. +

crypto attributes

• master secret

secret shared between client and server

• is resumable

indicates if new connections may be initiated under this session

• client/server random

byte sequences for key gen.

• c/s write MAC secret

secret key used to generate MACs by the client (resp. the server)

• c/s write key secret

secret key used by the client (resp. the server) to encrypt application data

• sequence numbers

keep track of received/sent messages

• initialization vectors

for crypto algorithms

Session Connexion

uma sessão pode conter diversas conexões!

Page 30: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

SSL: Geração das chaves (1)

master_secret =

MD5(pre_master_secret + SHA(’A’ + pre_master_secret +

ClientHello.random + ServerHello.random)) +

MD5(pre_master_secret + SHA(’BB’ + pre_master_secret +

ClientHello.random + ServerHello.random)) +

MD5(pre_master_secret + SHA(’CCC’ + pre_master_secret +

ClientHello.random + ServerHello.random));

Page 31: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

key_block =

MD5(master_secret + SHA(‘A’ + master_secret +

ServerHello.random +

ClientHello.random)) +

MD5(master_secret + SHA(‘BB’ + master_secret +

ServerHello.random +

ClientHello.random)) +

MD5(master_secret + SHA(‘CCC’ + master_secret +

ServerHello.random +

ClientHello.random)) + [...];

until enough output has been generated. Then the key_block is

partitioned as follows:

client_write_MAC_secret[CipherSpec.hash_size]

server_write_MAC_secret[CipherSpec.hash_size]

client_write_key[CipherSpec.key_material]

server_write_key[CipherSpec.key_material]

client_write_IV[CipherSpec.IV_size] /* non-export ciphers */

server_write_IV[CipherSpec.IV_size] /* non-export ciphers */

SSL: Geração das chaves (2)

Page 32: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Secure SSecure SHHell ell SSHSSH

Para segurar os comandos remotos : rlogin, rsh, rcp, …

Authentication SSH:

O cliente tem um certificado da chave pública do servidor (.ssh/known_hosts) e: usa este para emitir ao servidor o password encryptado por RSA o se um certificado do cliente é reconhecido pelo servidor, uma authentication asymmetrica.

http://www.ssh.fi/

Page 33: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

BibliografiaBibliografia• [Men97]: Menezes, A et al. Handbook of Applied Cryptography. CRC press series on discrete mathematicsand its applications. 1997.

URL (Mars 2002): http://cacr.math.uwaterloo.ca/hac/

• [Sch96]: Schneier, B. Applied Cryptography. Second Edition.John Wiley & Sons. 1 996.

• [Sti95]: Stinson, D.R. Cryptography: Theory and Practice. CRC Press Series on Discrete Mathematics and Its Applications. CRC Press, Inc. 1995.

• [Kau95]: Kaufman, C. et al. Network Security. Private Communication in a Pubic World. Prentice-Hall PTR.

1995.

• [Sta95]: Stallings, W. Network and Internetwork Security, Prentice-Hall International, 1995.

Page 34: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Os firewalls (1)Os firewalls (1)

Restrição do acesso à rede num ponto preciso Impedir os agressores aproximar-se os outros defesas Que pode fazer um firewall

Centralização das decisões de segurança;Reforçar a segurança dos serviços Internet propostos;Determinar uma regulamentação de acesso para e desde a Internet;Isolar uma parte da rede (firewall internos);Controlar e registar a actividade Internet.

Que não pode fazer um firewall

Impossibilidade de proteger as conexões que não passam pelo firewall;

Não protecção contra as ameaças novas;Não de protecção contra os vírus; Impossibilidade de proteger-se dos utilizadores.

Page 35: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Os firewalls (2)Os firewalls (2) O firewall é apenas um actor de uma política de segurança; não pode resolver todos os problemas de segurança.  Utilização antivirus, a sensibilização do pessoal, a protecção física das máquinas é tantos problemas que um firewall não pode resolver.

Page 36: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Os firewalls (3)Os firewalls (3) Duas políticas de segurança:

autorizá-lo todo excepto alguns serviços conhecidos que quer-se recusar pr oibi-lo todo excepto certos serviços que pode-se/deseja-se proteger

Sempre utilizar "software" provados ou corrigindo buracos de segurança de versões anteriores

Examinar o code source tão possível para evitar os cavalos Troie

política mais restritiva é geralmente a mais certa.

Page 37: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

serviços a proteger: o correio electrónico (SMTP tcp/25, POP3 tcp, udp/110), a transferência de ficheiros (FTP tcp/21, TFTP udp/69, SFTP tcp/115), o acesso por terminal (Telnet tcp/23) e a execução de encomendas a distância, les News Usenet (NNTP tcp/119), o World Wide Web (HTTP tcp, udp/80), os outros serviços de informações (gopher tcp, udp/70),

Os firewalls (4)Os firewalls (4)

Page 38: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

as informações sobre as pessoas (finger tcp/79), os serviços de conferência em tempo real, o serviço de nome (DNS, tcp, udp/53), os serviços de administração rede (SNMP udp/161,162), os serviços temporais (NTP tcp, udp/123), os sistemas de ficheiros rede (NFS sobre RPC tcp/udp/111), os serviços de impressão (impressora tcp/515)

Qualquer serviço da rede é a priori filtrável por um firewall.

Os firewalls (5)Os firewalls (5)

Page 39: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Firewall screening Firewall screening routerrouter

À arquitectura mais barata que permite fazer uma filtragem simple mas eficaz.

Page 40: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Firewall com proxyFirewall com proxy

Permite de ter um muito bom controlo sobre os serviços retransmitidos (relayed). Ideal para fazer da tradução de endereço e mascarar os seus endereços IPinternos ao exterior. Existe varios proxies com funções mais ou menos evoluidas. Aquilo pode ir do simple proxy ftp ao proxy cache web como Squid.

Page 41: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Todas as conexões provenientes da Internet passam necessariamente por Bastion que se encontra sobre a rede interna. Os clientes da rede interna podem aceder directamente à Internet para serviços não mandatados pelo bastião, se não passa obrigatoriamente por proxies do bastion.

Firewall com Firewall com bastion bastion hosthost

Page 42: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Utilização duma subnet para isolar os bastions: é a zona DMZ Demilitarized Zone. Ainda que o bastiion é furado, o pirata é isolado no DMZ e não pode aceder a rede interna facilemente.

Firewall com Firewall com DMZDMZ

Page 43: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Firewalls hierárquicos Firewalls hierárquicos

Frequentemente utilizado para isolar uma rede de teste interna numa Frequentemente utilizado para isolar uma rede de teste interna numa empresa. empresa. Os endereços IP privados são definidos no RFC 1918: Os endereços IP privados são definidos no RFC 1918: - classe A: 10.0.0.0 à 10.255.255.255 - classe A: 10.0.0.0 à 10.255.255.255 - classe B: 172.16.0.0 à 172.31.255.255 - classe B: 172.16.0.0 à 172.31.255.255 - classe C: 192.168.0.0 à 192.168.255.255 - classe C: 192.168.0.0 à 192.168.255.255

Page 44: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

Exemplos de firewall no Exemplos de firewall no mercado mercado

Fabricando Produto URL

Cisco Systems PIX http://www.cisco.com IBM IBM Firewall v3 http://www.ics.raleigh.ibm.com SUN SUNScreen http://www.sun.com CHECK PONTO FIREWALL-1 http://www.checkpoint.com

Page 45: Redes II : Segurança Prof. Dr. Amine BERQIA bamine@ualg.pt bamine

BibliografiaBibliografia

“Building Internet Firewalls” O ’Reilly & Associates,

www.vitels.ch, Firewall Management Module.