Dossier n°4 : Sandboxie, le principe du bac à sable.
Non, ça n'a rien à voir avec le dioxyde de silicium ^^.
Non, ça n'a rien à voir avec le dioxyde de silicium ^^.
Dossier rédigé le 14/04/2007 par Typhoon, maxsims1 et noisette.
A l'heure où, au travail ou chez soi, de plus en plus d'internautes se soucient de sécuriser leur(s) PC, à juste titre, différentes approches sont proposées par les éditeurs de logiciels, avec une très nette prépondérance des outils de surveillance et de scan (antimalwares). Nous vous proposons de découvrir aujourd'hui une approche nouvelle et complémentaire, simple, légère, efficace : le bac à sable.
De là à dire que nos tests furent ludiques, il n'y a qu'un pas.
Concept et intérêt du bac à sable :
- Le concept est simple : il s'agit de pouvoir lancer des applications dans une enceinte isolée, appelée bac à sable (ou sandbox) de façon à ce que tout ce qui est modifié, enregistré, installé ou inscrit sur vos disques ou dans le registre par ces applications ne le soit pas en réalité dans votre système, mais seulement dans le bac à sable.
Ce bac à sable sert en quelque sorte de sas, que vous pouvez ensuite trier et vider sans difficultés, tout en préservant votre système de la plupart des nuisances que l'on peut rencontrer sur internet.
On voit en haut le fonctionnement normal du système, et dessous le rôle de SandBoxie. Les processus lancé dans SandBoxie n'ont accès au système qu'en lecture et lorqu'ils écrivent, il ne le font pas réellement mais seulement dans la Sandbox.
c'est donc une idée simple, inspirée de la virtualisation, mais limité au strict nécessaire (le rôle protecteur qui lui est dévolu), ce qui donne au final une application légère et simple d'abord.
Le logiciel que nous vous présentons aujourd'hui nous semble actuellement le seul de cette catégorie (il y a des alternatives proches toutefois, voir la section Liens utiles"). Mais ne doutons pas qu'un avenir proche nous réserve d'autres petites surprises gratuites du même type.
CITATION
Une sandbox (bac à sable) est une bulle logicielle dans laquelle on peut faire tourner des programmes : un environnement sécurisé pour processus. Sandboxie crée un de ces environnement entre vos programmes et votre disque dur.
Ainsi les programmes passent par Sandboxie pour modifier le système. Les malwares deviennent sophistiqués, les programmes de défense aussi. Une fois vos processus placés dans ce bac à sable ils s'ajoutent à la liste et une modification dans leur titre apparaît pour les différencier des autres, comme ceci, avec des [#] :
Le programme consomme peut de ressources et vous met à l'abri des cookies traceurs, BHO et autres nuisances : les modifications et sauvegardes de fichiers sont faites dans le bac à sable, non dans le système lui-même.
Ainsi les programmes passent par Sandboxie pour modifier le système. Les malwares deviennent sophistiqués, les programmes de défense aussi. Une fois vos processus placés dans ce bac à sable ils s'ajoutent à la liste et une modification dans leur titre apparaît pour les différencier des autres, comme ceci, avec des [#] :
Le programme consomme peut de ressources et vous met à l'abri des cookies traceurs, BHO et autres nuisances : les modifications et sauvegardes de fichiers sont faites dans le bac à sable, non dans le système lui-même.
(Présentation de Falkra sur libellules.ch, article nous ayant fait connaitre Sandboxie.)
- Licence : Version complête payante (25$ US), mais les limitations de la version gratuite sont rares et ne gènent en rien une utilisation personnelle (voir tutoriels).
Langue : en anglais uniquement pour l'instant.
Compatibilité OS : W2K, XP, 2003 et Vista en 32 bits et XP, 2003 Server et Vista en 64 bits.
Site de l'éditeur et téléchargement : ici.
Compatibilité matérielle et OS :
- Nous l'avons installé sur différentes configs, allant d'un PC équipé d'un Pentium 400Mz et de 384 Mo de Ram aux configs actuelles, souvent en présence de systèmes déja bien pourvus en équipement logiciel.
Les systèmes d'exploitation étaient W2000, XP et Vista, tous en version 32 bits.
Au final, aucun bug ni incompatibilité relevée à ces niveaux-là.
Petite remarque : les logiciels lancés dans le bac à sable n'ont pas accés aux lecteurs DVD (ou CD), même virtuels, ce qui n'est pas un handicap majeur compte tenu de ce à quoi sert ce programme: d'autant plus qu'une modification du fichier Sansbox.ini rend la chose possible (voir plus bas, dans les tutoriels).
Par ailleurs, les boutons spéciaux des souris (en possédant) ne seront gérés qu'à condition de lancer leur logiciel dans le bac à sable.
- Tant que le logiciel a été utilisé pour ce pour quoi il est fait, aucune remarque à faire de ce côté là en ayant testé IE (6 et 7), Firefox, Opéra, Filezilla, µ-torrent, etc. Toutefois, lisez attentivement l'avertissement ci-dessous :
- Ce logiciel est spécifiquement destiné à naviguer, télécharger ou héberger dans une bulle sécurisée, mais n'est pas du tout destiné à lancer des applications intervenant spécifiquement sur le système : nous avons d'ailleurs, au cours de nos essais, du redémarrer les systèmes bloqués aussi bien par le gestionnaire des tâches qu'un nettoyeur comme Ccleaner quand nous lancions des tâches intervenant sur le système.
Consommation en ressources et transparence à l'utilisation :
- Le lancement d'une application dans le bac à sable prend un peu plus de temps que son lancement normal, sans que cela soit trop pénalisant : il faut quelques secondes de délai pour lancer une application , de l'ordre de 5 s en moyenne et suivant les configs, ne serait-ce que par les clics supplémentaires à réaliser, mais cela ne devrait pas venir à bout de votre patience.
Une fois les applications lancées, aucun ralentissement génant du PC n'est à déplorer (toutefois, pour ce qui concerne la navigation, un délai d'un quart de seconde est parfois observé au clic, mais uniquement avec les plus petites configs recevant un client de calcul partagé... nous ne pensons pas que cela soit vraiment significatif).
Les mesures ont été réalisées avec Process Explorer et le gestionnaire des tâches : il s'agit de sommer les consommations des divers processus composant Sandboxie : respectivement : SbieSvc.exe, Control.exe, SandboxieRpcSs.exe, SandboxieDComLaunch.exe.
- CPU : relevé fait pour un petit CPU (AMD Athlon 64 2800+) : 2 à 3 % (pics allant de 4 à 10 % ) + 0 % (pics à 2%)+ 0% + 0% : quand 0 % est indiqué, il faut comprendre moins de 1 %, ce qui donne environ 3% avec des pics à 15% (sur moins d'une seconde) au moment des lancement d'application ou de tâches.
Ram : le relevé s'est fait sur les processus pré-cités et donne une utilisation de la Ram fluctuant entre 4 et 7 Mo avec 8 Mo supplémentaires au maximum au moment du lancement d'une application, autant dire quasi-transparente aussi.
- Les tests ont consisté essentiellement à avoir un surf à risque, et à lancer via différents navigateurs un certains nombres d'exécutables, puis à vérifier leur incidence au niveau du bac à sable et au niveau du système.
l'execution d'un .reg : nous avons employé un fichier .reg (fichier modifiant le registre) servant à afficher les fichiers cachés et fichiers systèmes de XP. Ce .reg a été téléchargé compressé avec un navigateur lancé dans le bac à sable, puis a été ouvert dans winrar (lancé par le navigateur et héritant donc d'une place dans le bac à sable).
La conclusion est claire : le reg semble bien s'exécuter, mais le registre du système n'a subi aucune modification.
l'installation d'une "Hotbar" : un bon spyware bien résistant ...
CITATION
Franchement je lui ai fait subir de ces trucs
Pas une trace dans hijackthis, ni dans IE non-sandboxé. Par contre le ie de la sandboxe reste infectée de la hotbar.
Pas une trace dans hijackthis, ni dans IE non-sandboxé. Par contre le ie de la sandboxe reste infectée de la hotbar.
Notons qu'il suffit d'arréter le processus infecté, de nettoyer le bac à sable en quelques clics (voir tutoriels) pour repartir avec un processus propre.
test avec TrojanSimulator : il se lance mais son installation et ses modifications du registre sont confinées au bac à sable, comme l'illustre les captures ci-dessous, assurant ainsi la réussite de la protection :
installation d'un logiciel téléchargé : aucun logiciel réellement installé : les éxecutables se lancent, mais dans le bac à sable, les installeurs et les mises à jour échouent ou se font leurrer, et le système reste propre. (voir aussi la fonction Windows Instaler Service dans les tutoriels, à la suite)
Installation d'un ActiveX : crucial pour les utilisateurs d'IE dés que certains services en ligne sont requis : les jeux en lignes, les scans de sécurité ou d'audit (hardware, pilotes), etc.
Nous avons utilisé tout simplement la détection de Ma-Config.com avec IE, qui nécessite l'installation d'un composant ActiveX : celui-ci a tét téléchargé sous IE dans le bac à sable, exécuté et le scan s'est déroulé normalement : mais cet activeX n'est effectivement pas installé en dehors de la Sandbox, et n'apparait pas dans le gestion des modules complémentaires d'IE.
installation d'un rootkit : utilisation du test Hide Toolz celui-ci n'a pas réussi à s'installer :
- Tout d'abord, il faut préciser que tout processus lancé à travers un logiciel dans le bac à sable sera ouvert lui aussi dans le bac à sable.
Navigateur : donné pour être compatible avec tous les navigateurs, nous l'avons effectivement constaté sur Firefox, Opera et IE 6et 7.
Serveur de messagerie instantannée (MSN, aMSN, etc).
Clients emails (Thubderbird, Outlook, etc).
Client ftp
Logiciels p2p
- :arrowo: Txon d'Open Files se penche sur Sandboxie et nous éclaire sur son fonctionnement (article chaudement recommandé, c'est le plus complet en terme d'analyse de fonctionnement et sécurité - à ma connaissance sur tout le web).
Présentation et utilisation sur Optimix, un lien Francophone de référence sur Sandboxie.
En savoir plus sur l'isolation du bac à sable, sur le site de l'éditeur.
Solutions alternatives : Sécuriser sa navigation, un topic de référence sur Assit.com : un grand nombre d'alternatives au bac à sable sont proposées, principalement des limitateurs de droits (sessions, utilisateurs ou applications).
Voilà donc un logiciel proposant un service simple et complet permettant de limiter grandement et efficacement les risques d'une navigation à risque sur internet, ou tout autre utilisation d'internet s'avérant contenir un risque d'infection potentiel.
Le logiciel est relativement transparent à l'utilisation, permet même dans sa version gratuite de personnaliser son utilisation en fonction de ses besoins.
Les ordinateurs servant à un public non éduqué en seront plus que reconnaissants.
Tutoriels :
Nous vous proposons dans ce qui suit un tour complet et méthodique de l'interface du logiciel, au cours duquel vous pourrez comprendre son fonctionnement et vous l'approprier.
Sommaire :
- Présentation de l'interface :
Function : Run Sandboxie - Contents of Sandbox - Terminate Sandboxed processes - exit
View : Switch to Sandbox - Show all Sandboxed processes / Show only for selected Sandbox - Refresh process list
Configuration : Global settings - Sandbox settings - Create new Sandbox - Edit configuration / Reload configuration
Options
Help
#######################
Présentation de l'interface :
- Le lancement de Sandboxie se traduit par l'apparition de son icôné prés de l'horloge, dans la barre de tâches : .
Un clic droit sur cette icone et vous faites apparaitre le menu déroulant suivant :
Toutes ces options sont également accessibles via la fenètre principale, je vous propose donc de cliquer sur "Open Main Window" (également accessible depuis un double-clic sur l'icone de la barre des tâches):
La barre des tâches fait apparaitre plusieurs menus : "Function", "View", "Configuration", "Options" et "Help".
Function :
Si vous cliquez sur "Function", vous faites apparaitre le menu suivant :
- Run Sandboxie : Nous avons donc un sous menu à visiter :
- Les possibilités offertes sont :
Internet Explorer : lance le-dit logiciel dans le bac à sable.
Defaut browser : lance votre navigateur par défaut dans le bac à sable : trés utile sauf si IE est votre navigateur par défaut.
Email Reader : Lance votre client de messagerie dans le bac à sable.
Any Program : à la manière de la ligne de commande, permet de lancer tout programme ou d'ouvrit tout dossier dans le bac à sable :
From Start Menu : Permet de lancer un logiciel dans le bac à sable en allant le sélectionner avec l'explorateur : dans l'exemple ci-dessous, je vais sélectionner le logiciel aMSN de messagerie instantanée :
Windows Instaler Service : ceci permet de lancer le processus Windows msiexec.exe dans le bac à sable, afin de rendre certaines installations de logiciels réalisables (ceux qui ont besoin de ce processus pour s'installer) : il suffit, une fois que le service est lancé, de lancer l'installation de votre logiciel dans le bac à sable pour pouvoir la finaliser. A tester si une de vos installation à échoué sans ce service.
Je peux également constater que Sandboxie est bien utilisé : l'icone de la barre des tâches est modifiée : , et les applications lancées sont indiquées par le sybole (#) dans leur barre de titre :
, .
Notez que rien ne m'empèche de lancer fifefox ou amsn aussi et en même temps en dehors du bac à sable.
- Contents of Sanbox : C'est ici que vous allez pouvoir consulter ce que vous avez enregistré dans votre bac à sable (fichiers, marques-pages), faire le tri pour sauvegarder ce qui vous intéresse et faire le ménage en supprimant le reste.
Chacune de ces options mérite un petit traitement à part, alors allons-y :
- Explore Content : ceci vous amène dans le dossier du bac à sable en cours : vous y découvrez les fichiers "ruche" et les dossiers et contenant vos documents, profils, executables. Vous pouvez tout retrouver "à la main" ici.
Notez bien l'adresse de ce dossier dans la fenètre de l'explorateur sur la capture qui suit :
(Comme pourrez le constater plus bas, vous pourrez indiquer une autre adresse à Sandboxie si les chemins standards ne vous satisfont pas.)
Finalement, cette fonction est utile pou comprendre comment s'articule Sandboxie, mais pour les opérations de rapatriement des documents ou marques-pages ainsi que pour le nettoyage, mieux vaut utiliser les fonctions "Recover Files" et "Delete Contents".
Recover Files : une arborescence est développée contenant les fichiers et marques-pages (uniquement pour IE), que vous avez enregistré
Il vous reste à sélectionner les lignes correspondant à ce que vous souhaitez garder en cliquant sur le bouton "Recover to the same folder" : il se retrouvera alors dans le dossier qui lui était destiné sans l'intervention de Sanboxie.
Si toutefois vous préférez lui attribuer un autre emplacement, cliquez alors sur le bouton "Recover to Any Folder" et vous aurez alors le choix :
Remarque : pour récupérer vos marques pages sous firefox, suivez dans "Explore Content" ce chemin :
C:\Documents and Settings\%nom de la session%\Application Data\Sandbox\DefaultBox\user\current\Application Data\Mozilla\Firefox\Profiles\code aléatoire.default
Delete Contents :
au cas où vous auriez d'effectuer vos sauvegardes avant suppression, un petit message de rappel :
vous cliquez donc sur oui : un dernier contrôle, on ne sait jamais, vous indiquant en outre l'espace ainsi libérable sur votre disque :
Attention, il faut au préalable avoir arréter les processus en cours ...(cf prochain chapitre) :
Il faudra aussi penser à fermer les dossiers ouverts de votre bac à sable, sans quoi le dossier ne pourra pas être supprimé puisque utilisé.
Vous voilà reparti à zéro, votre bac est propre, votre PC aussi.
- Terminate Sandboxed processes : c'est trés clair, il s'agit ici d'arréter les processus en fonctionnement dans le bac à sable : vous pouvez arréter le bac "en cours", ou bien tous les bacs (pour la version payante uniquement, la version gratuite étant limitée à un bac à la fois sur un PC).
Vous cliquez et les processus sont stoppés.
- Exit : et là, c'est pour quitter
Si vous cliquez sur "View", vous faites apparaitre le menu suivant :
- Switch to Sandbox : cette fonction vous permet, dans la fenètre pricipale, de passer à un bac à sable à un autre si vous en avez définis plusieurs (uniquement dans la version payante).
Show All Sandboxed Processes : Dans la fenètre principale s'afficheront tous les processus lancés dans toutes vos Sandbox différentes et lancées simultanément (uniquement dans la version payante).
Show Only for Selected Sandbox : Même chose pour la Sandbox unique choisie, ce qui est le cas dans la version gratuite (une Sandbox à la fois seulement), ceci affiche tous les processus en cours.
Refresh Processes list : Rafraichit cette liste.
Si vous cliquez sur "Configuration", vous faites apparaitre le menu important suivant :
- Global Settings : cette fonction propose 2 sous-menus :
- Set Sandbox top-Level Folder : ceci vous permet de modifier le chemin par défaut du dossier racine de Sandboxie :
Le chemin %APPDATA% est à comprendre comme C:\Documents and Settings\"nom de votre session"\Application Data, ce qui est au passage un dossier caché.
Si vous ressentez le besoin de modifier ce chemin, vous n'avez sans doute pas besoin d'explication, si ce n'est ce rappel éventuellement.
Set Program Alerts : accesible avec la version payante uniquement, permet de recevoir une alerte quand une application définie (dans un panel, voir capture ci-dessous) est lancée hors du bac à sable.
- Set File Copy Options :
Comme vous pouvez le constater sur la capture d'écran ci-dessus, vous avez la possibilité de cocher 6 cases (recommandé), ce qui donne dans l'ordre :
- :arrowo: la possibilité d'empécher des fichiers dépassant une certaine taille, configurable aussi, d'être copié dans le dossier Sandbox, ainsi que la possibilité de recevoir un message d'alerte si une interdiction de copie est donnée en cas de dépassement de la limite que vous avez fixé.
:arrowo: Conserver les mots de passes, les formulaires, les recherches, la saisie-automatique directement hors du bac à sable.
:arrowo: Copier les favoris d'IE directement hors du bac à sable avec vos favoris habituels.
:arrowo: Permettre à Outlook d'avoir accés aux fichiers de votre boite mails.
:arrowo: Même chose pour Thunderbird.
:arrowo: Copier les marques-pages de Firefox directement hors du bac à sable avec vos marques-pages habituels.
Set Automatic Cleanup options : permet d'activer ou désactiver le nettoyage automatique à chaque fermeture du bac à sable :
Les dossiers à nettoyer sont configurables aussi : soit dans la liste, soit en ajoutant les chemins dans la fenètre prévue (voir capture ci-dessus).
Edit Configuration : Permet d'éditer le fichier Sandbox.ini, qui récapitule toute la configuration de Sandboxie : vous pourrez y retrouver votre configuration de chacun de vos bacs à sable et vous pourrez également influer de façon plus détaillée sur la configuration du programme.
Vous pouvez également consulter cette page pour plus de détails.
Un exemple de son utilisation : pour avoir un dossier ou télécharger ses fichiers et les récupérer sans passer par la sandbox (à condition d'être sûr et certain de la source ^^):
CITATION
(...)
[DefaultBox]
Enabled=yes
CopyLimitKb=32768
OpenFilePath=firefox.exe,%AppData%\Mozilla\Firefox\Profiles\*.default\bookmark*
OpenKeyPath=firefox.exe,HKEY_CURRENT_USER\Software\Mozilla Firefox
OpenKeyPath=firefox.exe,HKEY_LOCAL_MACHINE\Software\Mozilla Firefox
OpenKeyPath=firefox.exe,HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mozilla Firefox
OpenFilePath=F:\Mes documents\Dossier téléchargment sandboxie
[DefaultBox]
Enabled=yes
CopyLimitKb=32768
OpenFilePath=firefox.exe,%AppData%\Mozilla\Firefox\Profiles\*.default\bookmark*
OpenKeyPath=firefox.exe,HKEY_CURRENT_USER\Software\Mozilla Firefox
OpenKeyPath=firefox.exe,HKEY_LOCAL_MACHINE\Software\Mozilla Firefox
OpenKeyPath=firefox.exe,HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mozilla Firefox
OpenFilePath=F:\Mes documents\Dossier téléchargment sandboxie
Pour n'autoriser qu'un programme à avoir accès à ce dossier, rajouter le nom de l'exécutable avant :
OpenFilePath=firefox.exe,F:\Mes documents\Dossier téléchargment sandboxie
Pour permettre à un logiciel dans le bac à sable à avoir accés à un lecteur DVD ou CD :
OpenFilePath=d:\ où d: est la lettre du lecteur.
Reload Configuration : Permet de recharger la configuration : utile si vous venez de la modifier (voir point précédent).
Si vous cliquez sur "Options", vous faites apparaitre le menu suivant :
- Run Sandboxie Control on System Startup :Démarre Sandboxie avec Windows.
Run Sandboxie Control when Sandboxed Program Runs : inutile avec la version gratuite puisque un programme ne peut être lancé dans le bac à sable par défaut, permet à Sandboxie de se lancer automatiquement dés qu'un tel programme est appellé.
Install Desktop (respectivement Quick-Launch) Shortcut for Web Browser : installe un raccourci sur votre bureau (respectivement barre de lancement rapide) lançant votre navigateur par défaut dans le bac à sable. Ceci démarrera automatiquement Sandboxie au préalable.
Si vous cliquez sur "Help", vous faites apparaitre le menu suivant :
- Help (on www.sandboxie.com) : on ne peut plus clair, le site de l'éditeur est en anglais toutefois.
Geting Started Tutorial (on www.sandboxie.com): vala vala, même remarque.
Show Welcome Message : vous propose deux petites fenètres de bienvenue et d'explication sommaire de l'installation et du fonctionnement du logiciel.
Check For New Version : Afin de vérifier si une version plus récente du logiciel existe. Visiblement je suis à jour :
Enter Registration Code : Pour finaliser l'enregistrement de votre licence pour ceux qui passent à la version payante.
About Sandboxie :
pour lancer un logiciel dans la Sandbox dés le démarrage de Windows, le problème se pose d'être certain que la Sandbox démarre avant : le problème est survenu pour lancer son logiciel Setpoint pilotant les boutons spéciaux de sa souris. Pour éviter de le faire manuellement à chaque démarrage, voici sa méthode : utiliser Startup Delayer (merci Snooky de cette suggestion).
Ceci reste valable pour tout autre logiciel.