Blog

Les codeurs conquièrent la sécurité : Série "Partager et apprendre" - Téléchargements de fichiers sans restriction

Jaap Karan Singh
Publié le 10 janvier 2019

Le problème des téléchargements de fichiers sans restriction n'est pas une attaque en soi, mais plutôt une situation ou un état courant qui permet aux attaquants d'accéder facilement aux applications et aux ressources du réseau. C'est un peu comme si vous vous promeniez dans le froid avec des vêtements mouillés. Bien que cela ne vous rende pas nécessairement malade en soi, cela diminue votre résistance au point que n'importe quel virus opportuniste dépassera facilement les défenses de votre corps.

En matière de cybersécurité, les attaquants peuvent être prompts à exploiter n'importe quelle application ou n'importe quel programme qui a été autorisé à prendre en charge des téléchargements de fichiers sans restriction. Les résultats peuvent être dévastateurs. Des attaquants astucieux peuvent utiliser leur accès illimité pour télécharger des fichiers malveillants, mettre en place des scripts pour voler des informations d'identification ou lancer des attaques plus profondes dans un réseau en utilisant les propres autorisations d'une application. Même un attaquant relativement peu sophistiqué pourrait utiliser ce type d'accès illimité pour effectuer des attaques par déni de service ou pour faire planter une application.

Heureusement, il existe plusieurs façons de résoudre le problème des téléchargements de fichiers sans restriction et d'arrêter les attaquants potentiels dans leur élan. À cette fin, nous allons examiner trois aspects essentiels des téléchargements de fichiers sans restriction :

  • Comment ils fonctionnent
  • Pourquoi ils sont si dangereux
  • Comment vous pouvez mettre en place des défenses pour les arrêter.

Comment les attaques exploitent-elles les téléchargements de fichiers sans restriction ?

Il existe de nombreuses raisons pour lesquelles les sites souhaitent permettre au public de télécharger des fichiers. Peut-être une entreprise cherche-t-elle à embaucher des personnes et souhaite-t-elle leur permettre de télécharger leur curriculum vitae dans le cadre du processus de candidature. Les banques peuvent encourager leurs clients à remplir des documents importants chez eux, par exemple lors d'une demande de prêt ou d'ouverture de compte. Les sites de tourisme ou de médias sociaux peuvent inviter les utilisateurs à télécharger leurs photos pour les partager avec d'autres.

Il existe de nombreuses raisons valables d'autoriser le téléchargement de fichiers. Et par défaut, la plupart des nouvelles applications vont probablement autoriser tout type de téléchargement de fichiers, sans aucune restriction. Les problèmes commencent lorsqu'un attaquant potentiel remarque que ces téléchargements ne sont soumis à aucune restriction.

L'absence de restrictions sur les téléchargements expose les sites à trois types d'attaques. En commençant par le moins sophistiqué, un utilisateur malveillant peut simplement télécharger d'énormes fichiers tels que des archives zippées contenant des centaines de gigaoctets d'informations. Outre l'engorgement de la bande passante, cela peut entraîner une surcharge de la zone de stockage attribuée à l'application.

L'utilisateur qui télécharge un fichier malveillant, comme un virus ou quelque chose de plus sinistre comme un ransomware, est le prochain sur l'échelle de l'infamie. C'est un peu comme cette vieille superstition qui veut que l'on invite spécifiquement un vampire dans sa maison. Si vous affichez un panneau indiquant que tout le monde peut entrer librement, c'est comme si les téléchargements de fichiers étaient illimités. Vous ne contrôlez plus ce qui franchit votre porte et vous devez vous attendre à ce que tous les visiteurs, ou fichiers, ne soient pas inoffensifs. Certains d'entre eux peuvent être des monstres.

Enfin, un attaquant habile peut utiliser les téléchargements sans restriction pour s'introduire dans un réseau et y mener des attaques plus profondes. Étant donné qu'il n'y a aucune restriction sur ce qu'une personne peut télécharger, un attaquant peut envoyer son propre shell web par le biais de ce processus. Il peut ensuite envoyer des commandes dans son shell, qui seront exécutées sur le serveur avec le même niveau de permission que l'application.

Pourquoi l'accès illimité aux fichiers est-il si dangereux ?

Si le déploiement d'une application avec un accès illimité aux fichiers n'est pas immédiatement dangereux, cela revient à ouvrir une brèche dans vos défenses de cybersécurité et à inviter quelqu'un à attaquer votre organisation. Tôt ou tard, quelqu'un réagira.

Au niveau le plus élémentaire, les attaquants n'ont même pas besoin de beaucoup de compétences pour faire des ravages. Le simple fait de compresser des fichiers extrêmement volumineux et de les télécharger peut suffire à priver de service des utilisateurs valides. Avec le temps, l'application ou un site entier peut même tomber en panne, en fonction de la façon dont l'application est programmée et mise en réseau.

