Introdução à pergunta abaixo ###
(para que a pergunta seja mais utilizável para mais pessoas)
Dentro de um pacote no estilo Ubuntu / debian (arquivo * .deb), há um arquivo nomeado
/DEBIAN/md5sums
com o conteúdo deste formulário:
212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1 4131b66dc3913fcbf795159df912809f caminho / para / file2 8c21de23b7c25c9d1a093607fc27656a caminho / para / file3 c6d010a475366e0644f3bf77d7f922fd caminho / para / place / of / file4
Como presumo que este arquivo será usado para verificar se os arquivos que acompanham o pacote não foram corrompidos de alguma forma. Como o arquivo é chamado `/ DEBIAN / md5sums", presumo que o número hexadecimal antes do caminho + nome do arquivo seja o Hash do algoritmo MD5 digerido por mensagens dos arquivos do pacote.
Agora, todos os interessados sabem que o MD5 Hash 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 (consulte, por exemplo, Prove do conceito "Prevendo o vencedor ...." ).
Questão
Tendo em mente as informações acima, quero saber o seguinte:
** Supondo que eu instale um pacote no meu sistema Ubuntu. É o DEBIAN/md5sums
único meio de garantir que os dados não sejam violados? **
Respondendo à pergunta, acho que poderia ajudar a descobrir o seguinte:
- Os pacotes deb como um todo também têm hash (valores de hash criados para), para que haja outra maneira de garantir que os arquivos recebidos sejam "seguros" / "não alterados"
- Se houver outras maneiras, o
DEBIAN/md5sums
arquivo para garantir a integridade, qual é o arquivo incluído nos pacotes * .deb? - O Ubuntu usa hashes para repositório / sistema de pacotes "menos danificados" que o SHA-1 e MD5?
que infelizmente também não conheço.
Qualquer resposta que possa esclarecer a questão (ou mesmo apenas uma subquestão) é muito bem-vinda
atualizar
(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab parece indicar que há (como eu esperava) alguma chave de gpg pública / privada em andamento (para manter os repositórios e sistemas de pacotes) seguros de ataques. As informações no local vinculado não são muito. Não diz quase nada sobre o aspecto de segurança do sistema de pacotes. De qualquer forma, suponho que o link já indique que a resposta para a pergunta será "NÃO - pelo menos os pacotes deb do repositório - também são protegidos por ....". Espero que alguém tenha algumas idéias para usar como resposta aqui.
(2) Essa pergunta parece ser também sobre o tópico "segurança" no sistema de pacotes do Ubuntu. Então, eu apenas o adiciono aqui para que seu anúncio apareça se alguém tentar descobrir a pergunta: por que as correções propostas do BADSIG (na atualização do apt-get) são seguras?
fonte
apt
é a política de soma de verificação.Respostas:
O Ubuntu publica um manifesto assinado com uma chave RSA. O manifesto lista
Packages
arquivos de índice individuais , cada um com hashes MD5, SHA-1 e SHA-256. CadaPackages
arquivo lista.deb
arquivos individuais com hashes MD5, SHA-1 e SHA-256.Para verificação, o apt usa o melhor hash suportado e é publicado pelo arquivo do qual está baixando. No caso do arquivo Ubuntu, este é o SHA-256.
Portanto, toda a cadeia de instalação de pacotes no seu sistema Ubuntu é protegida por RSA e SHA-256.
A proteção MD5 existente no dpkg é realmente útil apenas para corrupção acidental e não é necessária para proteger o caminho da instalação.
Você pode estar interessado no
debsums
pacote, mas como ele usa MD5s, também é útil apenas para verificar se há corrupção acidental.Se você deseja verificar a modificação do sistema malicioso, essas não são as ferramentas apropriadas para você. Você precisará colocar o sistema offline e verificar com um registro anterior, os arquivos do pacote original ou os hashes seguros gerados a partir deles.
Observe que, como uma modificação mal-intencionada bem-sucedida pode ser simplesmente fazer o downgrade de um pacote para o pacote anterior a uma atualização de segurança, verificar se todos os arquivos do pacote instalado correspondem aos originais também não é suficiente.
fonte
Eu queria que isso fosse um comentário, mas não consegui encaixá-lo na caixa, então estou colocando aqui.
Sim, o md5 foi quebrado criptograficamente, mas isso não significa que 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 é quase impossível. Observando o exemplo que você referenciou ( Prevendo o vencedor ), veja o seguinte:
O que foi feito foi preencher os arquivos com dados aleatórios para fazer com que os hashes correspondessem. A tecnologia não é nem de longe capaz de adicionar código malicioso específico a um arquivo e alinhar os hashes sem quebrá-lo ou tornar óbvio que o arquivo foi alterado (não sei se o apt faz, mas muitos hashes de arquivo são acompanhado pelo tamanho dos arquivos para aumentar a dificuldade de uma colisão de hash indetectável).
fonte
MD5 não foi "quebrado". O que eles encontraram foi uma maneira de criar cuidadosamente uma mensagem original e uma mensagem modificada com o mesmo hash. Não é possível pegar uma mensagem original não criada especialmente para violar (o arquivo correto) e modificá-la de maneira a preservar seu md5sum.
fonte