segurança da informação aula rainbow tablessendin/cursos/seg/2s2018/aula18.pdf · aula rainbow...

41
Seg Ivan Sendin Colis˜oes Invers˜ ao de Hashing Seguran¸ ca da Informa¸ ao Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberlˆ andia [email protected],[email protected] 17 de outubro de 2018

Upload: others

Post on 25-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Seguranca da Informacao

Aula Rainbow Tables

Ivan Sendin

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

17 de outubro de 2018

Page 2: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

2a pre imagem e colisoes sao “coisas” diferentes

Cenario

Professor: se compromete (h) e revela as notas.Voces podem procurar uma 2a pre-imagem

Professor gera uma colisao: M1,M2. Publica o hashda M1. Revela M1 e “usa” M2

O professor tem uma vantagem “assintotica” sobreos alunos

Page 3: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

M

M

1

2

mm

Page 4: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

m ×m = m2 pares

Prob de um par colidir:

1

2n

Prob de um par nao colidir:

1− 1

2n

Prob de m2 pares nao colidirem:

(1− 1

2n)m

2

Page 5: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Prob de m2 pares nao colidirem:

(1− 1

2n)m

2

Para m =√n:

Prob de n pares nao colidirem:

(1− 1

2n)n

Prob de n pares nao colidirem: ≈ 0.5

(Com ex ≈ 1 + x)

Prob de n pares colidirem: ≈ 0.5

Page 6: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing Alguem quer inverter um hash (MD5, SHA,...)

“Pegou” na rede...

Hack, invasao,...

Ao inverter o hash a senha e obtida

Personificacao

Page 7: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Dicionario gigantesco

Combinacoes de palavras

Modificacoes

Upper/lowerFoneticato → 2, S → 5

Caracteres especiais

Page 8: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing Voce pode baixar(comprar) um dicionario

pre-computado

Arquivo gigantescos de alguns gigas....

253 chaves

Sao muitas chaves....

Page 9: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

(Neste momento alguem tem que fazer algumascontas e contestar a informacao passada!)

Page 10: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

253 chaves

Qual e o tamanho deste arquivo??

Page 11: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

hash de 128 bits

(MD5 ainda e muito utilizado....)

128 bits e suficiente...mesmo com o Ataque doAniversario1

128 bits = 16 bytes

Chute: cada chave 10 bytes

26 bytes * 253

24,... * 253 bytes

Se considerarmos algum overread temos algo muitoproximo de um exabyte

(giga, tera, peta, exa...)

Compactar??1Cuidado com as propriedades!

Page 12: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Existe uma tecnica do tipo time-memory tradeoff

Vamos gastar um pouco a mais de tempo....

Para gastar muito menos memoria

(exabyte p/ gigabyte)

Page 13: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

{0,1}

{0,1}m

n

Page 14: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

{0,1}n

{0,1}m

Page 15: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing Vamos criar uma funcao que “volta” para o

dicionario

Alterna Dominio/Imagem

Dicionario → {0, 1}n

{0, 1}n → Dicionario

Page 16: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

{0,1}n

Page 17: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

“Parece” com um hash

Ela e unidirecional

Resistente a colisoes

Tem “cara” de aletoria

Funcao de REDUCAO

RNao e a inversa do hash!

Page 18: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing R e H

Alternam Dominio/Imagem

Podemos criar uma longa cadeia....

Dado uma s:

H → R→ H → R→ H → R . . .

Page 19: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

H → R→ H → R→ H → RExemplo Dicionario: Alfabeto, n=5

A→ 00011→ D → 11010→ Z → 00110→ E

Armazeno o primeiro e o ultimo “textos”

A,E

(Vou chamar de “texto” as palavras do dicionario...)

start/end

Page 20: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Dado um h = H(senha)....

....como saber se ele esta cadeia ?

(Esta entre start/end)?

Page 21: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing Repito a operacao de criacao da cadeia...e comparo

? 11010 ∈ (A,E )

A→ 00011→ D → 11010→ Z → 00110→ E

Descubro que H(D) = 11010 e inverti o hash

Page 22: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

OU

Page 23: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Aplico R(h)

Verifico se e igual ao end....

? 11010 ∈ (A,E )

A→ 00011→ D → 11010→ Z → 00110→ E

Aplico R(11010) = Z

Agora eu ando da direita para esquerda...

Page 24: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

? 11010 ∈ (A,E )

A→ 00011→ D → 11010→ Z → 00110→ E

Aplico R(11010) = Z ,Z 6= E ...

AplicoR(H(R(11010))) =

R(H(Z )) =

R(00110) =

= E

Eu descubro que a minha busca esta entre A e E

Page 25: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Repetindo...

Page 26: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

? 11010 ∈ (A,E )

A→ 00011→ D → 11010→ Z → 00110→ E

R(11010)? = E , pergunto se a minha busca esta naposicao n

RHR(11010)? = E , pergunto se a minha buscaesta na posicao n-1 (nosso exemplo..)

RHRHR(11010)? = E , pergunto se a minha buscaesta na posicao n-2

Page 27: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

TXT hash TXT hash TXTTXT hash

???

Page 28: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing TXT hash TXT hash TXTTXT hash

???

Page 29: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing TXT hash TXT hash TXTTXT hash

Reducao

???

Page 30: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

TXT hash TXT hash TXTTXT hash

???

RHR

Page 31: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

A tecnica chama Rainbow Tables

Page 32: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

TXT hash TXT hash TXTTXT hash

TXT hash TXT hash TXTTXT hash

TXT hash TXT hash TXTTXT hash

TXT hash TXT hash TXTTXT hash

TXT hash TXT hash TXTTXT hash

Page 33: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Basta adaptar o algoritmo para comparar com osvarios ends

Uma vez que a cadeia contendo h e encontrada ostart e usado para encontrar o texto que gerou o h(Objetivo inicial!)

Lembrando: tudo isso para economizar memoria emum ataque de pre-computacao!!

Page 34: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

http://project-rainbowcrack.com

crackstation.net

Page 35: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

luke@xwing:~$ echo -n teste | md5sum

698dc19d489c4e4db73e28a713eab07b -

luke@xwing:~$ echo -n mustang | md5sum

bee783ee2974595487357e195ef38ca2 -

luke@xwing:~$ echo -n 123456 | md5sum

e10adc3949ba59abbe56e057f20f883e -

luke@xwing:~$

Page 36: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Page 37: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Page 38: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Page 39: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Resumo - Rainbow Tables

Exemplo interessante de memoria X tempo

Caixa-Preta

Tamanho do hash: nao importa (dicionario)

Velocidade do hash: SIM!

Page 40: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

Resumo - Rainbow Tables

Use salt

(Use hash lento)

Garanta que os seus usuarios nao usem senhas dedicionario

(Polıtica / Verificacao)

Page 41: Segurança da Informação Aula Rainbow Tablessendin/Cursos/SEG/2S2018/aula18.pdf · Aula Rainbow Tables Ivan Sendin FACOM - Universidade Federal de Uberl^andia ivansendin@yahoo.com,sendin@ufu.br

Seg

Ivan Sendin

Colisoes

Inversao deHashing

https://www.lifewire.com/

rainbow-tables-your-passwords-worst-nightmare-2487288