L'accès illimité aux fichiers peut également ouvrir une brèche dans les pare-feux et autres protections du réseau. Peu importe que vous disposiez d'un scanner surveillant votre courrier électronique entrant ou l'activité de navigation de vos employés sur le web si vous avez créé une voie permettant aux attaquants de télécharger des logiciels malveillants directement sur votre réseau central. Le logiciel malveillant peut faire planter l'application ou même le serveur sur lequel il s'exécute, mais c'est probablement le meilleur résultat possible. Dans le pire des cas, un programme réellement malveillant comme un ransomware peut utiliser le serveur compromis pour se propager à l'ensemble du réseau.

Des attaquants plus habiles ne seront probablement pas aussi évidents lorsqu'ils exploiteront une application avec un accès illimité aux fichiers. Au lieu de cela, ils peuvent utiliser la vulnérabilité pour compromettre l'application et l'utiliser pour pénétrer plus profondément dans le réseau, en se déplaçant lentement et en essayant d'éviter d'être détectés. Pour ce faire, ils peuvent télécharger un shell web ou un autre fichier de type .exe, puis lui envoyer des commandes directement une fois qu'il a atterri. Tout ce que l'utilisateur exécute via son shell sera normalement exécuté par le serveur, en utilisant les niveaux d'autorisation définis pour l'application qui l'héberge. Pour le serveur, ces commandes proviennent de l'application et ne sont pas susceptibles d'être vérifiées ou examinées plus avant.

Tout cela fait de la vulnérabilité de l'accès illimité aux fichiers l'une des plus dangereuses à avoir sur votre réseau. La question n'est probablement pas de savoir si elle posera un problème, mais quand.

Comment éliminer la vulnérabilité liée à l'accès illimité aux fichiers ?

Alors, comment résoudre le problème de l'accès illimité aux fichiers ? Le plus simple est d'ajouter une ou plusieurs restrictions sur les types de fichiers qui peuvent être téléchargés. Ces restrictions peuvent être communiquées à l'utilisateur si vous le souhaitez, par exemple en lui indiquant que le site n'accepte que les fichiers Word ou texte, ou, dans le cas d'un site de partage d'images, que les fichiers .jpgs ou .gifs. En arrière-plan, vous devrez créer une liste blanche des extensions de fichiers acceptables et refuser toutes les autres. Des restrictions doivent également être imposées sur la longueur maximale des noms de fichiers. Si le nom d'un fichier contient des caractères spéciaux, ce qui pourrait indiquer une tentative de déclenchement d'une commande exécutable, le fichier doit également être rejeté.

Outre les types de fichiers et les règles de dénomination, vous voudrez également limiter la taille maximale de chaque fichier. La taille maximale doit être raisonnable et adaptée au type de fichier que l'application est censée collecter. Cela peut signifier un plafond de 10 mégaoctets environ pour les fichiers Word et une taille un peu plus importante, de l'ordre de 50 mégaoctets, pour les fichiers graphiques. Il est également possible de fixer des règles relatives à la taille minimale des fichiers, mais uniquement si la fourchette de taille des fichiers attendus est bien connue, ce qui peut être le cas si les utilisateurs remplissent et téléchargent un formulaire spécifique.

Les attaquants peuvent toujours trouver un moyen astucieux de faire passer un shell ou un autre programme potentiellement malveillant au-delà des restrictions relatives au type et à la taille des fichiers. Pour compenser, les fichiers collectés doivent toujours être stockés dans un répertoire privé sans privilèges d'exécution. Pour plus de sécurité, les fichiers peuvent être renommés par le système en une série de caractères aléatoires. Cela empêcherait les utilisateurs non autorisés extérieurs au réseau de rechercher l'emplacement du fichier qu'ils ont téléchargé, ce qui pourrait leur donner accès à votre réseau. Toutefois, si vous faites cela, vous devrez probablement mettre en place et maintenir un tableau reliant les noms de fichiers aléatoires à leurs désignations d'origine.

Enfin, tout ce qui arrive sur le réseau par le biais d'un téléchargement doit être analysé à la recherche de logiciels malveillants et de virus par les programmes défensifs que l'organisation utilise pour ces tâches. Cela ne permettra peut-être pas de tout détecter, mais il s'agit d'une couche de sécurité importante qui pourrait être utilisée pour détecter jusqu'à 90 % ou plus des fichiers malveillants les plus courants qui tentent d'entrer par le biais d'un téléchargement de fichiers.

Restreindre le problème du téléchargement de fichiers sans restriction

Une fois que plusieurs couches de sécurité sont mises en place au niveau du backend, le problème du téléchargement de fichiers sans restriction cesse d'être un problème. En fait, vous éliminez le problème en imposant des restrictions à vos téléchargements de fichiers, qui ne sont donc plus illimités. Seuls les bons fichiers sont autorisés à entrer, tandis que les vampires et les logiciels malveillants sont laissés à l'écart.

Pour en savoir plus, vous pouvez consulter l'aide-mémoire de l'OWASP Unrestricted File Upload Prevention, qui décrit certains des problèmes les plus courants lorsque ce type de situation est autorisé sur un réseau. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la présentation gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à vous attaquer à cette vulnérabilité dès maintenant ? Rendez-vous sur le champ de bataille et testez vos compétences :

Voir la ressource
Voir la ressource

