Os pacotes ubuntu (deb-files) são apenas md5sum seguros?

13

Introdução à pergunta abaixo ###

(então a questão é mais utilizável para mais pessoas)
Dentro de um pacote Ubuntu / debian-style (arquivo * .deb) existe um arquivo chamado /DEBIAN/md5sums que tem um conteúdo desta forma:

212ee8d0856605eb4546c3cff6aa6d35  usr/bin/file1
4131b66dc3913fcbf795159df912809f  path/to/file2
8c21de23b7c25c9d1a093607fc27656a  path/to/file3
c6d010a475366e0644f3bf77d7f922fd  path/to/place/of/file4

Como eu suponho, este arquivo será usado para verificar se os arquivos que vêm com o pacote não foram corrompidos de alguma forma. Como o arquivo é chamado '/ DEBIAN / md5sums ", assumo que o hexnumber antes do caminho + filename é o Algoritmo MD5 Message-Digest Hash dos arquivos do pacote.

Agora, todos os interessados sabem que o Hash MD5 foi quebrado há muito tempo. Portanto, é totalmente possível alterar o conteúdo de um arquivo no pacote (por exemplo, maliciosamente) e ainda ter o arquivo com o mesmo MD5-Hash (veja, por exemplo, Prove o conceito" Prever o vencedor ... ").

Pergunta

Tendo em mente as informações acima, quero saber o seguinte:

** Supondo que eu instale um pacote no meu sistema Ubuntu. O DEBIAN/md5sums é o único meio de garantir que os dados não foram adulterados? **

Respondendo a pergunta, acho que poderia ajudar a descobrir o seguinte:

  • Os pacotes deb como um todo também são hash (Hashvalues), para que haja outra maneira de garantir que os arquivos recebidos sejam "safe" / "untampered"
  • Se houver outras formas, então, o arquivo DEBIAN/md5sums para garantir a integridade, qual é o arquivo incluído nos pacotes * .deb de alguma forma?
  • O Ubuntu usa hashes para repositório / sistema de pacotes que são "menos danificados" que o SHA-1 e o MD5?

que infelizmente eu também não sei.

Qualquer resposta que possa esclarecer a questão (ou mesmo apenas uma subquestão) é muito bem-vinda

atualizar

(1) link parece indicar que há (como eu esperava) alguma chave gpg pública / privada acontecendo ( para manter os repositórios e sistemas de pacotes) protegidos contra ataques. As informações no local vinculado não são muito embora. Não diz quase nada sobre o aspecto de segurança do sistema de pacotes. De qualquer forma, eu suponho que o link já indique que a resposta para a pergunta será "NO - pelo menos os pacotes deb do repositório - também são garantidos por ....". Espero que alguém tenha algumas ideias para usar como resposta aqui.

(2) Esta questão parece ser também sobre o tema da "segurança" no sistema de pacotes do Ubuntu. Então, eu só adiciono aqui, então é a mão do anúncio se alguém se esforça para resolver a questão: Por que as correções propostas do BADSIG (no apt-get update) são seguras?

    
por humanityANDpeace 10.01.2013 / 15:12

3 respostas

19

O Ubuntu publica um manifesto assinado com uma chave RSA. O manifesto lista arquivos de índice Packages individuais, cada um com hashes MD5, SHA-1 e SHA-256. Cada arquivo Packages lista os arquivos .deb individuais com hashes MD5, SHA-1 e SHA-256.

Para verificação, o apt usa o melhor hash que ele suporta e é publicado pelo arquivo do qual ele está fazendo o download. No caso do arquivo Ubuntu, este é o SHA-256.

Assim, toda a cadeia de instalação de pacotes no seu sistema Ubuntu é protegida pelo RSA e pelo SHA-256.

A proteção MD5 que existe no dpkg é realmente útil apenas para corrupção acidental, e não é necessário para proteger o caminho da instalação.

Você pode estar interessado no pacote debsums , mas como ele usa MD5s, também é útil apenas para verificar se há corrupção acidental.

Se você quiser verificar se há modificações no sistema malicioso, estas não são as ferramentas adequadas para você. Você precisará colocar o sistema offline e verificar um registro anterior, os arquivos do pacote original ou hashes seguros gerados a partir deles.

Observe que, como uma modificação mal-intencionada bem-sucedida pode ser simplesmente o downgrade de um pacote para um anterior a uma atualização de segurança, a verificação de que todos os arquivos do pacote instalado correspondem aos originais pode não ser suficiente.

    
por Robie Basak 10.01.2013 / 15:45
6

Eu queria que isso fosse um comentário, mas não consegui encaixar na caixa, então estou colocando aqui.

Sim, o md5 foi quebrado criptologicamente, mas isso não significa que ele seja um algoritmo de hash de propósito geral ruim. Modificar um arquivo para que ele tenha o mesmo hash é incrivelmente difícil, e fazer isso com uma alteração maliciosa específica é praticamente impossível. Olhando o exemplo que você mencionou, ( Prever o vencedor ) veja isto:

  

"Os documentos foram primeiramente cuidadosamente preparados como documentos PDF válidos, com um objeto de imagem oculto incorporado, contendo uma quantidade suficiente de bits aleatórios. Então, de acordo com a estrutura de losangos mostrada acima, onze colisões de prefixo escolhido foram computadas e colocadas dentro dos objetos da imagem oculta precisamente nos pontos apropriados. Desta forma, os doze documentos foram transformados em uma multi-colisão MD5. "

O que foi feito foi preencher os arquivos com dados aleatórios para fazer os hashes corresponderem. A tecnologia não é nem de longe capaz de adicionar código malicioso específico a um arquivo e fazer com que os hashes se alinhem sem quebrá-lo ou tornar óbvio que o arquivo foi alterado (não sei se o apt funciona, mas muitos hashes de arquivo são acompanhados por seus tamanhos de arquivo para aumentar a dificuldade de uma colisão de hash indetectável).

    
por jackweirdy 10.01.2013 / 15:37
1

O md5 não foi "quebrado". O que eles descobriram foi uma maneira de criar cuidadosamente uma mensagem original e uma mensagem modificada que tinha o mesmo hash. Não é possível levar uma mensagem original não especialmente criada para o propósito de adulteração (o arquivo correto) e modificá-la de modo a preservar seu md5sum.

    
por psusi 10.01.2013 / 15:47