Ce concept ne pouvait que séduire les administrateurs en charge du bon fonctionnement des systèmes et garant de la sécurité informatique de ces derniers.
Contexte actuel
La sécurité du poste de travail s'articule de nos jours autour de 4 axes majeurs:
- le suivi des mises à jour du système d'exploitation
- le suivi des mises à jour d'un anti-virus performant
- le suivi des mises à jour d'un anti-spyware efficace
- le suivi des mises à jour des logiciels installés
- la sensibilisation au quotidien de l'utilisateur du poste
- installer la dernière application à la mode
- installer le dernier utilitaire qui facilite la vie
- installer la dernière version des logiciels cités ci-dessus
Rappels des risques
Largement favorisées par le développement des réseaux, les menaces informatiques s'accentuent depuis plusieurs années. Selon de nombreuses publications, en 2010, les logiciels malveillants (ou "Malwares") sont classés en 1ère position au classement des menaces.
Les "Malwares" regroupent des logiciels aux technologies plus ou moins complexes, abouties et pernicieuses (virus, vers, chevaux de Troie, logiciels-espions, keyloggers, rootkits, ... etc).
Mais loin du mythe des grands centrales d'espionnage, des nouvelles cyber-guerres mondiales et autres tentatives d'asservissement des ordinateurs par les mafias reconverties, l'utilisateur final est souvent victime de la bonne vieille ruse du Cheval de Troie.
Démonstration en 4 étapes simples:
- ce logiciel de traitement en masse de photos semble pratique
- je clique, je télécharge, j'exécute, j'installe, Next, Next, Finish
- je lance mon nouveau logiciel et le teste durant quelques minutes
- finalement, il n'est pas si bien que cela, je le désinstalle
A ce stade de l'expérience menée par notre utilisateur, ce dernier est satisfait car il a testé un nouveau logiciel, se sent confiant car il a proprement désinstallé le logiciel qui ne lui plaisait finalement pas. Néanmoins, le système vient d'être contaminé par un logiciel malveillant qui se lancera à chaque démarrage.
Que s'est-il passé précédemment ? Le logiciel tout à fait anodin qui a été testé s'est contenté d'installer les fichiers suivants sur votre disque dur :
- Répertoire "Programmes" : traitement-photos.exe
- Répertoire "Démarrage" : envoi-du-spam-coco.exe
Principes du bac à sable
Tout comme l'enfant assis sur un tas de sable de 4 mètres-carrés qui s'imagine allongé sur une vaste plage de sable fin des Caraïbes, le bac à sable informatique va vous permettre de recréer un environnement système factice servant de leurre aux logiciels malveillants.
Un environnement "bac à sable" (appelé "Sand box" chez nos amis anglophones) limitera l'accès aux ressources d'un système - disque dur, mémoire, base de registres, ... - tout en lançant croire au logiciel exécuté à l'intérieur qu'il interfère totalement avec ces ressources (une approche plus imaginée consisterait à parler ici de "The Truman Show" numérique).
Si nous revenons quelques instants à l'expérience précédente de l'utilisateur final, le résultat serait alors le suivant sur votre disque dur :
- Répertoire "Programmes" : bac-a-sable.exe
- Répertoire "Sandbox / Programmes" : traitement-photos.exe
- Répertoire "Sandbox / Démarrage" : envoi-du-spam-coco.exe
- Répertoire "Démarrage" : (vide)
L'application Sandboxie
Bien évidemment, la réalité et la complexité de systèmes actuels sont tout autres et c'est pour cette raison qu'en 2004, un proof-of-concept de bac à sable pour environnement Windows est publié. Il s'agit d'un outil appelé "Sandboxie".
Initialement développé pour isoler "Internet Explorer" de manière très basique, la version actuelle 3.50 de Sandboxie supporte les dernières versions de la famille Windows (2000 à Seven, versions 32 et 64 bits) et permet de simuler les objets systèmes suivants:
- Fichiers
- Clés de Registre
- Processus
- Pilotes de communication
- Inter-communication (Named Pipes, Mutex, Semaphores,...)
laissez-vous tenter par celle-ci.
Afin de mieux illustrer l'exemple simple et théorique cité plus haut, réalisons le test suivant :
- lancement de Sandboxie
- ajout de "Internet Explorer" à notre bac à sable
- visite du site EICAR, rubrique "Anti-Malware Testfile"
- téléchargement d'un fichier test (exemple: eicar.com.txt)
L'anti-virus du système (ici Microsoft Security Essentials) nous délivre alors bien une alerte. Si nous consultons les détails de celle-ci, le fichier incriminé est bien localisé dans l'arborescence disque de Sandboxie et non celle du système :
Par ailleurs, Sandboxie vous permet également - en plus de nombreuses options de configuration du bas à sable - de visualiser le cloisonnement des objets systèmes :
Et sous Linux ?
Sans rentrer dans les arcanes techniques des systèmes Linux, sachez que l'architecture de ceux-ci inclut nativement - notamment à partir des noyaux 2.6 - un cloisonnement et une protection des ressources systèmes.
Linux Security Modules fournit une infrastructure permettant une utilisation simple des Hooks
et ainsi le développement d'une politique de sécurité logicielle. Je conseille également aux personnes intéréssées la lecture du document "SBLSM: Un mécanisme de sandbox pour Linux".
Conclusion
Les mécanismes de "bac à sable", quelque soient les systèmes, ne sont pas la solution à tous les problèmes de sécurité et ne constituent pas à eux seuls des mécanismes de défense et de protection imparables.
En revanche, ils constituent d'excellents outils pédagogiques pour ceux qui souhaitent découvrir les techniques de virtualisation d'applications sur le poste de travail.