Dans le domaine de la cybersécurité, les attaquants peuvent être prompts à exploiter toute application ou tout programme qui a été autorisé à prendre en charge des téléchargements de fichiers sans restriction. Les résultats peuvent être dévastateurs.

Vous souhaitez en savoir plus ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstration
Partager sur :
Auteur
Jaap Karan Singh
Publié le 10 janvier 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :

Le problème des téléchargements de fichiers sans restriction n'est pas une attaque en soi, mais plutôt une situation ou un état courant qui permet aux attaquants d'accéder facilement aux applications et aux ressources du réseau. C'est un peu comme si vous vous promeniez dans le froid avec des vêtements mouillés. Bien que cela ne vous rende pas nécessairement malade en soi, cela diminue votre résistance au point que n'importe quel virus opportuniste dépassera facilement les défenses de votre corps.

En matière de cybersécurité, les attaquants peuvent être prompts à exploiter n'importe quelle application ou n'importe quel programme qui a été autorisé à prendre en charge des téléchargements de fichiers sans restriction. Les résultats peuvent être dévastateurs. Des attaquants astucieux peuvent utiliser leur accès illimité pour télécharger des fichiers malveillants, mettre en place des scripts pour voler des informations d'identification ou lancer des attaques plus profondes dans un réseau en utilisant les propres autorisations d'une application. Même un attaquant relativement peu sophistiqué pourrait utiliser ce type d'accès illimité pour effectuer des attaques par déni de service ou pour faire planter une application.

Heureusement, il existe plusieurs façons de résoudre le problème des téléchargements de fichiers sans restriction et d'arrêter les attaquants potentiels dans leur élan. À cette fin, nous allons examiner trois aspects essentiels des téléchargements de fichiers sans restriction :

  • Comment ils fonctionnent
  • Pourquoi ils sont si dangereux
  • Comment vous pouvez mettre en place des défenses pour les arrêter.

Comment les attaques exploitent-elles les téléchargements de fichiers sans restriction ?

Il existe de nombreuses raisons pour lesquelles les sites souhaitent permettre au public de télécharger des fichiers. Peut-être une entreprise cherche-t-elle à embaucher des personnes et souhaite-t-elle leur permettre de télécharger leur curriculum vitae dans le cadre du processus de candidature. Les banques peuvent encourager leurs clients à remplir des documents importants chez eux, par exemple lors d'une demande de prêt ou d'ouverture de compte. Les sites de tourisme ou de médias sociaux peuvent inviter les utilisateurs à télécharger leurs photos pour les partager avec d'autres.

Il existe de nombreuses raisons valables d'autoriser le téléchargement de fichiers. Et par défaut, la plupart des nouvelles applications vont probablement autoriser tout type de téléchargement de fichiers, sans aucune restriction. Les problèmes commencent lorsqu'un attaquant potentiel remarque que ces téléchargements ne sont soumis à aucune restriction.

L'absence de restrictions sur les téléchargements expose les sites à trois types d'attaques. En commençant par le moins sophistiqué, un utilisateur malveillant peut simplement télécharger d'énormes fichiers tels que des archives zippées contenant des centaines de gigaoctets d'informations. Outre l'engorgement de la bande passante, cela peut entraîner une surcharge de la zone de stockage attribuée à l'application.

L'utilisateur qui télécharge un fichier malveillant, comme un virus ou quelque chose de plus sinistre comme un ransomware, est le prochain sur l'échelle de l'infamie. C'est un peu comme cette vieille superstition qui veut que l'on invite spécifiquement un vampire dans sa maison. Si vous affichez un panneau indiquant que tout le monde peut entrer librement, c'est comme si les téléchargements de fichiers étaient illimités. Vous ne contrôlez plus ce qui franchit votre porte et vous devez vous attendre à ce que tous les visiteurs, ou fichiers, ne soient pas inoffensifs. Certains d'entre eux peuvent être des monstres.

Enfin, un attaquant habile peut utiliser les téléchargements sans restriction pour s'introduire dans un réseau et y mener des attaques plus profondes. Étant donné qu'il n'y a aucune restriction sur ce qu'une personne peut télécharger, un attaquant peut envoyer son propre shell web par le biais de ce processus. Il peut ensuite envoyer des commandes dans son shell, qui seront exécutées sur le serveur avec le même niveau de permission que l'application.

Pourquoi l'accès illimité aux fichiers est-il si dangereux ?

Si le déploiement d'une application avec un accès illimité aux fichiers n'est pas immédiatement dangereux, cela revient à ouvrir une brèche dans vos défenses de cybersécurité et à inviter quelqu'un à attaquer votre organisation. Tôt ou tard, quelqu'un réagira.

Au niveau le plus élémentaire, les attaquants n'ont même pas besoin de beaucoup de compétences pour faire des ravages. Le simple fait de compresser des fichiers extrêmement volumineux et de les télécharger peut suffire à priver de service des utilisateurs valides. Avec le temps, l'application ou un site entier peut même tomber en panne, en fonction de la façon dont l'application est programmée et mise en réseau.

