web-dev-qa-db-fra.com

À quel moment un système peut-il être compromis lors du téléchargement de données archivées à partir d'une source non fiable?

Si je télécharge des données archivées à partir d'une source éventuellement non fiable, à quel point suis-je à risque de nuire à mon système:

  1. Télécharger et enregistrer initialement les données archivées (toujours compressées)
  2. Déballage des données archivées
  3. Exécuter n'importe quel fichier à partir de l'archive décompressée

Au point 3, je serai évidemment à risque, mais qu'en est-il de 1-2?

20
T A

1 ne devrait pas présenter de danger tant que le fichier est simplement enregistré quelque part et qu'aucune tentative d'ouverture avec quoi que ce soit n'est faite. Si vous le visualisez même avec un éditeur de texte, il y a déjà un petit danger d'exploits.

Dans le cas de 2 il y a des vulnérabilités et des exploits, donc il y a des dangers. Quelques exemples de tels scénarios possibles:

  • Écrits de fichiers arbitraires causés par des vulnérabilités de lien symbolique (lien symbolique) des archives .tar.gz qui sont exploitées en raison de la façon dont Bower (un gestionnaire de packages Web populaire) extrait ces archives

  • CVE-2018-20250 est une vulnérabilité de traversée de chemin absolue dans unacev2.dll, le fichier DLL utilisé par WinRAR pour analyser les archives ACE qui n'a pas été mis à jour depuis 2005. Une archive ACE spécialement conçue peut exploiter cette vulnérabilité pour extraire un fichier vers un chemin arbitraire et contourner le dossier de destination réel. Dans son exemple, CPR est capable d'extraire un fichier malveillant dans le dossier de démarrage de Windows.

  • CVE-2018-20252 et CVE-2018-20253 sont des vulnérabilités d'écriture en dehors des limites lors de l'analyse des formats d'archive spécialement construits. Une exploitation réussie de ces CVE pourrait conduire à l'exécution de code arbitraire.

  • Zip Slip que les attaquants pourraient utiliser pour cibler des fichiers qu'ils peuvent exécuter à distance, tels que des parties d'un site Web, ou des fichiers qu'un ordinateur ou un utilisateur est susceptible d'exécuter de toute façon, comme des applications populaires ou des fichiers système.

  • Vulnérabilité de traversée de chemin de décompression de fichier d'archive de graphique de barre.

  • CVE-2015-5663 - la fonctionnalité d'exécution de fichier dans WinRAR avant 5.30 beta 5 permet aux utilisateurs locaux d'obtenir des privilèges via un fichier cheval de Troie avec un nom similaire à un nom de fichier sans extension qui a été sélectionné par l'utilisateur.

  • CVE-2005-3262 permet aux attaquants distants d'exécuter du code arbitraire via des spécificateurs de chaîne de format dans un fichier UUE/XXE, qui ne sont pas correctement gérés lorsque WinRAR affiche des erreurs de diagnostic liées à un nom de fichier non valide

Il existe de nombreux autres exemples et bases de données avec de telles vulnérabilités et même la plupart d'entre eux ont été corrigés dans les versions ultérieures du logiciel, un risque existe toujours.

Par conséquent, [2] est risqué et doit être manipulé avec précaution.

24
Overmind

En théorie, tous ces endroits pourraient être exploités. Je ne vais pas entrer dans les exploits spécifiques disponibles car ils changent constamment avec le format d'archive et la technologie mobile:

Télécharger et enregistrer initialement les données archivées (toujours compressées)

Il est peu probable mais il est possible que votre gestionnaire de téléchargement/navigateur Web ait une sorte d'exploit. Vous dites que la source n'est pas fiable, donc le serveur pourrait essayer d'attaquer votre programme de téléchargement en utilisant des exploits dans sa mise en œuvre ou des faiblesses dans le protocole de transfert de fichiers que vous utilisez. Ces exploits sont rares mais pas inconnus. Mais fondamentalement, sauf si vous êtes certain que votre logiciel est totalement inexploitable, toute connexion réseau avec un serveur malveillant pourrait entraîner une attaque.

Vous pouvez quelque peu atténuer cela en sandboxant le logiciel de téléchargement avec seulement des autorisations minimales et un accès nécessaire à l'emplacement que vous souhaitez télécharger et à la pile réseau. Cela atténue principalement cette faiblesse en supposant que votre modèle d'autorisation de système d'exploitation ou logiciel de sandboxing n'a pas également d'exploits.

Déballage des données archivées

Au fil des ans, il existe de nombreuses attaques impliquant l'utilisation de fichiers d'archives empoisonnés pour exécuter du code arbitraire sur un système en exploitant les faiblesses du format d'archive ou du logiciel de décompression. Ce sont probablement plus communs que la faiblesse ci-dessus.

Les principales protections veillent à nouveau à accorder au programme d'extraction des autorisations minimales et potentiellement à le mettre en sandbox pour s'assurer qu'il peut causer un minimum de dommages s'il est attaqué avec succès. Les mises en garde ci-dessus s'appliquent.

Exécuter n'importe quel fichier à partir de l'archive décompressée

C'est évidemment extrêmement risqué, et les mêmes problèmes que les logiciels en cours d'exécution et malveillants s'appliquent. Il est relativement facile pour un logiciel, lorsqu'il est exécuté explicitement, de briser de nombreux bacs à sable et protections du système d'autorisation afin que tous les paris soient désactivés. Vous pouvez avoir une certaine sécurité en exécutant le logiciel dans un VM durci mais cela ne vous protège toujours pas complètement à moins d'utiliser une machine à air comprimé pour exécuter les programmes qui est ensuite détruit.

TLDR

Toutes ces étapes sont assez risquées, mais chaque étape successive est probablement plus dangereuse que la précédente.

9
Vality