randomização do número de seqüência TCP

4

Em uma entrevista recente, meu amigo foi questionado sobre o recurso de randomização do número de sequência TCP dos firewalls. O entrevistador mencionou que sabemos que um firewall randomiza o número de sequência do TCP, mas um invasor no meio ainda pode farejar esse pacote e enviá-lo em nome do remetente. Então, o que a randomização traz para a mesa?

Eu estudei este ataque contra os números de seqüência em RFC 6528 mas não Foi capaz de compreender totalmente o conceito.

Gostaria de receber ajuda para entender isso.

    
por Ravneet Singh 10.07.2015 / 08:59

2 respostas

4

Não tenho nada contra a resposta da Overmind, que é definitivamente um bom resumo do motivo pelo qual a randomização do número de sequência foi inventada. Mas não tenho certeza se responde à pergunta conforme solicitado , então tentarei fazer isso.

Você está certo. Nada impede que um MITM privilegiado falsifique um reset TCP, com um SN válido, neste momento - SNs randomizados ou não. Mas um MITM privilegiado não precisa ir tão longe para perturbar suas conexões através de sua rede - ele só precisa desconectar um cabo ou mudar uma ACL de roteador.

A randomização SN foi projetada para impedir que todos os outros façam a mesma coisa. Se seus SNs puderem ser adivinhados, qualquer pessoa poderá forjar essa redefinição de TCP e dessincronizar suas conexões. Se eles não puderem ser adivinhados, o acesso ao fluxo de dados será necessário.

    
por 10.07.2015 / 10:26
2

Classicamente, cada dispositivo escolheu o ISN fazendo uso de um contador de tempo, como um relógio, que foi incrementado a cada 4 microssegundos. Esse contador foi inicializado quando o TCP foi iniciado e, em seguida, seu valor aumentou em 1 a cada 4 microssegundos até atingir o maior valor possível de 32 bits (4Gigs), no ponto em que “envolveu” para 0 e reiniciou o incremento. Sempre que uma nova conexão é configurada, o ISN foi retirado do valor atual desse temporizador. Como leva mais de 4 horas para contar de 0 a 4.294.967.295 a 4us por incremento, isso virtualmente garante que cada conexão não entre em conflito com as anteriores. O principal problema com esse método é que ele torna os ISNs previsíveis. Uma pessoa mal-intencionada poderia escrever código para analisar ISNs e, em seguida, prever o ISN de uma conexão TCP subseqüente com base nos ISNs usados nos anteriores. Como isso representa um risco de segurança, que já foi explorado no passado, as implementações de firewall agora usam um número aleatório em seu processo de seleção ISN. Dessa forma, a previsibilidade não é mais um problema.

    
por 10.07.2015 / 09:14

Tags