L'accès illimité aux fichiers peut également ouvrir une brèche dans les pare-feux et autres protections du réseau. Peu importe que vous disposiez d'un scanner surveillant votre courrier électronique entrant ou l'activité de navigation de vos employés sur le web si vous avez créé une voie permettant aux attaquants de télécharger des logiciels malveillants directement sur votre réseau central. Le logiciel malveillant peut faire planter l'application ou même le serveur sur lequel il s'exécute, mais c'est probablement le meilleur résultat possible. Dans le pire des cas, un programme réellement malveillant comme un ransomware peut utiliser le serveur compromis pour se propager à l'ensemble du réseau.

Des attaquants plus habiles ne seront probablement pas aussi évidents lorsqu'ils exploiteront une application avec un accès illimité aux fichiers. Au lieu de cela, ils peuvent utiliser la vulnérabilité pour compromettre l'application et l'utiliser pour pénétrer plus profondément dans le réseau, en se déplaçant lentement et en essayant d'éviter d'être détectés. Pour ce faire, ils peuvent télécharger un shell web ou un autre fichier de type .exe, puis lui envoyer des commandes directement une fois qu'il a atterri. Tout ce que l'utilisateur exécute via son shell sera normalement exécuté par le serveur, en utilisant les niveaux d'autorisation définis pour l'application qui l'héberge. Pour le serveur, ces commandes proviennent de l'application et ne sont pas susceptibles d'être vérifiées ou examinées plus avant.

Tout cela fait de la vulnérabilité de l'accès illimité aux fichiers l'une des plus dangereuses à avoir sur votre réseau. La question n'est probablement pas de savoir si elle posera un problème, mais quand.

Comment éliminer la vulnérabilité liée à l'accès illimité aux fichiers ?

Alors, comment résoudre le problème de l'accès illimité aux fichiers ? Le plus simple est d'ajouter une ou plusieurs restrictions sur les types de fichiers qui peuvent être téléchargés. Ces restrictions peuvent être communiquées à l'utilisateur si vous le souhaitez, par exemple en lui indiquant que le site n'accepte que les fichiers Word ou texte, ou, dans le cas d'un site de partage d'images, que les fichiers .jpgs ou .gifs. En arrière-plan, vous devrez créer une liste blanche des extensions de fichiers acceptables et refuser toutes les autres. Des restrictions doivent également être imposées sur la longueur maximale des noms de fichiers. Si le nom d'un fichier contient des caractères spéciaux, ce qui pourrait indiquer une tentative de déclenchement d'une commande exécutable, le fichier doit également être rejeté.

Outre les types de fichiers et les règles de dénomination, vous voudrez également limiter la taille maximale de chaque fichier. La taille maximale doit être raisonnable et adaptée au type de fichier que l'application est censée collecter. Cela peut signifier un plafond de 10 mégaoctets environ pour les fichiers Word et une taille un peu plus importante, de l'ordre de 50 mégaoctets, pour les fichiers graphiques. Il est également possible de fixer des règles relatives à la taille minimale des fichiers, mais uniquement si la fourchette de taille des fichiers attendus est bien connue, ce qui peut être le cas si les utilisateurs remplissent et téléchargent un formulaire spécifique.

Les attaquants peuvent toujours trouver un moyen astucieux de faire passer un shell ou un autre programme potentiellement malveillant au-delà des restrictions relatives au type et à la taille des fichiers. Pour compenser, les fichiers collectés doivent toujours être stockés dans un répertoire privé sans privilèges d'exécution. Pour plus de sécurité, les fichiers peuvent être renommés par le système en une série de caractères aléatoires. Cela empêcherait les utilisateurs non autorisés extérieurs au réseau de rechercher l'emplacement du fichier qu'ils ont téléchargé, ce qui pourrait leur donner accès à votre réseau. Toutefois, si vous faites cela, vous devrez probablement mettre en place et maintenir un tableau reliant les noms de fichiers aléatoires à leurs désignations d'origine.

Enfin, tout ce qui arrive sur le réseau par le biais d'un téléchargement doit être analysé à la recherche de logiciels malveillants et de virus par les programmes défensifs que l'organisation utilise pour ces tâches. Cela ne permettra peut-être pas de tout détecter, mais il s'agit d'une couche de sécurité importante qui pourrait être utilisée pour détecter jusqu'à 90 % ou plus des fichiers malveillants les plus courants qui tentent d'entrer par le biais d'un téléchargement de fichiers.

Restreindre le problème du téléchargement de fichiers sans restriction

Une fois que plusieurs couches de sécurité sont mises en place au niveau du backend, le problème du téléchargement de fichiers sans restriction cesse d'être un problème. En fait, vous éliminez le problème en imposant des restrictions à vos téléchargements de fichiers, qui ne sont donc plus illimités. Seuls les bons fichiers sont autorisés à entrer, tandis que les vampires et les logiciels malveillants sont laissés à l'écart.

Pour en savoir plus, vous pouvez consulter l'aide-mémoire de l'OWASP Unrestricted File Upload Prevention, qui décrit certains des problèmes les plus courants lorsque ce type de situation est autorisé sur un réseau. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la présentation gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à vous attaquer à cette vulnérabilité dès maintenant ? Rendez-vous sur le champ de bataille et testez vos compétences :

Voir la ressource
Voir la ressource

