Comment vérifier si un paquet PPA a été falsifié?

Je veux utiliser un package récent d’un PPA. Comment puis-je m’assurer que le responsable de l’APP n’a ajouté aucun code malveillant dans la version fournie?

  1. Installez le paquet devscripts .
  2. Accédez à la page PPA et recherchez les fichiers de package source associés au package qui vous intéresse. Recherchez celui qui se termine par .dsc .
  3. Exécutez la commande dget url_of_dsc_file . Cela téléchargera et décompactera le code source utilisé pour construire le paquet dans un répertoire. Renommez ce répertoire en ppa .
  4. Obtenez le code source original avec lequel comparer le PPA. Il peut s’agir de l’archive amont en amont du site Web du projet correspondant à la version que vous utilisez, ou peut-être de la dernière version officielle du paquet pour Ubuntu (vous pouvez trouver un lien vers ce dernier .dsc partir de https://launchpad.net/ubuntu/+source/ source_package_name ). Téléchargez et décompressez cela, puis renommez ce répertoire en upstream , en utilisant dget pour télécharger à partir d’un .dsc si nécessaire.
  5. Maintenant, comparez les répertoires upstream et ppa pour voir si des modifications malveillantes non présentes dans ppa ont été introduites dans le upstream . Vous pouvez utiliser meld pour cela, qui est un visualiseur de différences graphiques. apt-get install meld , puis lancez meld upstream ppa . Il vous indiquera quels fichiers sont nouveaux, modifiés ou supprimés, et vous pouvez double-cliquer sur un fichier pour voir les modifications détaillées dans un format facile à consulter.

Étant donné que les PPA sont générés à partir du source sur l’infrastructure de Canonical, vous pouvez être sûr que le fichier binary que vous avez installé à partir du PPA correspond à la source que vous avez examinée ci-dessus, à condition que vous fassiez confiance à Canonical. Cela devrait être acceptable étant donné que vous faites confiance à Canonical pour construire Ubuntu en premier lieu.

Vous ne pouvez vraiment pas être sûr qu’il n’y a pas de malware dans le paquet fourni par PPA, mais vous pouvez au moins vérifier que le code source n’a pas été falsifié:

  • Depuis la page PPA, téléchargez le fichier orig.tar.* package et décompressez-le.
  • puis téléchargez et décompressez la même version du programme sur le site Web du projet
  • Exécuter diff -r orig-dir/ ppa-dir/

Les deux arbres source doivent être identiques. Si ce n’est pas le cas, vous pouvez détailler les différences et vous assurer qu’elles ne sont pas malveillantes.

Vous devez également vérifier l’emballage lui-même. Les paquets Debian peuvent contenir des correctifs dans l’arborescence source, et ils peuvent append du code supplémentaire.

Les paquets Debian (.deb) peuvent être décompressés comme ceci:

 ar p mypackage.deb data.tar.gz | tar zx