49 votes

Les fichiers EXE zippés sont-ils inoffensifs pour les serveurs Linux ?

J'ai lancé un scanner de logiciels malveillants sur mon site, et il a marqué un tas de fichiers EXE zippés comme étant des fichiers à risque potentiel (ces fichiers ont été téléchargés par les utilisateurs). Comme je peux décompresser les fichiers sur mon Mac, je suppose qu'il s'agit de vrais fichiers ZIP et non de fichiers PHP renommés.

Le fichier ZIP ne devrait donc pas présenter de risque pour mon serveur web, n'est-ce pas ?

83voto

Sven Points 95985

S'il s'agit bien de fichiers exe Windows zippés, ils devraient être inoffensifs pour votre système Linux, à moins que vous n'ayez quelque chose comme Wine en place qui pourrait essayer de les exécuter.

Mais s'ils se trouvent dans votre chemin d'accès au web, ils peuvent être des logiciels malveillants et poser un problème de sécurité. grand risque pour les visiteurs de vos sites web (et pour vous, si vous finissez par être marqué comme source de logiciels malveillants et que les utilisateurs reçoivent de vilains avertissements lorsqu'ils essaient de visiter votre site).

62voto

Ilmari Karonen Points 895

Comme je peux décompresser les fichiers sur mon Mac, je suppose qu'il s'agit de vrais fichiers zip et non pas de quelque chose comme des fichiers php renommés.

Pendant que vous êtes probablement Dans ce cas, votre hypothèse n'est pas toujours valable. Une archive ZIP reste valide même si vous y ajoutez des données arbitraires Il est donc tout à fait possible de créer un fichier qui soit à la fois une archive ZIP valide contenant des données innocentes et un script malveillant. Ce n'est même pas particulièrement difficile ; il suffit de concaténer le code PHP et le fichier ZIP, et de s'assurer (par exemple en utilisant la fonction __halt_compiler() ) que PHP n'essaiera pas d'analyser les données de l'archive ZIP annexée.

Cette astuce est légitimement utilisée pour créer des fichiers ZIP auto-extractibles, mais il est parfaitement possible d'ajouter à l'avance toute autre donnée cachée ou code exécutable dans un fichier ZIP de la même manière. Certains programmes peuvent refuser d'ouvrir de tels fichiers ZIP modifiés (mais si c'est le cas, ils violent techniquement la spécification du format ZIP), ou ils peuvent identifier le fichier comme étant autre chose qu'un fichier ZIP par défaut, mais en général, si vous introduisez un tel fichier dans un code qui attend un fichier ZIP, il sera probablement accepté comme tel.

Une utilisation malveillante plus courante de ces astuces consiste à déguiser un code d'exploitation dans un conteneur ZIP (par exemple, un fichier JAR) en quelque chose d'inoffensif (comme une image GIF, comme dans le cas du fichier GIFAR ), mais il n'y a aucune raison pour qu'il ne puisse pas être utilisé dans l'autre sens, par exemple pour contourner un filtre naïf de téléchargement de fichiers qui interdit le téléchargement de scripts PHP scripts mais autorise les fichiers ZIP, sans vérifier si le fichier téléchargé peut être les deux en même temps.

11voto

Il y a au moins deux considérations importantes à prendre en compte :

  1. Si ces fichiers sont distribués sur votre site web, vous pouvez être tenu pour responsable si quelqu'un obtient des logiciels malveillants à partir de votre site. À tout le moins, votre site pourrait être signalé comme contenant des logiciels malveillants. Si vous décidez d'ignorer les avertissements des scanners de logiciels malveillants, vous devriez au moins informer le téléchargeur et les éventuels téléchargeurs que le fichier peut être dangereux (comme le sont parfois les fichiers EXE téléchargés sur l'internet).
  2. Ces fichiers font-ils l'objet d'un traitement autre que la recherche de logiciels malveillants ? Le traitement automatique des pièces jointes ou d'autres téléchargements de ce type est toujours potentiellement dangereux, car le contenu du fichier peut être n'importe quoi. Vous n'avez même pas besoin d'exécuter le fichier EXE si votre logiciel utilitaire est vulnérable à un exploit et que le zip/exe apparemment agréable contient un contenu nuisible ciblant votre utilitaire. Je ne laisserais pas mon serveur traiter quoi que ce soit qui échoue à l'analyse des logiciels malveillants.

Ainsi, en fonction de ce que fait votre serveur, le fichier pourrait potentiellement être préjudiciable à votre serveur ou à d'autres utilisateurs. Étant donné que je me méfie des EXE téléchargés sur Internet, je dirais que les téléchargeurs potentiels sont les utilisateurs les plus exposés.

2voto

grovkin Points 121

Vous pouvez vérifier si les fichiers peuvent être exécutés sur votre serveur Linux en les vérifiant simplement avec la commande file FILENAME.exe commande. Les binaires Elf (le format exécutable utilisé sous Linux) peuvent être nommés à l'aide de la commande .exe pour confondre un administrateur Linux peu méfiant, c'est donc probablement une bonne idée de faire cette vérification avant de croire aveuglément que ces fichiers ne peuvent pas être exécutés.

2voto

Je suis surpris que personne n'ait mentionné le fait que n'importe quelle donnée peut être (ou être rendue) nuisible à n'importe quel programme (bogué). C'est la base du fuzzing. Par exemple, vous pourriez avoir un fichier JPEG (ou de type JPEG) qui provoque un dépassement de tampon sur des décodeurs JPEG (spécifiques ?), causant n'importe quoi, du déni de service à l'exécution de code arbitraire. Il s'agit de subvertir un programme de traitement de données existant ; il n'est pas nécessaire d'introduire un nouvel exécutable ! C'est la raison pour laquelle le sandboxing, la vérification des entrées et les principes du moindre privilège sont nécessaires.

Ainsi, dans votre cas, un fichier ZIP peut poser des problèmes à des moteurs de décodage ZIP (spécifiques ?). Il n'est pas nécessaire que le fichier ZIP contienne un exécutable natif pour qu'il soit nuisible.

Cela dit, votre scanner travaille à un autre niveau, plus grossier. Si le type de risque dont je parle existait dans ces fichiers, vous avez déjà été touché au moment où vous les avez traités :).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X