Remplissez le formulaire ci-dessous pour télécharger le rapport

Nous aimerions que vous nous autorisiez à vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Soumettre
Pour soumettre le formulaire, veuillez activer les cookies "Analytics". N'hésitez pas à les désactiver à nouveau une fois que vous aurez terminé.

Le problème des téléchargements de fichiers sans restriction n'est pas une attaque en soi, mais plutôt une situation ou un état courant qui permet aux attaquants d'accéder facilement aux applications et aux ressources du réseau. C'est un peu comme si vous vous promeniez dans le froid avec des vêtements mouillés. Bien que cela ne vous rende pas nécessairement malade en soi, cela diminue votre résistance au point que n'importe quel virus opportuniste dépassera facilement les défenses de votre corps.

En matière de cybersécurité, les attaquants peuvent être prompts à exploiter n'importe quelle application ou n'importe quel programme qui a été autorisé à prendre en charge des téléchargements de fichiers sans restriction. Les résultats peuvent être dévastateurs. Des attaquants astucieux peuvent utiliser leur accès illimité pour télécharger des fichiers malveillants, mettre en place des scripts pour voler des informations d'identification ou lancer des attaques plus profondes dans un réseau en utilisant les propres autorisations d'une application. Même un attaquant relativement peu sophistiqué pourrait utiliser ce type d'accès illimité pour effectuer des attaques par déni de service ou pour faire planter une application.

Heureusement, il existe plusieurs façons de résoudre le problème des téléchargements de fichiers sans restriction et d'arrêter les attaquants potentiels dans leur élan. À cette fin, nous allons examiner trois aspects essentiels des téléchargements de fichiers sans restriction :

  • Comment ils fonctionnent
  • Pourquoi ils sont si dangereux
  • Comment vous pouvez mettre en place des défenses pour les arrêter.

Comment les attaques exploitent-elles les téléchargements de fichiers sans restriction ?

Il existe de nombreuses raisons pour lesquelles les sites souhaitent permettre au public de télécharger des fichiers. Peut-être une entreprise cherche-t-elle à embaucher des personnes et souhaite-t-elle leur permettre de télécharger leur curriculum vitae dans le cadre du processus de candidature. Les banques peuvent encourager leurs clients à remplir des documents importants chez eux, par exemple lors d'une demande de prêt ou d'ouverture de compte. Les sites de tourisme ou de médias sociaux peuvent inviter les utilisateurs à télécharger leurs photos pour les partager avec d'autres.

Il existe de nombreuses raisons valables d'autoriser le téléchargement de fichiers. Et par défaut, la plupart des nouvelles applications vont probablement autoriser tout type de téléchargement de fichiers, sans aucune restriction. Les problèmes commencent lorsqu'un attaquant potentiel remarque que ces téléchargements ne sont soumis à aucune restriction.

L'absence de restrictions sur les téléchargements expose les sites à trois types d'attaques. En commençant par le moins sophistiqué, un utilisateur malveillant peut simplement télécharger d'énormes fichiers tels que des archives zippées contenant des centaines de gigaoctets d'informations. Outre l'engorgement de la bande passante, cela peut entraîner une surcharge de la zone de stockage attribuée à l'application.

L'utilisateur qui télécharge un fichier malveillant, comme un virus ou quelque chose de plus sinistre comme un ransomware, est le prochain sur l'échelle de l'infamie. C'est un peu comme cette vieille superstition qui veut que l'on invite spécifiquement un vampire dans sa maison. Si vous affichez un panneau indiquant que tout le monde peut entrer librement, c'est comme si les téléchargements de fichiers étaient illimités. Vous ne contrôlez plus ce qui franchit votre porte et vous devez vous attendre à ce que tous les visiteurs, ou fichiers, ne soient pas inoffensifs. Certains d'entre eux peuvent être des monstres.

Enfin, un attaquant habile peut utiliser les téléchargements sans restriction pour s'introduire dans un réseau et y mener des attaques plus profondes. Étant donné qu'il n'y a aucune restriction sur ce qu'une personne peut télécharger, un attaquant peut envoyer son propre shell web par le biais de ce processus. Il peut ensuite envoyer des commandes dans son shell, qui seront exécutées sur le serveur avec le même niveau de permission que l'application.

Pourquoi l'accès illimité aux fichiers est-il si dangereux ?

Si le déploiement d'une application avec un accès illimité aux fichiers n'est pas immédiatement dangereux, cela revient à ouvrir une brèche dans vos défenses de cybersécurité et à inviter quelqu'un à attaquer votre organisation. Tôt ou tard, quelqu'un réagira.

Au niveau le plus élémentaire, les attaquants n'ont même pas besoin de beaucoup de compétences pour faire des ravages. Le simple fait de compresser des fichiers extrêmement volumineux et de les télécharger peut suffire à priver de service des utilisateurs valides. Avec le temps, l'application ou un site entier peut même tomber en panne, en fonction de la façon dont l'application est programmée et mise en réseau.

