25
Seg Ivan Sendin At´ e Agora RSA Mais buffer over... Seguran¸ ca da Informa¸ ao Aula 17 Ivan Sendin FACOM - Universidade Federal de Uberlˆ andia [email protected],[email protected] 18 de outubro de 2017

Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Seguranca da Informacao

Aula 17

Ivan Sendin

FACOM - Universidade Federal de [email protected],[email protected]

18 de outubro de 2017

Page 2: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Cifrado Simetrico

Hashing

Unidirecionalidade: autenticacao, sal, pimentaResistencia a colisao/2a pre imagem: identificacaounica de muitos bits usando poucos...Autenticacao de mensagens, de arquivos,...

Estabelecimento de chaves DH

Cifrador Assimetrico

RSA, PK/SKECC

Page 3: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...Ainda nao temos uma forma segura e pratica deestabelecer uma chave

Cifrador Simetrico: papelzinho....

DH: man in the middle

RSA: “publica a PK no Blog....”

Page 4: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

RSA

n = 713

e = 263

d = 527

PK = (713, 263)

p = 13, 13263 ≡ 706 (mod 713)

706527 ≡ 13 (mod 713)

Page 5: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

RSA

t = 99

99527 ≡ 677 (mod 713)

Divulga ((99, 677), (713, 263))

677263 ≡ 99 (mod 713)

“99 foi elevado a um segredo correlato a 263resultando em 677”

So uma passo conhece um segredo correlato a 263

So uma pessoa e capaz de produzir((99, 677), (713, 263))

Page 6: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

O RSA pode ser usado no ciframento assimetrico

Pode ser usado em Assinaturas Digitais

Page 7: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

((99, 677), (713, 263))

Se alguem alterar 99, sera detectado (integridade)

Qquer pessoa pode verificar ((99, 677), (713, 263))(autenticidade)

Quem divulgou ((99, 677), (713, 263)) nao podenegar 99 (nao repudio)

Propriedades presentes em uma assinatura em papel!

Page 8: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over... RSA esta limitado - na pratica - a blocos de 4k

Como assinar textos grandes ?

Assinar cada bloco?

Remocao, reordenacao, duplicacao, insercao...

Page 9: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Desejamos assinar tudo de uma vez

um bloco menor que 4k que represente um textoenorme de forma unica

Hash

Sign(T , SK ) := RSA(SK ,H(T ))

A assinatura e feita no hash da mensagem!

Verificacao sobre H(T )

Page 10: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over... Como associar de forma segura uma PK a umaentidade

(pessoa, site, CNPJ,..)

Cartorio/ Reconhecimento de firma

Page 11: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Certificados

Chave Publica

Identidade (RG, site,....)

Validade, Cifradores aceitos,....

Assinatura de uma CA - Autoridade Certificadora

X.509

Page 12: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Page 13: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over... /etc/ssl/certs/ca-certificates.crt

(https://unix.stackexchange.com/questions/97244/

list-all-available-ssl-ca-certificates

Page 14: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

openssl x509 -noout -subject -pubkey <

/etc/ssl/certs/ca-certificates.crt

subject= /C=AT/O=A-Trust Ges. f. Sicherheitssysteme im elektr.

Datenverkehr GmbH/OU=A-Trust-nQual-03/CN=A-Trust-nQual-03

-----BEGIN PUBLIC KEY-----

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArT1hbgPzkDvAQQuEgM3s

KqOda7tuwkKE91EU4aCoLVGjUfLeI/A0RP+U68wFI5VAuQd4pSX2Cr1FhujZvcAE

joVEYe9/p8n6wSXMhSxjPwVgc0kF4GB4lRBL3PkRWc5xf0Cbiqok3wtC4ttWvErS

pQybt0M+3YPTJhACz+ojxElO5dPptIirDK5iktRlh9lq1/SFn+QzIiWl5cgzusPH

QdxfxmrMAA5tMqi2hzYAYnebHh80y5A8eIh0Bet59ZNxZcqdx2sYLT1cTufV+D8x

fY+H7AoiLyPp/rt9yeD07Ot8xLDDLWK1mnHWsWro7Nnt1XLsvlcBzgVVn97RYIgQ

swIDAQAB

-----END PUBLIC KEY-----

Page 15: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

SSL,TLS,SSH,..

Ao conectar voce recebe o certificado do site

O seu navegador verifica o certificado(Voce e capaz de enviar um segredo para o site)

O ciframento hibrido e iniciado.....

(Muitas variacoes)

Page 16: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

SSL,TLS,SSH,..

Se um site “falso” usar um certificado validoroubado?

WiFi do Cafe

Page 17: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Heart Bleeding

Bug na biblioteca do OpenSSL

SSL/TLS

ATENCAO: problema de implementacao nao deprotocolo

Conexoes SSl sao “caras” de abrir de abrir...

...e manter (timeout)

Heartbeat: evitar o timeout

Formato: (string, tamanho)

tamanho=inteiro de 16 bits

Pacote enviado:(′Ola′, 3)

O servidor deve responder com ′Ola′

Page 18: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Heart Bleeding

Descoberto em 2012

Tornado publico em 7/Abril/2014 (imediatamenteapos o release do bugfix)

Um mes depois 1.5% do sites com OpenSSl aindaestavam vulneraveis

buffer over-read

Page 19: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Heart Bleeding - Codigo Exemplo

void heartbleed(char* b, int s) {

int i;

for (i=0;i<s;i++) {

// troque o printf por um socket

printf("%c",b[i]);

}

}

int main(void)

{

char* buffer="Meu buffer";

char* segredo="Segredo...";

heartbleed(buffer,300);

}

Page 20: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Pacote enviado:(′O ′, 65535)

O servidor envia muitos outros dados:

O que foi cifrado em outra conexao, cookies desessao,...eventualmente a chave privada

O processo pode ser repetido muitas vezesfacilmente!

“Transparente” para o servidor

Sem log... nao tem nada de errado acontecendo!

Page 21: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Como existe a possibilidade de comprometimento dachave privada, certificados precisaram ser trocados

certificate revocation lists/Online Certificate StatusProtocol (OCSP)

Agravante: o OpenSSL usa uma biblioteca propriade gerenciamento de memoria

Page 22: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Fofocas...

O NSA ja conhecia o bug 2 anos antes dele seranunciado(?)

O NSA armazena dados criptografados (naesperanca de um dia obter a chave...)

Documentos (Snowden) indicam que NSA e GCHQ- Project Bullrun - usaram este bug

Tempo real

“Properly implemented strong crypto systems are one ofthe few things that you can rely on.”“..endpoint security is so terrifically weak that NSA canfrequently find ways around it.”

Edward Snowden

Page 23: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Paradoxo do Aniversario

Usado para gerar colisao de hash de forma +eficiente

m1 6= m2, com h(m1) == h(m2)

O hash e assinado, quem assina m1 assina m2

Page 24: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Paradoxo do Aniversario

Gerar um conjunto gigante M1 de mensagem “boas”para o dono da PK

Gerar um conjunto gigante M2 de mensagem “boas”para o atacante

Calculo do hash de M1, de M2 e selecao de m1 e m2

O atacante pede que o dono da PK assine m1....

Page 25: Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado publico em 7/Abril/2014 (imediatamente ap os o release do bug x) Um mes depois

Seg

Ivan Sendin

Ate Agora

RSA

Mais buffer over...

Paradoxo do Aniversario

Pre-Computacao

Off line

Pode ser evitado nao assinando m “recebida”

(alterar um bit ou salt)