O Debian ainda se recusa a usar HTTPS

O APT (ferramenta avançada de empacotamento) é um programa para instalar, atualizar e remover pacotes de software nos sistemas operacionais Debian e com base neles (Ubuntu, Linux Mint, etc.). Às vezes, também é usado em distribuições baseadas em Mandrake. Os pacotes são baixados pela Internet a partir de repositórios através de uma conexão insegura , sem usar o protocolo TLS e criptografia. Surge a pergunta: por que? O HTTPS não oferece melhor segurança? O Debian acredita que o HTTPS é uma entidade desnecessária, pois o sistema SecureAPT verifica a soma de verificação dos arquivos baixados e a assinatura criptográfica de gpg de todo o pacote.

Um dos desenvolvedores do Debian lançou o site whydoaptnotusehttps.com (“Por que o APT não usa HTTPS”), onde explica a posição oficial.

Como o SecureAPT funciona


Primeiro, o apt compara os hashes dos arquivos do pacote. Eles são publicados no site Debian no arquivo Release ...

MD5Sum: 6b05b392f792ba5a436d590c129de21f 3453 Packages 1356479a23edda7a69f24eb8d6f4a14b 1131 Packages.gz 2a5167881adc9ad1a8864f281b1eb959 1715 Sources 88de3533bf6e054d1799f8e49b6aed8b 658 Sources.gz 

... e transmitido junto com o pacote.

 Package: uqm Priority: optional ... Filename: unstable/uqm_0.4.0-1_i386.deb Size: 580558 MD5sum: 864ec6157c1eea88acfef44d0f34d219 

Para evitar que o arquivo Release seja violado, o sistema SecureAPT adiciona o gpg da assinatura digital, localizado no arquivo Release.gpg:

 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQBCqKO1nukh8wJbxY8RAsfHAJ9hu8oGNRAl2MSmP5+z2RZb6FJ8kACfWvEx UBGPVc7jbHHsg78EhMBlV/U= =x6og -----END PGP SIGNATURE----- 

O programa apt baixa o arquivo Release.gpg e verifica a assinatura usando chaves públicas confiáveis, que são armazenadas no arquivo /etc/apt/trusted.gpg. Por padrão, a chave pública do arquivo Debian é registrada lá.

 joey@dragon:~>sudo apt-key list /etc/apt/trusted.gpg -------------------- pub 4096R/55BE302B 2009-01-27 [verfällt: 2012-12-31] uid Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org> 

Esta é a última linha de defesa, então o Debian muda periodicamente as chaves. Novas chaves são distribuídas com o pacote debian-archive-keyring e também são publicadas na página da web .

Após a publicação da nova chave pública, outro procedimento ocorre. A chave secreta usada para gerar a chave pública é dividida em cinco partes usando o programa gfshare e distribuída entre cinco desenvolvedores respeitáveis ​​de acordo com o esquema de compartilhamento secreto de Shamir. Para restaurar um segredo, pelo menos três em cada cinco desenvolvedores devem fornecer suas partes do segredo. Uma prova matemática do esquema Shamir foi publicada em Habré : baseia-se no fato de que através de dois pontos no plano pode ser desenhado um número ilimitado de polinômios de grau 2. Para escolher o único deles, é necessário um terceiro ponto. Simplificando, o esquema é baseado na interpolação polinomial.


Portanto, no sistema SecureAPT, a chave secreta é dividida em cinco partes e é protegida com segurança, a assinatura criptográfica do arquivo Release é verificada pela chave pública e as somas de verificação dos arquivos do pacote são armazenadas nesse arquivo. Por que usar HTTS se tudo é tão seguro?

Por que usar HTTP?


O principal objetivo do HTTPS é ocultar o tráfego de olhares indiscretos (provedor, serviços governamentais e outros intrusos) para que terceiros não possam:

  1. Interferir com o tráfego (modificá-lo).
  2. Ouvir o tráfego (coleta de informações, inteligência).

O sistema SecureAPT protege parcialmente contra a primeira ameaça, mas não a partir da segunda. Como os pacotes são transmitidos por canais abertos, alguém de fora vê quais pacotes específicos são baixados e de onde. Um invasor também pode substituir pacotes e assinaturas digitais, mas não passa na verificação.

O desenvolvedor Debian escreve:
O HTTPS não fornece confidencialidade significativa para o recebimento de pacotes, pois um invasor geralmente vê com quais hosts você está se comunicando. Se você se conectar ao espelho de distribuição, será óbvio que você está baixando atualizações.
Este parágrafo provavelmente foi escrito no momento em que navegadores e serviços da Internet não começaram a oferecer suporte à tecnologia DNS sobre TLS e DNS sobre HTTPS (DoH) para criptografar o tráfego DNS. Por exemplo, em abril de 2018, foi introduzido por um dos maiores fornecedores de CDN Cloudfalre e, em outubro de 2018, o DNS público do Google também incluiu suporte para DNS sobre TLS .

Portanto, após a configuração apropriada do sistema, você pode ocultar efetivamente as consultas DNS de um estranho que está ouvindo o tráfego. Também está em andamento um trabalho ativo para introduzir outras tecnologias que ocultam o destinatário dos pacotes. Ou seja, no futuro, o HTTPS ainda poderá fornecer a devida confidencialidade.

O Debian traz outro argumento: mesmo em uma conexão criptografada, “é fácil descobrir quais arquivos o usuário baixa pelo tamanho do tráfego”. Essa "vulnerabilidade" pode ser usada mesmo ao analisar o tráfego através do Tor .

Finalmente, o Debian não vê razão para confiar completamente nas autoridades de certificação: existem mais de 400 CAs que oferecem certificados para qualquer domínio. Muitos têm má reputação e alguns são controlados diretamente pelo Estado. É difícil determinar em qual CA você pode confiar .

Portanto, de acordo com o Debian, o mais importante é garantir a autenticidade dos arquivos no pacote e não proteger a conexão em si.

Por que não implantar HTTPS sobre o mecanismo SecureAPT existente? O desenvolvedor considera isso uma tarefa difícil de engenharia, que requer a troca e o armazenamento seguros de chaves privadas. Além disso, a implementação do HTTPS implica "usuários enganosos em relação ao nível de segurança e privacidade" pelos motivos descritos acima.

Em 2019, abandonar deliberadamente o HTTPS parece muito extravagante, então a posição do Debian desencadeou uma animada discussão no Hacker News , onde os comentaristas apresentaram vários contra-argumentos.

O que você acha, precisa criptografar o tráfego apt? (Pesquisa abaixo).





Source: https://habr.com/ru/post/pt437208/


All Articles