Informatique : qu’est-ce qu’une Sandbox ?
I. Présentation
Une sandbox, que l'on peut traduire en français par "bac à sable", est un terme qui désigne un mécanisme de sécurité dont l'objectif est de créer un environnement temporaire et isolé pour exécuter un programme ou ouvrir un fichier. Grâce à cette sandbox et à l'isolation, on élimine les risques d'infection du système principal. En complément, les sandbox sont utiles aux développeurs pour tester un programme au fur et à mesure de son développement.
Prenons un exemple, vous recevez par e-mail un fichier Word douteux : vous l'ouvrez dans un environnement de bac à sable pour l'analyser et vérifier s'il est malveillant ou non. Dans le cas où il est malveillant, la sandbox serait impactée, mais votre système quant à lui ne serait pas altéré. Le bac à sable permet d'éviter que l'infection se propage d'une zone du système à une autre : il faut garder en tête que ce qu'il se passe dans la sandbox, reste dans la sandbox. C'est utile également pour exécuter un logiciel douteux ou accéder à un site Web suspect.
II. Les différents types de Sandbox
Le concept de sandbox n'est pas nouveau : il existe depuis les années 1970. Les développeurs utilisaient ce concept pour effectuer des tests et des simulations sur leur programme. Aujourd'hui, il y a différents types de sandbox et les acteurs de la sécurité l'utilisent pour de l'analyse de fichiers, parfois sans que vous vous en rendiez compte, car tout se joue dans le Cloud.
- Sandbox intégré au système d'exploitation
Windows 10 depuis la version 1903 intègre Windows Sandbox, une fonctionnalité qui permet de créer un bureau isolé, complet, et temporaire, dans le but d'effectuer quelques essais (logiciel, fichier, etc.). Bien que ce soit intégré au système, Windows Sandbox s'appuie sur de la virtualisation pour créer un environnement étanche et isolé du système hôte.
À (re)découvrir dans ce tutoriel vidéo :
- Logiciels de sandbox
Avant que Microsoft développe Windows Sandbox, il était possible de créer un environnement bac à sable sur Windows. Cela passait (et reste toujours possible) par l'installation d'un logiciel tiers tel que Sandboxie, une solution gratuite. Sous Linux, il y a Firejail qui va permettre de lancer facilement un programme en mode sandbox.
- Machine virtuelle
La virtualisation est une bonne solution pour créer un environnement de type "sandbox" grâce à l'isolation créée naturellement. Attention tout de même à ne pas connecter la VM au réseau. Ce n'est pas forcément ce qu'il y a de plus pratique, ou alors il faut jouer avec les points de contrôle pour revenir au point de départ après avoir effectué un test. Si vous êtes sur Windows 10, je vous recommande plutôt d'utiliser Windows Sandbox directement, ce sera plus efficient.
- Sandbox Cloud
Les acteurs de la cybersécurité s'appuient sur le sandboxing pour effectuer de l'analyse de fichiers dans le Cloud. Deux exemples me viennent à l'idée, d'une part les solutions Endpoint ("antivirus nouvelle génération") et d'autre part les pare-feux (firewalls).
Au sujet de l'Endpoint, ESET de son côté propose ESET Dynamic Threat Defense, une fonctionnalité supplémentaire et payante qui s'intègre à son Endpoint à destination des postes de travail et serveurs. L'objectif est de détecter les menaces inconnues grâce à l'analyse dans le Cloud, en mode Sandbox, des échantillons (fichiers). Cela offre une protection à plusieurs niveaux et permet de détecter les failles Zero Day grâce au machine learning et à de l'analyse comportementale.
Sur les pare-feux de type UTM (Unified Threat Management - Gestion unifiée des menaces), l'intégration d'une solution de Sandbox au sein de l'appliance ou en mode Cloud, est désormais une pratique courante. Par exemple, c'est proposé par Fortinet avec FortiSandbox et Sophos.
La sandbox est un véritable outil qui permet de créer une ligne de défense supplémentaire pour se protéger contre les attaques informatiques et les charges malveillantes.