Guide d'autodéfense numérique

Le réflexe courant, lorsqu’on prend connaissance d’une menace, est de chercher à s’en prémunir. Par exemple, après avoir découvert que tel logiciel laisse des traces de nos activités dans tel dossier, on nettoiera régulièrement cet emplacement. Jusqu’à découvrir que le même logiciel laisse aussi des traces dans un autre dossier, et ainsi de suite.

C’est le principe de la liste noire1 : une liste des dossiers où sont enregistrés les fichiers temporaires, de logiciels qui envoient des rapports, etc. ; cette liste est complétée au fil des découvertes et des mauvaises surprises ; sur cette base, on essaie de faire au mieux pour se prémunir de chacune de ces menaces. Autrement dit, une liste noire fonctionne sur la base de la confiance-sauf-dans-certains-cas.

Le principe de la liste blanche est inverse, car c’est celui de la méfiance-sauf-dans-certains-cas. On interdit tout, sauf ce qu’on autorise explicitement. On interdit l’enregistrement de fichiers sur le disque dur, sauf à tel endroit, à tel moment. On interdit aux logiciels d’accéder au réseau, sauf certains logiciels bien choisis.

Voilà pour les principes de base.

Toute politique de sécurité basée sur le principe de la liste noire a un gros problème : une telle liste n’est jamais complète, car elle prend uniquement en compte les problèmes qui ont déjà été repérés. C’est une tâche sans fin, désespérante, que de tenir à jour une liste noire ; qu’on le fasse nous-mêmes ou qu’on le délègue à des gens ayant des connaissances informatiques pointues, quelque chose sera forcément oublié.

L’ennui, c’est que malgré leurs défauts rédhibitoires, les outils basés sur une approche liste noire sont légion (comme nous allons le voir), au contraire de ceux s’appuyant sur la méthode liste blanche, qui nous est donc, sans doute, moins familière.

Mettre en œuvre l’approche liste blanche requiert donc un effort initial qui, s’il peut être important, est bien vite récompensé : apprendre à utiliser un système live qui n’écrit rien sur le disque dur sans qu’on lui demande, ça prend un temps non négligeable, mais une fois que c’est fait, c’en est fini des longues séances de nettoyage de disque dur, toujours à recommencer, et inefficaces car basées sur le principe de liste noire.

Une autre illustration nous est fournie par les logiciels antivirus, qui visent à empêcher l’exécution de programmes mal intentionnés. Vu qu’ils fonctionnent sur le principe de la liste noire, leurs bases de données doivent perpétuellement être mises à jour, systématiquement en retard. Une réponse à ce problème, avec l’approche liste blanche, est d’empêcher l’exécution de tout programme qui n’a pas été enregistré au préalable, ou de limiter les possibilités d’action de chaque programme ; ces techniques, nommées Mandatory Access Control, nécessitent aussi de maintenir des listes, mais il s’agit dans ce cas de listes blanches, et le symptôme d’une liste obsolète sera le dysfonctionnement d’un logiciel, plutôt que le piratage de l’ordinateur.

Aussi, il est bien plus intéressant de se donner les moyens, lorsque c’est possible, de s’appuyer sur des listes blanches les plus vastes possible, afin de pouvoir faire plein de choses chouettes avec des ordinateurs, dans une certaine confiance. Et de s’appuyer, quand la liste blanche adéquate n’existe pas, sur des listes noires solides, de provenance connue, en gardant en tête le problème intrinsèque à cette méthode ; listes noires qu’on aidera éventuellement à compléter, en partageant nos découvertes.


  1. Les expressions « liste blanche » et « liste noire » peuvent évoquer une dimension raciste, que ce soient les termes en eux-mêmes, ou leur hiérarchisation. Cependant, il nous a semblé peu judicieux de ne pas utiliser les termes consacrés et actuellement utilisés par tous les programmes, modes d’emploi et autres documentations techniques.