L'accès illimité aux fichiers peut également ouvrir une brèche dans les pare-feux et autres protections du réseau. Peu importe que vous disposiez d'un scanner surveillant votre courrier électronique entrant ou l'activité de navigation de vos employés sur le web si vous avez créé une voie permettant aux attaquants de télécharger des logiciels malveillants directement sur votre réseau central. Le logiciel malveillant peut faire planter l'application ou même le serveur sur lequel il s'exécute, mais c'est probablement le meilleur résultat possible. Dans le pire des cas, un programme réellement malveillant comme un ransomware peut utiliser le serveur compromis pour se propager à l'ensemble du réseau.

Des attaquants plus habiles ne seront probablement pas aussi évidents lorsqu'ils exploiteront une application avec un accès illimité aux fichiers. Au lieu de cela, ils peuvent utiliser la vulnérabilité pour compromettre l'application et l'utiliser pour pénétrer plus profondément dans le réseau, en se déplaçant lentement et en essayant d'éviter d'être détectés. Pour ce faire, ils peuvent télécharger un shell web ou un autre fichier de type .exe, puis lui envoyer des commandes directement une fois qu'il a atterri. Tout ce que l'utilisateur exécute via son shell sera normalement exécuté par le serveur, en utilisant les niveaux d'autorisation définis pour l'application qui l'héberge. Pour le serveur, ces commandes proviennent de l'application et ne sont pas susceptibles d'être vérifiées ou examinées plus avant.

Tout cela fait de la vulnérabilité de l'accès illimité aux fichiers l'une des plus dangereuses à avoir sur votre réseau. La question n'est probablement pas de savoir si elle posera un problème, mais quand.

Comment éliminer la vulnérabilité liée à l'accès illimité aux fichiers ?

Alors, comment résoudre le problème de l'accès illimité aux fichiers ? Le plus simple est d'ajouter une ou plusieurs restrictions sur les types de fichiers qui peuvent être téléchargés. Ces restrictions peuvent être communiquées à l'utilisateur si vous le souhaitez, par exemple en lui indiquant que le site n'accepte que les fichiers Word ou texte, ou, dans le cas d'un site de partage d'images, que les fichiers .jpgs ou .gifs. En arrière-plan, vous devrez créer une liste blanche des extensions de fichiers acceptables et refuser toutes les autres. Des restrictions doivent également être imposées sur la longueur maximale des noms de fichiers. Si le nom d'un fichier contient des caractères spéciaux, ce qui pourrait indiquer une tentative de déclenchement d'une commande exécutable, le fichier doit également être rejeté.

Outre les types de fichiers et les règles de dénomination, vous voudrez également limiter la taille maximale de chaque fichier. La taille maximale doit être raisonnable et adaptée au type de fichier que l'application est censée collecter. Cela peut signifier un plafond de 10 mégaoctets environ pour les fichiers Word et une taille un peu plus importante, de l'ordre de 50 mégaoctets, pour les fichiers graphiques. Il est également possible de fixer des règles relatives à la taille minimale des fichiers, mais uniquement si la fourchette de taille des fichiers attendus est bien connue, ce qui peut être le cas si les utilisateurs remplissent et téléchargent un formulaire spécifique.

Les attaquants peuvent toujours trouver un moyen astucieux de faire passer un shell ou un autre programme potentiellement malveillant au-delà des restrictions relatives au type et à la taille des fichiers. Pour compenser, les fichiers collectés doivent toujours être stockés dans un répertoire privé sans privilèges d'exécution. Pour plus de sécurité, les fichiers peuvent être renommés par le système en une série de caractères aléatoires. Cela empêcherait les utilisateurs non autorisés extérieurs au réseau de rechercher l'emplacement du fichier qu'ils ont téléchargé, ce qui pourrait leur donner accès à votre réseau. Toutefois, si vous faites cela, vous devrez probablement mettre en place et maintenir un tableau reliant les noms de fichiers aléatoires à leurs désignations d'origine.

Enfin, tout ce qui arrive sur le réseau par le biais d'un téléchargement doit être analysé à la recherche de logiciels malveillants et de virus par les programmes défensifs que l'organisation utilise pour ces tâches. Cela ne permettra peut-être pas de tout détecter, mais il s'agit d'une couche de sécurité importante qui pourrait être utilisée pour détecter jusqu'à 90 % ou plus des fichiers malveillants les plus courants qui tentent d'entrer par le biais d'un téléchargement de fichiers.

Restreindre le problème du téléchargement de fichiers sans restriction

Une fois que plusieurs couches de sécurité sont mises en place au niveau du backend, le problème du téléchargement de fichiers sans restriction cesse d'être un problème. En fait, vous éliminez le problème en imposant des restrictions à vos téléchargements de fichiers, qui ne sont donc plus illimités. Seuls les bons fichiers sont autorisés à entrer, tandis que les vampires et les logiciels malveillants sont laissés à l'écart.

Pour en savoir plus, vous pouvez consulter l'aide-mémoire de l'OWASP Unrestricted File Upload Prevention, qui décrit certains des problèmes les plus courants lorsque ce type de situation est autorisé sur un réseau. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la présentation gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à vous attaquer à cette vulnérabilité dès maintenant ? Rendez-vous sur le champ de bataille et testez vos compétences :

