Le sandboxing,*ou « bac à sable », est une technique de sécurité informatique qui consiste à exécuter un programme, un fichier ou un processus dans un environnement isolé, afin qu'il ne puisse pas accéder librement au reste du système.

Le principe

L'idée est de créer une sorte de « zone protégée » :

> Programme → environnement isolé → accès limité au système

Si le programme est malveillant ou se comporte de façon inattendue, les dégâts restent normalement confinés à cette zone, sans se propager au reste de l'ordinateur.

Exemple simple

Un navigateur Web utilise des mécanismes de sandboxing pour isoler les pages Web et leur contenu du système d'exploitation. Ainsi, si une page Web exploite une faille, le code malveillant ne devrait pas pouvoir, simplement parce qu'il s'exécute dans le navigateur, accéder librement :

  • aux fichiers personnels
  • aux mots de passe
  • aux autres applications
  • aux fichiers système
  • aux périphériques

À quoi ça sert ?

Le sandboxing répond à un même besoin décliné sous plusieurs formes : exécuter du code auquel on ne fait pas entièrement confiance, sans mettre en danger le reste du système. En pratique, cela sert notamment à :

  • protéger l'utilisateur au quotidien : chaque onglet, chaque application mobile s'exécute dans sa propre bulle, isolée des autres
  • analyser des fichiers suspects en sécurité, sans risquer d'infecter la machine (antivirus, messagerie, plateformes d'analyse de malwares)
  • tester du code non fiable avant de lui accorder plus de droits (extensions de navigateur, scripts téléchargés, macros)
  • isoler des environnements de développement ou de test, pour éviter qu'une erreur ou un bug n'affecte le système hôte.

Où trouve-t-on du sandboxing?

Sandbox ≠ machine virtuelle

Les deux notions sont proches, mais ne sont pas identiques.

Une machine virtuelle émule un ordinateur quasiment complet, avec son propre système d'exploitation.

Le sandboxing, lui, cherche surtout à limiter les droits et les possibilités d'un programme, sans nécessairement créer un ordinateur virtuel complet : c'est en général plus léger et plus rapide à mettre en place qu'une machine virtuelle.

Une protection qui n'est pas absolue

Le sandboxing n'est pas une garantie de sécurité à 100 %. Une vulnérabilité permettant de sortir de la sandbox (un «sandbox escape») peut permettre à un logiciel malveillant de retrouver un accès au système hôte. C'est pourquoi le sandboxing constitue généralement une couche de défense parmi d'autres, aux côtés des antivirus, des mises à jour, de la gestion des permissions, du chiffrement, du filtrage réseau, etc.