Como posso verificar se um pacote PPA foi adulterado?

4

Eu quero usar um pacote recente de um PPA. Como posso ter certeza de que o mantenedor do PPA não adicionou nenhum código malicioso na versão fornecida lá?

    
por Stefano Palazzo 25.01.2013 / 15:00

2 respostas

10
  1. Instale o pacote devscripts .
  2. Vá para a página do PPA e encontre os arquivos do pacote de origem associados ao pacote em que você está interessado. Encontre aquele que termina com .dsc .
  3. Execute o comando dget url_of_dsc_file . Isso fará o download e descompactará o código-fonte usado para construir o pacote em um diretório. Renomeie esse diretório para ppa .
  4. Obtenha o código-fonte original para comparar o PPA. Este pode ser o tarball upstream original do site do projeto que corresponde à versão que você está usando, ou talvez o lançamento oficial mais recente do Ubuntu (você pode encontrar um link para o último .dsc de https://launchpad.net/ubuntu/+source/source_package_name ). Faça o download e descompacte-o e renomeie esse diretório para upstream , usando dget para fazer o download de um .dsc , se necessário.
  5. Agora, compare os diretórios upstream e ppa para ver se alguma alteração maliciosa foi introduzida em ppa que não estava presente em upstream . Você poderia usar o meld para isso, que é um visualizador de diferenças gráficas. apt-get install meld , em seguida, execute meld upstream ppa . Ele mostrará quais arquivos são novos, alterados ou removidos, e você pode clicar duas vezes em um arquivo para ver as alterações detalhadas em um formato fácil de revisar.

Como os PPAs são criados a partir da fonte na infraestrutura da Canonical, você pode confiar que o binário que você instalou do PPA corresponde à fonte que você revisa como acima, desde que você confie na Canonical. Isso deve ser aceitável, já que você confia na Canonical para construir o Ubuntu em primeiro lugar.

    
por Robie Basak 25.01.2013 / 15:21
0

Você realmente não pode ter certeza de que não há malware no pacote fornecido pelo PPA, mas pode pelo menos verificar se o código-fonte não foi adulterado:

  • Na página PPA, faça o download do arquivo orig.tar.* do pacote e descompacte-o
  • faça o download e descompacte a mesma versão do programa no site do projeto
  • Executar diff -r orig-dir/ ppa-dir/

As duas árvores de origem devem ser idênticas. Se não estiverem, você pode analisar as diferenças em detalhes e garantir que elas não sejam mal-intencionadas.

Você também precisa verificar a embalagem em si. Pacotes Debian podem conter correções para a árvore de fontes, e eles podem adicionar código adicional.

Os pacotes Debian (.deb) podem ser descompactados assim:

ar p mypackage.deb data.tar.gz | tar zx
    
por Stefano Palazzo 25.01.2013 / 15:00

Tags