Accès aux ressources

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Voir le rapportRéservez une démonstration
Partager sur :
Vous souhaitez en savoir plus ?

Partager sur :
Auteur
Jaap Karan Singh
Publié le 10 janvier 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :

Le problème des téléchargements de fichiers sans restriction n'est pas une attaque en soi, mais plutôt une situation ou un état courant qui permet aux attaquants d'accéder facilement aux applications et aux ressources du réseau. C'est un peu comme si vous vous promeniez dans le froid avec des vêtements mouillés. Bien que cela ne vous rende pas nécessairement malade en soi, cela diminue votre résistance au point que n'importe quel virus opportuniste dépassera facilement les défenses de votre corps.

En matière de cybersécurité, les attaquants peuvent être prompts à exploiter n'importe quelle application ou n'importe quel programme qui a été autorisé à prendre en charge des téléchargements de fichiers sans restriction. Les résultats peuvent être dévastateurs. Des attaquants astucieux peuvent utiliser leur accès illimité pour télécharger des fichiers malveillants, mettre en place des scripts pour voler des informations d'identification ou lancer des attaques plus profondes dans un réseau en utilisant les propres autorisations d'une application. Même un attaquant relativement peu sophistiqué pourrait utiliser ce type d'accès illimité pour effectuer des attaques par déni de service ou pour faire planter une application.

Heureusement, il existe plusieurs façons de résoudre le problème des téléchargements de fichiers sans restriction et d'arrêter les attaquants potentiels dans leur élan. À cette fin, nous allons examiner trois aspects essentiels des téléchargements de fichiers sans restriction :

  • Comment ils fonctionnent
  • Pourquoi ils sont si dangereux
  • Comment vous pouvez mettre en place des défenses pour les arrêter.

Comment les attaques exploitent-elles les téléchargements de fichiers sans restriction ?

Il existe de nombreuses raisons pour lesquelles les sites souhaitent permettre au public de télécharger des fichiers. Peut-être une entreprise cherche-t-elle à embaucher des personnes et souhaite-t-elle leur permettre de télécharger leur curriculum vitae dans le cadre du processus de candidature. Les banques peuvent encourager leurs clients à remplir des documents importants chez eux, par exemple lors d'une demande de prêt ou d'ouverture de compte. Les sites de tourisme ou de médias sociaux peuvent inviter les utilisateurs à télécharger leurs photos pour les partager avec d'autres.

Il existe de nombreuses raisons valables d'autoriser le téléchargement de fichiers. Et par défaut, la plupart des nouvelles applications vont probablement autoriser tout type de téléchargement de fichiers, sans aucune restriction. Les problèmes commencent lorsqu'un attaquant potentiel remarque que ces téléchargements ne sont soumis à aucune restriction.

L'absence de restrictions sur les téléchargements expose les sites à trois types d'attaques. En commençant par le moins sophistiqué, un utilisateur malveillant peut simplement télécharger d'énormes fichiers tels que des archives zippées contenant des centaines de gigaoctets d'informations. Outre l'engorgement de la bande passante, cela peut entraîner une surcharge de la zone de stockage attribuée à l'application.

L'utilisateur qui télécharge un fichier malveillant, comme un virus ou quelque chose de plus sinistre comme un ransomware, est le prochain sur l'échelle de l'infamie. C'est un peu comme cette vieille superstition qui veut que l'on invite spécifiquement un vampire dans sa maison. Si vous affichez un panneau indiquant que tout le monde peut entrer librement, c'est comme si les téléchargements de fichiers étaient illimités. Vous ne contrôlez plus ce qui franchit votre porte et vous devez vous attendre à ce que tous les visiteurs, ou fichiers, ne soient pas inoffensifs. Certains d'entre eux peuvent être des monstres.

Enfin, un attaquant habile peut utiliser les téléchargements sans restriction pour s'introduire dans un réseau et y mener des attaques plus profondes. Étant donné qu'il n'y a aucune restriction sur ce qu'une personne peut télécharger, un attaquant peut envoyer son propre shell web par le biais de ce processus. Il peut ensuite envoyer des commandes dans son shell, qui seront exécutées sur le serveur avec le même niveau de permission que l'application.

Pourquoi l'accès illimité aux fichiers est-il si dangereux ?

Si le déploiement d'une application avec un accès illimité aux fichiers n'est pas immédiatement dangereux, cela revient à ouvrir une brèche dans vos défenses de cybersécurité et à inviter quelqu'un à attaquer votre organisation. Tôt ou tard, quelqu'un réagira.

Au niveau le plus élémentaire, les attaquants n'ont même pas besoin de beaucoup de compétences pour faire des ravages. Le simple fait de compresser des fichiers extrêmement volumineux et de les télécharger peut suffire à priver de service des utilisateurs valides. Avec le temps, l'application ou un site entier peut même tomber en panne, en fonction de la façon dont l'application est programmée et mise en réseau.

