Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado...
Transcript of Segurança da Informação Aula 17sendin/Cursos/SEG/2S2017/aula17.pdf · Descoberto em 2012 Tornado...
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
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
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....”
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)
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))
Seg
Ivan Sendin
Ate Agora
RSA
Mais buffer over...
O RSA pode ser usado no ciframento assimetrico
Pode ser usado em Assinaturas Digitais
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!
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...
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 )
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
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
Seg
Ivan Sendin
Ate Agora
RSA
Mais buffer over...
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
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-----
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)
Seg
Ivan Sendin
Ate Agora
RSA
Mais buffer over...
SSL,TLS,SSH,..
Se um site “falso” usar um certificado validoroubado?
WiFi do Cafe
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′
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
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);
}
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!
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
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
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
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....
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)