Vulnerabilidade em clientes SSH OpenSSH e PuTTY

Em clientes SSH OpenSSH e PuTTY identificado vulnerabilidade (CVE-2020-14002 em PuTTY e CVE-2020-14145 no OpenSSH), levando ao vazamento de informações no algoritmo de negociação de conexão. A vulnerabilidade permite que um invasor capaz de interceptar o tráfego do cliente (por exemplo, quando um usuário se conecta através de um ponto de acesso sem fio controlado pelo invasor) detecte uma tentativa de conectar inicialmente o cliente ao host quando o cliente ainda não armazenou em cache a chave do host.

Sabendo que o cliente está tentando se conectar pela primeira vez e ainda não possui a chave do host ao seu lado, o invasor pode transmitir a conexão através de si mesmo (MITM) e fornecer ao cliente sua chave do host, que o cliente SSH considerará como será a chave do host de destino se ele não verificar a impressão digital da chave. Assim, um invasor pode organizar o MITM sem levantar suspeitas do usuário e ignorar sessões nas quais o lado do cliente já possui chaves de host em cache, uma tentativa de substituição que resultará em um aviso sobre a alteração da chave de host. O ataque é baseado no descuido dos usuários que não verificam manualmente a impressão digital da chave do host quando se conectam pela primeira vez. Aqueles que verificam as principais impressões digitais estão protegidos contra tais ataques.

Como um sinal para determinar a primeira tentativa de conexão, é usada uma mudança na ordem de listagem dos algoritmos de chave de host suportados. Se ocorrer a primeira conexão, o cliente transmite uma lista de algoritmos padrão e, se a chave do host já estiver no cache, o algoritmo associado é colocado em primeiro lugar (os algoritmos são classificados em ordem de preferência).

O problema aparece nas versões 5.7 a 8.3 do OpenSSH e PuTTY 0.68 a 0.73. Problema eliminado em questão PuTTY 0.74 adicionando uma opção para desabilitar a construção dinâmica de uma lista de algoritmos de processamento de chave de host em favor de listar os algoritmos em uma ordem constante.

O projeto OpenSSH não planeja alterar o comportamento do cliente SSH, pois se você não especificar o algoritmo da chave existente em primeiro lugar, será feita uma tentativa de usar um algoritmo que não corresponda à chave em cache e um aviso sobre uma chave desconhecida será exibido. Aqueles. surge uma escolha - vazamento de informações (OpenSSH e PuTTY) ou avisos sobre alteração da chave (Dropbear SSH) se a chave salva não corresponder ao primeiro algoritmo da lista padrão.

Para fornecer segurança, o OpenSSH oferece métodos alternativos para verificação de chave de host usando entradas SSHFP em DNSSEC e certificados de host (PKI). Você também pode desativar a seleção adaptativa de algoritmos de chave de host por meio da opção HostKeyAlgorithms e usar a opção UpdateHostKeys para permitir que o cliente obtenha chaves de host adicionais após a autenticação.

Fonte: opennet.ru

Adicionar um comentário