L'accès illimité aux fichiers peut également ouvrir une brèche dans les pare-feux et autres protections du réseau. Peu importe que vous disposiez d'un scanner surveillant votre courrier électronique entrant ou l'activité de navigation de vos employés sur le web si vous avez créé une voie permettant aux attaquants de télécharger des logiciels malveillants directement sur votre réseau central. Le logiciel malveillant peut faire planter l'application ou même le serveur sur lequel il s'exécute, mais c'est probablement le meilleur résultat possible. Dans le pire des cas, un programme réellement malveillant comme un ransomware peut utiliser le serveur compromis pour se propager à l'ensemble du réseau.

Des attaquants plus habiles ne seront probablement pas aussi évidents lorsqu'ils exploiteront une application avec un accès illimité aux fichiers. Au lieu de cela, ils peuvent utiliser la vulnérabilité pour compromettre l'application et l'utiliser pour pénétrer plus profondément dans le réseau, en se déplaçant lentement et en essayant d'éviter d'être détectés. Pour ce faire, ils peuvent télécharger un shell web ou un autre fichier de type .exe, puis lui envoyer des commandes directement une fois qu'il a atterri. Tout ce que l'utilisateur exécute via son shell sera normalement exécuté par le serveur, en utilisant les niveaux d'autorisation définis pour l'application qui l'héberge. Pour le serveur, ces commandes proviennent de l'application et ne sont pas susceptibles d'être vérifiées ou examinées plus avant.

Tout cela fait de la vulnérabilité de l'accès illimité aux fichiers l'une des plus dangereuses à avoir sur votre réseau. La question n'est probablement pas de savoir si elle posera un problème, mais quand.

Comment éliminer la vulnérabilité liée à l'accès illimité aux fichiers ?

Alors, comment résoudre le problème de l'accès illimité aux fichiers ? Le plus simple est d'ajouter une ou plusieurs restrictions sur les types de fichiers qui peuvent être téléchargés. Ces restrictions peuvent être communiquées à l'utilisateur si vous le souhaitez, par exemple en lui indiquant que le site n'accepte que les fichiers Word ou texte, ou, dans le cas d'un site de partage d'images, que les fichiers .jpgs ou .gifs. En arrière-plan, vous devrez créer une liste blanche des extensions de fichiers acceptables et refuser toutes les autres. Des restrictions doivent également être imposées sur la longueur maximale des noms de fichiers. Si le nom d'un fichier contient des caractères spéciaux, ce qui pourrait indiquer une tentative de déclenchement d'une commande exécutable, le fichier doit également être rejeté.

Outre les types de fichiers et les règles de dénomination, vous voudrez également limiter la taille maximale de chaque fichier. La taille maximale doit être raisonnable et adaptée au type de fichier que l'application est censée collecter. Cela peut signifier un plafond de 10 mégaoctets environ pour les fichiers Word et une taille un peu plus importante, de l'ordre de 50 mégaoctets, pour les fichiers graphiques. Il est également possible de fixer des règles relatives à la taille minimale des fichiers, mais uniquement si la fourchette de taille des fichiers attendus est bien connue, ce qui peut être le cas si les utilisateurs remplissent et téléchargent un formulaire spécifique.

Les attaquants peuvent toujours trouver un moyen astucieux de faire passer un shell ou un autre programme potentiellement malveillant au-delà des restrictions relatives au type et à la taille des fichiers. Pour compenser, les fichiers collectés doivent toujours être stockés dans un répertoire privé sans privilèges d'exécution. Pour plus de sécurité, les fichiers peuvent être renommés par le système en une série de caractères aléatoires. Cela empêcherait les utilisateurs non autorisés extérieurs au réseau de rechercher l'emplacement du fichier qu'ils ont téléchargé, ce qui pourrait leur donner accès à votre réseau. Toutefois, si vous faites cela, vous devrez probablement mettre en place et maintenir un tableau reliant les noms de fichiers aléatoires à leurs désignations d'origine.

Enfin, tout ce qui arrive sur le réseau par le biais d'un téléchargement doit être analysé à la recherche de logiciels malveillants et de virus par les programmes défensifs que l'organisation utilise pour ces tâches. Cela ne permettra peut-être pas de tout détecter, mais il s'agit d'une couche de sécurité importante qui pourrait être utilisée pour détecter jusqu'à 90 % ou plus des fichiers malveillants les plus courants qui tentent d'entrer par le biais d'un téléchargement de fichiers.

Restreindre le problème du téléchargement de fichiers sans restriction

Une fois que plusieurs couches de sécurité sont mises en place au niveau du backend, le problème du téléchargement de fichiers sans restriction cesse d'être un problème. En fait, vous éliminez le problème en imposant des restrictions à vos téléchargements de fichiers, qui ne sont donc plus illimités. Seuls les bons fichiers sont autorisés à entrer, tandis que les vampires et les logiciels malveillants sont laissés à l'écart.

Pour en savoir plus, vous pouvez consulter l'aide-mémoire de l'OWASP Unrestricted File Upload Prevention, qui décrit certains des problèmes les plus courants lorsque ce type de situation est autorisé sur un réseau. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la présentation gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .

Vous pensez être prêt à vous attaquer à cette vulnérabilité dès maintenant ? Rendez-vous sur le champ de bataille et testez vos compétences :

Table des matières

Voir la ressource
Vous souhaitez en savoir plus ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstrationTélécharger
Partager sur :
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles