onde estão os esforços para padronizar metadados de integridade de download? (appcasting?)

0

Eu faço o download de software de código aberto o tempo todo e fico perplexo com o fato de que, por um lado, muitos sites ( Apache , MySQL , Eclipse ) fornece informações de integridade de download através de hashes MD5 e / ou assinaturas digitais, especialmente porque estão envolvidos sites espelho de download potencialmente vulneráveis a ataques de hackers, mas o formato desta informação de integridade de download é legível e não legível por máquina.

Eu adoraria se houvesse um formato padrão para essa informação, então eu poderia usar o software plugin no meu navegador para fazer todo o trabalho sujo para mim e gerar um arquivo de log dos resultados, para que eu não tivesse que manter ter que executar manualmente o md5 e fazer todo esse trabalho extra toda vez que eu baixar algo. Parece que existem realmente alguns esforços na criação de formatos como este, por ex. "appcasting" (ver também aqui e aqui e < a href="http://microformats.org/wiki/hash-brainstorming"> aqui , e o que parece ser o blog original aqui ) ...

... como é que algo assim não é mais predominante na comunidade de código aberto? O que seria necessário para colocar algo assim em funcionamento?

    
por Jason S 23.07.2009 / 22:33

1 resposta

2

A resposta curta é que existe um método padrão, chamado assinatura de aplicativo . A resposta mais longa é um pouco mais complicada.

Com relação à idéia de hash do seu MD5, existe pelo menos um plugin experimental do Firefox que calcula os hashes dos arquivos baixados. Você pode então compará-los manualmente. Alternativamente, muitos sites oferecem downloads de arquivos de texto com os hashes pré-computados para seu software. Você pode então forçar uma verificação usando md5sum -c < hash filename > . O problema com todos esses métodos é que, se um invasor conseguir substituir o arquivo baixado, ele provavelmente poderá alterar os hashes listados no site.

A assinatura de aplicativos é a solução oficial para esse problema. Ele usa criptografia de chave pública e autoridades de certificação de maneira semelhante ao que é usado no padrão de segurança SSL para sites. Ele funciona obtendo um certificado digital de uma autoridade de certificação. Este certificado pode ser verificado por qualquer pessoa e garantir que o titular é quem eles dizem ser. Também pode ser usado para "assinar" um pacote, o que garante que o pacote foi produzido pelo titular, e não é alterado de forma alguma por ninguém além do titular.

Então, por que não vemos melhor adoção desses métodos? Bem, eles já são bem adotados e, na maioria das vezes, invisíveis quando trabalham. Os principais sistemas operacionais e navegadores usam as assinaturas, se estiverem disponíveis por padrão. Além disso, as principais distribuições do Linux assinam os pacotes de software e as atualizações que eles fornecem usando esses métodos. No entanto, quando se trata de jogadores menores, é muito improvável que se veja uma grande adoção.

O problema aqui é uma mistura de pobreza de hackers e orgulho de hackers. Para obter um desses certificados, você precisa pagar uma grande quantia em dinheiro para uma das autoridades de certificação. Se não o fizerem, um programador ainda pode assinar seus próprios pacotes sem a benção da CA. Ao fazer isso, o usuário que faz o download do arquivo pode ter certeza de que apenas o detentor do certificado tocou em um determinado pacote, o que atende ao requisito de integridade da sua pergunta.

Infelizmente, usar um certificado 'auto-assinado' como esse diminui a confiança do público em seu software, em vez de aumentá-lo. Se você se auto-assinar, o sistema operacional / navegador reclama alto quando você tenta abrir o pacote; mais alto até do que para um arquivo totalmente sem assinatura. Como o navegador ou sistema operacional não confia no criador do software, ele acha que você também não deve confiar neles.

A partir disso, a queixa de hackers é por que alguém deveria confiar em alguma autoridade de certificação multinacional sem rosto mais do que em outra pessoa? O que eles fizeram para se mostrarem mais confiáveis do que todos os outros?

Para muitas pessoas, o problema do certificado se resume à extorsão: "Pague-nos para comprovar você, ou seus downloads serão de cidadãos de segunda categoria". É por isso que a assinatura de aplicativos não foi adotada por ninguém, exceto os maiores jogadores.

    
por 24.07.2009 / 01:45

Tags